.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a5c36f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-normal);box-shadow:0 2px 10px #0000001a}[data-theme=dark] .navbar{background:#1e1e1ef2}.navbar.scrolled{background:#0a5c36fa;box-shadow:var(--shadow-md)}[data-theme=dark] .navbar.scrolled{background:#1e1e1efa}.navbar-container{max-width:var(--max-content-width);margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.navbar-logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:#f5f5f0!important;cursor:pointer;transition:transform var(--transition-fast)}.navbar-logo:hover{transform:scale(1.05)}.logo-icon{font-size:1.8rem}.logo-moon-image{width:45px;height:45px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3);box-shadow:0 0 15px #ffd76466;transition:all var(--transition-fast)}.navbar-logo:hover .logo-moon-image{box-shadow:0 0 25px #ffd76499;transform:scale(1.05)}.navbar-menu{display:flex;align-items:center;gap:2rem}.nav-link{background:none;color:#f5f5f0!important;font-size:1rem;font-weight:500;padding:.5rem 1rem;border-radius:6px;transition:all var(--transition-fast);position:relative;text-decoration:none;cursor:pointer}.nav-link.map-link{display:inline-block}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%) scaleX(0);width:80%;height:2px;background:var(--color-off-white);transition:transform var(--transition-fast)}.nav-link:hover{background:#ffffff1a}.nav-link:hover:after{transform:translate(-50%) scaleX(1)}.theme-toggle{background:#ffffff26;border:2px solid rgba(255,255,255,.3);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all var(--transition-fast)}.theme-toggle:hover{background:#ffffff40;transform:rotate(20deg) scale(1.1)}.hamburger{display:none;flex-direction:column;justify-content:space-around;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger span{width:100%;height:3px;background:#f5f5f0!important;border-radius:10px;transition:all var(--transition-normal);transform-origin:center}.hamburger.active span:nth-child(1){transform:translateY(10px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0;transform:translate(-20px)}.hamburger.active span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}@media (max-width: 768px){.navbar-container{padding:1rem}.logo-text{font-size:1.2rem}.hamburger{display:flex}.navbar-menu{position:fixed;top:0;right:0;width:280px;height:100vh;background:#49504df2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;justify-content:flex-start;padding:6rem 2rem 2rem;gap:1rem;transform:translate(100%);transition:transform var(--transition-normal);box-shadow:var(--shadow-xl)}[data-theme=dark] .navbar-menu{background:#1e1e1ef2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.navbar-menu.mobile-open{transform:translate(0)}.nav-link{width:100%;text-align:left;padding:1rem;font-size:1.1rem;border-radius:8px}.nav-link:after{display:none}.theme-toggle{margin-top:1rem;align-self:flex-start}}.hero-slideshow{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;margin-top:70px}.slides-container{position:relative;width:100%;height:100%}.slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;display:flex;align-items:center;justify-content:center;transform:translate(0)}.slide.active{opacity:1;z-index:2}.slide.slide-fade{transition:opacity 1s ease-in-out}.slide.slide-fade.active{z-index:2}.slide.slide-enter-next{animation:slideEnterFromRight .6s ease-in-out forwards;z-index:3}@keyframes slideEnterFromRight{0%{transform:translate(100%);opacity:1}to{transform:translate(0);opacity:1}}.slide.slide-exit-next{animation:slideExitToLeft .6s ease-in-out forwards;z-index:2;opacity:1}@keyframes slideExitToLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:1}}.slide.slide-enter-prev{animation:slideEnterFromLeft .6s ease-in-out forwards;z-index:3}@keyframes slideEnterFromLeft{0%{transform:translate(-100%);opacity:1}to{transform:translate(0);opacity:1}}.slide.slide-exit-prev{animation:slideExitToRight .6s ease-in-out forwards;z-index:2;opacity:1}@keyframes slideExitToRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:1}}.leaf-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.05) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.05) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(255,255,255,.03) 0%,transparent 40%);pointer-events:none}.slide-content{position:relative;z-index:2;text-align:center;color:#f5f5f0!important;padding:2rem;max-width:900px;animation:slideIn 1s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;color:#f5f5f0!important;text-shadow:2px 2px 8px rgba(0,0,0,.3);line-height:1.2}.slide-subtitle{font-size:1.5rem;margin-bottom:2.5rem;font-weight:400;color:#f5f5f0!important;opacity:.95;text-shadow:1px 1px 4px rgba(0,0,0,.3)}.slide-actions{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.cta-button{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:50px;transition:all var(--transition-normal);text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-md)}.cta-button.primary{background:var(--color-off-white);color:var(--color-primary)}.cta-button.primary:hover{background:#fff;transform:translateY(-3px);box-shadow:var(--shadow-lg)}.cta-button.secondary{background:transparent;color:var(--color-off-white);border:2px solid var(--color-off-white)}.cta-button.secondary:hover{background:var(--color-off-white);color:var(--color-primary);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.slide-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f5f5f0!important;border:2px solid rgba(255,255,255,.3);width:60px;height:60px;border-radius:50%;font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);z-index:10}.slide-nav:hover{background:#ffffff59;transform:translateY(-50%) scale(1.1)}.slide-nav.prev{left:2rem}.slide-nav.next{right:2rem}.slide-indicators{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:1rem;z-index:10}.indicator{width:12px;height:12px;border-radius:50%;background:#fff6;border:2px solid rgba(255,255,255,.6);cursor:pointer;transition:all var(--transition-fast)}.indicator:hover{background:#fff9;transform:scale(1.2)}.indicator.active{background:var(--color-off-white);width:40px;border-radius:6px}@media (max-width: 768px){.hero-slideshow{height:100vh;min-height:500px;margin-top:60px}.slide-title{font-size:2rem}.slide-subtitle{font-size:1.1rem;margin-bottom:2rem}.slide-actions{flex-direction:column;gap:1rem;align-items:center}.cta-button{padding:.875rem 2rem;font-size:1rem;width:100%;max-width:280px}.slide-nav{display:none}.slide-indicators{bottom:1rem}.indicator{width:10px;height:10px}.indicator.active{width:30px}}.explore-section{background:var(--color-background)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;padding:0 1rem}.explore-card{background:var(--color-panel);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);cursor:pointer;transition:all var(--transition-normal)}[data-theme=dark] .explore-card{background:var(--color-secondary)}.explore-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.explore-card:focus{outline:3px solid var(--color-primary);outline-offset:2px}.card-image{width:100%;height:220px;position:relative;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform var(--transition-slow)}.explore-card:hover .card-image{transform:scale(1.1)}.card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.1) 0%,transparent 60%);pointer-events:none}.card-content{padding:1.5rem;background:var(--color-off-white);color:var(--color-text)}[data-theme=dark] .card-content{background:var(--color-panel);color:var(--color-text)}.card-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--color-primary)}[data-theme=dark] .card-title{color:var(--color-primary-light)}.card-desc{font-size:1rem;color:var(--color-text-light);margin-bottom:1rem;line-height:1.5}.card-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);font-weight:600;font-size:.95rem;transition:gap var(--transition-fast)}[data-theme=dark] .card-link{color:var(--color-primary-light)}.explore-card:hover .card-link{gap:.75rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .3s ease}.modal-content{position:relative;background:var(--color-off-white);border-radius:16px;max-width:700px;width:100%;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}[data-theme=dark] .modal-content{background:var(--color-panel)}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;width:48px;height:48px;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:50%;font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);z-index:10;line-height:1}.modal-close:hover{background:#000c;transform:rotate(90deg) scale(1.1)}.modal-image{width:100%;height:280px;position:relative}.modal-body{padding:2rem;overflow-y:auto;max-height:calc(90vh - 280px)}.modal-title{font-size:2rem;font-weight:700;margin-bottom:1rem;color:var(--color-primary)}[data-theme=dark] .modal-title{color:var(--color-primary-light)}.modal-description{font-size:1.1rem;line-height:1.8;color:var(--color-text)}.explore-more-container{display:none}@media (max-width: 768px){.cards-grid{grid-template-columns:1fr;gap:1.5rem}.cards-grid:not(.show-all) .explore-card.mobile-hidden{display:none}.cards-grid.show-all .explore-card.mobile-hidden{display:block;animation:fadeInUp .4s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.explore-more-container{display:flex;justify-content:center;margin-top:2rem}.explore-more-btn{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2d5f3f4d}.explore-more-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #2d5f3f66}.explore-more-btn:active{transform:translateY(-1px)}[data-theme=dark] .explore-more-btn{box-shadow:0 4px 15px #3d7f5f4d}[data-theme=dark] .explore-more-btn:hover{box-shadow:0 6px 20px #3d7f5f66}.explore-more-btn.show-less{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);box-shadow:none}.explore-more-btn.show-less:hover{background:var(--color-primary);color:#fff;box-shadow:0 4px 15px #2d5f3f4d}[data-theme=dark] .explore-more-btn.show-less{color:var(--color-primary-light);border-color:var(--color-primary-light)}[data-theme=dark] .explore-more-btn.show-less:hover{background:var(--color-primary);color:#fff}.card-image{height:200px}.modal-content{max-width:100%;border-radius:12px}.modal-image{height:220px}.modal-body{padding:1.5rem;max-height:calc(90vh - 220px)}.modal-title{font-size:1.75rem}.modal-description{font-size:1rem}}.gallery-section{background:var(--color-off-white)}[data-theme=dark] .gallery-section{background:var(--color-background)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:0 1rem}.gallery-item{position:relative;aspect-ratio:4 / 3;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-normal);opacity:1!important;transform:translateY(0)!important}.gallery-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}.gallery-item:focus{outline:3px solid var(--color-primary);outline-offset:2px}.gallery-image{width:100%;height:100%;position:relative;transition:transform var(--transition-slow);overflow:hidden}.gallery-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.gallery-item:hover .gallery-image{transform:scale(1.1)}.gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal)}.gallery-item:hover .gallery-overlay{opacity:1}.zoom-icon{font-size:3rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-image{width:90vw;height:80vh;max-width:90vw;max-height:80vh;border-radius:8px;box-shadow:var(--shadow-xl);position:relative;display:flex;align-items:center;justify-content:center}.lightbox-image img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.lightbox-image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.08) 0%,transparent 70%);pointer-events:none}.lightbox-counter{margin-top:1.5rem;color:#fff;font-size:1.2rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.5)}.lightbox-caption{margin-top:.5rem;color:#ffffffe6;font-size:1rem;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:2rem;right:2rem;width:56px;height:56px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:50%;font-size:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);z-index:10001;line-height:1}.lightbox-close:hover{background:#ffffff40;transform:rotate(90deg) scale(1.1)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:64px;height:64px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:50%;font-size:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);z-index:10001}.lightbox-nav:hover{background:#ffffff40;transform:translateY(-50%) scale(1.1)}.lightbox-nav.prev{left:2rem}.lightbox-nav.next{right:2rem}@media (max-width: 768px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:0 .5rem}.gallery-item{aspect-ratio:1 / 1;border-radius:8px}.zoom-icon{font-size:2rem}.lightbox-content{max-width:95vw}.lightbox-image{width:95vw;height:70vh;max-width:95vw;max-height:70vh}.lightbox-image img{max-width:95vw;max-height:70vh}.lightbox-close{top:1rem;right:1rem;width:48px;height:48px;font-size:2rem}.lightbox-nav{display:none}.lightbox-counter{font-size:1rem;margin-top:1rem}.lightbox-caption{font-size:.9rem;padding:0 1rem}}@media (min-width: 769px) and (max-width: 1024px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.watch-more-item{background:#a3a3a3;display:flex;align-items:center;justify-content:center}.watch-more-item:hover{transform:translateY(-5px) scale(1.02);background:#8a8a8a}.watch-more-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fff;text-align:center}.watch-more-count{font-size:2.5rem;font-weight:700;line-height:1}.watch-more-text{font-size:1.1rem;font-weight:600;letter-spacing:.5px}[data-theme=dark] .watch-more-item{background:#6b6b6b}[data-theme=dark] .watch-more-item:hover{background:#7a7a7a}[data-theme=dark] .watch-more-content{color:#fff}.show-less-container{display:flex;justify-content:center;margin-top:2rem}.show-less-btn{padding:.875rem 2.5rem;background:transparent;border:2px solid var(--color-primary);color:var(--color-primary);font-size:1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all var(--transition-normal)}.show-less-btn:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #2d5f3f4d}[data-theme=dark] .show-less-btn{border-color:var(--color-primary-light, #4a8f5f);color:var(--color-primary-light, #4a8f5f)}[data-theme=dark] .show-less-btn:hover{background:var(--color-primary-light, #4a8f5f);color:#fff}@media (max-width: 768px){.watch-more-count{font-size:2rem}.watch-more-text{font-size:.95rem}.show-less-btn{padding:.75rem 2rem;font-size:.9rem}}.booking-section{background:var(--color-off-white);padding:4rem 0}[data-theme=dark] .booking-section{background:var(--color-background)}.booking-title{text-align:center;font-size:2.5rem;font-weight:700;color:var(--color-text);margin-bottom:2rem}[data-theme=dark] .booking-title{color:#fff}.booking-form-row{display:flex;gap:1rem;max-width:800px;margin:0 auto 2rem}.form-field{flex:1;display:flex;flex-direction:column}.form-field input{padding:1rem 1.25rem;border:2px solid var(--color-border);border-radius:0;background:#fff;color:#1f2937;font-size:1rem;transition:all .2s ease}.form-field input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.form-field input.error{border-color:#ef4444}.form-field input::placeholder{color:#9ca3af}.error-msg{color:#ef4444;font-size:.8rem;margin-top:.25rem}[data-theme=dark] .form-field input{background:#374151;border-color:var(--color-border);color:#fff}[data-theme=dark] .form-field input::placeholder{color:#9ca3af}.form-field input:disabled{opacity:.6;cursor:not-allowed}.booking-type-selection{display:flex;gap:1.5rem;justify-content:center;max-width:800px;margin:0 auto}.type-card{flex:1;position:relative;border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #00000026;max-width:380px}.type-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px #00000040}.type-card-image{width:100%;height:280px;object-fit:cover;display:block;transition:transform .4s ease}.type-card:hover .type-card-image{transform:scale(1.05)}.type-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.5rem;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.4) 60%,transparent 100%);display:flex;flex-direction:column;gap:.25rem}.type-card-label{font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.type-card-desc{font-size:.95rem;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.3)}.day-out-card:hover .type-card-overlay{background:linear-gradient(to top,rgba(249,115,22,.9) 0%,rgba(249,115,22,.5) 50%,transparent 100%)}.night-stay-card:hover .type-card-overlay{background:linear-gradient(to top,rgba(99,102,241,.9) 0%,rgba(99,102,241,.5) 50%,transparent 100%)}[data-theme=dark] .day-out-type:hover{background:#f9731626}[data-theme=dark] .night-stay-type:hover{background:#6366f126}.booking-calendar{max-width:600px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:1.5rem 1.5rem 2rem}[data-theme=dark] .booking-calendar{background:var(--color-panel)}.calendar-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}[data-theme=dark] .calendar-top-bar{border-color:var(--color-border)}.back-btn{padding:.5rem 1rem;background:transparent;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:#f3f4f6;border-color:#d1d5db}[data-theme=dark] .back-btn{border-color:var(--color-border);color:#9ca3af}[data-theme=dark] .back-btn:hover{background:var(--color-secondary)}.booking-mode-label{font-size:1rem;font-weight:600;color:var(--color-text)}[data-theme=dark] .booking-mode-label{color:#fff}.calendar-header-simple{text-align:center;padding:.875rem 1rem;margin-bottom:.75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;font-weight:600;font-size:1rem;color:#92400e}[data-theme=dark] .calendar-header-simple{background:linear-gradient(135deg,#451a03,#78350f);border-color:#f97316;color:#fed7aa}.calendar-step-title{text-align:center;font-size:1.1rem;font-weight:600;color:#374151;padding:.75rem 1rem;margin-bottom:.5rem}[data-theme=dark] .calendar-step-title{color:#e5e7eb}.selected-date-indicator{text-align:center;font-size:.9rem;font-weight:500;color:#10b981;padding:.5rem 1rem;margin-bottom:.5rem;background:#ecfdf5;border-radius:8px;border:1px solid #a7f3d0}[data-theme=dark] .selected-date-indicator{color:#34d399;background:#10b9811a;border-color:#065f46}.calendar-slider-wrapper{display:flex;align-items:flex-start;gap:.5rem}.calendar-step-btn{width:40px;height:40px;border-radius:50%;border:2px solid #e5e7eb;background:#fff;color:#374151;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.calendar-step-btn:hover{background:#f3f4f6;border-color:#d1d5db;transform:scale(1.05)}[data-theme=dark] .calendar-step-btn{background:#374151;border-color:#4b5563;color:#e5e7eb}[data-theme=dark] .calendar-step-btn:hover{background:#4b5563;border-color:#6b7280}.calendar-step-btn.next{background:#10b981;border-color:#10b981;color:#fff}.calendar-step-btn.next:hover,[data-theme=dark] .calendar-step-btn.next{background:#059669;border-color:#059669}[data-theme=dark] .calendar-step-btn.next:hover{background:#047857;border-color:#047857}.calendar-step-btn-placeholder{width:40px;height:40px;flex-shrink:0}.calendar-slider-container{overflow-x:hidden;overflow-y:visible;flex:1}.calendar-slider{display:flex;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform}.calendar-slider.slide-to-checkout{transform:translate(-100%)}.calendar-slider.slide-to-complete{transform:translate(-200%)}.calendar-slide{min-width:100%;flex-shrink:0;padding-bottom:.25rem}.checkout-checkin-display{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #22c55e;border-radius:12px;margin-bottom:.75rem}.checkout-checkin-display .checkin-label{font-size:.85rem;font-weight:600;color:#166534}.checkout-checkin-display .checkin-date{font-size:.95rem;font-weight:700;color:#15803d}[data-theme=dark] .checkout-checkin-display{background:linear-gradient(135deg,#166534,#15803d);border-color:#22c55e}[data-theme=dark] .checkout-checkin-display .checkin-label,[data-theme=dark] .checkout-checkin-display .checkin-date{color:#fff}.slide-header-bar{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:12px;margin-bottom:.75rem}.slide-header-bar.checkin{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.slide-header-bar.checkout{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #3b82f6;justify-content:space-between}.slide-header-bar.complete{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #22c55e;justify-content:space-between}.slide-header-center{display:flex;align-items:center;gap:.5rem}.slide-step{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.slide-header-bar.checkin .slide-step{color:#b45309}.slide-header-bar.checkout .slide-step{color:#1e40af}.slide-title{font-size:1rem;font-weight:700}.slide-header-bar.checkin .slide-title{color:#92400e}.slide-header-bar.checkout .slide-title{color:#1e40af}.slide-header-bar.complete .slide-title{color:#166534}.slide-back-btn{padding:.4rem .75rem;background:#ffffffd9;border:1px solid #93c5fd;border-radius:8px;font-size:.8rem;font-weight:600;color:#1e40af;cursor:pointer;transition:all .2s ease}.slide-back-btn:hover{background:#fff;transform:translate(-2px)}.checkin-badge{padding:.4rem .75rem;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:8px;color:#fff;font-size:.8rem;font-weight:600}.edit-dates-btn{padding:.4rem .85rem;background:#ffffffd9;border:1px solid #86efac;border-radius:8px;font-size:.8rem;font-weight:600;color:#166534;cursor:pointer;transition:all .2s ease}.edit-dates-btn:hover{background:#fff}.dates-summary{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac;border-radius:12px;margin-bottom:.5rem}.date-card{text-align:center;padding:.65rem 1rem;background:#fff;border-radius:10px;border:2px solid #86efac;box-shadow:0 2px 8px #22c55e1a}.date-card-label{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#15803d;margin-bottom:.2rem}.date-card-value{display:block;font-size:.95rem;font-weight:700;color:#166534}.dates-arrow{font-size:1.5rem;color:#22c55e;font-weight:700}.nights-info{text-align:center;padding:.5rem;font-size:.9rem;font-weight:600;color:#166534}[data-theme=dark] .slide-header-bar.checkin{background:linear-gradient(135deg,#451a03,#78350f);border-color:#f97316}[data-theme=dark] .slide-header-bar.checkin .slide-step{color:#fdba74}[data-theme=dark] .slide-header-bar.checkin .slide-title{color:#fed7aa}[data-theme=dark] .slide-header-bar.checkout{background:linear-gradient(135deg,#1e3a8a,#1e40af);border-color:#3b82f6}[data-theme=dark] .slide-header-bar.checkout .slide-step,[data-theme=dark] .slide-header-bar.checkout .slide-title{color:#bfdbfe}[data-theme=dark] .slide-back-btn{background:#1e3a8a99;border-color:#60a5fa;color:#bfdbfe}[data-theme=dark] .slide-header-bar.complete{background:linear-gradient(135deg,#14532d,#166534);border-color:#22c55e}[data-theme=dark] .slide-header-bar.complete .slide-title{color:#bbf7d0}[data-theme=dark] .edit-dates-btn{background:#14532d99;border-color:#22c55e;color:#bbf7d0}[data-theme=dark] .dates-summary{background:linear-gradient(135deg,#14532d,#166534);border-color:#22c55e}[data-theme=dark] .date-card{background:#14532d99;border-color:#22c55e}[data-theme=dark] .date-card-label,[data-theme=dark] .date-card-value,[data-theme=dark] .nights-info{color:#bbf7d0}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-month{font-size:1.25rem;font-weight:600;color:var(--color-text)}[data-theme=dark] .calendar-month{color:#fff}.nav-btn{width:36px;height:36px;border-radius:8px;background:#fff;color:#6b7280;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer;border:2px solid #e5e7eb}.nav-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}[data-theme=dark] .nav-btn{background:var(--color-secondary);border-color:var(--color-border);color:#9ca3af}[data-theme=dark] .nav-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:.5rem}.calendar-headers{display:contents}.calendar-header-cell{padding:.5rem .25rem;text-align:center;font-weight:600;font-size:.75rem;color:#6b7280;text-transform:uppercase}[data-theme=dark] .calendar-header-cell{color:#9ca3af}.calendar-header-cell.weekend{color:#16a34a}[data-theme=dark] .calendar-header-cell.weekend{color:#4ade80}.calendar-days{display:contents}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .2s ease;border-radius:8px;background:#f3f4f6}[data-theme=dark] .calendar-day{background:var(--color-secondary)}.calendar-day:hover:not(.disabled):not(.empty){background:#e5e7eb}[data-theme=dark] .calendar-day:hover:not(.disabled):not(.empty){background:var(--color-border)}.calendar-day.weekend{background:#f0fdf4}.calendar-day.weekend .day-number{color:#16a34a}[data-theme=dark] .calendar-day.weekend{background:#22c55e26}[data-theme=dark] .calendar-day.weekend .day-number{color:#4ade80}.calendar-day.weekend:hover:not(.disabled):not(.empty){background:#dcfce7}[data-theme=dark] .calendar-day.weekend:hover:not(.disabled):not(.empty){background:#22c55e40}.day-number{font-size:.95rem;font-weight:500;color:var(--color-text)}[data-theme=dark] .day-number{color:#fff}.calendar-day.today{background:#fff7ed}.calendar-day.today .day-number{font-weight:700;color:#ea580c}.today-label{font-size:.5rem;font-weight:700;color:#ea580c;text-transform:uppercase;margin-top:2px}.calendar-day.past{background:#f9fafb}.calendar-day.past .day-number{color:#d1d5db}[data-theme=dark] .calendar-day.past{background:#0003}[data-theme=dark] .calendar-day.past .day-number{color:#4b5563}.calendar-day.booked{background:#fed7aa;cursor:not-allowed}[data-theme=dark] .calendar-day.booked{background:#fb923c4d}.calendar-day.booked .day-number{color:#9a3412}[data-theme=dark] .calendar-day.booked .day-number{color:#fb923c}.booked-indicator{position:absolute;bottom:4px;font-size:.55rem;font-weight:700;color:#9a3412;text-transform:uppercase;letter-spacing:.5px}.calendar-day.disabled{cursor:not-allowed}.calendar-day.selected{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px #22c55e66;transform:scale(1.05);z-index:2}.calendar-day.selected .day-number{color:#fff;font-weight:700}.calendar-day.checkin-selected{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 15px #22c55e80;position:relative}.calendar-day.checkin-selected:after{content:"IN";position:absolute;bottom:2px;left:50%;transform:translate(-50%);font-size:.55rem;font-weight:800;color:#fff;letter-spacing:.5px}.calendar-day.before-checkin{opacity:.35;background:#f3f4f6}.calendar-day.before-checkin .day-number{color:#9ca3af}.calendar-day.in-range{background:#dcfce7}.calendar-day.in-range .day-number{color:#166534}.calendar-day.checkout{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f666;transform:scale(1.05);z-index:2}.calendar-day.checkout .day-number{color:#fff;font-weight:700}.calendar-day.checkout:after{content:"OUT";position:absolute;bottom:2px;left:50%;transform:translate(-50%);font-size:.5rem;font-weight:800;color:#fff;letter-spacing:.5px}.checkout-mode-indicator{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:.75rem 1rem;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px}.checkout-mode-indicator span{font-weight:600;font-size:.9rem;color:#ea580c}[data-theme=dark] .checkout-mode-indicator{background:#f9731626;border-color:#f973164d}[data-theme=dark] .checkout-mode-indicator span{color:#fb923c}[data-theme=dark] .calendar-day.selected,[data-theme=dark] .calendar-day.checkin-selected{background:linear-gradient(135deg,#22c55e,#16a34a)}[data-theme=dark] .calendar-day.before-checkin{background:#37415180;opacity:.4}[data-theme=dark] .calendar-day.before-checkin .day-number{color:#6b7280}[data-theme=dark] .calendar-day.in-range{background:#22c55e33}[data-theme=dark] .calendar-day.in-range .day-number{color:#4ade80}[data-theme=dark] .calendar-day.checkout{background:linear-gradient(135deg,#3b82f6,#2563eb)}.cancel-btn{padding:.4rem .75rem;background:#fff;color:#6b7280;border-radius:6px;font-weight:600;font-size:.85rem;transition:all .2s ease;border:1px solid #e5e7eb;cursor:pointer}.cancel-btn:hover{background:#f3f4f6;border-color:#d1d5db}[data-theme=dark] .cancel-btn{background:var(--color-secondary);border-color:var(--color-border);color:#9ca3af}.booking-actions{display:flex;gap:.75rem;justify-content:center;margin-top:1.25rem}.action-btn{padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:8px;transition:all .2s ease;cursor:pointer;border:none}.action-btn:disabled{opacity:.6;cursor:not-allowed}.day-out-btn{background:var(--color-primary);color:#fff}.day-out-btn:hover:not(:disabled){background:var(--color-primary-dark)}.night-stay-btn{background:#f97316;color:#fff}.night-stay-btn:hover:not(:disabled){background:#ea580c}.selected-dates-info{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem .75rem;background:#f9fafb;border-radius:8px;font-size:.85rem}.date-label{font-weight:500;color:#6b7280}.date-value{font-weight:600;color:#f97316}[data-theme=dark] .selected-dates-info{background:var(--color-secondary)}[data-theme=dark] .date-label{color:#9ca3af}[data-theme=dark] .date-value{color:#fb923c}.loading-indicator{text-align:center;padding:1rem;margin-top:1rem;background:#ecfdf5;border-radius:8px;color:#047857;font-weight:600}[data-theme=dark] .loading-indicator{background:#04785733;color:#34d399}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);padding:1rem 2rem;border-radius:0;color:#fff;font-weight:600;z-index:1000;display:flex;align-items:center;gap:1rem;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast.success{background:var(--color-primary)}.toast.error{background:#ef4444}.toast-close{background:transparent;color:inherit;border:none;font-size:1.5rem;cursor:pointer;opacity:.8;transition:opacity .2s ease;line-height:1;padding:0}.toast-close:hover{opacity:1}@media (max-width: 768px){.booking-title{font-size:1.75rem}.booking-form-row{flex-direction:column;padding:0 1rem;gap:.75rem}.form-field input{padding:.75rem 1rem}.booking-type-selection{flex-direction:column;gap:1rem;padding:0 1rem}.type-card{max-width:100%}.type-card-image{height:200px}.type-card-overlay{padding:1.5rem 1rem}.type-card-label{font-size:1.25rem}.type-card-desc{font-size:.85rem}.calendar-top-bar{flex-direction:column;gap:.75rem;text-align:center}.back-btn{width:100%}.calendar-instructions.day-out-mode{font-size:.9rem;padding:.875rem 1rem}.slide-content{padding:1rem}.slide-icon-wrapper{width:42px!important;height:42px!important}.slide-icon{font-size:1.25rem!important}.slide-title{font-size:.95rem!important}.slide-label{font-size:.65rem!important}.slide-back-btn{padding:.3rem .6rem;font-size:.7rem}.checkin-badge{padding:.25rem .6rem}.checkin-badge .badge-text{font-size:.7rem}.slide-header-bar{padding:.6rem .75rem}.slide-step{font-size:.6rem}.calendar-step-title{font-size:1rem;padding:.5rem .75rem}.calendar-step-btn{width:36px;height:36px;font-size:1rem}.calendar-step-btn-placeholder{width:36px;height:36px}.calendar-slider-wrapper{gap:.25rem}.slide-title{font-size:.9rem}.slide-back-btn,.checkin-badge{padding:.3rem .6rem;font-size:.7rem}.dates-summary{padding:1rem;gap:.75rem}.date-card{padding:.5rem .75rem}.date-card-value{font-size:.85rem}.dates-arrow{font-size:1.25rem}.booking-calendar{margin:0 1rem;padding:1rem 1rem 1.5rem;border-radius:12px}.calendar-month{font-size:1rem}.nav-btn{width:32px;height:32px;font-size:.9rem}.calendar-grid{gap:3px;margin-bottom:.5rem}.calendar-header-cell{padding:.4rem .15rem;font-size:.65rem}.calendar-day{border-radius:6px}.day-number{font-size:.85rem}.today-label{font-size:.4rem}.calendar-day.checkin-selected:after,.calendar-day.checkout:after{font-size:.45rem;bottom:1px}.booking-actions{flex-direction:column;gap:.5rem}.action-btn{width:100%;padding:.75rem;font-size:.9rem}.checkout-mode-indicator{flex-direction:column;gap:.5rem;text-align:center;padding:.75rem}.checkout-mode-indicator span{font-size:.85rem}.selected-dates-info{flex-wrap:wrap;font-size:.8rem;padding:.5rem}.toast{left:1rem;right:1rem;transform:none;width:auto;font-size:.9rem;padding:.75rem 1rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}@media (min-width: 769px) and (max-width: 1024px){.booking-form-row{max-width:700px}.booking-calendar{max-width:500px}}.day-out-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.day-out-modal{background:#fff;border-radius:24px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease;box-shadow:0 25px 60px #0000004d}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .day-out-modal{background:var(--color-panel)}.modal-close-btn{position:absolute;top:1.25rem;right:1.25rem;width:44px;height:44px;border-radius:50%;background:#f3f4f6;border:none;font-size:1.75rem;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.modal-close-btn:hover{background:#e5e7eb;color:#1f2937}[data-theme=dark] .modal-close-btn{background:var(--color-secondary);color:#9ca3af}[data-theme=dark] .modal-close-btn:hover{background:var(--color-border);color:#fff}.modal-header{padding:1rem 1.25rem .75rem;text-align:center;border-bottom:1px solid #e5e7eb}[data-theme=dark] .modal-header{border-color:var(--color-border)}.modal-header h3{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 .25rem}[data-theme=dark] .modal-header h3{color:#fff}.modal-date{font-size:.85rem;color:#22c55e;font-weight:600;margin:0}.modal-dates{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.date-arrow{font-size:1.2rem;color:#6b7280;font-weight:600}.modal-body{padding:1rem 1.25rem}.modal-section{margin-bottom:1rem}.modal-section:last-child{margin-bottom:0}.modal-section h4{font-size:.85rem;font-weight:700;color:#374151;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .modal-section h4{color:#d1d5db}.package-options{display:flex;gap:1rem}.package-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:14px;cursor:pointer;transition:all .2s ease}.package-btn:hover{border-color:#f97316;background:#fff7ed}.package-btn.active{border-color:#f97316;background:#f97316}.package-btn.active .package-name,.package-btn.active .package-price{color:#fff}[data-theme=dark] .package-btn{background:var(--color-secondary);border-color:var(--color-border)}[data-theme=dark] .package-btn:hover{background:#f9731626;border-color:#f97316}[data-theme=dark] .package-btn.active{background:#f97316;border-color:#f97316}.package-name{font-size:1rem;font-weight:600;color:#374151;text-align:center}[data-theme=dark] .package-name{color:#d1d5db}.package-price{font-size:.9rem;color:#6b7280;font-weight:500}[data-theme=dark] .package-price{color:#9ca3af}.package-bonus{font-size:.75rem;color:#16a34a;font-weight:600;background:#dcfce7;padding:.2rem .5rem;border-radius:4px}.package-btn.active .package-bonus{background:#ffffff40;color:#fff}[data-theme=dark] .package-bonus{background:#16a34a33;color:#4ade80}[data-theme=dark] .package-btn.active .package-bonus{background:#ffffff40;color:#fff}.extra-persons-field{margin-top:1.25rem;padding:1rem 1.25rem;background:#fff7ed;border:2px solid #fed7aa;border-radius:12px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .extra-persons-field{background:#f973161a;border-color:#f973164d}.extra-persons-field label{display:block;font-size:.9rem;font-weight:600;color:#9a3412;margin-bottom:.75rem}[data-theme=dark] .extra-persons-field label{color:#fb923c}.extra-persons-input{display:flex;align-items:center;gap:1rem}.extra-persons-input input{width:100px;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1.1rem;background:#fff;color:#1f2937;transition:all .2s ease}.extra-persons-input input:focus{outline:none;border-color:#f97316}[data-theme=dark] .extra-persons-input input{background:var(--color-secondary);border-color:var(--color-border);color:#fff}.extra-persons-ok{padding:.75rem 1.5rem;background:#f97316;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap}.extra-persons-ok:hover:not(:disabled){background:#ea580c;transform:scale(1.05)}.extra-persons-ok.confirmed{background:#16a34a;cursor:default}.extra-persons-ok:disabled{opacity:.8}.confirmed-badge{display:inline-block;background:#16a34a;color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;margin-left:.5rem}.extra-persons-field.confirmed{border-color:#16a34a;background:#f0fdf4}[data-theme=dark] .extra-persons-field.confirmed{background:#16a34a1a;border-color:#22c55e4d}.custom-package-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:14px;cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:600;color:#374151}.custom-package-toggle:hover{border-color:#f97316;background:#fff7ed}.custom-package-toggle.active{border-color:#f97316;background:#f97316;color:#fff}[data-theme=dark] .custom-package-toggle{background:var(--color-secondary);border-color:var(--color-border);color:#d1d5db}[data-theme=dark] .custom-package-toggle:hover{background:#f9731626;border-color:#f97316}[data-theme=dark] .custom-package-toggle.active{background:#f97316;border-color:#f97316;color:#fff}.toggle-icon{font-size:1.5rem;font-weight:400;line-height:1}.custom-package-content{margin-top:1rem;padding:1.25rem;background:#fff7ed;border:2px solid #fed7aa;border-radius:12px;animation:slideDown .3s ease}[data-theme=dark] .custom-package-content{background:#f973161a;border-color:#f973164d}.custom-package-row{display:flex;gap:1rem}.custom-field{flex:1;display:flex;flex-direction:column;gap:.5rem}.custom-field label{font-size:1rem;font-weight:600;color:#374151}[data-theme=dark] .custom-field label{color:#d1d5db}.label-hint{font-weight:400;color:#9ca3af;font-size:.85rem}.custom-field input{padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1.1rem;background:#fff;color:#1f2937;transition:all .2s ease}.custom-field input:focus{outline:none;border-color:#f97316}[data-theme=dark] .custom-field input{background:var(--color-secondary);border-color:var(--color-border);color:#fff}.field-price{font-size:.9rem;color:#6b7280}[data-theme=dark] .field-price{color:#9ca3af}.time-field{display:flex;align-items:center;gap:1rem}.time-input{flex:1;padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1.1rem;font-weight:600;color:#1f2937;background:#fff;transition:all .2s ease;text-align:center}.time-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f973161a}[data-theme=dark] .time-input{background:var(--color-secondary);border-color:var(--color-border);color:#fff}[data-theme=dark] .time-input:focus{border-color:#f97316}.field-price.free-text{color:#16a34a;font-weight:700;font-size:1rem;background:#dcfce7;padding:.4rem 1rem;border-radius:8px}[data-theme=dark] .field-price.free-text{color:#4ade80;background:#16a34a33}.children-field{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed #e5e7eb}[data-theme=dark] .children-field{border-top-color:var(--color-border)}.room-hint{font-size:.9rem;color:#6b7280;margin:0 0 1rem;text-align:center}[data-theme=dark] .room-hint{color:#9ca3af}.room-options{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.room-btn{padding:1rem .5rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;font-size:.9rem;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease;text-align:center}.room-btn:hover{border-color:#3b82f6;background:#eff6ff}.room-btn.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}[data-theme=dark] .room-btn{background:var(--color-secondary);border-color:var(--color-border);color:#d1d5db}[data-theme=dark] .room-btn:hover{background:#3b82f626;border-color:#3b82f6}[data-theme=dark] .room-btn.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.room-total{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:.75rem 1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px}[data-theme=dark] .room-total{background:#3b82f626;border-color:#3b82f64d}.room-count{font-size:.9rem;font-weight:600;color:#1d4ed8}[data-theme=dark] .room-count{color:#60a5fa}.room-amount{font-size:1.1rem;font-weight:700;color:#1d4ed8}[data-theme=dark] .room-amount{color:#60a5fa}.rooms-selected-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.room-selected-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f0fdf4;border:2px solid #86efac;border-radius:10px}[data-theme=dark] .room-selected-item{background:#16a34a26;border-color:#22c55e4d}.room-selected-name{font-size:1rem;font-weight:700;color:#16a34a}[data-theme=dark] .room-selected-name{color:#4ade80}.room-selected-price{font-size:.9rem;font-weight:600;color:#047857}[data-theme=dark] .room-selected-price{color:#34d399}.room-remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fee2e2;border:none;border-radius:6px;font-size:1.25rem;color:#dc2626;cursor:pointer;transition:all .2s ease}.room-remove-btn:hover{background:#fecaca}[data-theme=dark] .room-remove-btn{background:#dc262633}[data-theme=dark] .room-remove-btn:hover{background:#dc26264d}.room-btn.selected{background:#d1fae5;border-color:#16a34a;color:#047857;cursor:default}.room-btn:disabled{cursor:default}.room-btn.booked{background:#fee2e2;border-color:#fca5a5;color:#dc2626;cursor:not-allowed;opacity:.8;position:relative}.room-btn.booked:hover{background:#fee2e2;border-color:#fca5a5;transform:none}.room-booked-label{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}[data-theme=dark] .room-btn.booked{background:#dc262633;border-color:#f8717166;color:#f87171}.room-loading{text-align:center;font-size:.9rem;color:#6b7280;padding:.5rem;font-style:italic}[data-theme=dark] .room-loading{color:#9ca3af}[data-theme=dark] .room-btn.selected{background:#16a34a33;border-color:#16a34a;color:#4ade80}.room-detail-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;animation:fadeIn .2s ease}.room-detail-modal{background:#fff;border-radius:24px;width:100%;max-width:550px;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease;box-shadow:0 25px 60px #0006}[data-theme=dark] .room-detail-modal{background:var(--color-panel)}.room-modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:50%;background:#ffffffe6;border:none;font-size:1.5rem;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;box-shadow:0 2px 10px #0003}.room-modal-close:hover{background:#fff;transform:scale(1.1)}[data-theme=dark] .room-modal-close{background:var(--color-secondary);color:#d1d5db}.room-detail-image{position:relative;width:100%;height:250px;overflow:hidden;border-radius:24px 24px 0 0}.room-detail-image img{width:100%;height:100%;object-fit:cover}.room-detail-content{padding:1.75rem 1.75rem 2.5rem}.room-detail-title{font-size:1.75rem;font-weight:700;color:var(--color-text);margin:0 0 .5rem}[data-theme=dark] .room-detail-title{color:#fff}.room-detail-desc{font-size:1rem;color:#6b7280;margin:0 0 1.25rem}[data-theme=dark] .room-detail-desc{color:#9ca3af}.room-detail-features{margin-bottom:1.25rem;padding:1rem;background:#f9fafb;border-radius:12px}[data-theme=dark] .room-detail-features{background:var(--color-secondary)}.room-detail-features h4{font-size:.85rem;font-weight:700;color:#374151;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .room-detail-features h4{color:#d1d5db}.room-detail-features ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.room-detail-features li{font-size:.95rem;color:#4b5563}[data-theme=dark] .room-detail-features li{color:#9ca3af}.room-detail-price{display:flex;align-items:baseline;gap:.5rem;margin-bottom:1.25rem;padding:1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px}[data-theme=dark] .room-detail-price{background:#3b82f626;border-color:#3b82f64d}.room-price-label{font-size:1rem;color:#6b7280;font-weight:500}[data-theme=dark] .room-price-label{color:#9ca3af}.room-price-value{font-size:2rem;font-weight:800;color:#1d4ed8}[data-theme=dark] .room-price-value{color:#60a5fa}.room-select-btn{width:100%;padding:1.25rem 2rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:14px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #3b82f666;text-transform:uppercase;letter-spacing:1px;margin-top:.75rem;margin-bottom:.5rem}.room-select-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #3b82f680;background:linear-gradient(135deg,#2563eb,#1d4ed8)}@media (max-width: 768px){.room-options{grid-template-columns:repeat(3,1fr);gap:.5rem}.room-btn{padding:.75rem .25rem;font-size:.8rem}.room-total{padding:.5rem .75rem}.room-count{font-size:.8rem}.room-amount{font-size:1rem}.room-selected-item{padding:.5rem .75rem}.room-selected-name{font-size:.9rem}.room-selected-price{font-size:.8rem}.room-detail-modal{max-width:95%;max-height:85vh;border-radius:16px}.room-detail-image{height:200px;border-radius:16px 16px 0 0}.room-detail-content{padding:1.25rem}.room-detail-title{font-size:1.5rem}.room-detail-desc{font-size:.95rem}.room-detail-features{padding:.875rem}.room-detail-features h4{font-size:.8rem}.room-detail-features li{font-size:.9rem}.room-price-value{font-size:1.75rem}.room-select-btn{padding:1.1rem 1.5rem;font-size:1.1rem}}.lunchbox-options{display:flex;gap:.5rem}.lunchbox-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease;position:relative}.lunchbox-btn:hover{border-color:#f97316;background:#fff7ed}.lunchbox-btn.active{border-color:#f97316;background:#f97316}.lunchbox-btn.active .lunchbox-letter,.lunchbox-btn.active .lunchbox-price{color:#fff}[data-theme=dark] .lunchbox-btn{background:var(--color-secondary);border-color:var(--color-border)}[data-theme=dark] .lunchbox-btn:hover{background:#f9731626;border-color:#f97316}[data-theme=dark] .lunchbox-btn.active{background:#f97316;border-color:#f97316}.lunchbox-letter{font-size:1.5rem;font-weight:700;color:#374151}[data-theme=dark] .lunchbox-letter{color:#d1d5db}.lunchbox-price{font-size:.9rem;color:#6b7280;font-weight:500}[data-theme=dark] .lunchbox-price{color:#9ca3af}.lunchbox-hint{font-size:.9rem;color:#9ca3af;font-style:italic;margin:0 0 .75rem;text-align:center}[data-theme=dark] .lunchbox-hint{color:#6b7280}.lunchbox-options.disabled{opacity:.5;pointer-events:none}.lunchbox-btn:disabled{cursor:not-allowed;opacity:.6}.lunchbox-btn:disabled:hover{border-color:#e5e7eb;background:#f9fafb}[data-theme=dark] .lunchbox-btn:disabled:hover{border-color:var(--color-border);background:var(--color-secondary)}.drivers-field{display:flex;align-items:center;gap:1rem}.drivers-field input{width:120px;padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1.1rem;background:#fff;color:#1f2937;transition:all .2s ease}.drivers-field input:focus{outline:none;border-color:#f97316}[data-theme=dark] .drivers-field input{background:var(--color-secondary);border-color:var(--color-border);color:#fff}.discount-input{width:100%;padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1.1rem;background:#fff;color:#1f2937;transition:all .2s ease}.discount-input:focus{outline:none;border-color:#f97316}[data-theme=dark] .discount-input{background:var(--color-secondary);border-color:var(--color-border);color:#fff}.discount-input::placeholder{color:#9ca3af}.amount-section{padding:.5rem}.price-summary{background:#f8fafc;border-radius:12px;padding:1rem;border:1px solid #e2e8f0}[data-theme=dark] .price-summary{background:#1e293b80;border-color:#47556980}.price-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.95rem;color:#64748b}[data-theme=dark] .price-row{color:#94a3b8}.price-row.discount{color:#16a34a}[data-theme=dark] .price-row.discount{color:#4ade80}.price-strike{text-decoration:line-through;color:#94a3b8}[data-theme=dark] .price-strike{color:#64748b}.price-total{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;margin-top:.5rem;border-top:1px solid #e2e8f0;font-size:1.25rem;font-weight:700;color:#16a34a}[data-theme=dark] .price-total{border-top-color:#47556980;color:#4ade80}.price-summary.detailed{padding:1.25rem}.price-section-header{font-size:.8rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-top:1rem;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px dashed #e2e8f0}.price-section-header:first-child{margin-top:0}[data-theme=dark] .price-section-header{color:#64748b;border-bottom-color:#47556980}.price-row .discount-value{color:#16a34a;font-weight:600}[data-theme=dark] .price-row .discount-value{color:#4ade80}.price-row.room-total{background:#22c55e1a;border-radius:6px;padding:.5rem .75rem;margin:.25rem 0}.price-row .discounted-price{color:#16a34a;font-weight:700;font-size:1.05rem}[data-theme=dark] .price-row .discounted-price{color:#4ade80}.price-summary.detailed .price-total{margin-top:1rem;padding-top:1rem;border-top:2px solid #e2e8f0;font-size:1.3rem}[data-theme=dark] .price-summary.detailed .price-total{border-top-color:#47556980}.price-subtotal-box{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:8px;border:1px solid #bae6fd;font-weight:600;color:#0369a1}[data-theme=dark] .price-subtotal-box{background:linear-gradient(135deg,#0ea5e926,#38bdf81a);border-color:#38bdf84d;color:#7dd3fc}.promo-code-section{margin-top:1rem;padding-top:1rem;border-top:1px dashed #e2e8f0}[data-theme=dark] .promo-code-section{border-top-color:#47556980}.promo-code-input-wrapper{display:flex;gap:.5rem;margin-top:.5rem}.promo-code-wrapper{display:flex;gap:.5rem;align-items:center}.promo-code-input{flex:1;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;text-transform:uppercase;transition:all .2s ease}.promo-code-input:focus{outline:none;border-color:#f97316}.promo-code-input.valid{border-color:#22c55e;background:#f0fdf4}.promo-code-input.invalid{border-color:#ef4444;background:#fef2f2}[data-theme=dark] .promo-code-input{background:#1e293b80;border-color:#47556980;color:#f1f5f9}[data-theme=dark] .promo-code-input.valid{border-color:#22c55e;background:#22c55e1a}[data-theme=dark] .promo-code-input.invalid{border-color:#ef4444;background:#ef44441a}.promo-apply-btn{padding:.75rem 1.25rem;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.promo-apply-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f973164d}.promo-apply-btn:disabled{opacity:.5;cursor:not-allowed}.promo-code-error{margin-top:.5rem;padding:.5rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.85rem}[data-theme=dark] .promo-code-error{background:#ef44441a;border-color:#ef44444d;color:#f87171}.promo-code-success{margin-top:.5rem;padding:.5rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#16a34a;font-size:.85rem;font-weight:600}[data-theme=dark] .promo-code-success{background:#22c55e1a;border-color:#22c55e4d;color:#4ade80}.modal-footer{padding:1.5rem 2rem 2rem;border-top:1px solid #e5e7eb}[data-theme=dark] .modal-footer{border-color:var(--color-border)}.send-request-btn{width:100%;padding:1.25rem;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;border-radius:14px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #f973164d}.send-request-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f9731666}.send-request-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.day-out-modal{max-height:85vh;border-radius:16px}.modal-header{padding:1.25rem 1.25rem .75rem}.modal-header h3{font-size:1.25rem}.modal-date{font-size:.85rem}.modal-body{padding:1rem}.modal-section{margin-bottom:1.25rem}.modal-section h4{font-size:.8rem}.package-options{flex-direction:column;gap:.5rem}.package-btn{flex-direction:row;justify-content:space-between;padding:.75rem 1rem}.extra-persons-field{margin-top:.75rem;padding:.75rem 1rem}.extra-persons-input input{width:80px;padding:.6rem .75rem;font-size:1rem}.extra-persons-ok{padding:.6rem 1rem;font-size:.9rem}.confirmed-badge{font-size:.65rem;padding:.15rem .4rem}.custom-package-toggle{padding:.75rem 1rem;font-size:.9rem}.toggle-icon{font-size:1.25rem}.custom-package-content{margin-top:.75rem;padding:1rem}.lunchbox-options{gap:.5rem}.lunchbox-btn{padding:.75rem}.custom-package-row{gap:.75rem}.custom-field input{padding:.6rem .75rem}.drivers-field input{width:80px;padding:.6rem .75rem}.amount-value{font-size:1.5rem}.modal-footer{padding:.75rem 1rem 1rem}.send-request-btn{padding:.85rem;font-size:1rem}}.lunchbox-selected-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.lunchbox-selected{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#f0fdf4;border:2px solid #86efac;border-radius:8px}[data-theme=dark] .lunchbox-selected{background:#16a34a26;border-color:#22c55e4d}.lunchbox-btn.selected{border-color:#f97316;background:#fff7ed;position:relative}[data-theme=dark] .lunchbox-btn.selected{background:#f9731626;border-color:#f97316}.lunchbox-qty-badge{position:absolute;top:-8px;right:-8px;background:#f97316;color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:10px;min-width:20px;text-align:center}.lunchbox-selected-info{display:flex;align-items:center;gap:.75rem}.lunchbox-selected-name{font-size:1rem;font-weight:700;color:#16a34a}[data-theme=dark] .lunchbox-selected-name{color:#4ade80}.lunchbox-selected-qty{font-size:1rem;font-weight:600;color:#374151;background:#fff;padding:.25rem .75rem;border-radius:8px}[data-theme=dark] .lunchbox-selected-qty{background:var(--color-secondary);color:#d1d5db}.lunchbox-selected-total{font-size:1rem;font-weight:700;color:#16a34a}[data-theme=dark] .lunchbox-selected-total{color:#4ade80}.lunchbox-selected-actions{display:flex;align-items:center;gap:.5rem}.lunchbox-edit-btn{padding:.5rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease}.lunchbox-edit-btn:hover{border-color:#f97316;color:#f97316}[data-theme=dark] .lunchbox-edit-btn{background:var(--color-secondary);border-color:var(--color-border);color:#d1d5db}[data-theme=dark] .lunchbox-edit-btn:hover{border-color:#f97316;color:#f97316}.lunchbox-remove-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fee2e2;border:2px solid #fecaca;border-radius:8px;font-size:1.25rem;color:#dc2626;cursor:pointer;transition:all .2s ease}.lunchbox-remove-btn:hover{background:#fecaca;border-color:#dc2626}[data-theme=dark] .lunchbox-remove-btn{background:#dc262626;border-color:#dc26264d}[data-theme=dark] .lunchbox-remove-btn:hover{background:#dc262640;border-color:#dc2626}.lunchbox-total-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f0fdf4;border:2px solid #22c55e;border-radius:10px;font-weight:700;color:#16a34a}[data-theme=dark] .lunchbox-total-row{background:#16a34a33;border-color:#22c55e80;color:#4ade80}.lunchbox-total-price{font-size:1.1rem;font-weight:700;color:#16a34a}[data-theme=dark] .lunchbox-total-price{color:#4ade80}.lunchbox-detail-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;animation:fadeIn .2s ease}.lunchbox-detail-modal{background:#fff;border-radius:20px;width:100%;max-width:420px;max-height:90vh;overflow:hidden;position:relative;animation:modalSlideIn .3s ease;box-shadow:0 25px 60px #0006}[data-theme=dark] .lunchbox-detail-modal{background:var(--color-panel)}.lunchbox-modal-close{position:absolute;top:.75rem;right:.75rem;width:36px;height:36px;border-radius:50%;background:#ffffffe6;border:none;font-size:1.25rem;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;box-shadow:0 2px 10px #0003}.lunchbox-modal-close:hover{background:#fff;transform:scale(1.1)}[data-theme=dark] .lunchbox-modal-close{background:var(--color-secondary);color:#d1d5db}.lunchbox-detail-image{position:relative;width:100%;height:180px;overflow:hidden;border-radius:20px 20px 0 0}.lunchbox-detail-image img{width:100%;height:100%;object-fit:cover}.lunchbox-detail-content{padding:1rem 1.25rem 1.25rem}.lunchbox-detail-title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0 0 .25rem}[data-theme=dark] .lunchbox-detail-title{color:#fff}.lunchbox-detail-desc{font-size:.9rem;color:#6b7280;margin:0 0 .75rem}[data-theme=dark] .lunchbox-detail-desc{color:#9ca3af}.lunchbox-detail-items{margin-bottom:.75rem;padding:.75rem;background:#f9fafb;border-radius:10px}[data-theme=dark] .lunchbox-detail-items{background:var(--color-secondary)}.lunchbox-detail-items h4{font-size:.8rem;font-weight:700;color:#374151;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .lunchbox-detail-items h4{color:#d1d5db}.lunchbox-detail-items ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.2rem}.lunchbox-detail-items li{font-size:.875rem;color:#4b5563}[data-theme=dark] .lunchbox-detail-items li{color:#9ca3af}.lunchbox-detail-price{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.75rem}.lunchbox-price-label{font-size:.9rem;color:#6b7280;font-weight:500}[data-theme=dark] .lunchbox-price-label{color:#9ca3af}.lunchbox-price-value{font-size:1.75rem;font-weight:800;color:#f97316}[data-theme=dark] .lunchbox-price-value{color:#fb923c}.lunchbox-price-per{font-size:.9rem;color:#9ca3af}.lunchbox-quantity-section{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding:.75rem 1rem;background:#fff7ed;border:2px solid #fed7aa;border-radius:10px}[data-theme=dark] .lunchbox-quantity-section{background:#f973161a;border-color:#f973164d}.lunchbox-quantity-section label{font-size:1rem;font-weight:700;color:#9a3412}[data-theme=dark] .lunchbox-quantity-section label{color:#fb923c}.lunchbox-quantity-controls{display:flex;align-items:center;gap:.5rem}.lunchbox-quantity-controls .qty-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:1.25rem;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease}.lunchbox-quantity-controls .qty-btn:hover{border-color:#f97316;color:#f97316;background:#fff7ed}[data-theme=dark] .lunchbox-quantity-controls .qty-btn{background:var(--color-secondary);border-color:var(--color-border);color:#d1d5db}[data-theme=dark] .lunchbox-quantity-controls .qty-btn:hover{border-color:#f97316;color:#f97316}.lunchbox-quantity-controls input{width:60px;height:38px;text-align:center;border:2px solid #e5e7eb;border-radius:8px;font-size:1.1rem;font-weight:700;color:#1f2937;background:#fff}.lunchbox-quantity-controls input:focus{outline:none;border-color:#f97316}[data-theme=dark] .lunchbox-quantity-controls input{background:var(--color-secondary);border-color:var(--color-border);color:#fff}.lunchbox-subtotal{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:.75rem}[data-theme=dark] .lunchbox-subtotal{background:#16a34a26;border-color:#22c55e4d}.lunchbox-subtotal span:first-child{font-size:1rem;font-weight:600;color:#374151}[data-theme=dark] .lunchbox-subtotal span:first-child{color:#d1d5db}.lunchbox-subtotal .subtotal-amount{font-size:1.35rem;font-weight:800;color:#16a34a}[data-theme=dark] .lunchbox-subtotal .subtotal-amount{color:#4ade80}.accommodation-selectors{display:flex;flex-direction:column;gap:1rem}.accommodation-selector{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px}[data-theme=dark] .accommodation-selector{background:var(--color-secondary);border-color:var(--color-border)}.accommodation-info{display:flex;flex-direction:column;gap:.25rem}.accommodation-name{font-size:1.1rem;font-weight:700;color:#1f2937}[data-theme=dark] .accommodation-name{color:#fff}.accommodation-available{font-size:.85rem;color:#6b7280}[data-theme=dark] .accommodation-available{color:#9ca3af}.quantity-controls{display:flex;align-items:center;gap:.75rem}.quantity-controls .qty-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;font-size:1.5rem;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease}.quantity-controls .qty-btn:hover:not(:disabled){border-color:#f97316;color:#f97316;background:#fff7ed}.quantity-controls .qty-btn:disabled{opacity:.4;cursor:not-allowed}[data-theme=dark] .quantity-controls .qty-btn{background:var(--color-primary);border-color:var(--color-border);color:#d1d5db}[data-theme=dark] .quantity-controls .qty-btn:hover:not(:disabled){border-color:#f97316;color:#f97316}.quantity-controls .qty-value{font-size:1.25rem;font-weight:700;color:#1f2937;min-width:30px;text-align:center}[data-theme=dark] .quantity-controls .qty-value{color:#fff}.guest-total-summary{margin-top:1rem;padding:.75rem 1rem;background:#fefce8;border:1px solid #fde047;border-radius:10px}[data-theme=dark] .guest-total-summary{background:#facc151a;border-color:#facc154d}.guest-total-summary .summary-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.95rem;color:#374151}[data-theme=dark] .guest-total-summary .summary-row{color:#e5e7eb}.guest-total-summary .summary-row.total{font-weight:700;color:#16a34a;font-size:1rem}[data-theme=dark] .guest-total-summary .summary-row.total{color:#4ade80}.guest-total-summary .summary-divider{height:1px;background:#fde047;margin:.5rem 0}[data-theme=dark] .guest-total-summary .summary-divider{background:#facc1566}.accommodation-total{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}[data-theme=dark] .accommodation-total{background:#16a34a26;border-color:#22c55e4d}.accommodation-total .total-units{font-size:.85rem;font-weight:600;color:#374151}[data-theme=dark] .accommodation-total .total-units{color:#d1d5db}.accommodation-total .total-price{font-size:1rem;font-weight:800;color:#16a34a}[data-theme=dark] .accommodation-total .total-price{color:#4ade80}.accommodation-total-summary{margin-top:.5rem;padding:.5rem .75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}[data-theme=dark] .accommodation-total-summary{background:#16a34a26;border-color:#22c55e4d}.accommodation-total-summary .summary-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.95rem;color:#374151}[data-theme=dark] .accommodation-total-summary .summary-row{color:#e5e7eb}.accommodation-total-summary .summary-row.total{font-weight:700;color:#16a34a;font-size:1rem}[data-theme=dark] .accommodation-total-summary .summary-row.total{color:#4ade80}.accommodation-total-summary .summary-divider{height:1px;background:#bbf7d0;margin:.5rem 0}[data-theme=dark] .accommodation-total-summary .summary-divider{background:#22c55e66}.lunchbox-total-summary{margin-top:.75rem;padding:.75rem 1rem;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px}[data-theme=dark] .lunchbox-total-summary{background:#f973161a;border-color:#f973164d}.lunchbox-total-summary .summary-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.95rem;color:#374151}[data-theme=dark] .lunchbox-total-summary .summary-row{color:#e5e7eb}.lunchbox-total-summary .summary-row.lunchbox-item .lunchbox-item-actions{display:flex;align-items:center;gap:.5rem}.lunchbox-total-summary .lunchbox-remove-inline{width:20px;height:20px;border:none;background:#fecaca;color:#dc2626;border-radius:50%;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.lunchbox-total-summary .lunchbox-remove-inline:hover{background:#dc2626;color:#fff}[data-theme=dark] .lunchbox-total-summary .lunchbox-remove-inline{background:#dc262633;color:#f87171}[data-theme=dark] .lunchbox-total-summary .lunchbox-remove-inline:hover{background:#dc2626;color:#fff}.lunchbox-total-summary .summary-row.total{font-weight:700;color:#ea580c;font-size:1rem}[data-theme=dark] .lunchbox-total-summary .summary-row.total{color:#fb923c}.lunchbox-total-summary .summary-divider{height:1px;background:#fed7aa;margin:.5rem 0}[data-theme=dark] .lunchbox-total-summary .summary-divider{background:#f9731666}.lunchbox-confirm-btn{width:100%;padding:.9rem;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #f973164d}.lunchbox-confirm-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f9731666}@media (max-width: 768px){.lunchbox-selected{flex-direction:column;gap:.75rem;text-align:center}.lunchbox-selected-info{flex-wrap:wrap;justify-content:center}.lunchbox-detail-modal{max-height:85vh;border-radius:16px}.lunchbox-detail-image{height:180px;border-radius:16px 16px 0 0}.lunchbox-detail-content{padding:1rem}.lunchbox-detail-title{font-size:1.35rem}.lunchbox-detail-desc{font-size:.9rem}.lunchbox-detail-items{padding:.75rem}.lunchbox-detail-items h4{font-size:.75rem}.lunchbox-detail-items li{font-size:.85rem}.lunchbox-price-value{font-size:1.5rem}.lunchbox-quantity-section{flex-direction:column;gap:.75rem;padding:.75rem}.lunchbox-quantity-controls .qty-btn{width:40px;height:40px;font-size:1.25rem}.lunchbox-quantity-controls input{width:60px;height:40px;font-size:1.1rem}.lunchbox-subtotal .subtotal-amount{font-size:1.25rem}.lunchbox-confirm-btn{padding:.9rem;font-size:1rem}}.review-booking-btn{width:100%;padding:1.1rem 2rem;background:linear-gradient(135deg,#166534,#15803d);color:#fff;border:none;border-radius:14px;font-size:1.15rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #1665344d;text-transform:uppercase;letter-spacing:.5px}.review-booking-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #16653466;background:linear-gradient(135deg,#15803d,#14532d)}.review-booking-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.review-card-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem;animation:fadeIn .2s ease}.review-card{background:#fff;border-radius:24px;width:100%;max-width:550px;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease;box-shadow:0 25px 60px #00000080}[data-theme=dark] .review-card{background:#2d3748}.review-card-header{padding:1.5rem 1.75rem 1rem;border-bottom:1px solid #e5e7eb;text-align:center}[data-theme=dark] .review-card-header{border-bottom-color:var(--color-border)}.review-card-header h3{font-size:1.5rem;font-weight:800;color:#1f2937;margin:0 0 .5rem}[data-theme=dark] .review-card-header h3{color:#fff}.review-card-subtitle{font-size:.95rem;color:#6b7280;margin:0}[data-theme=dark] .review-card-subtitle{color:#9ca3af}.review-card-body{padding:1.25rem 1.75rem}.review-section{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px dashed #e5e7eb}.review-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}[data-theme=dark] .review-section{border-bottom-color:var(--color-border)}.review-section-title{font-size:.8rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}[data-theme=dark] .review-section-title{color:#6b7280}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.review-item{display:flex;flex-direction:column;gap:.25rem}.review-label{font-size:.8rem;font-weight:600;color:#6b7280}[data-theme=dark] .review-label{color:#9ca3af}.review-value{font-size:1rem;font-weight:600;color:#1f2937}[data-theme=dark] .review-value{color:#fff}.review-rooms-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.review-room-badge{display:inline-block;padding:.4rem 1rem;background:#eff6ff;border:2px solid #bfdbfe;border-radius:20px;font-size:.9rem;font-weight:700;color:#1d4ed8}[data-theme=dark] .review-room-badge{background:#3b82f626;border-color:#3b82f64d;color:#60a5fa}.review-lunchbox-list{display:flex;flex-direction:column;gap:.5rem}.review-lunchbox-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#fef3c7;border-radius:8px}[data-theme=dark] .review-lunchbox-item{background:#fbbf2426}.review-lunchbox-name{font-weight:600;color:#92400e}[data-theme=dark] .review-lunchbox-name{color:#fbbf24}.review-lunchbox-qty{color:#78716c;font-weight:500}[data-theme=dark] .review-lunchbox-qty{color:#a8a29e}.review-lunchbox-price{font-weight:700;color:#92400e}[data-theme=dark] .review-lunchbox-price{color:#fbbf24}.review-lunchbox-total{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#166534,#15803d);border-radius:8px;color:#fff;font-weight:700}.review-lunchbox-total span:last-child{font-size:1.1rem}.review-accommodation-total{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#166534,#15803d);border-radius:8px;color:#fff;font-weight:700}.review-accommodation-total span:last-child{font-size:1.1rem}.review-guest-total{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#166534,#15803d);border-radius:8px;color:#fff;font-weight:700}.review-guest-total span:last-child{font-size:1.1rem}.review-rooms-total{font-size:.9rem;color:#6b7280;margin:0}[data-theme=dark] .review-rooms-total{color:#9ca3af}.review-drivers-info{font-size:.95rem;color:#374151;margin:0 0 .5rem}.review-driver-total{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#166534,#15803d);border-radius:8px;color:#fff;font-weight:700}.review-driver-total span:last-child{font-size:1.1rem}[data-theme=dark] .review-drivers-info{color:#d1d5db}.grand-total-section{margin-top:1rem;padding-top:1rem;border-top:2px solid #e5e7eb}.review-grand-total{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:10px;color:#fff;font-weight:700;font-size:1.1rem}.review-grand-total .grand-total-amount{font-size:1.3rem}[data-theme=dark] .grand-total-section{border-color:var(--color-border)}.review-discount-code{display:inline-block;padding:.5rem 1rem;background:#fef3c7;border:2px solid #fde68a;border-radius:8px;font-size:1rem;font-weight:700;color:#b45309;margin:0}[data-theme=dark] .review-discount-code{background:#fbbf2426;border-color:#fbbf244d;color:#fbbf24}.review-total-section{display:flex;flex-direction:column;padding:1.25rem 1.5rem;background:linear-gradient(145deg,#fffbf5,#fff7ed);border:2px solid #fed7aa;border-radius:16px;margin-top:1rem;box-shadow:0 4px 15px #fb923c1f}[data-theme=dark] .review-total-section{background:linear-gradient(145deg,#fb923c14,#f973161f);border-color:#f9731666;box-shadow:0 4px 15px #f973161a}.review-total-label{font-size:.8rem;font-weight:600;color:#b45309;text-transform:uppercase;letter-spacing:.75px;margin-bottom:.15rem}[data-theme=dark] .review-total-label{color:#fdba74}.review-total-value{font-size:2.25rem;font-weight:800;color:#ea580c;line-height:1.1}[data-theme=dark] .review-total-value{color:#fb923c}.review-total-main{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.review-total-value:after{content:"";font-size:1.25rem;font-weight:700;margin-left:.25rem}.discount-row{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:.95rem;color:#6b7280}[data-theme=dark] .discount-row{color:#9ca3af}.subtotal-label,.subtotal-value{font-weight:500}.discount-savings{color:#16a34a;font-weight:600}[data-theme=dark] .discount-savings{color:#4ade80}.discount-label{color:#16a34a}[data-theme=dark] .discount-label{color:#4ade80}.discount-value{color:#16a34a;font-weight:600}[data-theme=dark] .discount-value{color:#4ade80}.discount-divider{width:100%;height:1px;background:#e5e7eb;margin:.75rem 0}[data-theme=dark] .discount-divider{background:#4b5563}.discount-details{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.25rem}.discount-label-tag{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;border:1px solid #86efac}[data-theme=dark] .discount-label-tag{background:#22c55e33;color:#4ade80;border-color:#22c55e66}.review-discount-section{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #86efac;border-radius:12px;padding:1rem;margin-top:.5rem}[data-theme=dark] .review-discount-section{background:#22c55e26;border-color:#22c55e4d}.review-discount-info{display:flex;flex-direction:column;gap:.5rem}.review-discount-badge{display:inline-flex;align-items:center;background:#16a34a;color:#fff;font-size:.85rem;font-weight:700;padding:.25rem .75rem;border-radius:999px;width:fit-content}.review-discount-text{font-size:.9rem;color:#166534}[data-theme=dark] .review-discount-text{color:#86efac}.review-discount-savings{font-size:1.05rem;font-weight:700;color:#15803d;background:linear-gradient(135deg,#dcfce7,#bbf7d0);padding:.4rem .75rem;border-radius:8px;margin-top:.25rem}[data-theme=dark] .review-discount-savings{color:#4ade80;background:#22c55e26}.review-discount-box{display:flex;flex-direction:column;gap:.75rem}.review-discount-row{background:#fff;border-radius:10px;padding:.75rem;border-left:4px solid #22c55e}[data-theme=dark] .review-discount-row{background:var(--color-surface)}.review-discount-row.promo{border-left-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}[data-theme=dark] .review-discount-row.promo{background:linear-gradient(135deg,#f59e0b1a,#d977060d)}.review-discount-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.review-discount-badge.promo{background:linear-gradient(135deg,#f59e0b,#d97706)}.review-discount-applies{font-size:.85rem;color:#6b7280;font-weight:500}[data-theme=dark] .review-discount-applies{color:#9ca3af}.review-discount-details{display:flex;flex-wrap:wrap;gap:.5rem}.review-discount-item{font-size:.85rem;color:#374151;background:#f3f4f6;padding:.25rem .6rem;border-radius:6px}[data-theme=dark] .review-discount-item{background:#ffffff1a;color:#e5e7eb}.review-discount-item.promo-code{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-weight:600}[data-theme=dark] .review-discount-item.promo-code{background:#fbbf2433;color:#fbbf24}.review-discount-savings-row{margin-top:.25rem;padding-top:.5rem;border-top:1px dashed #86efac}[data-theme=dark] .review-discount-savings-row{border-top-color:#22c55e4d}.review-subtotal-row{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(234,88,12,.2)}[data-theme=dark] .review-subtotal-row{border-bottom-color:#fb923c33}.review-subtotal-label{font-size:.85rem;color:#9a3412;font-weight:500}[data-theme=dark] .review-subtotal-label{color:#fdba74}.review-subtotal-value{font-size:1rem;color:#9a3412;font-weight:600;text-decoration:line-through;text-decoration-color:#dc2626;text-decoration-thickness:2px;opacity:.6}[data-theme=dark] .review-subtotal-value{color:#fdba74}.review-card-footer{display:flex;gap:1rem;padding:1rem 1.75rem 1.5rem;border-top:1px solid #e5e7eb}[data-theme=dark] .review-card-footer{border-top-color:var(--color-border)}.review-edit-btn{flex:1;padding:1rem 1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;font-weight:700;color:#374151;cursor:pointer;transition:all .2s ease}.review-edit-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}[data-theme=dark] .review-edit-btn{background:var(--color-secondary);border-color:var(--color-border);color:#d1d5db}[data-theme=dark] .review-edit-btn:hover{border-color:#3b82f6;color:#60a5fa;background:#3b82f61a}.review-submit-btn{flex:2;padding:1rem 1.5rem;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #16a34a4d}.review-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #16a34a66;background:linear-gradient(135deg,#15803d,#166534)}.review-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.review-card{max-width:95%;max-height:85vh;border-radius:16px}.review-card-header{padding:1.25rem 1.25rem .75rem}.review-card-header h3{font-size:1.25rem}.review-card-subtitle{font-size:.85rem}.review-card-body{padding:1rem 1.25rem}.review-section{margin-bottom:1rem;padding-bottom:1rem}.review-grid{grid-template-columns:1fr;gap:.5rem}.review-item{flex-direction:row;justify-content:space-between;align-items:center}.review-total-section{padding:1rem}.review-total-label{font-size:1rem}.review-total-value{font-size:1.5rem}.review-card-footer{flex-direction:column;padding:.75rem 1.25rem 1.25rem;gap:.75rem}.review-edit-btn,.review-submit-btn{flex:none;width:100%;padding:.875rem}.review-submit-btn{order:-1}}body:has(.night-stay-modal-overlay){overflow:hidden}.night-stay-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow:hidden;animation:fadeIn .2s ease}.night-stay-modal{background:#fff;border-radius:20px;width:100%;max-width:800px;max-height:calc(100vh - 2rem);position:relative;animation:modalSlideIn .3s ease;box-shadow:0 25px 60px #0000004d;overflow:hidden;display:flex;flex-direction:column}[data-theme=dark] .night-stay-modal{background:#2d3748}.night-stay-modal .modal-header{padding:.75rem 1.25rem .5rem;flex-shrink:0}.night-stay-modal .modal-header h3{font-size:1.25rem;margin-bottom:.1rem}.accommodation-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;padding:.75rem 1.25rem!important}.header-title-row{display:flex;align-items:center;justify-content:flex-start;gap:1rem;margin-bottom:.5rem}.title-with-back{display:flex;align-items:center;gap:.5rem}.header-back-btn{width:32px;height:32px;border-radius:50%;border:none;background:#e2e8f0;color:#475569;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.header-back-btn:hover{background:#cbd5e1;color:#1e293b}[data-theme=dark] .header-back-btn{background:#475569;color:#e2e8f0}[data-theme=dark] .header-back-btn:hover{background:#64748b;color:#f1f5f9}.header-title-row h3{font-size:1.1rem;font-weight:700;color:#1e293b;margin:0}.nights-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;margin-left:auto}.header-dates-row{display:flex;align-items:center;gap:.75rem}.date-box{min-width:100px;width:100px;padding:.5rem .75rem;border-radius:10px;text-align:center}.date-box.checkin{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0}.date-box.checkout{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d}.date-label{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.15rem}.date-box.checkin .date-label{color:#047857}.date-box.checkout .date-label{color:#b45309}.date-value{display:block;font-size:.85rem;font-weight:700;color:#1e293b}.date-connector{color:#94a3b8;font-size:1rem;font-weight:600}[data-theme=dark] .accommodation-header{background:linear-gradient(135deg,#1e293b,#334155);border-bottom-color:#475569}[data-theme=dark] .header-title-row h3{color:#f1f5f9}[data-theme=dark] .date-box.checkin{background:linear-gradient(135deg,#064e3b,#065f46);border-color:#047857}[data-theme=dark] .date-box.checkout{background:linear-gradient(135deg,#78350f,#92400e);border-color:#b45309}[data-theme=dark] .date-value{color:#f1f5f9}.night-stay-modal .modal-body{padding:.5rem 1.25rem;flex:1;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.night-stay-modal .modal-body::-webkit-scrollbar{display:none}.night-stay-modal .modal-section{margin-bottom:.5rem}.night-stay-modal .modal-section h4{margin-bottom:.35rem}.night-stay-modal .modal-footer{padding:.5rem 1.25rem;flex-shrink:0}.night-stay-modal .night-stay-next-btn{padding:.6rem 1.25rem;font-size:.95rem}.night-stay-room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.night-stay-room-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:16px;overflow:hidden;transition:all .3s ease}.night-stay-room-card:hover:not(.booked):not(.selected){border-color:#6366f1;box-shadow:0 4px 15px #6366f133}.night-stay-room-card.booked{opacity:.6}.night-stay-room-card.selected{border-color:#16a34a;background:#f0fdf4}[data-theme=dark] .night-stay-room-card{background:var(--color-secondary);border-color:var(--color-border)}[data-theme=dark] .night-stay-room-card.selected{background:#16a34a26;border-color:#16a34a}.room-card-image{position:relative;width:100%;height:150px;overflow:hidden}.room-card-image img{width:100%;height:100%;object-fit:cover}.room-booked-overlay,.room-selected-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:1px}.room-booked-overlay{background:#dc2626d9;color:#fff}.room-selected-overlay{background:#16a34ad9;color:#fff}.room-card-content{padding:1rem}.room-card-content h4{font-size:1.1rem;font-weight:700;color:#1f2937;margin:0 0 .25rem}[data-theme=dark] .room-card-content h4{color:#fff}.room-card-desc{font-size:.85rem;color:#6b7280;margin:0 0 .5rem}[data-theme=dark] .room-card-desc{color:#9ca3af}.room-card-price{font-size:1rem;font-weight:700;color:#6366f1;margin:0 0 .75rem}[data-theme=dark] .room-card-price{color:#818cf8}.room-card-btn{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s ease}.room-card-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.room-card-btn.deselect{background:linear-gradient(135deg,#dc2626,#b91c1c)}.room-card-btn.deselect:hover{box-shadow:0 4px 12px #dc262666}.night-stay-next-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #6366f14d;margin-left:auto;display:block}.night-stay-next-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.night-stay-next-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.guests-row{display:flex;gap:1rem}.guest-field{flex:1;display:flex;flex-direction:column;gap:.5rem}.guest-field label{font-size:.9rem;font-weight:600;color:#374151}[data-theme=dark] .guest-field label{color:#d1d5db}.guest-field input{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1.1rem;background:#fff;color:#1f2937;transition:all .2s ease}.guest-field input:focus{outline:none;border-color:#6366f1}[data-theme=dark] .guest-field input{background:var(--color-secondary);border-color:var(--color-border);color:#fff}.free-label{display:inline-block;background:#dcfce7;color:#16a34a;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;margin-left:.5rem}[data-theme=dark] .free-label{background:#16a34a33;color:#4ade80}.driver-total{margin-top:.75rem;padding:.75rem 1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;font-size:.9rem;font-weight:600;color:#1d4ed8}[data-theme=dark] .driver-total{background:#3b82f626;border-color:#3b82f64d;color:#60a5fa}.amount-note{font-size:.8rem;color:#64748b;text-align:center;margin:.75rem 0 0;font-style:italic}[data-theme=dark] .amount-note{color:#94a3b8}.review-total-section.night-stay{flex-direction:column;gap:.5rem;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#c7d2fe}[data-theme=dark] .review-total-section.night-stay{background:#6366f126;border-color:#6366f14d}.review-total-section.night-stay .review-subtotal-row{width:100%;margin-bottom:.5rem;padding-bottom:.5rem}.review-total-section.night-stay .review-total-label{color:#4338ca}.review-total-section.night-stay .review-total-value{color:#4f46e5}[data-theme=dark] .review-total-section.night-stay .review-total-label,[data-theme=dark] .review-total-section.night-stay .review-total-value{color:#818cf8}.review-accommodation-breakdown{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.review-accommodation-line{color:#6b7280;font-size:.9rem;margin:.25rem 0}[data-theme=dark] .review-accommodation-line{color:#9ca3af}.review-accommodation-line-wrapper{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}[data-theme=dark] .review-accommodation-line-wrapper{background:var(--color-surface);border-color:var(--color-border)}.review-accommodation-label{color:#374151;font-size:.9rem;font-weight:500}[data-theme=dark] .review-accommodation-label{color:#e5e7eb}.review-accommodation-price{font-weight:600;color:#374151;font-size:.95rem}[data-theme=dark] .review-accommodation-price{color:#e5e7eb}.review-accommodation-price.has-discount{display:flex;align-items:center;gap:.5rem}.review-accommodation-price.has-discount .price-original{color:#9ca3af;text-decoration:line-through;font-size:.85rem;font-weight:400}.review-accommodation-price.has-discount .price-discounted{color:#16a34a;font-weight:700;background:linear-gradient(135deg,#dcfce7,#bbf7d0);padding:.2rem .5rem;border-radius:4px}.review-accommodation-line-wrapper.total{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6;margin-top:.25rem}[data-theme=dark] .review-accommodation-line-wrapper.total{background:linear-gradient(135deg,#3b82f633,#2563eb26);border-color:#3b82f680}.review-accommodation-line-wrapper.total .total-icon{margin-right:.5rem}.review-accommodation-price.total-value{color:#1d4ed8;font-weight:700;font-size:1rem}[data-theme=dark] .review-accommodation-price.total-value{color:#60a5fa}.review-guest-box{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;border-radius:12px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}[data-theme=dark] .review-guest-box{background:linear-gradient(135deg,#22c55e1a,#16a34a0d);border-color:#22c55e4d}.review-guest-row{display:flex;align-items:center;padding:.5rem .75rem;background:#fff;border-radius:8px;gap:.75rem}[data-theme=dark] .review-guest-row{background:var(--color-surface)}.review-guest-row.drivers{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24}[data-theme=dark] .review-guest-row.drivers{background:linear-gradient(135deg,#fbbf2433,#f59e0b1a);border-color:#fbbf2466}.review-guest-row.total{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #22c55e;margin-top:.25rem}[data-theme=dark] .review-guest-row.total{background:linear-gradient(135deg,#22c55e33,#16a34a26);border-color:#22c55e80}.review-guest-value.total-value{color:#16a34a;font-weight:700;font-size:1rem}[data-theme=dark] .review-guest-value.total-value{color:#22c55e}.review-guest-icon{font-size:1.1rem;width:28px;text-align:center}.review-guest-label{flex:1;font-size:.9rem;color:#374151;font-weight:500}[data-theme=dark] .review-guest-label{color:#e5e7eb}.review-guest-value{font-weight:600;color:#1f2937;font-size:.95rem}[data-theme=dark] .review-guest-value{color:#f3f4f6}.review-guest-value .price-highlight{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;padding:.2rem .5rem;border-radius:4px;font-weight:700}[data-theme=dark] .review-guest-value .price-highlight{background:linear-gradient(135deg,#fbbf244d,#f59e0b33);color:#fbbf24}.review-lunchbox-box{background:linear-gradient(135deg,#fef7ed,#fff7ed);border:1px solid #fed7aa;border-radius:12px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}[data-theme=dark] .review-lunchbox-box{background:linear-gradient(135deg,#f973161a,#ea580c0d);border-color:#f973164d}.review-lunchbox-row{display:flex;align-items:center;padding:.5rem .75rem;background:#fff;border-radius:8px;gap:.75rem}[data-theme=dark] .review-lunchbox-row{background:var(--color-surface)}.review-lunchbox-row.total{background:linear-gradient(135deg,#ffedd5,#fed7aa);border:1px solid #fb923c;margin-top:.25rem}[data-theme=dark] .review-lunchbox-row.total{background:linear-gradient(135deg,#fb923c33,#f9731626);border-color:#fb923c80}.review-lunchbox-icon{font-size:1.1rem;width:28px;text-align:center}.review-lunchbox-label{flex:1;font-size:.9rem;color:#374151;font-weight:500}[data-theme=dark] .review-lunchbox-label{color:#e5e7eb}.review-lunchbox-value{font-weight:600;color:#1f2937;font-size:.95rem}[data-theme=dark] .review-lunchbox-value{color:#f3f4f6}.review-lunchbox-value .price-highlight{background:linear-gradient(135deg,#ffedd5,#fed7aa);color:#c2410c;padding:.2rem .5rem;border-radius:4px;font-weight:700}[data-theme=dark] .review-lunchbox-value .price-highlight{background:linear-gradient(135deg,#fb923c4d,#f9731633);color:#fb923c}.review-lunchbox-value.total-value{color:#c2410c;font-weight:700;font-size:1rem}[data-theme=dark] .review-lunchbox-value.total-value{color:#fb923c}.review-discount-block{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.75rem 1rem;margin-bottom:.75rem}[data-theme=dark] .review-discount-block{background:var(--color-surface);border-color:var(--color-border)}.review-discount-block.room-discount{border-left:4px solid #22c55e}.review-discount-block.promo-discount{border-left:4px solid #f59e0b}.review-discount-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.review-discount-badge{padding:.25rem .6rem;border-radius:6px;font-size:.8rem;font-weight:700}.review-discount-badge.room{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.review-discount-badge.promo{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.review-discount-label{font-weight:600;color:#374151;font-size:.95rem}[data-theme=dark] .review-discount-label{color:#e5e7eb}.review-discount-details{display:flex;justify-content:space-between;align-items:center}.review-discount-text{color:#6b7280;font-size:.85rem}[data-theme=dark] .review-discount-text{color:#9ca3af}.review-discount-amount{color:#dc2626;font-weight:700;font-size:.95rem}.review-discount-savings-total{margin-top:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:10px;color:#166534;font-weight:700;text-align:center;font-size:1rem}[data-theme=dark] .review-discount-savings-total{background:#22c55e33;color:#4ade80}.review-total-section.night-stay-total{flex-direction:column;gap:.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;padding:1rem 1.25rem}[data-theme=dark] .review-total-section.night-stay-total{background:var(--color-surface);border-color:var(--color-border)}.review-price-row{display:flex;justify-content:space-between;align-items:center;width:100%}.review-price-row.regular{padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px dashed #d1d5db}.review-price-row.regular .review-price-label{color:#dc2626;font-size:.9rem}.review-price-row.regular .review-price-value{color:#9ca3af;font-size:1rem}.review-price-value.strikethrough{text-decoration:line-through}.review-price-row.final .review-price-label{font-weight:700;color:#374151;font-size:.95rem;letter-spacing:.5px}[data-theme=dark] .review-price-row.final .review-price-label{color:#e5e7eb}.review-price-row.final .review-price-value.total{font-size:1.5rem;font-weight:800;color:#7c3aed}[data-theme=dark] .review-price-row.final .review-price-value.total{color:#a78bfa}.review-total-section.day-out-total{flex-direction:column;gap:.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;padding:1rem 1.25rem}[data-theme=dark] .review-total-section.day-out-total{background:var(--color-surface);border-color:var(--color-border)}.review-room-badge.cottage{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #f59e0b}.review-room-badge.suite{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #3b82f6}.modal-back-btn{position:absolute;top:.75rem;left:1rem;padding:.35rem .75rem;background:transparent;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-back-btn:hover{background:#f3f4f6;border-color:#d1d5db}[data-theme=dark] .modal-back-btn{border-color:var(--color-border);color:#9ca3af}[data-theme=dark] .modal-back-btn:hover{background:var(--color-secondary)}@media (max-width: 768px){.night-stay-modal{max-width:95%;border-radius:16px}.night-stay-room-grid{grid-template-columns:1fr;gap:.75rem}.room-card-image{height:120px}.room-card-content{padding:.75rem}.room-card-content h4{font-size:1rem}.room-card-desc{font-size:.8rem}.room-card-price{font-size:.9rem;margin-bottom:.5rem}.room-card-btn{padding:.6rem .75rem;font-size:.85rem}.night-stay-next-btn{padding:.6rem 1.25rem;font-size:.95rem}.guests-row{flex-direction:column;gap:.75rem}.guest-field input{padding:.6rem .75rem;font-size:1rem}.modal-back-btn{position:relative;top:0;left:0;margin-bottom:.75rem;width:100%}.accommodation-header{padding:.5rem .75rem!important}.header-title-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.4rem}.title-with-back{gap:.35rem}.header-back-btn{width:28px;height:28px;font-size:.85rem}.header-title-row h3{font-size:.95rem}.nights-badge{padding:.2rem .5rem;font-size:.65rem;margin-left:.5rem}.header-dates-row{gap:.35rem}.date-box{min-width:70px;width:70px;padding:.35rem .5rem;border-radius:8px}.date-label{font-size:.55rem;margin-bottom:.1rem}.date-value,.date-connector{font-size:.75rem}}.accommodation-modal{max-width:900px;width:95%}.accommodation-summary{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:10px;padding:.75rem 1rem;margin-bottom:.75rem}.accommodation-summary h4{font-size:.9rem;color:#166534;margin-bottom:.5rem}.accommodation-summary .summary-item{display:flex;justify-content:space-between;padding:.25rem 0;color:#15803d;font-size:.95rem}.accommodation-summary .summary-total{display:flex;justify-content:space-between;padding-top:.5rem;margin-top:.5rem;border-top:1px dashed #86efac;font-weight:700;color:#166534}.accommodation-types{display:flex;flex-direction:column;gap:2rem}.accommodation-type-card{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.5rem;transition:all .3s ease}.accommodation-type-card:hover{border-color:#f97316;box-shadow:0 8px 25px #f9731626}.accommodation-header{text-align:center;margin-bottom:1rem}.accommodation-header h4{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.accommodation-desc{color:#6b7280;font-size:.95rem;margin-bottom:.5rem}.accommodation-price{font-size:1.25rem;font-weight:700;color:#f97316}.accommodation-availability{font-size:.85rem;color:#22c55e;font-weight:600;margin-top:.25rem}.accommodation-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin:1rem 0}.gallery-image{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;border:3px solid transparent;transition:all .3s ease}.gallery-image img{width:100%;height:100%;object-fit:cover}.gallery-image.selected{border-color:#22c55e;transform:scale(1.02)}.gallery-image.booked{opacity:.6}.gallery-image.booked img{filter:grayscale(50%)}.selected-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#22c55e;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;box-shadow:0 4px 12px #22c55e66}.booked-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ef4444e6;color:#fff;padding:.35rem .75rem;border-radius:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.quantity-selector{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin:1rem 0}.qty-btn{width:48px;height:48px;border-radius:50%;border:2px solid #e5e7eb;background:#fff;color:#1f2937;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.qty-btn:hover:not(:disabled){background:#f97316;border-color:#f97316;color:#fff}.qty-btn:disabled{opacity:.4;cursor:not-allowed}.qty-value{font-size:2rem;font-weight:700;color:#1f2937;min-width:60px;text-align:center}.accommodation-features{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.feature-tag{background:#f3f4f6;color:#4b5563;padding:.35rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.review-room-badge.cottage{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.review-room-badge.suite{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.accommodation-modal .modal-footer{padding:1rem 1.25rem;border-top:1px solid #e5e7eb;flex-shrink:0}.next-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #22c55e4d;margin-left:auto;display:block}.next-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #22c55e66}.next-btn:active{transform:translateY(0)}[data-theme=dark] .next-btn{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 15px #16a34a66}[data-theme=dark] .accommodation-modal .modal-footer{border-color:var(--color-border)}.optional-room-notice{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:8px;margin-bottom:.75rem;font-size:.85rem;color:#0369a1}.optional-room-notice .notice-icon{font-size:1rem;color:#0ea5e9}[data-theme=dark] .optional-room-notice{background:linear-gradient(135deg,#0ea5e91a,#0ea5e926);border-color:#0ea5e94d;color:#7dd3fc}[data-theme=dark] .optional-room-notice .notice-icon{color:#38bdf8}@media (max-width: 768px){.accommodation-modal{max-width:100%;width:100%}.accommodation-gallery{grid-template-columns:repeat(2,1fr)}.gallery-image{aspect-ratio:1}.qty-btn{width:40px;height:40px;font-size:1.25rem}.qty-value{font-size:1.5rem;min-width:40px}.accommodation-header h4{font-size:1.25rem}.accommodation-price{font-size:1.1rem}}.accommodation-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.25rem 0}.accommodation-card{background:#fff;border:2px solid #e5e7eb;border-radius:16px;overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.accommodation-card:hover:not(.fully-booked){border-color:#9ca3af;transform:translateY(-4px);box-shadow:0 12px 24px #0000001f}.accommodation-card.has-selection{border-color:#22c55e;box-shadow:0 8px 25px #22c55e33}.accommodation-card.fully-booked{opacity:.6;cursor:not-allowed}.card-image{position:relative;height:140px;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover}.card-selection-badge{position:absolute;top:12px;right:12px;background:#22c55e;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:700;box-shadow:0 4px 12px #22c55e66}.card-booked-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;font-weight:700;letter-spacing:2px}.card-info{padding:.4rem .5rem;text-align:center}.card-info h4{font-size:.95rem;font-weight:700;color:#1f2937;margin-bottom:.1rem;transition:color .3s ease}.accommodation-card:hover:not(.fully-booked) .card-info h4{color:#111827}.card-price{font-size:.85rem;font-weight:700;color:#22c55e;margin-bottom:.05rem}.card-availability{font-size:.8rem;color:#22c55e;font-weight:600}.accommodation-card.fully-booked .card-availability{color:#ef4444}.card-price-wrapper{display:flex;flex-direction:column;align-items:center;gap:.1rem}.card-price.original-price{color:#9ca3af;font-size:.8rem;margin-bottom:0}.card-price .strikethrough{text-decoration:line-through}.card-price.discounted-price{color:#22c55e;font-size:1rem;margin-bottom:0}.total-discount-banner{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:.75rem 1rem;border-radius:10px;text-align:center;margin-bottom:.75rem;box-shadow:0 4px 15px #22c55e4d}.total-discount-value{display:block;font-size:1.5rem;font-weight:800;letter-spacing:1px}.discount-banner-main{display:flex;flex-direction:column;align-items:center}.total-discount-label{display:block;font-size:.9rem;opacity:.9;margin-top:.25rem}.discount-details-btn{margin-top:.75rem;background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.5rem 1.25rem;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.discount-details-btn:hover{background:#ffffff4d;border-color:#fff9}.discount-breakdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2100;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.discount-breakdown-modal{background:#fff;border-radius:16px;max-width:500px;width:95%;max-height:80vh;overflow-y:auto;position:relative;padding:1.5rem;box-shadow:0 20px 50px #0000004d;animation:slideUp .3s ease}.breakdown-close-btn{position:absolute;top:1rem;right:1rem;background:#f3f4f6;border:none;width:32px;height:32px;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s}.breakdown-close-btn:hover{background:#e5e7eb;color:#1f2937}.breakdown-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 .25rem}.breakdown-subtitle{font-size:.9rem;color:#6b7280;margin:0 0 1.25rem}.breakdown-nights-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.breakdown-night-row{display:grid;grid-template-columns:80px 1fr auto;gap:.75rem;align-items:center;padding:.75rem;background:#f9fafb;border-radius:8px;font-size:.9rem}.breakdown-night-row.weekend{background:#f0fdf4}.night-date-info{display:flex;flex-direction:column}.night-date{font-weight:600;color:#1f2937}.night-day{font-size:.8rem;color:#6b7280}.night-day.weekend{color:#16a34a}.night-discount-info,.night-discount-badges{display:flex;gap:.35rem;flex-wrap:wrap}.night-discount-badge{background:#22c55e;color:#fff;padding:.2rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600}.no-discount-label{color:#9ca3af;font-size:.8rem;font-style:italic}.night-price-info{display:flex;align-items:center;gap:.5rem;text-align:right}.night-original-price{color:#9ca3af;text-decoration:line-through;font-size:.8rem}.night-discounted-price{color:#22c55e;font-weight:700}.night-savings{background:#dcfce7;color:#16a34a;padding:.15rem .4rem;border-radius:6px;font-size:.7rem;font-weight:600}.night-full-price{color:#1f2937;font-weight:600}.breakdown-summary{border-top:2px solid #e5e7eb;padding-top:1rem}.summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem;color:#4b5563}.summary-row.savings{color:#22c55e;font-weight:600}.summary-row.total{font-size:1.1rem;font-weight:700;color:#1f2937;border-top:1px solid #e5e7eb;margin-top:.5rem;padding-top:.75rem}.summary-effective{text-align:center;margin-top:1rem;padding:.75rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:8px;font-size:.9rem}.summary-effective strong{font-size:1.1rem}.discount-badges{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;margin-top:.25rem}.discount-badge{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;padding:.15rem .4rem;border-radius:10px;font-size:.65rem;font-weight:600}.detail-price.has-discount{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.original-price-row .price-value.strikethrough{text-decoration:line-through;color:#9ca3af;font-size:.95rem}.discounted-price-row{display:flex;align-items:baseline;gap:.35rem}.discounted-price-row .price-value.discounted{color:#22c55e;font-size:1.4rem;font-weight:700}.discount-badges-detail{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.discount-badges-detail .discount-badge{font-size:.8rem;padding:.3rem .75rem}.discount-night-info{font-size:.85rem;color:#6b7280;margin-top:.75rem;font-style:italic}.accommodation-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.accommodation-detail-modal{background:#fff;border-radius:20px;max-width:950px;width:95%;max-height:580px;overflow:hidden;position:relative;box-shadow:0 25px 60px #0000004d;animation:slideUp .3s ease;display:flex;flex-direction:column}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.detail-close-btn{position:absolute;top:15px;right:15px;width:40px;height:40px;border-radius:50%;border:none;background:#0000001a;color:#1f2937;font-size:1.5rem;cursor:pointer;z-index:10;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.detail-close-btn:hover{background:#ef4444;color:#fff}.detail-content{display:grid;grid-template-columns:45% 55%;flex:1;overflow:hidden}.detail-images{background:#f9fafb;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.main-image{border-radius:12px;overflow:hidden;flex:1;min-height:280px;position:relative}.main-image img{width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}.main-image img.carousel-transition{animation:detailCarouselFade .6s ease-out}@keyframes detailCarouselFade{0%{opacity:.7;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.detail-carousel-indicators{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:5}.detail-carousel-dot{width:8px;height:8px;border-radius:50%;background:#ffffff80;cursor:pointer;transition:all .3s ease}.detail-carousel-dot:hover{background:#fffc}.detail-carousel-dot.active{background:#fff;transform:scale(1.3);box-shadow:0 0 8px #fffc}.thumbnail-strip{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0;flex-shrink:0;scrollbar-width:none;-ms-overflow-style:none}.thumbnail-strip::-webkit-scrollbar{display:none}.thumbnail{flex-shrink:0;width:60px;height:48px;border-radius:8px;overflow:hidden;cursor:pointer;border:3px solid #e5e7eb;transition:all .2s ease;opacity:.7}.thumbnail:hover{opacity:1;transform:scale(1.05)}.thumbnail.active{border-color:#f97316;opacity:1;box-shadow:0 2px 8px #f973164d}.thumbnail img{width:100%;height:100%;object-fit:cover}.detail-right-panel{display:flex;flex-direction:column;overflow:hidden}.detail-info{padding:1.25rem 1.5rem .5rem;display:flex;flex-direction:column;overflow-y:auto;flex:1;scrollbar-width:none;-ms-overflow-style:none}.detail-info::-webkit-scrollbar{display:none}.detail-info h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.2rem}.detail-description{color:#6b7280;font-size:.9rem;line-height:1.4;margin-bottom:.5rem}.detail-price-availability-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.6rem;padding-bottom:.6rem;border-bottom:1px solid #e5e7eb}.detail-price{flex:1}.detail-price .price-value{font-size:1.5rem;font-weight:700;color:#f97316}.detail-price .price-unit{font-size:.85rem;color:#9ca3af;margin-left:.2rem}.discount-badges-detail{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}.discount-badges-detail .discount-badge{font-size:.7rem;padding:.2rem .5rem}.discount-night-info{font-size:.75rem;margin-top:.2rem;margin-bottom:0;color:#6b7280}.detail-availability{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:10px;border:1px solid #bbf7d0;flex-shrink:0}.detail-availability .availability-label{color:#166534;font-weight:500;font-size:.8rem}.detail-availability .availability-value{color:#16a34a;font-weight:700;font-size:1rem}.detail-features{flex:1;margin-bottom:0;background:linear-gradient(135deg,#fafafa,#f3f4f6);border-radius:12px;padding:.75rem 1rem;border:1px solid #e5e7eb}.detail-features h4{font-size:.9rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem}.detail-features h4:before{content:"★";color:#f97316;font-size:.95rem}.detail-features ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.35rem .75rem}.detail-features li{display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;color:#374151;font-size:.8rem;font-weight:500;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000f;transition:all .2s ease}.detail-features li:hover{transform:translate(3px);box-shadow:0 2px 6px #0000001a}.detail-features li:before{content:"✓";color:#fff;font-weight:700;font-size:.6rem;background:linear-gradient(135deg,#22c55e,#16a34a);width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-quantity-select{margin-top:auto;padding:.875rem 1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:1rem}.detail-quantity{display:flex;align-items:center;gap:.5rem;flex:1}.detail-quantity h4{font-size:.85rem;font-weight:600;color:#374151;margin:0;white-space:nowrap}.quantity-selector-large{display:flex;align-items:center;gap:.75rem}.qty-btn-large{width:36px;height:36px;border-radius:50%;border:2px solid #e5e7eb;background:#fff;color:#1f2937;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.qty-btn-large:hover:not(:disabled){background:#f97316;border-color:#f97316;color:#fff;transform:scale(1.1)}.qty-btn-large:disabled{opacity:.3;cursor:not-allowed}.qty-value-large{font-size:1.5rem;font-weight:700;color:#1f2937;min-width:40px;text-align:center}.qty-max-note{font-size:.7rem;color:#9ca3af;margin-left:.5rem}.detail-next-btn{padding:.75rem 2rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-shrink:0}.detail-next-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #22c55e66}[data-theme=dark] .detail-quantity-select{background:linear-gradient(135deg,#1f2937,#111827);border-top-color:#374151}[data-theme=dark] .detail-quantity h4{color:#e5e7eb}[data-theme=dark] .qty-value-large{color:#fff}[data-theme=dark] .qty-max-note{color:#9ca3af}@media (max-width: 768px){.accommodation-cards{grid-template-columns:1fr;gap:1rem}.accommodation-detail-modal{height:95vh;max-height:none;width:100%;border-radius:16px 16px 0 0;margin-top:auto}.detail-content{grid-template-columns:1fr;overflow-y:auto}.detail-right-panel{overflow:visible}.detail-info{overflow:visible;padding:1.25rem 1.25rem 1rem}.detail-images{padding:1rem}.main-image{height:220px;min-height:220px}.thumbnail-strip{gap:.5rem}.thumbnail{width:55px;height:42px}.detail-next-wrapper{padding:1rem 1.25rem}.detail-info h2{font-size:1.4rem}.detail-price-availability-row{flex-direction:column;gap:.75rem}.detail-availability{width:100%;justify-content:center}.detail-price .price-value{font-size:1.5rem}.detail-features{padding:.875rem 1rem}.detail-features ul{grid-template-columns:1fr;gap:.4rem}.detail-features li{padding:.4rem .6rem;font-size:.85rem}.detail-quantity-select{flex-direction:column;gap:.75rem;padding:.75rem 1rem}.detail-quantity{width:100%;justify-content:center}.detail-next-btn{width:100%;padding:.875rem 1.5rem}.qty-btn-large{width:40px;height:40px;font-size:1.25rem}.qty-value-large{font-size:1.5rem;min-width:45px}.qty-max-note{display:none}}.price-original{text-decoration:line-through;color:#ef4444;opacity:.8;font-weight:500}.price-discounted{color:#16a34a;font-weight:700;background:linear-gradient(135deg,#bbf7d0,#86efac);padding:.1rem .45rem;border-radius:4px;display:inline-block}.package-price.has-discount{display:flex;flex-direction:column;align-items:center;gap:.15rem}.package-price.has-discount .price-original{font-size:.8rem;color:#9ca3af;text-shadow:none}.package-btn.active .package-price.has-discount .price-original,.package-btn:hover .package-price.has-discount .price-original{color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.3)}.package-price.has-discount .price-discounted{font-size:.95rem}.package-btn.active .package-price.has-discount .price-discounted{background:#fff3;color:#fff}.field-price.has-discount{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.field-price.has-discount .price-original{font-size:.8rem}.field-price.has-discount .price-discounted{font-size:.85rem}.room-hint.has-discount{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.room-hint.has-discount .price-original{font-size:.85rem}.room-hint.has-discount .price-discounted{font-size:.9rem}.lunchbox-price.has-discount{display:flex;flex-direction:column;align-items:center;gap:.1rem}.lunchbox-price.has-discount .price-original{font-size:.75rem;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.3)}.lunchbox-price.has-discount .price-discounted{font-size:.85rem}.guests-selection-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.25rem}.guest-field{display:flex;flex-direction:column;gap:.25rem}.guest-field label{font-weight:600;color:#374151;font-size:.85rem}.guest-field .label-hint{font-weight:400;color:#6b7280;font-size:.75rem}.guest-input{padding:.5rem .75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;font-weight:600;text-align:center;transition:all .2s ease}.guest-input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.guest-field .field-price{text-align:center;font-size:.9rem;color:#6b7280}.guest-field .field-price.has-discount{display:flex;flex-direction:column;align-items:center;gap:.2rem}.guest-field .field-price .price-original{text-decoration:line-through;color:#9ca3af;font-size:.8rem}.guest-field .field-price .price-discounted{color:#16a34a;font-weight:700;background:#dcfce7;padding:.15rem .5rem;border-radius:4px}@media (max-width: 480px){.guests-selection-grid{grid-template-columns:1fr;gap:1rem}}.details-modal{width:95%;max-width:500px;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;overflow:hidden;border-radius:16px}.details-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-bottom:1px solid #bbf7d0;flex-shrink:0}[data-theme=dark] .details-header{background:linear-gradient(135deg,#1e3a2f,#264a3a);border-bottom:1px solid #2d5a45}.details-header-left{display:flex;align-items:center;gap:.75rem}.details-back-btn{width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid #e5e7eb;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#374151}.details-back-btn:hover{background:#f3f4f6;border-color:#22c55e;color:#22c55e}[data-theme=dark] .details-back-btn{background:#1a2e23;border-color:#2d5a45;color:#e5e7eb}[data-theme=dark] .details-back-btn:hover{background:#264a3a;border-color:#4ade80;color:#4ade80}.details-title-group{display:flex;flex-direction:column;gap:.15rem}.details-title-group h3{margin:0;font-size:1.1rem;font-weight:700;color:#166534}[data-theme=dark] .details-title-group h3{color:#4ade80}.details-nights-badge{font-size:.75rem;color:#16a34a;font-weight:600;background:#fff;padding:.15rem .5rem;border-radius:4px;width:fit-content}[data-theme=dark] .details-nights-badge{background:#1a2e23;color:#4ade80}.details-header-dates{display:flex;align-items:center;gap:.4rem}.details-date{padding:.35rem .6rem;background:#fff;border-radius:6px;font-size:.8rem;font-weight:600;color:#374151;border:1px solid #e5e7eb}[data-theme=dark] .details-date{background:#1a2e23;color:#e5e7eb;border-color:#2d5a45}.details-date-separator{color:#16a34a;font-weight:700}[data-theme=dark] .details-date-separator{color:#4ade80}.details-date-box{padding:.4rem .6rem;border-radius:8px;font-size:.7rem;font-weight:600;text-align:center;min-width:70px}.details-date-box.checkin{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.details-date-box.checkout{background:#fef9c3;color:#854d0e;border:1px solid #fde047}.details-date-box .date-label{font-size:.6rem;text-transform:uppercase;opacity:.7;display:block;margin-bottom:.1rem}.details-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:.75rem;overflow:hidden}.details-card-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:700;font-size:.8rem;color:#374151;text-transform:uppercase;letter-spacing:.5px}.details-card-header .card-icon{font-size:1rem}.details-card-header .header-note{margin-left:auto;font-size:.7rem;font-weight:600;color:#16a34a;background:#dcfce7;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase}.details-card-content{padding:.75rem}.details-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.9rem;color:#374151}.details-row .row-label{color:#6b7280}.details-row .row-value{font-weight:600}.discount-row{color:#16a34a!important;font-size:.85rem}.discount-row .row-label{color:#16a34a}.discount-row .row-value{color:#16a34a;font-weight:600}.total-row{margin-top:.75rem;padding:.75rem 1rem;font-weight:700;background:linear-gradient(135deg,#166534,#15803d);border-radius:8px;color:#fff}.total-row .row-label{color:#ffffffe6}.total-row .row-value{color:#fff;font-size:1.1rem;font-weight:700}.details-inputs-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.details-input-group{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}.details-input-group label{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.details-input-group input{width:70px;padding:.35rem .5rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-weight:600;text-align:center;transition:all .2s ease}.details-input-group input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.details-input-group .input-hint{font-size:.7rem;color:#9ca3af;text-align:center}.input-price-wrapper{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.3rem;margin-top:.15rem}.input-price{font-size:.85rem;color:#374151;font-weight:600;text-align:center}.input-price-original{font-size:.75rem;color:#9ca3af;text-decoration:line-through}.input-price-discounted{font-size:.85rem;color:#16a34a;font-weight:600}.input-price-percent{font-size:.65rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;padding:.15rem .4rem;border-radius:4px;font-weight:600}[data-theme=dark] .input-price{color:var(--color-text)}[data-theme=dark] .input-price-original{color:#6b7280}[data-theme=dark] .input-price-discounted{color:#4ade80}[data-theme=dark] .input-price-percent{background:linear-gradient(135deg,#22c55e33,#22c55e4d);color:#4ade80}.guest-calc-row{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#166534,#15803d);border-radius:8px;color:#fff;font-weight:700}.guest-calc-row span:last-child{font-size:1.1rem}.details-input-group.compact{flex-direction:row;align-items:center}.details-input-group.compact input{width:60px}.counter-controls{display:flex;align-items:center;gap:0;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}[data-theme=dark] .counter-controls{border-color:#4b5563;background:#374151}.counter-btn{width:36px;height:36px;border:none;background:#f3f4f6;color:#374151;font-size:1.2rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-user-select:none;user-select:none}[data-theme=dark] .counter-btn{background:#4b5563;color:#e5e7eb}.counter-btn:hover{background:#22c55e;color:#fff}.counter-btn:active{transform:scale(.95)}.counter-btn.minus{border-right:1px solid #e5e7eb}.counter-btn.plus{border-left:1px solid #e5e7eb}[data-theme=dark] .counter-btn.minus{border-right-color:#374151}[data-theme=dark] .counter-btn.plus{border-left-color:#374151}.counter-value{min-width:45px;text-align:center;font-size:1rem;font-weight:700;color:#1f2937;padding:0 .25rem}[data-theme=dark] .counter-value{color:#f9fafb}.counter-controls.compact{border-radius:8px}.counter-controls.compact .counter-btn{width:32px;height:32px;font-size:1.1rem}.counter-controls.compact .counter-value{min-width:40px;font-size:.95rem}.details-driver-row{display:flex;align-items:center;gap:.75rem}.details-driver-row input{width:60px;padding:.5rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;font-weight:600;text-align:center}.details-driver-row input:focus{outline:none;border-color:#22c55e}.driver-calc{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.85rem}.driver-calc .driver-total{font-weight:700;color:#374151}.driver-total-row{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#166534,#15803d);border-radius:8px;color:#fff;font-weight:700}.driver-total-row span:last-child{font-size:1.1rem}.details-lunchbox-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.details-lunchbox-btn{flex:1;min-width:80px;padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;color:#374151;text-align:center}.details-lunchbox-btn:hover{border-color:#22c55e;background:#f0fdf4;transform:translateY(-2px)}.details-lunchbox-btn.selected{border-color:#22c55e;background:#dcfce7;color:#166534;box-shadow:0 4px 12px #22c55e33}.details-lunchbox-btn .lb-letter{display:block;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.details-lunchbox-btn .lb-price{display:block;font-size:.85rem;color:#6b7280;font-weight:600}.details-lunchbox-btn.selected .lb-price{color:#16a34a}.details-lunchbox-btn .lb-qty{display:block;font-size:.85rem;color:#16a34a;font-weight:700;margin-top:.35rem}.details-lunchbox-selected{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.lb-selected-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#f0fdf4;border-radius:8px;border:1px solid #bbf7d0;font-size:.85rem}.lb-selected-item span:first-child{color:#374151;font-weight:500}.lb-selected-item span:nth-child(2){color:#166534;font-weight:600}.lb-remove{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.1rem;padding:0 .25rem;line-height:1}.details-lunchbox-total{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#166534,#15803d);border-radius:8px;color:#fff;font-weight:700}.details-lunchbox-total span:last-child{font-size:1.1rem}.details-lunchbox-list{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.details-lunchbox-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.lunchbox-item-info{display:flex;align-items:center;gap:.5rem}.lunchbox-item-name{font-weight:600;color:#374151;font-size:.85rem}.lunchbox-item-qty{display:flex;align-items:center;gap:.4rem}.lunchbox-qty-btn{width:26px;height:26px;border:none;border-radius:50%;background:#e5e7eb;cursor:pointer;font-size:1rem;font-weight:700;color:#374151;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.lunchbox-qty-btn:hover{background:#22c55e;color:#fff}.lunchbox-qty-value{font-weight:700;min-width:20px;text-align:center}.lunchbox-item-price{font-weight:600;color:#166534;font-size:.85rem}.total-summary-card{border:2px solid #22c55e;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.total-summary-card .details-card-header{background:linear-gradient(135deg,#166534,#15803d);color:#fff;border-bottom:none}.summary-line{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.9rem;color:#374151;border-bottom:1px dashed #d1d5db}.summary-line:last-of-type{border-bottom:none}.summary-line span:last-child{font-weight:600}.summary-grand-total{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#166534,#15803d);border-radius:8px;color:#fff;font-weight:700;font-size:1.05rem}.summary-grand-total span:last-child{font-size:1.2rem}.summary-subtotal{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.6rem .75rem;background:#f3f4f6;border-radius:8px;font-size:.95rem;font-weight:700;color:#374151}.summary-subtotal span:last-child{font-size:1.05rem;color:#111827}.summary-promo-section{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed #d1d5db}.promo-input-row{display:flex;gap:.5rem}.promo-input-row input{flex:1;padding:.5rem .75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.promo-input-row input:focus{outline:none;border-color:#22c55e}.promo-input-row .promo-apply-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s ease}.promo-input-row .promo-apply-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.promo-input-row .promo-apply-btn:disabled{opacity:.5;cursor:not-allowed}.promo-applied-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac;border-radius:8px}.promo-applied-label{flex:1;display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:#166534}.promo-applied-label .promo-check{color:#22c55e}.promo-applied-value{font-weight:700;color:#16a34a;font-size:.9rem}.promo-remove-btn{width:24px;height:24px;border:none;background:#fee2e2;color:#dc2626;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.promo-remove-btn:hover{background:#fecaca}.promo-error-msg{margin-top:.4rem;font-size:.75rem;color:#dc2626}[data-theme=dark] .summary-subtotal{background:#ffffff0d;color:var(--color-text)}[data-theme=dark] .summary-subtotal span:last-child{color:#f3f4f6}[data-theme=dark] .summary-promo-section{border-color:#ffffff1a}[data-theme=dark] .promo-input-row input{background:var(--color-panel);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .promo-applied-row{background:#22c55e26;border-color:#22c55e4d}[data-theme=dark] .promo-applied-label,[data-theme=dark] .promo-applied-value{color:#4ade80}[data-theme=dark] .total-summary-card{background:linear-gradient(135deg,#22c55e1a,#22c55e26);border-color:#22c55e66}[data-theme=dark] .summary-line{color:var(--color-text);border-color:#ffffff1a}.details-promo-row{display:flex;gap:.5rem}.details-promo-input{flex:1;padding:.5rem .75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-weight:500;text-transform:uppercase}.details-promo-input:focus{outline:none;border-color:#22c55e}.details-promo-btn{padding:.5rem 1rem;background:#22c55e;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s ease}.details-promo-btn:hover{background:#16a34a}.promo-applied{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#dcfce7;border-radius:8px;color:#166534;font-weight:600;font-size:.85rem}.promo-remove-btn{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1rem;padding:0;margin-left:auto}.details-summary-box{background:linear-gradient(135deg,#166534,#15803d);border-radius:16px;padding:1.25rem;margin-top:.75rem;box-shadow:0 4px 15px #1665344d}.details-summary-box .summary-icon{margin-right:.5rem;font-size:1rem}.details-summary-box .summary-row{display:flex;justify-content:space-between;align-items:center;color:#fffffff2;padding:.5rem 0;font-size:.95rem;font-weight:500;border:none}.details-summary-box .summary-divider{height:1px;background:#fff3;margin:.75rem 0}.details-summary-box .summary-row.subtotal{font-weight:600;font-size:1rem}.details-summary-box .summary-row.promo{color:#86efac;font-weight:600}.details-summary-box .summary-row.total{font-size:1.3rem;font-weight:700;color:#fff;padding-top:.75rem;border-top:2px solid rgba(255,255,255,.4);margin-top:.5rem}.summary-promo-section{padding:.75rem 0}.summary-promo-input-row{display:flex;gap:.5rem}.summary-promo-input{flex:1;padding:.6rem .75rem;border:none;border-radius:8px;background:#ffffff26;color:#fff;font-size:.9rem;font-weight:500}.summary-promo-input::placeholder{color:#fff9}.summary-promo-input:focus{outline:none;background:#ffffff40}.summary-promo-apply-btn{padding:.6rem 1rem;border:none;border-radius:8px;background:#fff;color:#166534;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s ease}.summary-promo-apply-btn:hover{background:#dcfce7;transform:scale(1.02)}.summary-promo-applied{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:#ffffff26;border-radius:8px;color:#86efac;font-weight:600;font-size:.9rem}.summary-promo-applied .promo-check{font-size:1rem}.summary-promo-applied .promo-code-text{flex:1}.summary-promo-applied .promo-remove-x{background:none;border:none;color:#ffffffb3;font-size:1rem;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.summary-promo-applied .promo-remove-x:hover{color:#fca5a5}.details-summary-box .summary-row .row-value{font-weight:600}.details-modal .modal-body{flex:1;overflow-y:auto;padding:1rem;scrollbar-width:none}.details-modal .modal-body::-webkit-scrollbar{display:none}.details-modal .modal-footer{padding:.75rem 1rem;border-top:1px solid #e5e7eb;flex-shrink:0}.details-modal .modal-footer .confirm-booking-btn{width:100%;padding:.75rem;font-size:1rem}@media (max-width: 480px){.details-header{flex-direction:column;gap:.75rem;align-items:flex-start}.details-header-dates{align-self:stretch;justify-content:space-between}.details-inputs-row{grid-template-columns:1fr}.details-driver-row{flex-wrap:wrap}}.contact-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.contact-modal{background:#fff;border-radius:20px;width:100%;max-width:420px;position:relative;animation:modalSlideUp .3s ease;box-shadow:0 25px 50px #00000040}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.contact-modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:1.3rem;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.contact-modal-close:hover{background:#e5e7eb;color:#374151}.contact-modal-header{padding:1.5rem 1.5rem 1rem;text-align:center;border-bottom:1px solid #e5e7eb}.contact-modal-header h3{margin:0;font-size:1.5rem;font-weight:700;color:#166534}.contact-modal-header p{margin:.5rem 0 0;color:#6b7280;font-size:.9rem}.contact-modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.contact-field{display:flex;flex-direction:column;gap:.5rem}.contact-field label{font-weight:600;font-size:.9rem;color:#374151}.contact-field input{padding:.85rem 1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transition:all .2s ease}.contact-field input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 4px #22c55e26}.contact-field input.error{border-color:#ef4444}.contact-field input.error:focus{box-shadow:0 0 0 4px #ef444426}.contact-error{color:#ef4444;font-size:.8rem;font-weight:500}.contact-modal-footer{padding:1rem 1.5rem 1.5rem;display:flex;gap:.75rem}.contact-cancel-btn{flex:1;padding:.85rem;border:2px solid #e5e7eb;background:#fff;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;color:#6b7280}.contact-cancel-btn:hover{background:#f3f4f6;border-color:#d1d5db}.contact-submit-btn{flex:2;padding:.85rem;border:none;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:12px;font-weight:700;font-size:1rem;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #22c55e4d}.contact-submit-btn:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.contact-submit-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 480px){.contact-modal{max-width:100%;margin:.5rem;border-radius:16px}.contact-modal-header{padding:1.25rem 1.25rem .75rem}.contact-modal-header h3{font-size:1.3rem}.contact-modal-body{padding:1.25rem;gap:1rem}.contact-modal-footer{padding:.75rem 1.25rem 1.25rem;flex-direction:column}.contact-cancel-btn,.contact-submit-btn{flex:none}}.success-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1300;padding:1rem}.success-modal{background:#fff;border-radius:20px;padding:2.5rem 2rem;max-width:400px;width:100%;text-align:center;animation:modalSlideIn .3s ease;box-shadow:0 25px 60px #0000004d}[data-theme=dark] .success-modal{background:#2d3748}.success-modal-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;display:flex;align-items:center;justify-content:center}.success-modal-icon svg{width:45px;height:45px;color:#fff}.success-modal h3{font-size:1.75rem;font-weight:800;color:#166534;margin:0 0 1rem}[data-theme=dark] .success-modal h3{color:#4ade80}.success-modal p{font-size:1rem;color:#4b5563;line-height:1.6;margin:0 0 1.75rem}[data-theme=dark] .success-modal p{color:#d1d5db}.success-modal-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;padding:.875rem 2.5rem;border-radius:12px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #22c55e4d}.success-modal-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}@media (max-width: 480px){.success-modal{padding:2rem 1.5rem;margin:1rem}.success-modal-icon{width:70px;height:70px}.success-modal-icon svg{width:38px;height:38px}.success-modal h3{font-size:1.5rem}.success-modal p{font-size:.95rem}}.footer{background:var(--color-primary);color:var(--color-off-white);padding:3rem 0 1rem;margin-top:4rem}[data-theme=dark] .footer{background:var(--color-panel);color:var(--color-off-white)}[data-theme=dark] .footer-title,[data-theme=dark] .footer-heading{color:#f5f5f0!important}[data-theme=dark] .footer-text,[data-theme=dark] .footer-links button,[data-theme=dark] .footer-contact li,[data-theme=dark] .social-link,[data-theme=dark] .footer-bottom{color:#ffffffd9!important}[data-theme=dark] .footer-links button:hover,[data-theme=dark] .social-link:hover{color:#fff!important}.footer-content{max-width:var(--max-content-width);margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:2rem}.footer-section{display:flex;flex-direction:column;gap:1rem}.footer-title{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--color-off-white)}.footer-heading{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--color-off-white)}.footer-text{color:#ffffffd9;line-height:1.6;font-size:.95rem}.footer-links{list-style:none;display:flex;flex-direction:column;gap:.75rem}.footer-links button{background:none;color:#ffffffd9;font-size:.95rem;text-align:left;padding:0;transition:all var(--transition-fast)}.footer-links button:hover{color:#fff;padding-left:.5rem}.footer-contact{list-style:none;display:flex;flex-direction:column;gap:.875rem}.footer-contact li{display:flex;align-items:flex-start;gap:.75rem;color:#ffffffd9;font-size:.95rem}.contact-icon{font-size:1.25rem;flex-shrink:0}.social-links{display:flex;flex-direction:column;gap:.75rem}.social-link{color:#ffffffd9;font-size:.95rem;transition:all var(--transition-fast);display:inline-block}.social-link:hover{color:#fff;transform:translate(5px)}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding:1.5rem 2rem;text-align:center;color:#ffffffbf;font-size:.9rem}.footer-credits{margin-top:.5rem;font-size:.875rem;opacity:.8}@media (max-width: 768px){.footer{padding:2rem 0 1rem}.footer-content{grid-template-columns:1fr;gap:2rem;padding:0 1.5rem}.footer-title{font-size:1.5rem}.footer-heading{font-size:1.1rem}.footer-bottom{padding:1.5rem 1rem}}.leaf-background-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;pointer-events:none}.leaf-bg-image{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity 1.5s ease-in-out}.leaf-bg-image.current{opacity:1}.leaf-bg-image.current.fading-out{opacity:0;transition:opacity 1.5s ease-in-out}.leaf-bg-image.next.fading-in{opacity:1;transition:opacity 1.5s ease-in-out}.leaf-bg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#fafaf559;pointer-events:none}[data-theme=dark] .leaf-bg-overlay{background:#0f0f0f33}.home-page{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}.content-panel{position:relative;background:var(--color-primary);background-image:radial-gradient(circle at 15% 25%,rgba(255,255,255,.06) 0%,transparent 50%),radial-gradient(circle at 85% 75%,rgba(255,255,255,.06) 0%,transparent 50%),radial-gradient(circle at 45% 60%,rgba(255,255,255,.04) 0%,transparent 40%)}[data-theme=dark] .content-panel{background:var(--color-panel);background-image:radial-gradient(circle at 15% 25%,rgba(61,127,95,.15) 0%,transparent 50%),radial-gradient(circle at 85% 75%,rgba(61,127,95,.15) 0%,transparent 50%),radial-gradient(circle at 45% 60%,rgba(61,127,95,.1) 0%,transparent 40%)}@media (min-width: 1441px){.content-panel{max-width:1400px;margin:0 auto;box-shadow:var(--shadow-xl)}body{background:var(--color-off-white)}[data-theme=dark] body{background:var(--color-background)}}@media (max-width: 1440px){.content-panel{width:100%}}.admin-layout{display:flex;min-height:100vh;background:#f0f2f5}.admin-sidebar{width:260px;background:linear-gradient(180deg,#1a1f2e,#252d3d);color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100;transition:transform .3s ease}.sidebar-header{padding:2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);text-align:center}.admin-logo{font-size:1.75rem;font-weight:700;color:#4ade80;margin:0;letter-spacing:1px}.admin-subtitle{font-size:.85rem;color:#fff9;display:block;margin-top:.25rem}.sidebar-nav{flex:1;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.5rem}.nav-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;color:#ffffffb3;text-decoration:none;border-radius:12px;transition:all .2s ease;font-weight:500}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:linear-gradient(135deg,#2d5f3f,#3d7f5f);color:#fff;box-shadow:0 4px 15px #2d5f3f66}.nav-icon{font-size:1.25rem;width:28px;text-align:center}.nav-text{font-size:1rem}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.1)}.logout-btn{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;width:100%;background:#ef44441a;border:none;color:#f87171;border-radius:12px;cursor:pointer;font-weight:500;transition:all .2s ease}.logout-btn:hover{background:#ef444433;color:#fca5a5}.admin-main{flex:1;margin-left:260px;padding:2rem;min-height:100vh}.mobile-menu-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:200;width:48px;height:48px;background:#1a1f2e;color:#fff;border:none;border-radius:12px;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 15px #0003}.sidebar-overlay{display:none}@media (max-width: 768px){.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-main{margin-left:0;padding:5rem 1rem 1rem}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center}.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:99}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1f2e,#252d3d);padding:1rem}.login-container{width:100%;max-width:420px;background:#fff;border-radius:20px;padding:3rem 2.5rem;box-shadow:0 25px 50px #0000004d}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo{font-size:2.5rem;font-weight:700;color:#2d5f3f;margin:0;letter-spacing:1px}.login-subtitle{color:#6b7280;font-size:1rem;margin-top:.5rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-error{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:10px;text-align:center;font-size:.95rem;border:1px solid #fecaca}.login-form .form-group{display:flex;flex-direction:column;gap:.5rem}.login-form label{font-weight:600;color:#374151;font-size:.95rem}.login-form input{padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transition:all .2s ease;background:#f9fafb}.login-form input:focus{outline:none;border-color:#2d5f3f;background:#fff;box-shadow:0 0 0 4px #2d5f3f1a}.login-btn{padding:1rem;background:linear-gradient(135deg,#2d5f3f,#3d7f5f);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #2d5f3f66}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.back-link{color:#6b7280;text-decoration:none;font-size:.95rem;transition:color .2s ease}.back-link:hover{color:#2d5f3f}@media (max-width: 480px){.login-container{padding:2rem 1.5rem}.login-logo{font-size:2rem}}.admin-page{max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.page-header{margin-bottom:2rem}.page-title{font-size:2rem;font-weight:700;color:#1f2937;margin:0}.page-subtitle{color:#6b7280;margin-top:.5rem;font-size:1rem}.loading-spinner{display:flex;align-items:center;justify-content:center;height:50vh;font-size:1.25rem;color:#6b7280}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 15px #0000000d;display:flex;align-items:center;gap:1.25rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.stat-card.clickable{cursor:pointer;border:2px solid transparent}.stat-card.clickable:hover{border-color:#f59e0b;background:#fffbeb}.stat-icon{width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.stat-icon.room{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.stat-icon.event{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.stat-icon.pending{background:linear-gradient(135deg,#fef3c7,#fde68a)}.stat-icon.confirmed{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:2rem;font-weight:700;color:#1f2937;line-height:1}.stat-label{font-size:.95rem;color:#6b7280;margin-top:.25rem}.calendar-section{display:block}.calendar-container{background:#fff;border-radius:14px;padding:1rem 1.25rem;box-shadow:0 4px 15px #0000000d;max-width:600px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-title{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0}.calendar-nav-btn{width:32px;height:32px;border:2px solid #e5e7eb;background:#fff;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:#6b7280}.calendar-nav-btn:hover{border-color:#2d5f3f;color:#2d5f3f}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-day-name{padding:.4rem .25rem;text-align:center;font-size:.7rem;font-weight:600;color:#6b7280;text-transform:uppercase}.calendar-day{aspect-ratio:1;padding:.25rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:#f9fafb;position:relative;min-height:50px;max-height:60px}.calendar-day.empty{background:transparent;cursor:default}.calendar-day:not(.empty):hover{background:#e5e7eb}.calendar-day.today{background:#f9fafb}.today-label{font-size:.55rem;font-weight:700;color:#047857;text-transform:uppercase;letter-spacing:.3px}.calendar-day.selected{background:#2d5f3f}.calendar-day.selected .day-number{color:#fff}.calendar-day.fully-booked{background:linear-gradient(135deg,#fecaca,#fca5a5)}.calendar-day.fully-booked .day-number{color:#991b1b}.calendar-day.fully-booked:hover{background:linear-gradient(135deg,#fca5a5,#f87171)}.calendar-day.partially-booked{background:linear-gradient(135deg,#fed7aa,#fdba74)}.calendar-day.partially-booked .day-number{color:#9a3412}.calendar-day.partially-booked:hover{background:linear-gradient(135deg,#fdba74,#fb923c)}.calendar-day.has-booking{background:linear-gradient(135deg,#fef3c7,#fde68a)}.calendar-day.has-booking .day-number{color:#92400e}.calendar-day.has-booking:hover{background:linear-gradient(135deg,#fde68a,#fcd34d)}.day-content{display:flex;flex-direction:column;align-items:center}.booked-label{font-size:.5rem;font-weight:700;color:#dc2626;text-transform:uppercase;letter-spacing:.3px;margin-top:1px}.day-number{font-size:.8rem;font-weight:600;color:#1f2937}.booking-indicators{display:flex;gap:2px;flex-wrap:wrap;justify-content:center;align-items:center;position:absolute;bottom:4px;left:2px;right:2px;max-height:20px;overflow:hidden}.indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.indicator.pending{background:#f59e0b}.indicator.room{background:#047857}.indicator.event{background:#dc2626}.calendar-legend{display:flex;gap:1rem;justify-content:center;margin-top:1rem;padding-top:.75rem;border-top:1px solid #e5e7eb;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#6b7280}.popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease;overflow:hidden}.popup-card{background:#fff;border-radius:20px;width:100%;max-width:520px;max-height:85vh;overflow:hidden;box-shadow:0 25px 60px #00000040;animation:slideUp .3s cubic-bezier(.4,0,.2,1);cursor:default}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.popup-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#1e4d2b,#2d5f3f,#3d7a50);color:#fff;position:relative;overflow:hidden}.popup-header:before{content:"";position:absolute;top:-50%;right:-20%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none}.popup-title{font-size:1.2rem;font-weight:700;margin:0;letter-spacing:.01em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.popup-close{width:36px;height:36px;border:none;background:#ffffff26;color:#fff;border-radius:10px;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.popup-close:hover{background:#ffffff40;transform:scale(1.05)}.popup-body{padding:1.5rem;max-height:calc(80vh - 70px);overflow-y:auto}.date-popup-body{padding:1.25rem;background:linear-gradient(180deg,#fff,#f8fafc)}.popup-section{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid #e5e7eb}.popup-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.popup-section .section-title{font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.popup-section .section-title:before{content:"";width:4px;height:16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:2px}.popup-section .section-title .loading-text{font-weight:400;text-transform:none;font-size:.75rem;color:#9ca3af}.bookings-list.compact{gap:.75rem}.booking-card{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:14px;padding:1rem 1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a;border:1px solid #e5e7eb}.booking-card.clickable{cursor:pointer}.booking-card.clickable:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);transform:translate(6px);box-shadow:0 4px 16px #00000014;border-color:#cbd5e1}.booking-card.admin-booked{border-left:4px solid #3b82f6;background:linear-gradient(135deg,#eff6ff,#f8fafc)}.booking-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.booking-id-link{font-size:.9rem;font-weight:700;color:#3b82f6;background:linear-gradient(135deg,#dbeafe,#e0e7ff);padding:.25rem .75rem;border-radius:8px;transition:all .2s ease}.booking-card.clickable:hover .booking-id-link{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff}.booking-card-body{display:flex;flex-direction:column;gap:.25rem}.booking-card-body .booking-name{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.booking-card-body .booking-info-text{font-size:.85rem;color:#64748b;display:flex;align-items:center;gap:.35rem}.booking-card-body .booking-info-text:before{content:"🛏️";font-size:.75rem}.room-availability-grid{display:flex;flex-direction:column;gap:0;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a}.room-type-availability{display:flex;align-items:center;padding:1rem 1.25rem;background:#fff;border-bottom:1px solid #f1f5f9;transition:background .2s ease}.room-type-availability:last-child{border-bottom:none}.room-type-availability:hover{background:#fafbfc}.room-type-availability .room-type-name{font-size:.8rem;font-weight:600;color:#1e293b;min-width:75px;text-transform:uppercase;letter-spacing:.05em;position:relative;padding-left:12px}.room-type-availability .room-type-name:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:18px;background:linear-gradient(180deg,#10b981,#059669);border-radius:2px}.room-codes{display:flex;flex-wrap:wrap;gap:8px;flex:1}.room-code{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;padding:0 .6rem;border-radius:8px;font-size:.9rem;font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:default;position:relative}.room-code.available{background:#ecfdf5;color:#047857;border:2px solid #a7f3d0;box-shadow:0 1px 3px #10b9811a}.room-code.available:hover{transform:translateY(-2px);background:#d1fae5;border-color:#6ee7b7;box-shadow:0 4px 12px #10b98140}.room-code.booked{background:#fef2f2;color:#b91c1c;border:2px solid #fecaca;text-decoration:line-through;text-decoration-thickness:2px;opacity:.9}.room-code.booked:hover{background:#fee2e2}.availability-legend{display:flex;gap:2rem;justify-content:center;padding:.875rem 1rem;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-top:1px solid #e2e8f0}.availability-legend .legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.availability-legend .dot{width:12px;height:12px;border-radius:4px}.availability-legend .dot.available{background:#ecfdf5;border:2px solid #10b981}.availability-legend .dot.booked{background:#fef2f2;border:2px solid #ef4444}.admin-section{padding-top:.75rem;margin-top:.5rem}.admin-booking-buttons.centered{display:flex;justify-content:center;gap:1rem}.admin-booking-buttons .admin-booking-btn{padding:.75rem 1.5rem;border-radius:12px;font-size:.9rem;font-weight:600;border:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000001a}.admin-booking-buttons .admin-booking-btn.night-stay{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.admin-booking-buttons .admin-booking-btn.night-stay:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.admin-booking-buttons .admin-booking-btn.day-out{background:linear-gradient(135deg,#f97316,#fb923c);color:#fff}.admin-booking-buttons .admin-booking-btn.day-out:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f9731666}.no-bookings{text-align:center;padding:2.5rem 1.5rem;color:#64748b;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;border:1px dashed #cbd5e1}.no-bookings-icon{font-size:3.5rem;display:block;margin-bottom:1rem}.no-bookings p{margin:0;font-size:1rem}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-item{background:#f9fafb;border-radius:12px;padding:1rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;transition:all .2s ease}.booking-item:hover{background:#f3f4f6}.booking-info{flex:1}.booking-header{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}.booking-id{font-size:.8rem;color:#9ca3af;font-weight:600}.booking-name{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 .25rem}.booking-contact{font-size:.85rem;color:#6b7280;margin:0 0 .5rem}.booking-details{font-size:.85rem;color:#4b5563;margin:0}.delete-btn{width:36px;height:36px;border:2px solid #ef4444;background:#fee2e2;border-radius:8px;cursor:pointer;font-size:1.1rem;color:#dc2626;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.delete-btn:hover{background:#dc2626;border-color:#dc2626;color:#fff;transform:scale(1.05)}.detail-btn{padding:.4rem .8rem;border:none;background:#3b82f6;color:#fff;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease;flex-shrink:0}.detail-btn:hover{background:#2563eb;transform:scale(1.02)}[data-theme=dark] .detail-btn{background:#2563eb}[data-theme=dark] .detail-btn:hover{background:#3b82f6}.pending-popup,.room-popup,.event-popup,.confirmed-popup{max-width:550px}.popup-header.pending-header{background:linear-gradient(135deg,#d97706,#b45309)!important}.popup-header.room-header{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important}.popup-header.event-header{background:linear-gradient(135deg,#db2777,#be185d)!important}.popup-header.confirmed-header{background:linear-gradient(135deg,#059669,#047857)!important}.pending-item{border-left:4px solid #f59e0b}.room-item{border-left:4px solid #3b82f6}.event-item{border-left:4px solid #ec4899}.confirmed-item{border-left:4px solid #047857}.booking-actions{display:flex;flex-direction:column;gap:.5rem}.confirm-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#047857,#059669);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.confirm-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0478574d}.confirm-btn:disabled{opacity:.7;cursor:not-allowed}.cancel-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.cancel-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.cancel-btn:disabled{opacity:.7;cursor:not-allowed}.booking-item .booking-actions{display:flex;flex-direction:column;gap:.5rem;align-items:center;flex-shrink:0}.booking-item .booking-actions .confirm-btn,.booking-item .booking-actions .cancel-btn{padding:.4rem .75rem;font-size:.8rem;width:100%}.type-badge{display:inline-block;padding:.375rem .875rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:capitalize}.type-badge.room{background:#dbeafe;color:#1d4ed8}.type-badge.event{background:#fce7f3;color:#be185d}@media (max-width: 1024px){.popup-card{max-width:95%}}@media (max-width: 768px){.admin-page{padding:0}.page-header{text-align:center}.page-title{font-size:1.5rem}.stats-grid{grid-template-columns:1fr 1fr;gap:1rem;justify-items:center}.stat-card{padding:1rem;flex-direction:column;text-align:center;gap:.75rem;width:100%;max-width:180px}.stat-icon{width:50px;height:50px;font-size:1.5rem}.stat-value{font-size:1.5rem}.calendar-section{width:100%}.calendar-container{padding:.75rem;width:100%;max-width:100%;box-sizing:border-box}.calendar-grid{width:100%;gap:2px}.calendar-day-name{padding:.3rem .1rem;font-size:.6rem}.calendar-day{padding:.2rem;min-height:36px;max-height:40px}.day-number{font-size:.7rem}.indicator{width:4px;height:4px}.booking-indicators{bottom:2px}.calendar-legend{flex-direction:column;align-items:center;gap:.75rem}.popup-body{padding:1rem}.booking-item{flex-direction:column;align-items:stretch}.booking-item .booking-actions{flex-direction:row;justify-content:flex-end;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e5e7eb}}.admin-booking-buttons{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:center;flex-wrap:wrap}.admin-book-btn{padding:.875rem 1.5rem;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #0000001a}.admin-book-btn.room{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.admin-book-btn.room:hover{transform:translateY(-3px);box-shadow:0 8px 24px #10b98166}.admin-book-btn.event{background:linear-gradient(135deg,#f97316,#fb923c);color:#fff}.admin-book-btn.event:hover{transform:translateY(-3px);box-shadow:0 8px 24px #f9731666}.admin-booking-form{padding:.5rem 0}.form-type-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.form-type-btn{flex:1;padding:.6rem 1rem;border:2px solid #e5e7eb;background:#fff;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#6b7280}.form-type-btn.active{border-color:#3b82f6;background:#eff6ff;color:#3b82f6}.form-type-btn:hover:not(.active){border-color:#d1d5db;background:#f9fafb}.admin-booking-form .form-row{margin-bottom:.75rem}.admin-booking-form .form-row.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.admin-booking-form .form-row.three-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.admin-booking-form .form-field{display:flex;flex-direction:column;gap:.25rem}.admin-booking-form .form-field label{font-size:.75rem;font-weight:600;color:#6b7280}.admin-booking-form input,.admin-booking-form select,.admin-booking-form textarea{width:100%;padding:.6rem .75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;transition:all .2s ease;box-sizing:border-box}.admin-booking-form input:focus,.admin-booking-form select:focus,.admin-booking-form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.admin-booking-form textarea{resize:vertical}.admin-booking-form input[type=date]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;padding-right:2.5rem;cursor:pointer;color-scheme:light;accent-color:#3b82f6}.admin-booking-form input[type=date]::-webkit-calendar-picker-indicator{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:20px;height:20px;cursor:pointer;opacity:.6;transition:opacity .2s ease;filter:invert(40%) sepia(50%) saturate(1000%) hue-rotate(190deg)}.admin-booking-form input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:1}.admin-booking-form input[type=date]:focus::-webkit-calendar-picker-indicator{opacity:1;filter:invert(35%) sepia(80%) saturate(1500%) hue-rotate(200deg)}.admin-booking-form input[type=date]::-webkit-datetime-edit{padding:0}.admin-booking-form input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.admin-booking-form input[type=date]::-webkit-datetime-edit-text{color:#9ca3af;padding:0 .25rem}.admin-booking-form input[type=date]::-webkit-datetime-edit-month-field,.admin-booking-form input[type=date]::-webkit-datetime-edit-day-field,.admin-booking-form input[type=date]::-webkit-datetime-edit-year-field{color:#374151;font-weight:500}.admin-booking-form input[type=date]::-webkit-datetime-edit-month-field:focus,.admin-booking-form input[type=date]::-webkit-datetime-edit-day-field:focus,.admin-booking-form input[type=date]::-webkit-datetime-edit-year-field:focus{background:#eff6ff;color:#3b82f6;border-radius:2px}.form-actions{display:flex;gap:.75rem;margin-top:1rem;justify-content:flex-end}.cancel-form-btn{padding:.6rem 1.25rem;border:2px solid #e5e7eb;background:#fff;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;color:#6b7280;transition:all .2s ease}.cancel-form-btn:hover{border-color:#d1d5db;background:#f9fafb}.submit-form-btn{padding:.6rem 1.5rem;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-form-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.submit-form-btn:disabled{opacity:.7;cursor:not-allowed}.admin-booking-form.simplified .form-section-title{font-size:.9rem;font-weight:700;color:#374151;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.admin-booking-form .nights-display{text-align:center;font-size:.85rem;font-weight:600;color:#3b82f6;background:#eff6ff;padding:.5rem;border-radius:6px;margin-bottom:1rem}.room-selector-section{margin:1rem 0;padding:1rem;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb}.room-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.85rem;font-weight:600;color:#374151}.room-selector-header .loading-indicator{font-size:.75rem;color:#6b7280;font-weight:400}.room-type-group{margin-bottom:1rem}.room-type-group:last-child{margin-bottom:0}.room-type-label{font-size:.75rem;font-weight:600;color:#6b7280;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.room-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.room-btn{width:48px;height:48px;border:2px solid #e5e7eb;background:#fff;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;color:#374151;position:relative;display:flex;align-items:center;justify-content:center}.room-btn:hover:not(.unavailable):not(.selected){border-color:#3b82f6;background:#eff6ff}.room-btn.selected{border-color:#10b981;background:#d1fae5;color:#059669}.room-btn.unavailable{border-color:#fecaca;background:#fef2f2;color:#dc2626;cursor:not-allowed;opacity:.7}.room-btn .unavailable-icon{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:#ef4444;color:#fff;border-radius:50%;font-size:.7rem;display:flex;align-items:center;justify-content:center}.room-selector-hint{text-align:center;color:#9ca3af;font-size:.85rem;padding:1rem 0}.admin-booking-form .booking-summary{margin:1rem 0;padding:1rem;background:#ecfdf5;border-radius:10px;border:1px solid #a7f3d0}.admin-booking-form .booking-summary .summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#065f46;margin-bottom:.5rem}.admin-booking-form .booking-summary .summary-row:last-child{margin-bottom:0}.admin-booking-form .selected-rooms-list{font-weight:700;letter-spacing:.1em}.indicator.admin{background:#3b82f6}.booking-item.admin-item,.booking-item.admin-booked{border-left:4px solid #3b82f6;background:#eff6ff}.booking-item.admin-booked:hover{background:#dbeafe}.type-badge.admin{background:#dbeafe;color:#1d4ed8}.view-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.view-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.booking-detail-modal{max-width:600px}.detail-header{background:linear-gradient(135deg,#1a1f2e,#252d3d)}.detail-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.detail-section:last-of-type{border-bottom:none;margin-bottom:1rem;padding-bottom:0}.detail-section-title{font-size:1rem;font-weight:700;color:#1f2937;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #2d5f3f;display:inline-block}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detail-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:.95rem;color:#1f2937;font-weight:500}.detail-input{font-size:.95rem;color:#1f2937;font-weight:500;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;width:100%;background:#fff;transition:border-color .2s,box-shadow .2s}.detail-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.detail-notes{margin-top:1rem;background:#f9fafb;padding:.75rem;border-radius:8px}.detail-notes p{margin:.25rem 0 0;color:#4b5563;font-size:.9rem}.room-selection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.room-selection-grid .room-type-label{grid-column:1 / -1;font-size:.9rem;font-weight:600;color:#6b7280;padding:.75rem 0 .5rem;border-bottom:1px solid #e5e7eb;margin-bottom:.25rem}.room-selection-grid .room-type-label:first-child{padding-top:0}.room-select-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem .5rem;border:2px solid #e5e7eb;background:#fff;border-radius:12px;cursor:pointer;transition:all .2s ease;min-height:80px}.room-select-btn:hover:not(:disabled){border-color:#2d5f3f;background:#f0fdf4}.room-select-btn.selected{border-color:#2d5f3f;background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.room-select-btn.booked{border-color:#fecaca;background:#fee2e2;cursor:not-allowed;opacity:.7}.room-number{font-size:.85rem;font-weight:700;color:#1f2937}.room-select-btn.booked .room-number{color:#dc2626}.room-select-btn.selected .room-number{color:#047857}.room-status{font-size:.65rem;text-transform:uppercase;font-weight:600;margin-top:.25rem;letter-spacing:.5px}.room-select-btn.booked .room-status{color:#dc2626}.room-select-btn.selected .room-status{color:#047857}.selected-rooms-info{margin-top:.75rem;font-size:.9rem;color:#047857;font-weight:600;text-align:center;padding:.5rem;background:#d1fae5;border-radius:8px}.room-count-selector{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.room-count-field{display:flex;flex-direction:column;gap:.5rem}.room-count-field label{font-size:.9rem;font-weight:600;color:#374151}.room-count-input{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;font-weight:600;text-align:center;transition:border-color .2s ease}.room-count-input:focus{outline:none;border-color:#2d5f3f}@media (max-width: 480px){.room-count-selector{grid-template-columns:1fr}}.loading-text{text-align:center;color:#6b7280;font-style:italic;padding:1rem}.payment-form{display:flex;flex-direction:column;gap:.75rem}.payment-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.payment-field{display:flex;flex-direction:column;gap:.35rem}.payment-field.full-width{grid-column:span 2}.payment-field label{font-size:.8rem;font-weight:600;color:#4b5563}.payment-field input,.payment-field select{width:100%;padding:.65rem .85rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;transition:all .2s ease;box-sizing:border-box}.payment-field input:focus,.payment-field select:focus{outline:none;border-color:#2d5f3f;box-shadow:0 0 0 3px #2d5f3f1a}.detail-actions{display:flex;gap:1rem;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.detail-actions.three-buttons{justify-content:center}.detail-actions .action-btn{padding:.75rem 1.5rem;border:2px solid;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:100px}.detail-actions .action-btn.confirm{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#16a34a;border-width:2px;color:#fff;padding:1rem 0;font-size:1.1rem;flex:1;box-sizing:border-box}.detail-actions .action-btn.confirm:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px);box-shadow:0 4px 12px #22c55e66}.detail-actions .action-btn.pending{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fcd34d;color:#92400e}.detail-actions .action-btn.pending:hover:not(:disabled){background:linear-gradient(135deg,#fde68a,#fcd34d);transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.detail-actions .action-btn.cancel{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#fca5a5;color:#991b1b}.detail-actions .action-btn.cancel:hover:not(:disabled){background:linear-gradient(135deg,#fecaca,#fca5a5);transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.detail-actions .action-btn.delete{background:transparent;border:2px solid #dc2626;color:#dc2626;padding:.75rem 0;font-size:.95rem;width:120px;flex-shrink:0;box-sizing:border-box}.detail-actions .action-btn.delete:hover:not(:disabled){background:#fef2f2;border-color:#b91c1c;color:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 6px #dc262633}.detail-actions .action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.cancel-modal-btn{padding:.75rem 1.5rem;border:2px solid #e5e7eb;background:#fff;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;color:#6b7280;transition:all .2s ease}.cancel-modal-btn:hover{border-color:#d1d5db;background:#f9fafb}.confirm-modal-btn{padding:.75rem 2rem;border:none;background:linear-gradient(135deg,#047857,#059669);color:#fff;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.confirm-modal-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #04785759}.confirm-modal-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.booking-detail-modal{max-width:95%}.detail-grid{grid-template-columns:1fr}.room-selection-grid{grid-template-columns:repeat(2,1fr)}.payment-row{grid-template-columns:1fr}.payment-field.full-width{grid-column:span 1}.detail-actions{flex-direction:column}.detail-actions.three-buttons{flex-direction:row;flex-wrap:wrap;gap:.5rem}.detail-actions.three-buttons .action-btn{flex:1;min-width:80px;padding:.6rem .5rem;font-size:.85rem}.detail-actions button{width:100%}}@media (max-width: 480px){.room-selection-grid{grid-template-columns:repeat(2,1fr)}}.booking-details.assigned-rooms{color:#047857;font-weight:600}.booking-details.payment-info{color:#0369a1;font-weight:600}.day-out-badge{display:inline-block;padding:.3rem .75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309;border-radius:12px;font-weight:700;font-size:.85rem}.day-out-edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.day-out-field{display:flex;flex-direction:column;gap:.4rem}.day-out-field label{font-size:.8rem;font-weight:600;color:#4b5563}.day-out-select,.day-out-input{padding:.65rem .85rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;color:#1f2937;background:#fff;transition:all .2s ease;box-sizing:border-box}.children-free-btn{margin-top:.5rem;padding:.5rem 1rem;background:#f3f4f6;border:2px solid #d1d5db;border-radius:8px;font-size:.85rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease;width:100%}.children-free-btn:hover{background:#e5e7eb;border-color:#9ca3af}.children-free-btn.active{background:#dcfce7;border-color:#22c55e;color:#16a34a}.children-free-btn.active:hover{background:#bbf7d0}.day-out-total-people{padding:.75rem 1rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #93c5fd;border-radius:10px;font-size:1.1rem;font-weight:700;color:#1d4ed8;text-align:center}.day-out-lunchbox-section{margin-top:1rem;padding:1rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px}.day-out-subsection-title{font-size:.85rem;font-weight:700;color:#475569;margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.day-out-lunchbox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.day-out-room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.room-type-label{grid-column:1 / -1;font-size:.85rem;font-weight:600;color:#6b7280;padding:.5rem 0 .25rem;border-bottom:1px solid #e5e7eb;margin-bottom:.25rem}.room-type-label:first-child{padding-top:0}.day-out-room-btn{padding:.75rem .5rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;font-size:.85rem;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease}.day-out-room-btn:hover{border-color:#3b82f6;color:#3b82f6}.day-out-room-btn.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.day-out-time-input{max-width:200px;text-align:center;font-size:1.1rem;font-weight:600}.day-out-room-btn.booked{background:#fee2e2;border-color:#fca5a5;color:#dc2626;cursor:not-allowed;opacity:.8;display:flex;flex-direction:column;align-items:center;gap:2px}.day-out-room-btn.booked:hover{border-color:#fca5a5;color:#dc2626}.day-out-room-btn .room-booked-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.room-loading-text{font-size:.85rem;color:#6b7280;text-align:center;padding:.5rem;font-style:italic}.day-out-total{margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #fed7aa;border-radius:12px;margin-bottom:1rem}.day-out-total-label{font-size:1rem;font-weight:600;color:#c2410c}.day-out-total-value{font-size:1.5rem;font-weight:800;color:#ea580c}.promo-code-input-section{margin:1rem 0;padding:1rem;background:linear-gradient(135deg,#fefce8,#fef9c3);border:2px solid #fde68a;border-radius:12px}.promo-input-row{display:flex;align-items:center;gap:.75rem}.promo-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid #fde68a;border-radius:8px;font-size:.85rem;font-weight:600;color:#78350f;cursor:default;white-space:nowrap}.promo-checkbox.checked{background:#f0fdf4;border-color:#86efac;color:#166534}.promo-checkbox input{width:16px;height:16px;accent-color:#22c55e}.promo-code-field{flex:1;padding:.65rem .85rem;border:2px solid #fcd34d;border-radius:8px;font-size:.9rem;background:#fff;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.promo-code-field:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.apply-promo-btn{padding:.65rem 1.25rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap}.apply-promo-btn:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.apply-promo-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.promo-applied-info{margin-top:.75rem;padding:.5rem .75rem;background:#dcfce7;border:1px solid #86efac;border-radius:8px;text-align:center}.promo-success{color:#166534;font-size:.9rem;font-weight:600}@media (max-width: 480px){.promo-input-row{flex-direction:column;align-items:stretch}.promo-checkbox{justify-content:center}.apply-promo-btn{width:100%}}.discount-indicators{display:flex;gap:1rem;padding-top:.75rem;border-top:1px dashed #fcd34d}.discount-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;background:#fff;border:1px solid #fde68a;border-radius:8px;cursor:default}.discount-indicator input{width:16px;height:16px;accent-color:#22c55e;cursor:default}.discount-indicator input:checked{accent-color:#22c55e}.discount-indicator span{font-size:.85rem;color:#78350f;font-weight:500}.discount-indicator:has(input:checked){background:#f0fdf4;border-color:#86efac}.discount-indicator:has(input:checked) span{color:#166534}.day-out-final-total .day-out-total-value{color:#16a34a}.day-out-save-btn{width:100%;padding:.875rem;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #f973164d}.day-out-save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #f9731666}.night-stay-dates{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:12px;margin-bottom:1.5rem}.night-stay-date-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.night-stay-date-item .date-label{font-size:.75rem;font-weight:600;color:#3b82f6;text-transform:uppercase;letter-spacing:.05em}.night-stay-date-item .date-value{font-size:1rem;font-weight:700;color:#1e40af}.date-arrow{font-size:1.5rem;color:#60a5fa;font-weight:300}.night-stay-note{font-size:.8rem;color:#16a34a;font-style:italic;margin-top:.75rem;padding:.5rem;background:#f0fdf4;border-radius:6px;text-align:center}@media (max-width: 768px){.day-out-edit-grid,.day-out-lunchbox-grid{grid-template-columns:1fr}.day-out-room-grid{grid-template-columns:repeat(2,1fr)}.day-out-room-btn{padding:.6rem .4rem;font-size:.75rem}.day-out-total-value{font-size:1.25rem}.day-out-save-btn{padding:.75rem;font-size:.9rem}.discount-inputs,.discount-reason-options{grid-template-columns:1fr}.night-stay-dates{flex-direction:column;gap:.75rem;padding:.75rem}.date-arrow{transform:rotate(90deg)}.night-stay-date-item .date-value{font-size:.9rem}}.cancel-confirm-modal{max-width:420px;width:90%;background:#fff;border-radius:16px;overflow:hidden}.cancel-confirm-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-bottom:2px solid #fecaca}.cancel-confirm-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#dc2626}.cancel-confirm-message{text-align:center;color:#475569;font-size:.95rem;margin-bottom:.5rem}.cancel-confirm-name{text-align:center;font-size:1.1rem;font-weight:600;color:#1e293b;margin-bottom:1.25rem}.cancel-option-btn{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:2px solid;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:left}.cancel-option-btn .option-text{display:flex;flex-direction:column;gap:.15rem}.cancel-option-btn .option-text strong{font-size:.95rem;font-weight:600}.cancel-option-btn .option-text small{font-size:.8rem;opacity:.8}.cancel-option-btn.no-refund{border-color:#fcd34d;background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#92400e}.cancel-option-btn.no-refund:hover{border-color:#f59e0b;background:linear-gradient(135deg,#fef3c7,#fde68a);transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b33}.cancel-option-btn.with-refund{border-color:#fca5a5;background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b}.cancel-option-btn.with-refund:hover{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca);transform:translateY(-2px);box-shadow:0 4px 12px #ef444433}.cancel-confirm-footer{padding:1rem 1.25rem;background:#f8fafc;border-top:1px solid #e2e8f0;text-align:center}.cancel-back-btn{padding:.6rem 1.5rem;border:2px solid #cbd5e1;border-radius:8px;background:#fff;color:#64748b;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-back-btn:hover{border-color:#94a3b8;background:#f1f5f9}@media (max-width: 480px){.cancel-confirm-modal{width:95%}.cancel-option-btn{padding:.85rem 1rem}.cancel-option-btn .option-icon{font-size:1.25rem}}.night-stay-detailed{max-height:none}.breakdown-section{margin-bottom:1rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.breakdown-section-title{font-size:1rem;font-weight:700;color:#1f2937;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.room-selection-inputs{display:flex;gap:.75rem;margin-bottom:1rem}.room-type-input-card{flex:1;min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .75rem;transition:all .2s ease}.room-type-input-card:hover{border-color:#10b981;background:#f0fdf4}.room-type-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:.5rem}.room-type-name{font-size:.8rem;font-weight:600;color:#374151;line-height:1.2}.room-type-price{font-size:.7rem;color:#d97706;font-weight:600;white-space:nowrap;text-align:right}.room-type-input-row{display:flex;align-items:center;justify-content:center;gap:.5rem}.available-label{font-size:.65rem;color:#6b7280;display:block;margin-top:.25rem;text-align:center}@media (max-width: 600px){.room-selection-inputs{flex-direction:column}}.room-qty-input,.guest-qty-input,.lunchbox-qty-input{width:70px;padding:.5rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;font-weight:600;text-align:center}.room-qty-input:focus,.guest-qty-input:focus,.lunchbox-qty-input:focus{outline:none;border-color:#3b82f6}.room-breakdown-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1rem}.room-type-breakdown-card{background:#fefce8;border:3px solid #fcd34d;border-radius:12px;overflow:hidden}.room-type-breakdown-card.cottage-type{border-color:#fbbf24;background:#fefce8}.room-type-breakdown-card.suite-type,.room-type-breakdown-card.room-type{border-color:#3b82f6;background:#eff6ff}.room-type-breakdown-header{padding:.75rem 1rem;background:#f3f4f6;font-weight:600;color:#1f2937;border-bottom:1px solid rgba(0,0,0,.1)}.room-type-breakdown-summary{padding:.75rem 1rem;background:#e5e7eb}.summary-row{font-size:.9rem;color:#374151;margin-bottom:.25rem}.individual-room-card{margin:.75rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.room-id-header{padding:.6rem 1rem;background:#f3f4f6;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.room-override-select{width:100%;padding:.5rem .75rem;border:2px solid #3b82f6;border-radius:6px;background:#fff;font-size:.9rem;font-weight:600;color:#1f2937;cursor:pointer;transition:border-color .2s,box-shadow .2s}.room-override-select:hover{border-color:#2563eb}.room-override-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #3b82f633}.room-override-select option{padding:.5rem;font-weight:500}.night-pricing-row{padding:.6rem 1rem;border-bottom:1px solid #f3f4f6}.night-pricing-row:last-child{border-bottom:none}.night-info{font-size:.85rem;color:#6b7280;margin-bottom:.25rem}.night-price{font-weight:600;color:#1f2937}.night-price.discounted{background:linear-gradient(135deg,#dcfce7,#bbf7d0);display:inline-block;padding:.4rem .75rem;border-radius:6px;border-left:3px solid #22c55e;color:#047857}.night-discount-applied{font-size:.85rem;color:#047857;font-weight:600;margin-top:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-left:3px solid #22c55e;border-radius:6px}.room-type-total{padding:.75rem 1rem;background:#f3f4f6;font-weight:700;color:#1f2937;text-align:right}.total-banner{padding:1rem;border-radius:10px;font-size:1.1rem;font-weight:600;text-align:center;margin:1rem 0}.total-banner.residence-banner,.total-banner.guest-banner,.total-banner.lunchbox-banner{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#166534}.payment-section-start{margin-top:2rem;padding-top:1.5rem;border-top:3px dashed #94a3b8;position:relative}.payment-section-start:before{content:"Payment Section";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#fff;padding:0 1rem;font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:1px}.generated-amount-banner{padding:1rem;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:10px;font-size:1.2rem;font-weight:700;text-align:center;color:#1e293b;margin:0 0 1rem;border:2px solid #94a3b8}.final-total-banner{padding:1.25rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:12px;font-size:1.4rem;font-weight:700;text-align:center;margin:1rem 0}.guest-input-grid,.lunchbox-input-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.guest-input-field,.lunchbox-input-field{display:flex;flex-direction:column;gap:.35rem}.guest-input-field label,.lunchbox-input-field label{font-size:.85rem;font-weight:600;color:#4b5563}.guest-compact-grid{display:flex;gap:.75rem;margin-bottom:1rem}.guest-compact-card{flex:1;min-width:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .75rem;transition:all .2s ease}.guest-compact-card:hover{border-color:#10b981;background:#f0fdf4}.guest-compact-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:.5rem}.guest-compact-label{font-size:.8rem;font-weight:600;color:#374151;line-height:1.2}.guest-compact-label small{display:block;font-weight:400;color:#9ca3af;font-size:.65rem}.guest-compact-price{font-size:.7rem;color:#10b981;font-weight:600;white-space:nowrap;text-align:right}.guest-compact-controls{display:flex;align-items:center;justify-content:center;gap:.5rem}.qty-btn{width:42px;height:42px;border:none;border-radius:10px;font-size:1.4rem;font-weight:700;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.qty-btn.minus{background:#fee2e2;color:#dc2626}.qty-btn.minus:hover{background:#fecaca}.qty-btn.plus{background:#d1fae5;color:#059669}.qty-btn.plus:hover{background:#a7f3d0}.qty-display{min-width:44px;text-align:center;font-size:1.3rem;font-weight:700;color:#1f2937}@media (max-width: 600px){.guest-compact-grid{flex-direction:column}}.lunchbox-compact-grid{display:flex;gap:.75rem;margin-bottom:1rem}.lunchbox-compact-card{flex:1;min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .75rem;transition:all .2s ease}.lunchbox-compact-card:hover{border-color:#10b981;background:#f0fdf4}.lunchbox-compact-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:.5rem}.lunchbox-compact-label{font-size:.8rem;font-weight:600;color:#374151;line-height:1.2}.lunchbox-compact-price{font-size:.7rem;color:#10b981;font-weight:600;white-space:nowrap;text-align:right}.lunchbox-compact-controls{display:flex;align-items:center;justify-content:center;gap:.5rem}@media (max-width: 600px){.lunchbox-compact-grid{flex-direction:column}}.guest-breakdown-card{margin-top:.75rem;background:#ecfdf5;border:2px solid #a7f3d0;border-radius:10px;overflow:hidden}.guest-breakdown-card.driver-card{background:#eff6ff;border-color:#93c5fd}.guest-type-header{padding:.6rem 1rem;background:#d1d5db;font-weight:600}.guest-type-header small{font-weight:400;color:#6b7280}.guest-breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#e5e7eb}.guest-breakdown-row.free-entry{color:#059669;font-weight:600;background:#dcfce7}.guest-pricing-detail{padding:.5rem 1rem;background:#f3f4f6}.guest-pricing-detail>div:not(.discount-price-container){display:flex;justify-content:space-between;align-items:center}.guest-pricing-detail .discounted-price{color:#047857;font-weight:600}.guest-pricing-detail .discount-label{color:#047857;font-size:.85rem;font-weight:600;margin-top:.35rem;padding:.4rem .6rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-left:3px solid #22c55e;border-radius:6px;display:inline-block}.guest-total-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:#f9fafb;font-weight:600}.lunchbox-breakdown-card{margin-top:.75rem;background:#fff7ed;border:2px solid #fed7aa;border-radius:10px;overflow:hidden}.lunchbox-header{padding:.6rem 1rem;background:#d1d5db;font-weight:600}.lunchbox-row{padding:.4rem 1rem;background:#e5e7eb;font-size:.9rem}.lunchbox-total{padding:.6rem 1rem;background:#f3f4f6;font-weight:600}.additional-discount-section{margin:1.5rem 0;padding:1.25rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:14px}.additional-discount-title{font-size:1.1rem;font-weight:700;color:#1f2937;text-align:center;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.promo-discount-card,.admin-discount-card{margin-bottom:1rem;padding:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:10px;transition:all .2s ease}.promo-discount-card.active{background:#fef3c7;border-color:#f59e0b}.admin-discount-card.active{background:#dcfce7;border-color:#22c55e}.discount-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.discount-checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#374151}.discount-checkbox-label input{width:18px;height:18px;accent-color:#22c55e}.check-icon{color:#22c55e;font-weight:700;font-size:1.2rem}.promo-input-row{display:flex;align-items:center;gap:.5rem}.code-label{font-size:.9rem;color:#6b7280}.promo-code-input-field{flex:1;padding:.5rem .75rem;border:2px solid #e5e7eb;border-radius:6px;font-size:.9rem;font-weight:600;text-transform:uppercase}.promo-code-input-field:focus{outline:none;border-color:#f59e0b}.apply-btn{padding:.5rem 1rem;background:#f59e0b;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.apply-btn:hover:not(:disabled){background:#d97706}.apply-btn:disabled{opacity:.6;cursor:not-allowed}.promo-discount-card.applied{background:#f0fdf4;border-color:#22c55e}.promo-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.promo-label{font-weight:600;color:#374151;font-size:1rem}.promo-check{color:#dc2626;font-size:1.1rem;font-weight:700}.promo-applied-details{display:flex;flex-direction:column;gap:.75rem}.promo-code-display{display:flex;align-items:center;gap:.75rem}.promo-code-badge{background:#e5e7eb;padding:.4rem .75rem;border-radius:6px;font-weight:700;font-size:.95rem;color:#374151}.remove-promo-btn{background:#f3f4f6;border:none;color:#6b7280;font-size:1rem;cursor:pointer;width:28px;height:28px;padding:0;line-height:1;transition:all .2s ease;border-radius:50%;font-weight:500;display:flex;align-items:center;justify-content:center}.remove-promo-btn:hover{background:#fee2e2;color:#dc2626;transform:scale(1.1)}.promo-discount-info{display:flex;flex-direction:column;gap:.5rem}.promo-info-row{background:#e5e7eb;padding:.6rem 1rem;border-radius:6px;font-size:.9rem;color:#374151;font-weight:500}.admin-discount-inputs{display:flex;flex-direction:column;gap:.75rem}.admin-input-group{display:flex;align-items:center;gap:.5rem}.admin-input-group label{font-size:.85rem;color:#6b7280;min-width:140px}.reason-select,.admin-discount-input{flex:1;padding:.5rem .75rem;border:2px solid #e5e7eb;border-radius:6px;font-size:.9rem}.reason-select:focus,.admin-discount-input:focus{outline:none;border-color:#22c55e}.admin-discount-save{display:flex;justify-content:flex-end;margin-top:.5rem}.admin-save-btn{padding:.5rem 1.25rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.admin-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px)}.admin-save-btn.applied{background:linear-gradient(135deg,#10b981,#059669);cursor:default}.admin-save-btn:disabled{opacity:.9}.discount-details{margin-top:.75rem;padding:.75rem;background:#fef9c3;border-radius:8px}.discount-detail-row{font-size:.9rem;color:#92400e;margin-bottom:.25rem}.discount-detail-row:last-child{margin-bottom:0}@media (max-width: 768px){.room-selection-inputs{flex-direction:column}.room-type-input-card{min-width:100%}.guest-input-grid,.lunchbox-input-grid{grid-template-columns:1fr}.admin-input-group{flex-direction:column;align-items:stretch}.admin-input-group label{min-width:auto}.promo-input-row{flex-wrap:wrap}.promo-code-input-field{flex:1 1 100%;margin-bottom:.5rem}.final-total-banner{font-size:1.1rem}}.day-out-date-display{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;margin-bottom:1.5rem}.day-out-date-item{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.day-out-date-item .date-label{font-size:.75rem;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.5px}.day-out-date-item .date-value{font-size:1.1rem;font-weight:700;color:#1f2937}.day-out-date-item .day-name{font-size:.9rem;color:#78350f;font-weight:500}.day-out-time-display{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.day-out-time-display .date-label{font-size:.75rem;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.5px}.time-input-inline{padding:.5rem .75rem;border:2px solid #f59e0b;border-radius:8px;font-size:1rem;font-weight:600;color:#1f2937;background:#fff}.time-input-inline:focus{outline:none;border-color:#d97706}.day-out-detailed .individual-room-card.day-out-room{padding:.75rem 1rem}.day-price{font-weight:600;color:#1f2937}.day-price.discounted{background:linear-gradient(135deg,#dcfce7,#bbf7d0);display:inline-block;padding:.4rem .75rem;border-radius:6px;border-left:3px solid #22c55e;color:#047857}.day-discount-applied{font-size:.85rem;color:#047857;font-weight:600;margin-top:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-left:3px solid #22c55e;border-radius:6px}.discount-price-container{margin-top:.5rem;padding:.75rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-left:3px solid #22c55e;border-radius:8px}.discount-price-container .discount-lines{margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px dashed #22c55e}.discount-price-container .discount-line{font-size:.85rem;color:#047857;font-weight:500;padding:.15rem 0;display:flex;justify-content:space-between}.discount-price-container .discount-line span{font-weight:600}.discount-price-container .discounted-price-line{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#047857;font-weight:600}.discount-price-container .discounted-price-line strong{font-weight:700}.child-input-with-free{display:flex;gap:.5rem;align-items:center}.child-input-with-free .guest-qty-input{flex:1}.child-input-with-free .children-free-btn{padding:.4rem .75rem;font-size:.8rem;border:2px solid #d1d5db;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease;white-space:nowrap}.child-input-with-free .children-free-btn:hover{border-color:#22c55e;color:#22c55e}.child-input-with-free .children-free-btn.active{background:#22c55e;border-color:#22c55e;color:#fff}.close-confirm-modal{max-width:400px;border-radius:16px;overflow:hidden}.close-confirm-header{background:linear-gradient(135deg,#f59e0b,#d97706);padding:1.25rem 1.5rem;color:#fff}.close-confirm-header h3{margin:0;font-size:1.2rem;font-weight:600}.close-confirm-body{padding:1.5rem;text-align:center}.close-confirm-body p{margin:0;color:#374151;font-size:1rem}.close-confirm-footer{display:flex;gap:1rem;padding:1rem 1.5rem 1.5rem;justify-content:center}.close-confirm-btn{padding:.75rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid}.close-confirm-btn.cancel{background:transparent;border-color:#6b7280;color:#6b7280}.close-confirm-btn.cancel:hover{background:#f3f4f6}.close-confirm-btn.dont-save{background:transparent;border-color:#dc2626;color:#dc2626}.close-confirm-btn.dont-save:hover{background:#fef2f2}.close-confirm-btn.save{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#16a34a;color:#fff}.close-confirm-btn.save:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px);box-shadow:0 4px 12px #22c55e4d}@media (max-width: 768px){.day-out-date-display{flex-direction:column;align-items:stretch;gap:1rem;padding:.75rem}.day-out-date-item,.day-out-time-display{align-items:center;text-align:center}.child-input-with-free{flex-direction:column;align-items:stretch}.child-input-with-free .children-free-btn{width:100%;text-align:center}}.saved-night-price.discounted{background:linear-gradient(135deg,#dcfce7,#bbf7d0);padding:.4rem .75rem;border-radius:6px;border-left:3px solid #22c55e;color:#047857}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.page-header-left{flex:1}.page-header-right{flex-shrink:0}.search-box{position:relative;display:flex;align-items:center}.search-input{padding:.75rem 2.5rem .75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;width:280px;transition:all .2s ease;background:#fff}.search-input:focus{outline:none;border-color:#2d5f3f;box-shadow:0 0 0 3px #2d5f3f1a}.search-input::placeholder{color:#9ca3af}.search-clear{position:absolute;right:.75rem;background:none;border:none;font-size:1.25rem;color:#9ca3af;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.search-clear:hover{color:#dc2626}.bookings-tabs{display:flex;gap:1rem;margin-bottom:1.5rem}.tab-btn{padding:.875rem 1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease}.tab-btn:hover{border-color:#2d5f3f;color:#2d5f3f}.tab-btn.active{background:#2d5f3f;border-color:#2d5f3f;color:#fff}.filter-bar{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.filter-label{font-weight:600;color:#6b7280}.filter-select{padding:.625rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;color:#1f2937;background:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:#2d5f3f}.bookings-list{display:flex;flex-direction:column;gap:.75rem}.booking-card{background:#fff;border-radius:10px;padding:1rem 1.5rem;box-shadow:0 2px 8px #0000000d;cursor:pointer;transition:all .2s ease;border:2px solid transparent;display:flex;align-items:center;gap:1rem}.booking-card:hover{box-shadow:0 4px 15px #0000001a;border-color:#2d5f3f}.booking-header{display:flex;align-items:center;gap:.75rem;min-width:200px}.booking-id{font-weight:700;color:#2d5f3f;font-size:.95rem}.booking-body{display:flex;align-items:center;gap:1.5rem;flex:1;min-width:0}.booking-name{font-size:1rem;font-weight:600;color:#1f2937;margin:0;min-width:150px}.booking-contact{font-size:.85rem;color:#6b7280;margin:0;min-width:180px}.booking-payment-info{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:#f0fdf4;border-radius:8px;border:1px solid #bbf7d0;white-space:nowrap;flex-shrink:0}.payment-amount{font-weight:700;color:#047857;font-size:1rem}.payment-paid-label{font-size:.8rem;font-weight:700;color:#047857}.booking-payment-clear{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981;border-radius:8px;white-space:nowrap;flex-shrink:0}.booking-payment-clear .clear-icon{font-size:.9rem;color:#047857;font-weight:700}.booking-payment-clear .clear-text{font-size:.85rem;font-weight:700;color:#047857}.booking-due-alert{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:8px;animation:duePulse 2s ease-in-out infinite;white-space:nowrap;flex-shrink:0}.booking-due-alert .due-icon{font-size:1rem;color:#b45309}.booking-due-alert .due-text{font-size:.9rem;font-weight:700;color:#92400e}@keyframes duePulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 6px #f59e0b00}}.booking-footer{display:flex;align-items:center;gap:1rem;margin-left:auto;flex-shrink:0}.booking-date{font-size:.85rem;color:#4b5563;font-weight:500;white-space:nowrap}.card-delete-btn{padding:.4rem .8rem;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.card-delete-btn:hover{background:#fecaca;transform:scale(1.05)}.no-bookings{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#fff;border-radius:14px;color:#9ca3af}.status-badge.large{padding:.5rem 1rem;font-size:.9rem;white-space:nowrap;flex-shrink:0}.admin-badge{display:inline-block;padding:.375rem .875rem;border-radius:20px;font-size:.8rem;font-weight:600;background:#dbeafe;color:#1d4ed8}.admin-badge.large{padding:.5rem 1rem;font-size:.9rem}.booking-card.admin-card{border-left:4px solid #3b82f6;background:#f8fafc}.booking-card.admin-card:hover{border-color:#2d5f3f;border-left-color:#3b82f6}.modal-badges{display:flex;gap:.5rem;align-items:center;flex-shrink:0;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:20px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;background:#f3f4f6;border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s ease}.modal-close:hover{background:#e5e7eb;color:#1f2937}.modal-header{padding:1.5rem 4rem 1.5rem 1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:1rem}.modal-header h2{margin:0;font-size:1.5rem;color:#1f2937}.detail-section{margin-bottom:1.5rem}.detail-section:last-child{margin-bottom:0}.detail-section h3{font-size:1rem;font-weight:600;color:#2d5f3f;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #d1fae5}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item.full-width{grid-column:1 / -1}.detail-label{font-size:.85rem;color:#6b7280;font-weight:500}.detail-value{font-size:1rem;color:#1f2937;font-weight:500}.detail-value.payment-highlight{font-size:1.25rem;font-weight:700;color:#047857}.cancellation-details h3{color:#dc2626;border-bottom-color:#fecaca}.cancellation-info-card{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:12px;padding:1.25rem;border:1px solid #fecaca}.cancellation-type-badge-wrapper{margin-bottom:1rem}.cancellation-type-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600}.cancellation-type-badge.refund{background:#fecaca;color:#dc2626}.cancellation-type-badge.no_refund{background:#d1fae5;color:#047857}.cancellation-type-badge.unknown{background:#e5e7eb;color:#6b7280}.cancellation-info-card .detail-grid{margin-bottom:0}.cancellation-info-card .detail-item{background:#ffffffb3;padding:.75rem;border-radius:8px}.detail-value.refund-amount{color:#dc2626;font-weight:700;font-size:1.1rem}.detail-value.retained-amount{color:#047857;font-weight:700;font-size:1.1rem}.cancellation-reason{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(220,38,38,.2)}.cancellation-reason p{margin:.5rem 0 0;color:#1f2937;font-style:italic}.cancellation-booking-details,.cancellation-booking-summary,.cancellation-info-section{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(220,38,38,.15)}.cancellation-booking-details:first-of-type{margin-top:.5rem;padding-top:0;border-top:none}.cancellation-booking-details h4,.cancellation-booking-summary h4,.cancellation-info-section h4{margin:0 0 .75rem;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6b7280}.cancellation-booking-details .detail-grid,.cancellation-booking-summary .detail-grid,.cancellation-info-section .detail-grid{margin-bottom:0}.cancelled-extended-details{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed rgba(220,38,38,.2)}.extended-detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem 0;gap:1rem}.extended-detail-row .detail-label{font-size:.85rem;color:#6b7280;flex-shrink:0}.extended-detail-row .detail-value{font-size:.9rem;color:#1f2937;text-align:right}.modal-actions{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end}.action-btn{padding:.75rem 1.5rem;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.confirm{background:#d1fae5;color:#047857}.action-btn.confirm:hover:not(:disabled){background:#a7f3d0}.action-btn.pending{background:#fef3c7;color:#b45309}.action-btn.pending:hover:not(:disabled){background:#fde68a}.action-btn.cancel{background:#fee2e2;color:#dc2626}.action-btn.cancel:hover:not(:disabled){background:#fecaca}.action-btn.delete{background:#dc2626;color:#fff;width:100%}.action-btn.delete:hover:not(:disabled){background:#b91c1c}.cancelled-actions{border-top:1px solid #fecaca;background:#fef2f2}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.page-header-right,.search-input{width:100%}.bookings-tabs{flex-direction:column}.tab-btn{text-align:center}.bookings-list{gap:.5rem}.booking-card{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.booking-header{width:100%;justify-content:space-between}.booking-body{flex-direction:column;align-items:flex-start;gap:.25rem;width:100%}.booking-payment-info{width:100%;flex-wrap:wrap}.booking-footer{width:100%;justify-content:space-between;padding-top:.75rem;border-top:1px solid #e5e7eb;margin-left:0}.detail-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.action-btn{width:100%}}.day-out-badge{display:inline-block;padding:.4rem 1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309;border-radius:20px;font-weight:700;font-size:.9rem}.day-out-edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.day-out-field{display:flex;flex-direction:column;gap:.5rem}.day-out-field label{font-size:.85rem;font-weight:600;color:#374151}.day-out-select,.day-out-input{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;color:#1f2937;background:#fff;transition:all .2s ease}.day-out-select:focus,.day-out-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.day-out-input{width:100%}.day-out-input[type=number]{-moz-appearance:textfield}.day-out-input[type=number]::-webkit-outer-spin-button,.day-out-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.day-out-total{display:flex;align-items:center;justify-content:center;padding:1.25rem;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #fed7aa;border-radius:14px;margin-bottom:1rem}.day-out-total-value{font-size:2rem;font-weight:800;color:#ea580c}.day-out-total-label{font-size:1rem;font-weight:600;color:#c2410c;margin-right:.5rem}.discount-toggle-btn{width:100%;padding:.65rem 1rem;background:#f3f4f6;border:2px dashed #d1d5db;border-radius:10px;font-size:.9rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease;margin-bottom:1rem}.discount-toggle-btn:hover{background:#e5e7eb;border-color:#9ca3af;color:#4b5563}.discount-toggle-btn.active{background:#fef3c7;border-color:#f59e0b;border-style:solid;color:#b45309}.discount-section{background:#fffbeb;border:2px solid #fde68a;border-radius:12px;padding:1rem;margin-bottom:1rem}.discount-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.discount-field{display:flex;flex-direction:column;gap:.35rem}.discount-field label{font-size:.8rem;font-weight:600;color:#92400e}.discount-field input{padding:.65rem .85rem;border:2px solid #fcd34d;border-radius:8px;font-size:.9rem;background:#fff;transition:all .2s ease}.discount-field input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.discount-reason-section{padding-top:.75rem;border-top:1px dashed #fcd34d}.discount-reason-label{display:block;font-size:.85rem;font-weight:700;color:#92400e;margin-bottom:.75rem}.discount-reason-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.discount-reason-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid #fde68a;border-radius:8px;cursor:pointer;transition:all .2s ease}.discount-reason-checkbox:hover{background:#fef9c3;border-color:#fcd34d}.discount-reason-checkbox input{width:16px;height:16px;accent-color:#f59e0b}.discount-reason-checkbox span{font-size:.85rem;color:#78350f}.other-reason-input{width:100%;margin-top:.75rem;padding:.65rem .85rem;border:2px solid #fcd34d;border-radius:8px;font-size:.9rem;background:#fff;box-sizing:border-box}.other-reason-input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.day-out-final-total{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #86efac;border-radius:12px;margin-bottom:1rem}.day-out-final-total .day-out-total-label{color:#166534}.day-out-final-total .day-out-total-value{color:#16a34a;font-size:1.5rem}.payment-section{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;margin-bottom:1rem}.payment-section .payment-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}.payment-section .payment-row:last-child{margin-bottom:0}.payment-section .payment-field{display:flex;flex-direction:column;gap:.35rem}.payment-section .payment-field.full-width{grid-column:span 2}.payment-section .payment-field label{font-size:.8rem;font-weight:600;color:#475569}.payment-section .payment-field input,.payment-section .payment-field select{width:100%;padding:.65rem .85rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.9rem;background:#fff;transition:all .2s ease;box-sizing:border-box}.payment-section .payment-field input:focus,.payment-section .payment-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.day-out-save-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #f973164d}.day-out-save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f9731666}.day-out-save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.day-out-edit-grid{grid-template-columns:1fr}.day-out-total-value{font-size:1.5rem}.day-out-save-btn{padding:.875rem;font-size:.95rem}.discount-inputs,.discount-reason-options,.payment-section .payment-row{grid-template-columns:1fr}.payment-section .payment-field.full-width{grid-column:span 1}.day-out-final-total .day-out-total-value{font-size:1.25rem}}.booking-info-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;border-bottom:1px solid #e2e8f0}.info-row:last-child{border-bottom:none}.info-row.total-row{background:#f1f5f9;border-radius:8px;margin-top:.5rem;border-bottom:none}.info-label{font-size:.9rem;font-weight:500;color:#64748b}.info-value{font-size:.95rem;font-weight:600;color:#1e293b}.info-value.highlight{color:#f97316;font-size:1.1rem;font-weight:700}.info-row.due-row{background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:8px;margin-top:.5rem;border-bottom:none}.info-value.due-highlight{color:#dc2626;font-size:1.1rem;font-weight:700}.amount-section{background:#fafafa;border:2px solid #e5e7eb;border-radius:14px;padding:1.25rem;margin-top:1rem}.amount-field{margin-bottom:1rem}.amount-field:last-of-type{margin-bottom:1.25rem}.amount-field label{display:block;font-size:.85rem;font-weight:600;color:#475569;margin-bottom:.4rem}.amount-input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;font-weight:600;color:#1e293b;background:#fff;transition:all .2s ease;box-sizing:border-box}.amount-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.amount-input::placeholder{color:#94a3b8;font-weight:500}.discount-display{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem;background:#fef3c7;border:2px solid #fde68a;border-radius:10px;margin-bottom:1rem}.discount-display .amount-field{margin-bottom:0}.discount-display .amount-field label{color:#92400e}.discount-display .amount-input{border-color:#fcd34d}.discount-display .amount-input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.total-field{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #86efac;border-radius:10px;padding:1rem;margin-bottom:1rem!important}.total-field label{color:#166534!important;font-size:.9rem!important}.total-input{background:#fff;border-color:#86efac!important;color:#16a34a!important;font-size:1.25rem!important;font-weight:700!important}.total-input:focus{border-color:#22c55e!important;box-shadow:0 0 0 3px #22c55e26!important}.due-field{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #fca5a5;border-radius:10px;padding:1rem;margin-bottom:1rem!important}.due-field label{color:#991b1b!important;font-size:.9rem!important}.due-input{background:#fff;border-color:#fca5a5!important;color:#dc2626!important;font-size:1.25rem!important;font-weight:700!important}.due-input:focus{border-color:#f87171!important;box-shadow:0 0 0 3px #dc262626!important}.due-clear-btn{width:100%;padding:1rem;margin-top:1rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #22c55e4d}.due-clear-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}.due-cleared-toast{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;margin-top:1rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #86efac;border-radius:12px;color:#166534;font-size:1rem;font-weight:600;animation:toastSlideIn .3s ease}.due-cleared-toast .toast-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#16a34a;color:#fff;border-radius:50%;font-size:1rem;font-weight:700}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.discount-display{grid-template-columns:1fr}.total-input,.due-input{font-size:1.1rem!important}}.discount-reasons-section{padding:.75rem;margin-bottom:.5rem}.discount-reasons-section>.info-label{display:block;font-size:.9rem;font-weight:600;color:#475569;margin-bottom:.75rem}.discount-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.5rem}.discount-checkbox{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:default;transition:all .2s ease}.discount-checkbox.checked{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#86efac}.discount-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#16a34a;cursor:default}.discount-checkbox .checkbox-label{font-size:.85rem;font-weight:500;color:#475569}.discount-checkbox.checked .checkbox-label{color:#166534;font-weight:600}.promo-code-applied{padding:.5rem .75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:6px;font-size:.85rem;font-weight:600;color:#b45309;margin-top:.5rem}.other-reason-text{padding:.5rem .75rem;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;font-size:.85rem;color:#92400e;margin-top:.5rem}.discount-summary{padding:.75rem 1rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #93c5fd;border-radius:8px;font-size:1rem;font-weight:700;color:#1d4ed8;text-align:center;margin-top:.75rem}@media (max-width: 768px){.discount-checkboxes{grid-template-columns:1fr}}.cancel-confirm-modal{max-width:420px;width:90%}.cancel-confirm-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.cancel-confirm-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#dc2626}.cancel-confirm-body{padding:1.25rem}.cancel-confirm-body>p{margin:0 0 1.25rem;color:#475569;text-align:center}.cancel-options{display:flex;flex-direction:column;gap:.75rem}.cancel-option-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;border:2px solid;border-radius:12px;cursor:pointer;transition:all .2s ease}.cancel-option-btn .option-icon{font-size:1.5rem}.cancel-option-btn .option-title{font-size:.95rem;font-weight:600}.cancel-option-btn .option-desc{font-size:.8rem;opacity:.8}.cancel-option-btn.no-refund{background:linear-gradient(135deg,#fef9c3,#fef08a);border-color:#facc15;color:#854d0e}.cancel-option-btn.no-refund:hover{background:linear-gradient(135deg,#fef08a,#fde047);transform:translateY(-2px);box-shadow:0 4px 12px #facc154d}.cancel-option-btn.with-refund{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#f87171;color:#991b1b}.cancel-option-btn.with-refund:hover{background:linear-gradient(135deg,#fecaca,#fca5a5);transform:translateY(-2px);box-shadow:0 4px 12px #f871714d}.cancel-option-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.cancellation-reason-section{margin-bottom:1rem}.reason-label{display:block;font-size:.9rem;font-weight:600;color:#374151;margin-bottom:.5rem}.cancellation-reason-input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s ease}.cancellation-reason-input:focus{outline:none;border-color:#f87171;box-shadow:0 0 0 3px #f8717126}.cancellation-reason-input::placeholder{color:#9ca3af}.cancel-type-label{font-size:.85rem;color:#6b7280;margin:0 0 .75rem;text-align:center}.reason-required-note{margin:.75rem 0 0;font-size:.8rem;color:#dc2626;text-align:center}[data-theme=dark] .reason-label{color:#e5e7eb}[data-theme=dark] .cancellation-reason-input{background:#374151;border-color:#4b5563;color:#f3f4f6}[data-theme=dark] .cancellation-reason-input:focus{border-color:#f87171}[data-theme=dark] .cancellation-reason-input::placeholder{color:#9ca3af}[data-theme=dark] .cancel-type-label{color:#9ca3af}.password-modal{width:100%;max-width:400px;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px #0000004d}.password-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#1e293b,#334155);color:#fff}.password-modal-header h3{margin:0;font-size:1.1rem;font-weight:600}.password-modal-header .close-btn{background:#ffffff1a;border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.password-modal-header .close-btn:hover{background:#fff3}.password-modal-body{padding:1.5rem;background:#fff}.password-modal-message{margin:0 0 1rem;color:#475569;font-size:.95rem;text-align:center}.password-input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:all .2s;box-sizing:border-box}.password-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.password-error{margin:.75rem 0 0;color:#dc2626;font-size:.875rem;text-align:center;font-weight:500}.password-modal-footer{display:flex;gap:.75rem;padding:1rem 1.5rem 1.5rem;background:#fff}.password-cancel-btn{flex:1;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;font-weight:600;cursor:pointer;transition:all .2s}.password-cancel-btn:hover{border-color:#cbd5e1;background:#f8fafc}.password-submit-btn{flex:1;padding:.75rem 1rem;border:none;border-radius:10px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.password-submit-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.password-submit-btn.delete{background:linear-gradient(135deg,#ef4444,#dc2626)}.password-submit-btn.delete:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef44444d}@media (max-width: 480px){.password-modal{width:95%;max-width:none}}.auto-assign-section{margin-top:1.5rem}.auto-assign-section h3{color:#1d4ed8;border-bottom-color:#bfdbfe}.current-assignments{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:1rem}.accommodation-requests{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.accommodation-request-row{display:flex;align-items:center;gap:.75rem}.accommodation-type-select{flex:1;padding:.65rem .85rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.9rem;background:#fff;cursor:pointer}.accommodation-type-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.quantity-input{width:70px;padding:.65rem .5rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.9rem;text-align:center;background:#fff}.quantity-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.remove-request-btn{width:36px;height:36px;padding:0;background:#fee2e2;color:#dc2626;border:none;border-radius:8px;font-size:1.25rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.remove-request-btn:hover{background:#fecaca}.assign-actions{display:flex;gap:.75rem;margin-bottom:1rem}.add-request-btn{flex:1;padding:.75rem 1rem;background:#f1f5f9;color:#475569;border:2px dashed #cbd5e1;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.add-request-btn:hover:not(:disabled){background:#e2e8f0;border-color:#94a3b8}.add-request-btn:disabled{opacity:.5;cursor:not-allowed}.auto-assign-btn{flex:1;padding:.75rem 1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d}.auto-assign-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.auto-assign-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.check-availability-btn{width:100%;padding:.65rem 1rem;background:#f0fdf4;color:#047857;border:2px solid #a7f3d0;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.check-availability-btn:hover{background:#dcfce7;border-color:#4ade80}.availability-result{margin-top:1rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.availability-result h4{margin:0 0 .75rem;font-size:.9rem;color:#475569;font-weight:600}.availability-type{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.availability-type:last-child{border-bottom:none}.availability-type .type-name{font-weight:600;color:#1e293b}.availability-type .available-count{color:#047857;font-weight:500}.availability-type .room-codes{color:#64748b;font-size:.85rem;margin-left:.5rem}.admin-booking-details{margin-top:1.5rem}.admin-booking-details h3{margin:0 0 1rem;font-size:1.1rem;color:#374151;border-bottom:2px solid #3b82f6;padding-bottom:.5rem}.admin-rooms-display{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.assigned-rooms-list{display:flex;flex-wrap:wrap;gap:.75rem}.assigned-rooms-list .room-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:48px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:10px;font-size:1.1rem;font-weight:700;box-shadow:0 2px 8px #3b82f64d}.admin-rooms-display .no-rooms{color:#9ca3af;font-style:italic;margin:0;text-align:center}.admin-expense-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px dashed #e2e8f0}.admin-expense-section .expense-btn{padding:.625rem 1.25rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.admin-expense-section .expense-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.expense-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.expense-modal{background:#fff;border-radius:16px;width:90%;max-width:400px;box-shadow:0 20px 50px #00000026;overflow:hidden}.expense-booking-ref{margin:0 0 1rem;padding:.75rem 1rem;background:#f0fdf4;border-radius:8px;font-size:.9rem;color:#047857;font-weight:500}.expense-modal-footer .cancel-btn{padding:.625rem 1.25rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s}.expense-modal-footer .cancel-btn:hover{border-color:#d1d5db;color:#374151}.expense-modal-footer .add-expense-btn{padding:.625rem 1.25rem;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.expense-modal-footer .add-expense-btn:hover{background:linear-gradient(135deg,#059669,#047857)}.pricing-breakdown-section{margin-top:1.5rem}.section-header-with-action{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:2px solid #d1fae5;margin-bottom:1rem}.section-header-with-action h3{margin:0;border-bottom:none;padding-bottom:0}.view-breakdown-btn{padding:.5rem 1rem;background:#f0fdf4;color:#047857;border:2px solid #a7f3d0;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.view-breakdown-btn:hover:not(:disabled){background:#dcfce7;border-color:#4ade80}.view-breakdown-btn:disabled{opacity:.6;cursor:not-allowed}.pricing-breakdown-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.breakdown-category{padding:1rem;border-bottom:1px solid #e2e8f0}.breakdown-category:last-child{border-bottom:none}.breakdown-category h4{margin:0 0 .75rem;font-size:.95rem;color:#1e293b;font-weight:600}.breakdown-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;margin-bottom:.75rem}.breakdown-item:last-child{margin-bottom:0}.breakdown-item.simple{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem}.breakdown-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px dashed #e2e8f0}.breakdown-item .item-name{font-weight:600;color:#1e293b}.breakdown-item .item-total{font-weight:700;color:#047857}.night-detail{padding:.5rem 0;border-bottom:1px solid #f1f5f9}.night-detail:last-child{border-bottom:none}.night-date{display:block;font-size:.85rem;color:#64748b;margin-bottom:.35rem}.night-pricing{display:flex;flex-direction:column;gap:.25rem;padding-left:.75rem;font-size:.85rem}.night-pricing .base-price{color:#475569}.night-discounts{display:flex;flex-direction:column;gap:.25rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-left:3px solid #22c55e;padding:.5rem .75rem;border-radius:6px;margin:.35rem 0}.night-discounts .discount-line{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.night-discounts .discount-line:before{content:"→";color:#059669;font-weight:700}.night-discounts .discount-name{color:#047857;flex:1}.night-discounts .discount-amount{color:#047857;font-weight:600}.night-pricing .night-final{color:#047857;font-weight:600;margin-top:.25rem}.breakdown-summary{padding:1rem;background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.95rem;color:#475569}.summary-row.promo{color:#dc2626}.summary-row.total{font-size:1.1rem;font-weight:700;color:#047857;padding-top:.75rem;margin-top:.5rem;border-top:2px solid #cbd5e1}.summary-row.due{color:#dc2626;font-weight:600}.pending-breakdown h3{margin-bottom:1rem;color:#1e293b;font-size:1.1rem;padding-bottom:.75rem;border-bottom:2px solid #d1fae5}.room-breakdown-card{background:#fff;border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.room-breakdown-card:last-child{margin-bottom:0}.room-breakdown-card.cottage-card{border:2px solid #10b981;box-shadow:0 2px 8px #10b98126}.room-breakdown-card.cottage-card .room-header{background:linear-gradient(135deg,#059669,#10b981)}.room-breakdown-card.suite-card{border:2px solid #3b82f6;box-shadow:0 2px 8px #3b82f626}.room-breakdown-card.suite-card .room-header{background:linear-gradient(135deg,#2563eb,#3b82f6)}.room-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:none}.room-header .room-name{color:#fff;font-size:1.05rem}.room-name{font-weight:700;color:#166534;font-size:1rem}.room-total{font-weight:700;color:#047857;font-size:1.1rem}.room-total-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;margin:.5rem .75rem .75rem;background:#f8fafc;border-radius:8px;border-top:2px solid #e2e8f0;font-weight:700;font-size:.95rem;color:#1e293b}.cottage-card .room-total-row{background:#f0fdf4;border-top-color:#10b981;color:#166534}.suite-card .room-total-row{background:#eff6ff;border-top-color:#3b82f6;color:#1e40af}.night-breakdown-card{border-bottom:1px solid #f1f5f9;padding:.75rem 1rem}.night-breakdown-card:last-child{border-bottom:none}.night-header{margin-bottom:.5rem}.night-label{font-weight:600;color:#334155;font-size:.9rem;background:#f1f5f9;padding:.25rem .5rem;border-radius:4px;display:inline-block}.night-details{padding-left:.5rem}.night-details .price-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.9rem;color:#475569}.night-details .discounts-applied{margin:.5rem 0;padding:.5rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:6px;border-left:3px solid #22c55e}.night-details .discounts-label{display:block;font-size:.8rem;color:#047857;font-weight:600;margin-bottom:.35rem}.night-details .discount-row{display:flex;justify-content:space-between;font-size:.85rem;color:#047857;padding:.2rem 0}.night-details .discount-value{font-weight:600;color:#047857}.night-details .total-discount{border-top:1px dashed #22c55e;margin-top:.25rem;padding-top:.35rem}.night-details .total-discount .discount-value{font-size:.9rem;font-weight:600}.night-details .final-price{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0;font-weight:600}.night-details .final-value{color:#047857;font-weight:700;font-size:1rem}.lunchbox-breakdown-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1rem;margin-bottom:.75rem}.lunchbox-breakdown-card:last-child{margin-bottom:0}.lunchbox-header{font-weight:600;color:#1e293b;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.lunchbox-details .price-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.9rem;color:#475569}.lunchbox-details .final-price{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0;font-weight:600}.lunchbox-details .final-value{color:#047857;font-weight:700}.lunchbox-details .discount-row{display:flex;justify-content:space-between;font-size:.85rem;color:#047857;padding:.2rem 0 .2rem .5rem}.lunchbox-details .discount-value{font-weight:600;color:#047857}.lunchbox-details .discounted-price{color:#047857;font-weight:500}.guests-breakdown-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1rem}.guest-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f1f5f9;font-size:.9rem}.guest-row:last-child{border-bottom:none}.guest-label{color:#475569;font-weight:500}.guest-value{color:#1e293b;font-weight:600}.guest-value.free{color:#10b981;background:#d1fae5;padding:.2rem .5rem;border-radius:4px;font-size:.8rem}.guest-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1rem;margin-bottom:.75rem}.guest-detail-card:last-child{margin-bottom:0}.guest-header{font-weight:600;color:#1e293b;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.guest-detail-card .price-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.9rem;color:#475569}.guest-detail-card .discount-row{display:flex;justify-content:space-between;font-size:.85rem;color:#047857;padding:.2rem 0 .2rem .5rem}.guest-detail-card .discount-value{font-weight:600;color:#047857}.guest-detail-card .discounted-price{color:#047857;font-weight:500}.guest-detail-card .final-price{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0;font-weight:600}.guest-detail-card .final-value{color:#047857;font-weight:700}.summary-category{background:linear-gradient(135deg,#f0fdf4,#ecfdf5)}.summary-breakdown-card{background:#fff;border:2px solid #a7f3d0;border-radius:10px;padding:1rem}.summary-breakdown-card .summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.95rem;color:#475569}.summary-breakdown-card .promo-row{background:#fef2f2;margin:.5rem -1rem;padding:.5rem 1rem;color:#dc2626}.summary-breakdown-card .promo-discount{color:#dc2626;font-weight:600}.summary-breakdown-card .admin-discount-row{background:#fef2f2;margin:.5rem -1rem;padding:.5rem 1rem;border-radius:4px}.summary-breakdown-card .admin-discount{color:#dc2626;font-weight:600}.summary-breakdown-card .total-row{margin-top:.75rem;padding:.875rem 1rem;background:linear-gradient(135deg,#166534,#15803d);border-radius:10px;font-size:1.15rem;font-weight:700;color:#fff}.summary-breakdown-card .total-value{color:#fff;font-size:1.25rem}.summary-breakdown-card .due-row{margin-top:.25rem;padding-top:.5rem;border-top:1px dashed #e2e8f0}.summary-breakdown-card .due-value{color:#dc2626;font-weight:700;font-size:1.1rem}.cancellation-badge-row{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.summary-breakdown-card .cancellation-type-badge{display:inline-block;padding:.375rem .875rem;border-radius:20px;font-size:.85rem;font-weight:600}.summary-breakdown-card .cancellation-type-badge.refund{background:#fee2e2;color:#dc2626}.summary-breakdown-card .cancellation-type-badge.no_refund{background:#d1fae5;color:#047857}.summary-breakdown-card .cancellation-type-badge.unknown{background:#f3f4f6;color:#6b7280}.summary-breakdown-card .refund-row{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0}.summary-breakdown-card .refund-value{color:#dc2626;font-weight:700}.summary-breakdown-card .retained-row{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0}.summary-breakdown-card .retained-value{color:#047857;font-weight:700}.cancellation-reason-display{margin-top:.75rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.cancellation-reason-display .reason-label{display:block;font-size:.8rem;font-weight:600;color:#991b1b;margin-bottom:.25rem}.cancellation-reason-display .reason-text{display:block;font-size:.9rem;color:#7f1d1d;line-height:1.4}[data-theme=dark] .cancellation-reason-display{background:#451a1a;border-color:#7f1d1d}[data-theme=dark] .cancellation-reason-display .reason-label{color:#fca5a5}[data-theme=dark] .cancellation-reason-display .reason-text{color:#fecaca}.summary-breakdown-card .paid-row{display:flex;justify-content:space-between;align-items:center}.paid-input-wrapper{display:flex;align-items:center;gap:.25rem;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;padding:.25rem .5rem;transition:all .2s ease}.paid-input-wrapper:focus-within{border-color:#22c55e;box-shadow:0 0 0 2px #22c55e33}.paid-input-wrapper .currency-prefix{color:#16a34a;font-weight:600;font-size:.95rem}.paid-input{width:100px;border:none;background:transparent;font-size:.95rem;font-weight:600;color:#047857;text-align:right;outline:none;-moz-appearance:textfield}.paid-input::-webkit-outer-spin-button,.paid-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.paid-input:disabled{opacity:.6;cursor:not-allowed}.saving-indicator{color:#6b7280;font-size:.85rem;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.paid-edit-group{display:flex;align-items:center;gap:.5rem}.paid-save-btn{padding:.35rem .75rem;background:#22c55e;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.paid-save-btn:hover:not(:disabled){background:#16a34a}.paid-save-btn:disabled{background:#9ca3af;cursor:not-allowed}.discount-row.enhanced{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.85rem}.discount-row.enhanced .discount-arrow{color:#059669;font-weight:700}.discount-row.enhanced .discount-name{color:#047857;flex:1}.discount-row.enhanced .discount-amount{color:#047857;font-weight:600}.discounts-applied{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-left:3px solid #22c55e;padding:.75rem;border-radius:6px;margin:.5rem 0}.promo-code-input-section{margin:.75rem 0;padding:1rem;background:linear-gradient(135deg,#fefce8,#fef9c3);border-radius:10px;border:1px solid #fde047}.promo-input-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.promo-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-weight:600;color:#64748b;transition:all .2s ease}.promo-checkbox.checked{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#86efac;color:#047857}.promo-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:#22c55e}.promo-input-group{display:flex;flex:1;min-width:200px;gap:.5rem}.promo-code-input{flex:1;padding:.6rem .75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.promo-code-input:focus{outline:none;border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa33}.promo-code-input:disabled{background:#f1f5f9;cursor:not-allowed}.apply-promo-btn{padding:.6rem 1rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.apply-promo-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.apply-promo-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.promo-applied-row{margin-top:.75rem;padding:.75rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:8px;display:flex;justify-content:space-between;align-items:center}.promo-applied-label{color:#047857;font-weight:600}.promo-applied-row .promo-discount{color:#dc2626;font-weight:700;font-size:1rem}@media (max-width: 768px){.accommodation-request-row{flex-wrap:wrap}.accommodation-type-select{flex:1 1 100%}.quantity-input{flex:1}.assign-actions{flex-direction:column}.section-header-with-action{flex-direction:column;align-items:flex-start;gap:.75rem}.view-breakdown-btn{width:100%}.promo-input-row{flex-direction:column;align-items:stretch}.promo-input-group{min-width:unset}}.saved-breakdown-section{background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;padding:1.5rem}.saved-date-display{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #3b82f6;border-radius:12px;margin-bottom:1.5rem}.saved-date-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.saved-date-label{font-size:.7rem;font-weight:600;color:#1e40af;text-transform:uppercase;letter-spacing:.5px}.saved-date-value{font-size:1.1rem;font-weight:700;color:#1e3a8a}.saved-date-arrow{font-size:1.5rem;color:#3b82f6;font-weight:700}.saved-breakdown-block{margin-bottom:1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.saved-block-title{padding:.75rem 1rem;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);font-weight:700;color:#374151;margin:0;font-size:1rem;border-bottom:1px solid #e5e7eb}.saved-block-total{padding:.75rem 1rem;background:#f9fafb;font-size:1rem;text-align:right;border-top:1px solid #e5e7eb}.saved-room-cards{padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.saved-room-card{background:#fefce8;border:2px solid #fde047;border-radius:10px;padding:1rem}.saved-room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.saved-room-type{font-weight:700;font-size:1rem;color:#1f2937}.saved-room-qty{font-weight:600;color:#6b7280}.saved-room-price{font-size:.9rem;color:#6b7280;margin-bottom:.5rem}.saved-room-detail{margin-top:.75rem;padding:.75rem;background:#fff;border-radius:8px;border:1px solid #fde047}.saved-room-id{font-weight:600;color:#1f2937;display:block;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #f3f4f6}.saved-night-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.4rem 0;border-bottom:1px solid #f3f4f6}.saved-night-row:last-child{border-bottom:none}.saved-night-date{flex:1;font-size:.85rem;color:#6b7280}.saved-night-price{font-weight:600;color:#1f2937}.saved-night-price.discounted{background:#dcfce7;padding:.2rem .5rem;border-radius:4px;color:#166534}.saved-discount-tag{font-size:.75rem;background:#fee2e2;color:#dc2626;padding:.2rem .5rem;border-radius:4px;font-weight:600}.saved-room-total{margin-top:.75rem;padding-top:.5rem;border-top:2px solid #fde047;text-align:right;font-size:.95rem}.saved-guest-cards{padding:.75rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.saved-guest-card{background:#ecfdf5;border:2px solid #a7f3d0;border-radius:10px;padding:1rem;text-align:center}.saved-guest-type{font-weight:700;color:#166534;margin-bottom:.25rem}.saved-guest-qty{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.saved-guest-free{background:#22c55e;color:#fff;padding:.25rem .5rem;border-radius:4px;font-weight:700;font-size:.85rem}.saved-guest-price{font-size:.85rem;color:#6b7280}.saved-guest-total{font-weight:700;color:#166534;margin-top:.25rem}.saved-lunchbox-cards{padding:.75rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.saved-lunchbox-card{background:#fff7ed;border:2px solid #fed7aa;border-radius:10px;padding:1rem;text-align:center}.saved-lunchbox-name{font-weight:700;color:#c2410c;margin-bottom:.25rem}.saved-lunchbox-qty{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.saved-lunchbox-price{font-size:.85rem;color:#6b7280}.saved-lunchbox-total{font-weight:700;color:#c2410c;margin-top:.25rem}.saved-subtotal-banner{padding:1rem;background:#e5e7eb;border-radius:10px;font-size:1.1rem;font-weight:600;text-align:center;color:#1f2937;margin:1rem 0}.saved-discount-block{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:10px;margin-bottom:.5rem}.saved-discount-block.promo{background:#fef3c7;border:2px solid #f59e0b}.saved-discount-block.admin{background:#fce7f3;border:2px solid #ec4899}.saved-discount-label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#374151}.discount-icon{font-size:1.1rem}.saved-discount-reason{font-size:.85rem;color:#6b7280;font-style:italic}.saved-discount-value{font-weight:700;color:#dc2626;font-size:1.1rem}.saved-discount-amount{font-size:.9rem;margin-left:.5rem}.saved-final-banner{padding:1.25rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:12px;font-size:1.4rem;font-weight:700;text-align:center;margin:1rem 0}.saved-payment-block{margin-top:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;overflow:hidden}.saved-payment-row{display:flex;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #f3f4f6}.saved-payment-row:last-child{border-bottom:none}.saved-payment-row.paid{background:#dcfce7}.saved-payment-row.paid strong{color:#166534}.saved-payment-row.due{background:#fee2e2}.saved-payment-row.due strong{color:#dc2626}@media (max-width: 768px){.saved-date-display{flex-direction:column;gap:.75rem}.saved-guest-cards,.saved-lunchbox-cards{grid-template-columns:1fr}.saved-discount-block{flex-direction:column;gap:.5rem;text-align:center}.saved-final-banner{font-size:1.1rem}}.edit-controls-bar{display:flex;justify-content:flex-end;padding:.75rem 1.5rem;background:#f8fafc;border-bottom:1px solid #e5e7eb}.edit-booking-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem 1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #2563eb33;white-space:nowrap;flex-shrink:0}.edit-booking-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.edit-mode-actions{display:flex;gap:.5rem}.save-edit-btn{display:flex;align-items:center;gap:.3rem;padding:.5rem 1rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #16a34a33}.save-edit-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px)}.save-edit-btn:disabled{opacity:.7;cursor:not-allowed}.cancel-edit-btn{display:flex;align-items:center;gap:.3rem;padding:.5rem 1rem;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-edit-btn:hover:not(:disabled){background:#e2e8f0;color:#475569}.cancel-edit-btn:disabled{opacity:.7;cursor:not-allowed}.edit-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:1rem;background:#fafbfc;border-radius:10px;border:1px solid #e5e7eb}.edit-form-item{display:flex;flex-direction:column;gap:.4rem}.edit-label{font-size:.8rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.03em}.edit-input{padding:.6rem .8rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .2s ease;background:#fff}.edit-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.edit-input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.edit-input[type=number]{width:100%}.edit-readonly{padding:.6rem .8rem;background:#f3f4f6;border-radius:8px;font-size:.95rem;color:#6b7280;border:2px solid transparent}.edit-discount-section{padding:1.25rem;background:linear-gradient(135deg,#fefce8,#fef9c3);border:2px solid #fde047;border-radius:12px;margin:1rem 0}.edit-discount-section h3{font-size:1.1rem;font-weight:700;color:#854d0e;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px dashed #fde047}.edit-discount-block{margin-bottom:1.25rem;padding:1rem;background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000000d}.edit-discount-block:last-of-type{margin-bottom:0}.edit-discount-label{display:block;font-size:.85rem;font-weight:700;color:#374151;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.03em}.promo-edit-row{display:flex;gap:.5rem}.promo-input{flex:1;text-transform:uppercase;font-weight:600;letter-spacing:.05em}.apply-promo-btn{padding:.6rem 1.2rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.apply-promo-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)}.apply-promo-btn:disabled{opacity:.6;cursor:not-allowed}.remove-promo-btn{padding:.6rem 1.2rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.remove-promo-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.promo-applied-tag{margin-top:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border-radius:6px;font-size:.9rem;font-weight:600}.admin-discount-row{display:flex;gap:.5rem;margin-bottom:.75rem}.discount-type-select{padding:.6rem .8rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;background:#fff;cursor:pointer;min-width:150px}.discount-type-select:focus{outline:none;border-color:#3b82f6}.discount-value-input{width:120px;text-align:center;font-weight:600}.admin-discount-reasons{margin-top:.75rem}.discount-reason-label{display:block;font-size:.8rem;font-weight:600;color:#6b7280;margin-bottom:.5rem}.discount-reason-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.discount-checkbox{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:#f3f4f6;border-radius:20px;font-size:.85rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.discount-checkbox:hover{background:#e5e7eb}.discount-checkbox.checked{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;color:#1d4ed8}.discount-checkbox input{display:none}.other-reason-input{width:100%;margin-top:.5rem}.edit-form-item.full-width{grid-column:1 / -1}.room-selection-grid{display:flex;flex-wrap:wrap;gap:.5rem}.room-select-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem 1rem;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease;min-width:70px}.room-select-btn:hover{background:#e5e7eb;border-color:#d1d5db}.room-select-btn.selected{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#22c55e;box-shadow:0 2px 8px #22c55e4d}.room-select-btn .room-code{font-size:1.1rem;font-weight:700;color:#1f2937}.room-select-btn.selected .room-code{color:#166534}.room-select-btn .room-type{font-size:.7rem;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.room-select-btn.selected .room-type{color:#15803d}.room-select-btn.booked{background:#fee2e2;border-color:#fca5a5;cursor:not-allowed;opacity:.8}.room-select-btn.booked .room-code{color:#991b1b}.room-select-btn.booked .room-type{color:#b91c1c}.room-select-btn .booked-label{font-size:.6rem;color:#dc2626;font-weight:700;text-transform:uppercase;background:#fef2f2;padding:.1rem .3rem;border-radius:4px;margin-top:.2rem}.selected-rooms-summary{display:flex;gap:1.5rem;margin-top:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.selected-rooms-summary .summary-item{font-size:.9rem;color:#475569}.selected-rooms-summary .summary-item strong{color:#1e293b;font-weight:700}.edit-total-preview{margin-top:1rem;padding:1rem;background:#fff;border-radius:10px;border:2px solid #e5e7eb}.preview-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.95rem;color:#374151}.preview-row.discount{color:#16a34a;font-weight:500}.preview-row.total{padding-top:.75rem;margin-top:.5rem;border-top:2px dashed #e5e7eb;font-size:1.1rem;font-weight:700;color:#1f2937}@media (max-width: 768px){.edit-form-grid{grid-template-columns:1fr 1fr;gap:.75rem;padding:.75rem}.modal-badges{flex-wrap:wrap}.edit-mode-actions{width:100%;justify-content:flex-end}.promo-edit-row,.admin-discount-row{flex-direction:column}.discount-type-select,.discount-value-input{width:100%}.discount-reason-checkboxes{flex-direction:column}.discount-checkbox{width:fit-content}}@media (max-width: 480px){.edit-form-grid{grid-template-columns:1fr}.edit-booking-btn{padding:.4rem .75rem;font-size:.8rem}}.print-section{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;justify-content:center}.print-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:linear-gradient(135deg,#1f2937,#374151);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #1f29374d}.print-btn:hover{background:linear-gradient(135deg,#374151,#4b5563);transform:translateY(-2px);box-shadow:0 4px 12px #1f293766}.print-btn:active{transform:translateY(0)}.print-icon{font-size:1.2rem}.save-notification{background:#d1fae5;color:#047857;padding:1rem 1.5rem;border-radius:10px;margin-bottom:1.5rem;font-weight:500;display:flex;align-items:center;gap:.5rem;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.edit-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.edit-tab{padding:.75rem 1.25rem;background:#fff;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease}.edit-tab:hover{border-color:#2d5f3f;color:#2d5f3f}.edit-tab.active{background:#2d5f3f;border-color:#2d5f3f;color:#fff}.edit-section{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 15px #0000000d}.edit-section .section-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.edit-group{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #f3f4f6}.edit-group:last-of-type{border-bottom:none;margin-bottom:1.5rem}.group-title{font-size:1rem;font-weight:600;color:#2d5f3f;margin:0 0 1rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.9rem;font-weight:600;color:#374151}.form-group input,.form-group textarea,.form-group select{padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;color:#1f2937;background:#f9fafb;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#2d5f3f;background:#fff;box-shadow:0 0 0 4px #2d5f3f1a}.form-group textarea{resize:vertical;min-height:100px}.save-btn{padding:1rem 2rem;background:linear-gradient(135deg,#2d5f3f,#3d7f5f);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.save-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2d5f3f4d}.items-list{margin-top:2rem}.items-list .group-title{margin-bottom:1rem}.no-items{color:#6b7280;font-style:italic;padding:1rem;text-align:center;background:#f9fafb;border-radius:10px}.item-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9fafb;border-radius:12px;margin-bottom:.75rem;transition:all .2s ease}.item-card:hover{background:#f3f4f6}.item-preview{display:flex;align-items:center;gap:1rem;flex:1}.item-thumbnail{width:80px;height:60px;border-radius:8px;background-size:cover;background-position:center;background-color:#e5e7eb;flex-shrink:0}.item-info{flex:1}.item-info h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#1f2937}.item-info p{margin:0;font-size:.875rem;color:#6b7280}.item-info small{font-size:.75rem;color:#9ca3af}.item-actions{display:flex;gap:.5rem}.edit-btn,.delete-btn,.cancel-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-btn{background:#dbeafe;color:#1d4ed8}.edit-btn:hover{background:#bfdbfe}.delete-btn{background:#fee2e2;color:#dc2626}.cancel-btn{background:#e5e7eb;color:#4b5563}.cancel-btn:hover{background:#d1d5db}.save-btn.small,.edit-btn.small,.delete-btn.small,.cancel-btn.small{padding:.4rem .75rem;font-size:.8rem}.item-edit-form{display:flex;flex-direction:column;gap:.75rem;width:100%}.item-edit-form input,.item-edit-form textarea{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;color:#1f2937;background:#fff;transition:all .2s ease}.item-edit-form input:focus,.item-edit-form textarea:focus{outline:none;border-color:#2d5f3f;box-shadow:0 0 0 3px #2d5f3f1a}.item-edit-form .item-actions{margin-top:.5rem}.gallery-grid-section{margin-top:2rem}.gallery-grid-section .group-title{margin-bottom:1.5rem}.gallery-grid-admin{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.gallery-grid-item{background:#f9fafb;border-radius:12px;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px #00000014}.gallery-grid-item:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001f}.gallery-grid-image{width:100%;height:180px;background-size:cover;background-position:center;background-color:#e5e7eb;cursor:pointer;transition:all .3s ease}.gallery-grid-image:hover{opacity:.9}.gallery-grid-info{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.25rem}.gallery-grid-title{font-size:.9rem;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-grid-order{font-size:.75rem;color:#6b7280}.gallery-grid-actions{display:flex;gap:.5rem;padding:0 1rem 1rem}.gallery-grid-actions .edit-btn,.gallery-grid-actions .delete-btn{flex:1;text-align:center}.gallery-edit-form{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.gallery-edit-form input{padding:.6rem .8rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.85rem;color:#1f2937;background:#fff;transition:all .2s ease}.gallery-edit-form input:focus{outline:none;border-color:#2d5f3f;box-shadow:0 0 0 3px #2d5f3f1a}.gallery-edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.gallery-edit-actions .save-btn,.gallery-edit-actions .cancel-btn{flex:1;margin-top:0}.fullscreen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:9999;padding:2rem}.fullscreen-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.fullscreen-close{position:absolute;top:-50px;right:0;background:none;border:none;color:#fff;font-size:2.5rem;cursor:pointer;transition:all .2s ease;line-height:1;padding:.5rem}.fullscreen-close:hover{color:#ef4444;transform:scale(1.1)}.fullscreen-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:12px;box-shadow:0 20px 60px #00000080}.fullscreen-info{text-align:center;color:#fff}.fullscreen-info h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.fullscreen-info p{margin:0;color:#9ca3af;font-size:.95rem}.fullscreen-actions{display:flex;gap:1rem;margin-top:.5rem}.fullscreen-edit-btn{padding:1rem 2.5rem;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.fullscreen-edit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2563eb66}.fullscreen-delete-btn{padding:1rem 2.5rem;background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.fullscreen-delete-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #dc262666}.fullscreen-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;font-size:4rem;width:70px;height:100px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;border-radius:8px;z-index:10}.fullscreen-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.05)}.fullscreen-prev{left:2rem}.fullscreen-next{right:2rem}.fullscreen-counter{color:#9ca3af;font-size:.9rem;margin-top:.5rem}.floating-edit-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;padding:1.5rem;min-width:350px;max-width:90vw;box-shadow:0 25px 50px #00000080;z-index:100;animation:floatIn .3s ease}@keyframes floatIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.floating-edit-card h4{margin:0 0 1.25rem;font-size:1.25rem;font-weight:600;color:#1f2937;text-align:center}.floating-edit-field{margin-bottom:1rem}.floating-edit-field label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.floating-edit-field input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;color:#1f2937;background:#f9fafb;transition:all .2s ease;box-sizing:border-box}.floating-edit-field input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.floating-edit-actions{display:flex;gap:.75rem;margin-top:1.5rem}.floating-save-btn{flex:1;padding:.75rem 1.5rem;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.floating-save-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #2563eb66}.floating-cancel-btn{flex:1;padding:.75rem 1.5rem;background:#f3f4f6;color:#6b7280;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.floating-cancel-btn:hover{background:#e5e7eb;color:#374151}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.section-header-row .section-title{margin:0;padding:0;border:none}.recycle-bin-toggle{padding:.6rem 1.2rem;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.recycle-bin-toggle:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2}.recycle-bin-toggle.active{background:#fef2f2;border-color:#ef4444;color:#ef4444}.recycle-bin-section{background:#fef2f2;border:2px dashed #fca5a5;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.recycle-bin-section .group-title{color:#dc2626;margin-bottom:1rem}.recycle-bin-section .no-items{background:#fff}.gallery-grid-item.deleted-item{opacity:.85;border:2px solid #fca5a5}.gallery-grid-item.deleted-item .gallery-grid-image{filter:grayscale(30%)}.restore-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:#d1fae5;color:#047857}.restore-btn:hover{background:#a7f3d0}.restore-btn.small{padding:.4rem .75rem;font-size:.8rem}@media (max-width: 1200px){.gallery-grid-admin{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.edit-tabs{flex-direction:column}.edit-tab{text-align:center}.form-row{grid-template-columns:1fr;gap:1rem}.edit-section{padding:1.5rem}.item-card{flex-direction:column;align-items:stretch;gap:1rem}.item-preview{flex-direction:column;align-items:flex-start}.item-thumbnail{width:100%;height:120px}.item-actions{justify-content:flex-end}.gallery-grid-admin{grid-template-columns:repeat(2,1fr);gap:1rem}.gallery-grid-image{height:140px}.fullscreen-overlay{padding:1rem}.fullscreen-close{top:-40px;font-size:2rem}.fullscreen-image{max-height:60vh}.fullscreen-info h3{font-size:1.2rem}.fullscreen-actions{flex-direction:row;gap:.75rem}.fullscreen-edit-btn,.fullscreen-delete-btn{padding:.8rem 1.5rem;font-size:.9rem}.fullscreen-nav{width:50px;height:70px;font-size:2.5rem}.fullscreen-prev{left:.5rem}.fullscreen-next{right:.5rem}}@media (max-width: 480px){.gallery-grid-admin{grid-template-columns:1fr}.gallery-grid-image{height:200px}}.image-source-toggle{display:flex;gap:0;border:2px solid #e5e7eb;border-radius:10px;overflow:hidden;width:fit-content}.source-toggle-btn{padding:.75rem 1.5rem;background:#f9fafb;border:none;font-size:.95rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease}.source-toggle-btn:first-child{border-right:1px solid #e5e7eb}.source-toggle-btn:hover{background:#f3f4f6;color:#374151}.source-toggle-btn.active{background:#2d5f3f;color:#fff}.file-upload-area{border:2px dashed #e5e7eb;border-radius:12px;transition:all .2s ease}.file-upload-area:hover{border-color:#2d5f3f}.file-upload-label{display:block;cursor:pointer;padding:2rem}.file-input-hidden{display:none}.file-upload-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.file-upload-icon{width:50px;height:50px;background:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:#6b7280;transition:all .2s ease}.file-upload-label:hover .file-upload-icon{background:#d1fae5;color:#2d5f3f}.file-upload-text{font-size:1rem;font-weight:600;color:#374151}.file-upload-hint{font-size:.85rem;color:#9ca3af}.file-preview-container{padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.file-preview-image{max-width:100%;max-height:200px;object-fit:contain;border-radius:8px;box-shadow:0 4px 15px #0000001a}.file-remove-btn{padding:.5rem 1.25rem;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.file-remove-btn:hover{background:#fecaca}.file-name{font-size:.85rem;color:#6b7280;word-break:break-all;text-align:center}.file-upload-area.compact .file-upload-label{padding:1rem}.file-upload-area.compact .file-upload-icon{width:36px;height:36px;font-size:1.25rem}.file-upload-area.compact .file-upload-text{font-size:.9rem}.file-upload-area.compact .file-upload-hint{font-size:.8rem}.file-upload-area.compact .file-preview-container{padding:.75rem;gap:.5rem}.file-upload-area.compact .file-preview-image{max-height:120px}.file-upload-area.compact .file-name{font-size:.75rem}.fullscreen-short-desc{color:#9ca3af;font-size:.95rem;margin-top:.25rem}.fullscreen-full-desc{color:#d1d5db;font-size:.9rem;margin-top:.5rem;max-height:100px;overflow-y:auto;line-height:1.5}.explore-floating-edit{min-width:650px;max-width:750px;width:750px;max-height:85vh;overflow-y:auto;padding:2rem 2.5rem;border-radius:20px;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 25px 60px #00000059,0 10px 25px #00000026,inset 0 1px #fffc}.explore-floating-edit h4{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb;text-align:center;letter-spacing:-.025em}.explore-floating-edit .floating-edit-field{margin-bottom:1.25rem}.explore-floating-edit .floating-edit-field label{display:block;font-size:.9rem;font-weight:600;color:#374151;margin-bottom:.6rem;letter-spacing:.01em}.explore-floating-edit .floating-edit-field input{width:100%;padding:.9rem 1.1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;color:#1f2937;background:#fff;transition:all .2s ease;box-sizing:border-box}.explore-floating-edit .floating-edit-field input:focus{outline:none;border-color:#2d5f3f;background:#fff;box-shadow:0 0 0 4px #2d5f3f1a}.explore-floating-edit .floating-edit-field input::placeholder{color:#9ca3af}.explore-floating-edit textarea{width:100%;min-height:140px;padding:.9rem 1.1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;font-family:inherit;color:#1f2937;background:#fff;transition:all .2s ease;box-sizing:border-box;resize:vertical;line-height:1.6}.explore-floating-edit textarea:focus{outline:none;border-color:#2d5f3f;background:#fff;box-shadow:0 0 0 4px #2d5f3f1a}.explore-floating-edit textarea::placeholder{color:#9ca3af}.explore-floating-edit .floating-edit-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:2px solid #e5e7eb}.explore-floating-edit .floating-save-btn{flex:1;padding:1rem 1.5rem;background:linear-gradient(135deg,#2d5f3f,#3d7a52);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.explore-floating-edit .floating-save-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2d5f3f66}.explore-floating-edit .floating-cancel-btn{flex:1;padding:1rem 1.5rem;background:#f3f4f6;color:#6b7280;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.explore-floating-edit .floating-cancel-btn:hover{background:#e5e7eb;color:#374151}@media (max-width: 600px){.explore-floating-edit{min-width:auto;width:95vw;max-width:95vw;padding:1.5rem;border-radius:16px}.explore-floating-edit h4{font-size:1.25rem;margin-bottom:1.25rem}.explore-floating-edit .floating-edit-field input,.explore-floating-edit textarea{padding:.8rem 1rem;font-size:.95rem}.explore-floating-edit .floating-edit-actions{flex-direction:column;gap:.75rem}.explore-floating-edit .floating-save-btn,.explore-floating-edit .floating-cancel-btn{width:100%}}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.account-card{background:#fff;border-radius:16px;box-shadow:0 4px 15px #0000000d;overflow:hidden}.account-card .card-header{padding:1.25rem 1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.account-card .card-header h2{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.account-card .card-body{padding:1.5rem}.account-avatar{width:80px;height:80px;background:linear-gradient(135deg,#2d5f3f,#3d7f5f);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2.5rem}.account-details{display:flex;flex-direction:column;gap:1rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.detail-row:last-child{border-bottom:none}.detail-label{font-size:.9rem;color:#6b7280;font-weight:500}.detail-value{font-size:.95rem;color:#1f2937;font-weight:600}.role-badge{background:#d1fae5;color:#047857;padding:.375rem .875rem;border-radius:20px;font-size:.85rem}.account-card .form-group{margin-bottom:1.25rem}.account-card .form-group label{display:block;font-size:.9rem;font-weight:600;color:#374151;margin-bottom:.5rem}.account-card .form-group input{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;color:#1f2937;background:#f9fafb;transition:all .2s ease}.account-card .form-group input:focus{outline:none;border-color:#2d5f3f;background:#fff;box-shadow:0 0 0 4px #2d5f3f1a}.message{padding:1rem;border-radius:10px;margin-bottom:1.5rem;font-size:.95rem;font-weight:500}.message.success{background:#d1fae5;color:#047857}.message.error{background:#fee2e2;color:#dc2626}.account-card .save-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#2d5f3f,#3d7f5f);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.account-card .save-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2d5f3f4d}.info-card{grid-column:1 / -1}.info-box{background:#f0fdf4;border:2px solid #d1fae5;border-radius:12px;padding:1.5rem}.info-box p{margin:.5rem 0;color:#1f2937}.info-box code{background:#d1fae5;padding:.25rem .5rem;border-radius:4px;font-family:monospace;font-size:.9rem;color:#047857}.info-box hr{border:none;border-top:1px solid #d1fae5;margin:1rem 0}.info-note{font-size:.9rem;color:#6b7280;font-style:italic}@media (max-width: 768px){.accounts-grid{grid-template-columns:1fr}.detail-row{flex-direction:column;align-items:flex-start;gap:.25rem}}.balance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 15px #0000000d;display:flex;align-items:center;gap:1.25rem;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.summary-card.total{border-left:4px solid #2d5f3f}.summary-card.paid{border-left:4px solid #047857}.summary-card.due{border-left:4px solid #f59e0b}.summary-icon{width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:#f3f4f6}.summary-card.total .summary-icon,.summary-card.paid .summary-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.summary-card.due .summary-icon{background:linear-gradient(135deg,#fef3c7,#fde68a)}.summary-info{display:flex;flex-direction:column}.summary-label{font-size:.9rem;color:#6b7280;margin-bottom:.25rem}.summary-value{font-size:1.75rem;font-weight:700;color:#1f2937}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.breakdown-card{background:#fff;border-radius:16px;box-shadow:0 4px 15px #0000000d;overflow:hidden}.breakdown-header{padding:1rem 1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.breakdown-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.breakdown-body{padding:1rem 1.5rem}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.breakdown-row:last-child{border-bottom:none}.breakdown-row span:first-child{color:#6b7280;font-size:.95rem}.breakdown-value{font-weight:600;color:#1f2937}.breakdown-value.green{color:#047857}.breakdown-value.orange{color:#b45309}.balance-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.balance-tab{padding:.75rem 1.25rem;background:#fff;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease}.balance-tab:hover{border-color:#2d5f3f;color:#2d5f3f}.balance-tab.active{background:#2d5f3f;border-color:#2d5f3f;color:#fff}.transactions-section{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 15px #0000000d}.overview-content{padding:1rem 0}.chart-placeholder{padding:1rem}.chart-bar-container{display:flex;flex-direction:column;gap:1.5rem}.chart-bar-group{display:flex;flex-direction:column;gap:.5rem}.chart-label{font-size:.95rem;font-weight:600;color:#374151}.chart-bar-wrapper{background:#f3f4f6;border-radius:8px;height:40px;overflow:hidden}.chart-bar{height:100%;border-radius:8px;transition:width .5s ease;min-width:2%}.chart-bar.room{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.chart-bar.event{background:linear-gradient(135deg,#ec4899,#be185d)}.chart-amount{font-size:1.1rem;font-weight:700;color:#1f2937}.transactions-table-container{overflow-x:auto}.transactions-table{width:100%;border-collapse:collapse}.transactions-table th,.transactions-table td{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb}.transactions-table th{font-weight:600;color:#6b7280;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb}.transactions-table td{color:#1f2937}.transactions-table tbody tr:hover{background:#f9fafb}.amount-cell{font-weight:600}.amount-cell.paid{color:#047857}.amount-cell.due{color:#b45309}.no-data{text-align:center;color:#9ca3af;padding:2rem!important}.status-badge{display:inline-block;padding:.375rem .875rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-badge.pending{background:#fef3c7;color:#b45309}.status-badge.confirmed{background:#d1fae5;color:#047857}.status-badge.cancelled{background:#fee2e2;color:#dc2626}.cancelled-summary{margin-bottom:2rem;background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 15px #0000000d}.cancelled-summary-title{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#1f2937}.cancelled-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.cancelled-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;background:#f9fafb}.cancelled-card.retained{border-left:4px solid #047857;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.cancelled-card.refunded{border-left:4px solid #dc2626;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.cancelled-icon{font-size:1.5rem}.cancelled-info{display:flex;flex-direction:column}.cancelled-label{font-size:.85rem;color:#6b7280;font-weight:500}.cancelled-value{font-size:1.25rem;font-weight:700;color:#1f2937}.cancelled-count{font-size:.8rem;color:#9ca3af}.cancelled-content{display:flex;flex-direction:column;gap:2rem}.cancelled-section{background:#f9fafb;border-radius:12px;padding:1.25rem}.cancelled-section-title{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1rem;font-weight:600}.cancelled-section-title.retained-title{color:#047857}.cancelled-section-title.refunded-title{color:#dc2626}.section-icon{font-size:1.1rem}.type-badge .badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize}.type-badge .badge.room{background:#dbeafe;color:#1d4ed8}.type-badge .badge.event{background:#fce7f3;color:#be185d}.amount-cell.retained{color:#047857}.amount-cell.refunded{color:#dc2626}.admin-tag{display:inline-block;margin-left:.5rem;padding:.15rem .5rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.expense-btn{margin-left:auto;padding:.5rem 1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.expense-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.expense-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.expense-modal{background:#fff;border-radius:16px;width:90%;max-width:450px;box-shadow:0 20px 50px #00000026;overflow:hidden}.expense-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.expense-modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.close-modal-btn{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;line-height:1;transition:color .2s}.close-modal-btn:hover{color:#1f2937}.expense-modal-body{padding:1.5rem}.expense-input-group{margin-bottom:1rem}.expense-input-group label{display:block;font-size:.9rem;font-weight:500;color:#374151;margin-bottom:.5rem}.expense-input-group input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.expense-input-group input:focus{outline:none;border-color:#10b981}.expense-list{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.expense-list h4{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:#6b7280}.expense-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9fafb;border-radius:8px;margin-bottom:.5rem}.expense-item-info{display:flex;flex-direction:column;gap:.25rem}.expense-item-desc{font-size:.9rem;color:#1f2937;font-weight:500}.expense-item-date{font-size:.75rem;color:#9ca3af}.expense-item-actions{display:flex;align-items:center;gap:.75rem}.expense-item-amount{font-weight:600;color:#047857}.expense-delete-btn{background:none;border:none;color:#dc2626;font-size:1.25rem;cursor:pointer;padding:0;line-height:1;opacity:.6;transition:opacity .2s}.expense-delete-btn:hover{opacity:1}.expense-total-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-top:.5rem;border-top:1px dashed #e5e7eb;font-weight:600}.expense-total-amount{color:#047857;font-size:1.1rem}.expense-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.cancel-btn{padding:.625rem 1.25rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s}.cancel-btn:hover{border-color:#d1d5db;color:#374151}.add-expense-btn{padding:.625rem 1.25rem;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.add-expense-btn:hover{background:linear-gradient(135deg,#059669,#047857)}@media (max-width: 768px){.balance-summary,.breakdown-grid{grid-template-columns:1fr}.summary-card{padding:1rem;flex-wrap:wrap}.summary-card.paid{gap:.75rem}.expense-btn{width:100%;margin-top:.5rem;text-align:center}.summary-value{font-size:1.5rem}.balance-tabs{flex-direction:column}.balance-tab{text-align:center}.transactions-section{padding:1rem}.transactions-table th,.transactions-table td{padding:.75rem .5rem;font-size:.85rem}.cancelled-summary-cards{grid-template-columns:1fr}.cancelled-card{padding:.75rem}.cancelled-value{font-size:1.1rem}.expense-modal{width:95%;max-height:90vh;overflow-y:auto}.expense-modal-body{padding:1rem}.admin-tag{font-size:.6rem;padding:.1rem .4rem}}.services-page{padding:2rem;max-width:1400px;margin:0 auto}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#f97316;border-radius:50%;animation:spin 1s linear infinite}.services-toast{position:fixed;top:1rem;right:1rem;padding:1rem 1.5rem;border-radius:8px;display:flex;align-items:center;gap:1rem;z-index:1000;animation:slideIn .3s ease;max-width:400px;box-shadow:0 4px 12px #00000026}.services-toast.success{background:#10b981;color:#fff}.services-toast.error{background:#ef4444;color:#fff}.services-toast button{background:none;border:none;color:#fff;font-size:1.25rem;cursor:pointer;padding:0;line-height:1}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.services-header{margin-bottom:1.5rem}.services-header h1{font-size:2rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.services-header p{color:#6b7280;margin:0}.services-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb;padding-bottom:.5rem;flex-wrap:wrap}.services-tab{padding:.75rem 1.5rem;border:none;background:none;font-size:1rem;font-weight:500;color:#6b7280;cursor:pointer;border-radius:8px 8px 0 0;transition:all .2s}.services-tab:hover{color:#1f2937;background:#f3f4f6}.services-tab.active{color:#f97316;background:#fff7ed;border-bottom:2px solid #f97316;margin-bottom:-2px}.services-content{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.tab-panel{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-header h2{font-size:1.25rem;color:#1f2937;margin:0}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.item-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s;min-width:0;display:flex;flex-direction:column}.item-card:hover{box-shadow:0 4px 12px #0000001a}.item-card.inactive{opacity:.6}.item-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0}.item-header h3{margin:0;font-size:1.1rem;color:#1f2937;font-weight:600}.status-pill{padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.status-pill.active{background:#d1fae5;color:#065f46}.status-pill.inactive{background:#fee2e2;color:#991b1b}.status-pill.small{padding:.2rem .5rem;font-size:.7rem}.item-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}.item-price{font-size:1.5rem;font-weight:700;color:#f97316;margin:0 0 .5rem;white-space:nowrap}.item-price.day-out-price{font-size:1.1rem;color:#10b981;margin-bottom:.75rem}.item-meta{color:#6b7280;margin:.25rem 0;font-size:.9rem}.item-description{color:#6b7280;margin:.5rem 0;font-size:.9rem;line-height:1.4}.item-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.75rem}.feature-tag{padding:.3rem .6rem;background:#dbeafe;color:#1d4ed8;border-radius:6px;font-size:.75rem;font-weight:500;white-space:nowrap}.feature-tag.more{background:#e5e7eb;color:#4b5563;font-weight:600}.item-actions{display:flex;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid #e5e7eb;background:#fff;flex-shrink:0}.btn-edit{flex:1;padding:.6rem 1rem;background:#f3f4f6;color:#374151;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s;font-size:.9rem}.btn-edit:hover{background:#e5e7eb}.btn-delete{padding:.6rem 1rem;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s;font-size:.9rem;flex-shrink:0}.btn-delete:hover{background:#fecaca}.rooms-table-container{overflow-x:auto}.rooms-table{width:100%;border-collapse:collapse;font-size:.95rem}.rooms-table th,.rooms-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.rooms-table th{background:#f9fafb;font-weight:600;color:#374151}.rooms-table tr:hover{background:#f9fafb}.rooms-table .inactive-row td:not(:last-child){opacity:.5}.rooms-table .inactive-row td:last-child{opacity:1}.room-code{font-family:monospace;font-weight:700;font-size:1rem;color:#1f2937}.btn-small-edit,.btn-small-delete{padding:.35rem .75rem;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;margin-right:.5rem}.btn-small-edit{background:#e5e7eb;color:#374151}.btn-small-delete{background:#fee2e2;color:#dc2626}.pricing-form{max-width:800px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.pricing-card{background:#f9fafb;border-radius:12px;padding:1.25rem}.pricing-card h4{margin:0 0 1rem;color:#374151;font-size:1rem}.save-pricing-btn{margin-top:1rem}.btn-primary{padding:.75rem 1.5rem;background:#f97316;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#ea580c}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{padding:.75rem 1.5rem;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#e5e7eb}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#f97316}.form-group textarea{resize:vertical;min-height:60px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.form-hint{color:#6b7280;font-size:.85rem;margin-top:.25rem}.checkbox-group{margin-top:.5rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlide .3s ease}.modal-content.large{max-width:700px}@keyframes modalSlide{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.25rem;color:#1f2937}.modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#1f2937}.modal-body{padding:1.5rem}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid #e5e7eb}.discount-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.discount-cards-grid.three-cards{grid-template-columns:repeat(3,1fr)}@media (max-width: 900px){.discount-cards-grid.three-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.discount-cards-grid.three-cards{grid-template-columns:1fr}}.discount-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;overflow:hidden;border:2px solid transparent;transition:all .2s}.discount-card.active{border-color:#10b981}.discount-card-header{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.discount-card-icon{font-size:2rem}.discount-card-title{flex:1}.discount-card-title h3{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.discount-type-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;margin-top:.25rem}.discount-type-badge.system{background:#dbeafe;color:#1d4ed8}.discount-type-badge.date{background:#fce7f3;color:#be185d}.discount-type-badge.user{background:#d1fae5;color:#059669}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#10b981}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.discount-card-body{padding:1.5rem;text-align:center}.discount-value{font-size:2rem;font-weight:800;color:#10b981;margin-bottom:.5rem}.discount-value.inactive-value{color:#9ca3af;font-size:1.5rem}.discount-description{color:#6b7280;margin:0;font-size:.9rem}.discount-card-footer{padding:1rem 1.25rem;border-top:1px solid #e5e7eb}.card-btn{width:100%;padding:.75rem;background:#f97316;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.card-btn:hover{background:#ea580c}.stacking-rules-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.stacking-rules-card h3{margin:0 0 1rem;font-size:1.1rem;color:#1f2937}.stacking-rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}@media (max-width: 768px){.stacking-rules-grid{grid-template-columns:1fr}}.rule-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:8px;font-size:.9rem}.rule-item.can-stack{background:#d1fae5;color:#065f46}.rule-icon{font-weight:700}.max-cap-info{padding:1rem;background:#fef3c7;border-radius:8px;color:#92400e}.days-selector{display:flex;flex-wrap:wrap;gap:.5rem}.day-btn{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;font-weight:500;color:#6b7280;transition:all .2s}.day-btn:hover{border-color:#f97316}.day-btn.selected{background:#f97316;border-color:#f97316;color:#fff}.percent-input{display:flex;align-items:center;gap:.5rem}.percent-input input{width:100px;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1.25rem;font-weight:600;text-align:center}.percent-input span{font-size:1.25rem;font-weight:600;color:#6b7280}.info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:1rem;margin-top:1rem}.info-box strong{color:#1e40af}.info-box p{margin:.5rem 0 0;color:#1e40af;font-size:.9rem}.section-card{background:#f9fafb;border-radius:12px;padding:1.25rem;margin-bottom:1.25rem}.section-card h3{margin:0 0 1rem;font-size:1rem;color:#374151}.info-text{color:#6b7280;font-size:.85rem;margin-bottom:1rem}.empty-message{color:#9ca3af;text-align:center;padding:2rem;font-style:italic}.off-season-form{display:flex;flex-direction:column;gap:.75rem}.off-season-form input{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem}.off-season-form input:focus{outline:none;border-color:#f97316}.off-season-list{max-height:300px;overflow-y:auto}.off-season-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:1rem;background:#fff;border-radius:8px;margin-bottom:.5rem;border:2px solid #e5e7eb}.off-season-item.active{border-color:#10b981;background:#f0fdf4}.off-season-info{display:flex;flex-direction:column;gap:.25rem}.off-season-info strong{color:#1f2937}.off-season-dates{color:#6b7280;font-size:.85rem}.off-season-percent{color:#10b981;font-weight:600}.off-season-actions{display:flex;gap:.5rem}.toggle-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;background:#e5e7eb;color:#374151}.toggle-btn.active{background:#10b981;color:#fff}.delete-btn{padding:.5rem 1rem;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;cursor:pointer}.delete-btn:hover{background:#fecaca}.promo-form{display:flex;flex-direction:column;gap:.75rem}.promo-form input{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem}.promo-form input:focus{outline:none;border-color:#f97316}.promo-list{max-height:350px;overflow-y:auto}.promo-item{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;background:#fff;border-radius:8px;margin-bottom:.5rem;border:2px solid #e5e7eb}.promo-item.valid{border-color:#10b981}.promo-item.invalid{opacity:.6}.promo-info{display:flex;align-items:center;gap:1rem;flex:1}.promo-code-badge{padding:.5rem 1rem;background:#1f2937;color:#fff;font-weight:700;font-family:monospace;border-radius:6px;font-size:1rem}.promo-details{display:flex;flex-direction:column;gap:.25rem}.promo-percent{font-weight:600;color:#10b981}.promo-dates,.promo-usage{font-size:.8rem;color:#6b7280}.promo-status{flex-shrink:0}.status-badge{padding:.4rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.status-badge.valid{background:#d1fae5;color:#065f46}.status-badge.invalid{background:#fee2e2;color:#991b1b}.promo-actions{display:flex;gap:.5rem}@media (max-width: 768px){.services-page{padding:1rem}.services-tabs{gap:.25rem}.services-tab{padding:.5rem 1rem;font-size:.9rem}.items-grid,.pricing-grid{grid-template-columns:1fr}.modal-content{max-height:85vh}.form-row{grid-template-columns:1fr}.promo-item,.promo-info,.off-season-item{flex-direction:column;align-items:flex-start}}.packages-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.package-card{position:relative;overflow:visible}.package-person-count{display:inline-block;padding:.35rem .75rem;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-radius:20px;font-weight:700;font-size:.9rem;margin-bottom:.5rem}.package-price{font-size:1.75rem;color:#10b981}.package-child-note{display:inline-block;padding:.25rem .5rem;background:#d1fae5;color:#065f46;border-radius:4px;font-size:.8rem;font-weight:500;margin-bottom:.5rem}.empty-state{text-align:center;padding:3rem 2rem;background:#f9fafb;border-radius:12px;border:2px dashed #e5e7eb}.empty-state p{color:#6b7280;margin:0}@media (max-width: 768px){.packages-grid{grid-template-columns:1fr}}.qa-test-page{padding:2rem;max-width:1200px;margin:0 auto;background:#f8fafc;min-height:100vh}.qa-header{margin-bottom:2rem;text-align:center}.qa-header h1{margin:0 0 .5rem;font-size:2rem;color:#1e293b}.qa-subtitle{margin:0;color:#64748b;font-size:1rem}.pricing-preview{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.pricing-preview h3{margin:0 0 1rem;font-size:1.1rem;color:#334155}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.pricing-card{background:#f1f5f9;border-radius:8px;padding:1rem}.pricing-card h4{margin:0 0 .75rem;font-size:.9rem;color:#475569;font-weight:600}.pricing-card ul{margin:0;padding:0;list-style:none}.pricing-card li{font-size:.85rem;color:#64748b;padding:.25rem 0}.test-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.5rem;background:#fff;border-radius:12px;padding:1rem;box-shadow:0 1px 3px #0000001a}.tab-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.tab-btn{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s}.tab-btn:hover{background:#f8fafc;border-color:#cbd5e1}.tab-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.run-btn{padding:.75rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.run-btn:hover:not(:disabled){background:#059669}.run-btn:disabled{background:#94a3b8;cursor:not-allowed}.progress-bar{background:#e0f2fe;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem}.progress-text{color:#0369a1;font-size:.9rem}.results-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.summary-card{background:#fff;border-radius:12px;padding:1.25rem;text-align:center;box-shadow:0 1px 3px #0000001a}.summary-number{display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem}.summary-label{font-size:.85rem;color:#64748b}.summary-card.total .summary-number{color:#3b82f6}.summary-card.passed .summary-number{color:#10b981}.summary-card.failed .summary-number{color:#ef4444}.summary-card.skipped .summary-number{color:#f59e0b}.results-container{display:flex;flex-direction:column;gap:1.5rem}.test-section{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.section-header h3{margin:0;font-size:1rem;color:#1e293b}.section-summary{display:flex;gap:1rem;font-size:.8rem}.summary-passed{color:#10b981}.summary-failed{color:#ef4444}.summary-skipped{color:#f59e0b}.test-list{padding:.5rem 0}.test-item{border-bottom:1px solid #f1f5f9}.test-item:last-child{border-bottom:none}.test-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;cursor:pointer;transition:background .2s}.test-row:hover{background:#f8fafc}.test-status{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8rem;font-weight:600}.test-status.status-passed{background:#d1fae5;color:#059669}.test-status.status-failed{background:#fee2e2;color:#dc2626}.test-status.status-skipped{background:#fef3c7;color:#d97706}.test-name{font-weight:500;color:#334155;min-width:200px}.test-message{flex:1;color:#64748b;font-size:.875rem}.expand-icon{color:#94a3b8;font-size:.75rem}.test-details{padding:0 1.25rem 1rem 3rem}.test-details pre{background:#1e293b;color:#e2e8f0;padding:1rem;border-radius:8px;font-size:.8rem;overflow-x:auto;margin:0}.error-display{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.error-display h3{margin:0 0 .5rem;color:#dc2626;font-size:1rem}.error-display p{margin:0;color:#7f1d1d}.help-section{background:#fff;border-radius:12px;padding:1.5rem;margin-top:2rem;box-shadow:0 1px 3px #0000001a}.help-section h3{margin:0 0 1rem;font-size:1rem;color:#334155}.help-section dl{margin:0}.help-section dt{font-weight:600;color:#475569;margin-top:.75rem}.help-section dt:first-child{margin-top:0}.help-section dd{margin:.25rem 0 0 1rem;color:#64748b;font-size:.9rem}@media (max-width: 768px){.qa-test-page{padding:1rem}.test-controls{flex-direction:column;align-items:stretch}.tab-buttons{justify-content:center}.run-btn{width:100%}.results-summary{grid-template-columns:repeat(2,1fr)}.test-row{flex-wrap:wrap}.test-name{min-width:100%;margin-bottom:.25rem}.test-message{min-width:100%;padding-left:2rem}.pricing-grid{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.results-summary{grid-template-columns:1fr 1fr}.pricing-grid{grid-template-columns:1fr}}:root{--color-primary: #0A5C36;--color-primary-light: #0D7545;--color-primary-dark: #084428;--color-secondary: #f5f5dc;--color-off-white: #fafaf5;--color-text: #1a1a1a;--color-text-light: #4a4a4a;--color-background: var(--color-off-white);--color-panel: var(--color-primary);--color-border: #d0d0c0;--color-success: #0A5C36;--color-error: #c74444;--color-warning: #f59e0b;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .2);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--max-content-width: 1400px;--panel-padding: 2rem}[data-theme=dark]{--color-primary: #0D7545;--color-primary-light: #10905A;--color-primary-dark: #0A5C36;--color-secondary: #2a2a2a;--color-off-white: #1a1a1a;--color-text: #e5e5e5;--color-text-light: #b5b5b5;--color-background: #0f0f0f;--color-panel: #1e1e1e;--color-border: #3a3a3a}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:1rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:1rem}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea,select{font-family:inherit;font-size:1rem}.container{width:100%;max-width:var(--max-content-width);margin:0 auto;padding:0 1rem}.section{padding:4rem 0}.section-title{text-align:center;margin-bottom:3rem;font-size:2.5rem;color:var(--color-primary)}[data-theme=dark] .section-title{color:var(--color-primary-light)}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:2rem;right:2rem;background:var(--color-panel);color:var(--color-off-white);padding:1rem 1.5rem;border-radius:8px;box-shadow:var(--shadow-lg);z-index:10000;animation:slideInUp .3s ease}.toast.success{background:var(--color-success);color:#fff}.toast.error{background:var(--color-error);color:#fff}[data-theme=dark] .toast{color:#fff}[data-theme=dark] .toast.success{background:var(--color-success);color:#fff}[data-theme=dark] .toast.error{background:var(--color-error);color:#fff}@keyframes slideInUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}.section{padding:3rem 0}.section-title{font-size:2rem;margin-bottom:2rem}.toast{bottom:1rem;right:1rem;left:1rem}}
