:root{--color-primary:#d4af37;--color-primary-hover:#c5a017;--color-secondary:#1a1a1a;--bg-main:#fff;--bg-background:#fff;--bg-surface:#fff;--bg-sidebar:#111;--text-primary:#1a1a1a;--text-secondary:#666;--text-on-dark:#fff;--text-on-dark-muted:#a0a0a0;--font-heading:"Outfit", "Inter", system-ui, sans-serif;--font-body:"Lato", sans-serif;--border-color:#eaeaea;--border-color-dark:#333;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 8px 24px #0000000f;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--transition-fast:.2s ease;--transition-smooth:.4s cubic-bezier(.4, 0, .2, 1)}.theme-ocean{--color-primary:#0077b6;--color-primary-hover:#005f8c;--color-secondary:#03045e;--bg-sidebar:#023e8a}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#00000040}html{font-size:80%}body{font-family:var(--font-body);background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);font-weight:600}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{font-family:var(--font-body);cursor:pointer;background:0 0;border:none}.categories-manager,.categories-cascade{flex-direction:column;gap:1rem;display:flex}.category-container{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg,white);overflow:hidden}.category-header{border-bottom:1px solid var(--border-color);background:#f8fafc;align-items:center;gap:.5rem;padding:1rem;display:flex}.category-content{background:var(--card-bg,white);padding:1rem}.types-list{flex-direction:column;gap:.5rem;min-height:20px;display:flex}.empty-category-dropzone{border:1px dashed var(--border-color);border-radius:var(--radius-sm);text-align:center;color:var(--text-secondary);background:#f8fafc;padding:1rem;font-size:.9rem}.sortable-type-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg,white);transition:all var(--transition-fast);box-shadow:0 2px 4px #00000008}.sortable-type-item:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000f}.type-item-header{align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.type-item-drag-handle{cursor:grab;color:#94a3b8;border-radius:4px;align-items:center;padding:.2rem;transition:background .2s,color .2s;display:flex}.type-item-drag-handle:hover{color:var(--text-primary);background:#f1f5f9}.type-item-drag-handle:active{cursor:grabbing}.type-item-title{flex:1;align-items:center;gap:.75rem;font-size:1.05rem;display:flex}.type-item-price{min-width:140px;color:var(--color-primary);background:#f0fdfa;border:1px solid #ccfbf1;border-radius:20px;justify-content:flex-end;align-items:center;margin-right:1rem;padding:.5rem 1rem;font-weight:700;display:flex}.type-item-actions{border-left:1px solid var(--border-color);gap:.5rem;padding-left:1rem;display:flex}.type-item-details{border-top:1px solid var(--border-color);background:#fcfcfc;padding:.75rem .75rem .75rem 2.5rem}.room-number-badge{background:#e2e8f0;border-radius:4px;margin-right:.2rem;padding:.1rem .4rem;font-size:.8rem;display:inline-block}.expand-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:.2rem;display:flex}.expand-btn:hover{background:#f1f5f9;border-radius:4px}.category-footer{justify-content:flex-start;margin-top:1rem;display:flex}.drag-overlay-item{opacity:.9;box-shadow:0 5px 15px #00000026}@media (width<=768px){.user-info-text{display:none!important}}.print-invoice-container{display:none}@media print{@page{size:A4;margin:1cm}.page-header-flex,.table-container,.modal-overlay,nav,header,aside,.sidebar{display:none!important}body,html,#root{height:100%;margin:0;padding:0;background:#fff!important}.print-invoice-container{background:var(--card-bg,white);width:100%;margin:0;padding:2cm;font-family:Arial,sans-serif;position:relative;display:block!important}.print-invoice-container .invoice-header{border-bottom:2px solid #333;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;display:flex}.print-invoice-container .invoice-header h1{color:#b91c1c}.print-invoice-container .invoice-client{margin-bottom:2rem}.print-invoice-container .invoice-table{border-collapse:collapse;width:100%;margin-bottom:2rem}.print-invoice-container .invoice-table th,.print-invoice-container .invoice-table td{text-align:left;border:1px solid #ddd;padding:12px}.print-invoice-container .invoice-table th{background-color:#f8f9fa;font-weight:700}.print-invoice-container .invoice-total{text-align:right;margin-top:2rem;margin-bottom:3rem}.print-invoice-container .invoice-total h3{margin:0;font-size:1.4rem}.print-invoice-container .invoice-footer{text-align:center;color:var(--text-muted,#666);border-top:1px solid #ddd;padding-top:1rem;font-size:.9rem}}@media screen{.printable-receipt{display:none!important}}@media print{body:has(>.printable-receipt)>#root{display:none!important}body>:not(.printable-receipt,#root){display:none!important}body>.printable-receipt{width:100%!important;max-width:100%!important;box-shadow:none!important;z-index:99999999!important;box-sizing:border-box!important;background:#fff!important;border:none!important;margin:0!important;padding:15mm!important;display:block!important;position:absolute!important;top:0!important;left:0!important}body>.printable-receipt *{visibility:visible!important}body>.printable-receipt table{border-collapse:collapse!important;width:100%!important;display:table!important}body>.printable-receipt thead{display:table-header-group!important}body>.printable-receipt tbody{display:table-row-group!important}body>.printable-receipt tr{display:table-row!important}body>.printable-receipt th,body>.printable-receipt td{display:table-cell!important}@page{size:A4 portrait;margin:0}}.client-auth-container{background:var(--bg-color,#f3f4f6);justify-content:center;align-items:center;min-height:80vh;padding:40px 20px;display:flex}.client-auth-box{background:var(--surface-color,#fff);text-align:center;border-radius:20px;width:100%;max-width:450px;padding:40px;box-shadow:0 15px 35px #0000001a}.register-box{max-width:600px}.client-auth-header h2{color:var(--text-color,#1f2937);margin-bottom:10px;font-size:2rem}.client-auth-header p{color:#666;margin-bottom:30px}.client-auth-error{color:#dc2626;background:#fee2e2;border-radius:10px;margin-bottom:20px;padding:12px;font-size:.9rem}.client-auth-form{flex-direction:column;gap:20px;display:flex}.client-auth-form.double-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.full-width{grid-column:1/-1}.input-group{align-items:center;display:flex;position:relative}.input-icon{color:#9ca3af;position:absolute;left:15px}.input-group input{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;width:100%;padding:14px 15px 14px 45px;font-size:1rem;transition:all .3s}.input-group input:focus{border-color:var(--primary-color,#c00);background:#fff;outline:none;box-shadow:0 0 0 4px #0000000d}.client-auth-submit{background:var(--primary-color,#c00);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;margin-top:10px;padding:15px;font-size:1.1rem;font-weight:600;transition:all .3s;display:flex}.client-auth-submit:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.client-auth-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.spin-icon{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.client-auth-footer{border-top:1px solid #eee;margin-top:30px;padding-top:20px}.client-auth-footer a{color:var(--primary-color,#c00);font-weight:600;text-decoration:none}.client-auth-footer a:hover{text-decoration:underline}@media (width<=600px){.client-auth-form.double-grid{grid-template-columns:1fr}}.client-dashboard-page{background:#f3f4f6;gap:30px;max-width:1200px;min-height:calc(100vh - 80px);margin:0 auto;padding:40px 20px;display:flex}.dashboard-sidebar{background:#fff;border-radius:20px;width:300px;height:max-content;padding:30px;box-shadow:0 10px 30px #0000000d}.client-profile-summary{text-align:center;border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:30px}.client-profile-summary .avatar{background:var(--primary-color,#c00);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 15px;display:flex}.client-profile-summary h3{color:var(--text-color);margin-bottom:5px;font-size:1.2rem}.client-profile-summary p{color:#666;font-size:.9rem}.dashboard-nav{flex-direction:column;gap:10px;display:flex}.dashboard-nav button{color:#4b5563;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:12px 15px;font-size:1rem;transition:all .2s;display:flex}.dashboard-nav button:hover{color:var(--primary-color);background:#f9fafb}.dashboard-nav button.active{color:var(--primary-color);background:#bd93541a;font-weight:600}.dashboard-nav .logout-btn{color:#dc2626;margin-top:20px}.dashboard-nav .logout-btn:hover{color:#dc2626;background:#fee2e2}.dashboard-content{flex:1}.dashboard-content h2{color:var(--text-color);margin-bottom:5px;font-size:2rem}.welcome-sub{color:#666;margin-bottom:40px}.mt-40{margin-top:40px}.reservations-section h3{color:var(--text-color);margin-bottom:20px;font-size:1.3rem}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.reservation-card{background:#fff;border:1px solid #f3f4f6;border-radius:15px;padding:20px;transition:transform .2s;box-shadow:0 4px 15px #00000008}.reservation-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00000014}.card-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.req-id{color:#9ca3af;font-family:monospace;font-size:.8rem}.status-badge{border-radius:20px;align-items:center;gap:5px;padding:5px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.status-badge.warning{color:#d97706;background:#fef3c7}.status-badge.success{color:#059669;background:#d1fae5}.status-badge.danger{color:#dc2626;background:#fee2e2}.reservation-card h4{color:var(--text-color);margin-bottom:15px;font-size:1.1rem}.card-details p{color:#4b5563;margin-bottom:8px;font-size:.9rem}.empty-state{text-align:center;color:#6b7280;background:#fff;border:2px dashed #e5e7eb;border-radius:15px;padding:40px}.table-responsive{background:#fff;border-radius:15px;padding:20px;overflow-x:auto;box-shadow:0 4px 15px #00000008}.client-table{border-collapse:collapse;width:100%}.client-table th{text-align:left;color:#6b7280;border-bottom:2px solid #f3f4f6;padding:15px;font-weight:600}.client-table td{color:#4b5563;border-bottom:1px solid #f3f4f6;padding:15px}.loading-state{text-align:center;color:#6b7280;padding:50px}@media (width<=900px){.client-dashboard-page{flex-direction:column}.dashboard-sidebar{width:100%}}:root{--hotel-brown:var(--btn-color,#0071c2);--hotel-brown-light:var(--btn-hover-color,#005999);--hotel-bg:var(--page-bg-color,#f5f5f5);--hotel-white:var(--header-text-color,#fff);--hotel-text-dark:var(--text-primary,#262626);--hotel-text-muted:var(--placeholder-color,#6b6b6b);--hotel-border:var(--card-bg,#e0e0e0);--booking-yellow:#febb02;--booking-dark-blue:#003580;--font-hotel-title:"BlinkMacSystemFont", "-apple-system", "Segoe UI", "Roboto", "Helvetica", "Arial", sans-serif;--font-hotel-body:"BlinkMacSystemFont", "-apple-system", "Segoe UI", "Roboto", "Helvetica", "Arial", sans-serif}.public-site-wrapper.hotel-theme{background-color:var(--hotel-bg);min-height:100vh;font-family:var(--font-hotel-body);color:var(--hotel-text-dark)}::placeholder{opacity:1;color:var(--placeholder-color,#888)!important}::-webkit-input-placeholder{color:var(--placeholder-color,#888)!important}.hotel-header{background-color:var(--header-bg-color,var(--booking-dark-blue));z-index:1000;justify-content:space-between;align-items:center;height:70px;padding:0 2rem;transition:all .2s;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 4px #0000001a}.hotel-header.scrolled{background-color:var(--header-bg-color,var(--booking-dark-blue));height:70px;box-shadow:0 4px 12px #0003}.hotel-logo{font-family:var(--font-hotel-title);color:var(--header-text-color,var(--hotel-white));letter-spacing:0;text-transform:none;margin:0;font-size:1.5rem;font-weight:700}.hotel-header .public-nav{align-items:center;gap:2rem;height:100%;display:flex}.hotel-header .public-nav a{color:var(--header-text-color,var(--hotel-white));letter-spacing:1px;text-transform:uppercase;font-size:.85rem;font-weight:700;text-decoration:none;transition:color .3s;position:relative}.hotel-header .public-nav a:after{content:"";background-color:#d4af37;width:0;height:2px;transition:width .3s;position:absolute;bottom:-5px;left:0}.hotel-header .public-nav a:hover{color:#d4af37}.hotel-header .public-nav a:hover:after{width:100%}.btn-hotel-nav{background-color:var(--hotel-brown-light);color:var(--hotel-white);cursor:pointer;letter-spacing:1px;border:none;border-left:1px solid #ffffff1a;align-items:center;gap:10px;height:100%;padding:0 2rem;font-size:.85rem;font-weight:700;transition:all .3s;display:flex}.btn-hotel-nav:hover{background-color:var(--btn-hover-color,#c00);transform:translateY(-2px);box-shadow:0 10px 20px #0000001a}.mobile-menu-toggle{color:#fff;cursor:pointer;background:0 0;border:none;display:none}.mobile-nav{display:none}@media (width<=900px){.desktop-nav{display:none!important}.mobile-menu-toggle{display:block}.mobile-nav{background:var(--hotel-brown);opacity:0;z-index:999;flex-direction:column;gap:1.5rem;padding:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:100%;left:0;right:0;transform:translateY(-150%);box-shadow:0 10px 30px #00000080}.mobile-nav.open{opacity:1;transform:translateY(0)}.mobile-nav a{color:#fff;text-transform:uppercase;letter-spacing:2px;font-size:1.2rem;text-decoration:none}.btn-hotel-nav.mobile{border-left:none;border-radius:8px;justify-content:center;margin-top:1rem;padding:1rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{opacity:0;animation:.8s cubic-bezier(.4,0,.2,1) forwards fadeInUp}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.booking-widget{background:var(--booking-bar-bg,#ffb700);max-width:900px;color:var(--text-primary,#333);border-radius:12px;align-items:stretch;gap:6px;margin:3rem auto 0;padding:8px;display:flex;box-shadow:0 10px 25px #00000026}.widget-group{text-align:center;background:#fff;border-radius:6px;flex-direction:column;flex:1;justify-content:center;align-items:center;margin:0;padding:.35rem 1.2rem;display:flex}.widget-group label{text-transform:uppercase;color:#888;letter-spacing:1px;margin-bottom:3px;font-size:.78rem;font-weight:700}.widget-group input,.widget-group select{color:var(--booking-input-text,#1e293b);cursor:pointer;background:0 0;border:none;outline:none;width:100%;padding:2px 0;font-family:inherit;font-size:.95rem;font-weight:700}.widget-divider{display:none}.widget-btn{background:var(--booking-btn-bg,#0071c2);color:var(--booking-btn-text,#fff);text-transform:uppercase;letter-spacing:1px;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:0 1.8rem;font-size:1rem;font-weight:700;transition:all .3s;display:flex}.widget-btn:hover{background:var(--hotel-brown-light);transform:translateY(-2px)}@media (width<=768px){.booking-widget{flex-direction:column;gap:1rem;padding:1rem}.widget-group{width:100%;padding:.5rem}.widget-divider{width:100%;height:1px}.widget-btn{width:100%}}.public-home .hero-section{background-position:50%;background-size:cover;justify-content:center;align-items:center;height:65vh;min-height:460px;max-height:620px;display:flex;position:relative}.public-home .hero-overlay{background:#0006;position:absolute;inset:0}.public-home .hero-content{z-index:1;text-align:center;color:#fff;padding:0 1rem;position:relative}.public-home .hero-content h2{color:#fff;text-shadow:0 2px 4px #00000080;margin-bottom:.5rem;font-size:3.2rem}.public-home .hero-content p{color:#fff;text-shadow:0 1px 2px #00000080;font-size:1.1rem}.btn-hotel-primary{background-color:var(--btn-color,#c00);color:#fff;cursor:pointer;border:none}.btn-hotel-primary:hover{background-color:var(--btn-hover-color,#a00)}.hotel-page-banner{color:#fff;flex-direction:column;justify-content:center;align-items:center;height:280px;display:flex;position:relative}.hotel-page-banner img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.hotel-page-banner .banner-overlay{z-index:1;background:#00000080;width:100%;height:100%;position:absolute;top:0;left:0}.hotel-page-banner h2{z-index:2;font-family:var(--font-hotel-title);margin:0 0 10px;font-size:3rem;position:relative}.hotel-page-banner p{z-index:2;font-size:1rem;position:relative}.hotel-progress-bar{background:var(--hotel-bg);border-bottom:1px solid var(--hotel-border);justify-content:center;align-items:center;padding:3rem 0;display:flex}.hotel-progress-bar .step{color:#ccc;flex-direction:column;align-items:center;gap:10px;display:flex}.hotel-progress-bar .step.active{color:var(--hotel-brown)}.hotel-progress-bar .step-circle{background-color:#ccc;border-radius:50%;width:16px;height:16px}.hotel-progress-bar .step.active .step-circle{background-color:var(--hotel-brown);box-shadow:0 0 0 4px #3e1f1a33}.hotel-progress-bar .step span{letter-spacing:1px;font-size:.8rem;font-weight:700}.hotel-progress-bar .step-line{background-color:#eee;width:100px;height:2px;margin:0 20px;position:relative;top:-12px}.hotel-container{max-width:1400px;margin:0 auto;padding:3rem 2rem}.hotel-rooms-layout{align-items:flex-start;gap:3rem;display:flex}.hotel-room-amenities{color:var(--text-muted,#555);flex-wrap:wrap;gap:15px;margin:1rem 0;display:flex}.amenity-badge{color:var(--hotel-text-dark);background:#f8f8f8;border:1px solid #eee;border-radius:4px;align-items:center;gap:5px;padding:4px 10px;font-size:.85rem;display:inline-flex}.amenity-label{font-weight:500}.hotel-sidebar{flex-shrink:0;width:350px}.booking-filter-box{background-color:var(--hotel-brown);color:#fff;margin-bottom:2rem;padding:2rem}.filter-group{margin-bottom:1.5rem}.filter-group label{color:#fff9;letter-spacing:1px;margin-bottom:.5rem;font-size:.75rem;display:block}.filter-group input,.filter-group select{background:var(--hotel-brown-light);color:#fff;border:1px solid #ffffff1a;width:100%;padding:.8rem;font-size:1rem}.filter-group input::placeholder{color:#fff;opacity:1}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon .input-icon{color:#ffffffb3;pointer-events:none;position:absolute;left:12px}.input-with-icon input,.input-with-icon select{padding-left:40px}.input-with-icon input[type=date]::-webkit-calendar-picker-indicator{filter:invert();opacity:.6;cursor:pointer}.btn-hotel-availability{color:#fff;cursor:pointer;letter-spacing:1px;background:0 0;border:1px solid #fff;width:100%;margin-top:1rem;padding:1rem;font-weight:700}.btn-hotel-availability:hover{background:var(--card-bg,white);color:var(--hotel-brown)}.sidebar-section{margin-bottom:3rem}.sidebar-section h4{font-family:var(--font-hotel-title);color:var(--hotel-text-dark);text-transform:uppercase;letter-spacing:1px;margin-bottom:1.5rem;font-size:1rem}.checkbox-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.checkbox-grid label{color:var(--hotel-text-dark);cursor:pointer;align-items:center;gap:12px;padding:.4rem 0;font-size:.95rem;transition:color .2s;display:flex}.checkbox-grid label:hover{color:var(--hotel-brown)}.checkbox-grid input[type=checkbox]{cursor:pointer;width:22px;height:22px;accent-color:var(--hotel-brown)}.hotel-main-list{flex:1}.list-header{gap:1rem;margin-bottom:2rem;display:flex}.hotel-sort-select{border:1px solid var(--hotel-border);background-color:var(--card-bg,white);color:var(--hotel-text-dark);padding:.8rem 2rem .8rem 1rem}.hotel-horizontal-card{background:var(--card-bg,white);border-radius:8px;margin-bottom:2rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;overflow:hidden;box-shadow:0 5px 15px #0000000d}.hotel-horizontal-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #00000026}.card-image-wrapper{flex-shrink:0;width:350px;height:250px;position:relative;overflow:hidden}.card-image-wrapper img,.card-image{object-fit:cover;width:100%;height:100%;transition:transform .8s}.hotel-horizontal-card:hover .card-image-wrapper img,.restaurant-card:hover .card-image-wrapper .card-image{transform:scale(1.1)}.restaurant-card{background:var(--card-bg,white);border:1px solid #eee;border-radius:12px;flex-direction:column;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;overflow:hidden;box-shadow:0 4px 15px #00000008}.restaurant-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #00000026}.no-image{color:#aaa;background:#eee;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.price-tag{background:var(--hotel-brown);color:#fff;padding:.8rem 1.5rem;font-size:1.1rem;font-weight:700;position:absolute;bottom:20px;right:0}.card-content-wrapper{flex-direction:column;flex:1;padding:2rem;display:flex}.card-content-wrapper .hotel-title{font-family:var(--font-hotel-title);color:var(--hotel-brown);margin:0 0 10px;font-size:1.4rem}.adults-info{color:var(--hotel-text-muted);text-transform:uppercase;align-items:center;gap:10px;margin-bottom:2rem;font-size:.8rem;display:flex}.card-bottom{justify-content:space-between;align-items:flex-end;margin-top:auto;display:flex}.btn-hotel-outline{border:1px solid var(--hotel-brown);color:var(--hotel-brown);text-transform:uppercase;letter-spacing:1px;cursor:pointer;background:0 0;align-items:center;padding:.8rem 1.5rem;font-weight:700;transition:all .3s;display:flex}.btn-hotel-outline:hover:not(.disabled){background:var(--hotel-brown);color:#fff;transform:translate(5px)}.public-footer{color:#aaa;background:#111;margin-top:4rem;padding:4rem 2rem 2rem}.footer-grid{grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1400px;margin:0 auto;display:grid}.footer-col h4{color:#fff;margin-bottom:1.5rem}.footer-links{padding:0;list-style:none}.footer-links li{margin-bottom:.5rem}.footer-links a{color:#aaa;text-decoration:none}.footer-bottom{text-align:center;border-top:1px solid #333;margin-top:3rem;padding-top:2rem}input[type=range].hotel-range{-webkit-appearance:none;background:#ccc;border-radius:5px;outline:none;width:100%;height:6px;margin:1rem 0}input[type=range].hotel-range::-webkit-slider-thumb{appearance:none;background:var(--hotel-brown);cursor:pointer;border-radius:50%;width:20px;height:20px;transition:transform .1s}input[type=range].hotel-range::-webkit-slider-thumb:hover{transform:scale(1.2)}.hero-title{font-family:var(--font-hotel-title);letter-spacing:2px;text-shadow:0 4px 20px #0009;margin-bottom:1rem;font-size:5rem}.hero-subtitle{text-shadow:0 2px 10px #0009;letter-spacing:1px;max-width:700px;margin:0 auto 3rem;font-size:1.4rem;font-weight:300}.reveal-on-scroll{opacity:0;transition:all 1s cubic-bezier(.25,.8,.25,1);transform:translateY(40px)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.public-section{padding:6rem 2rem}.section-header{margin-bottom:4rem}.section-subtitle{letter-spacing:3px;text-transform:uppercase;color:var(--hotel-brown);margin-bottom:.5rem;font-size:.9rem;font-weight:700;display:block}.section-title{font-family:var(--font-hotel-title);color:var(--text-primary,#222);margin:0;font-size:2.5rem}.text-center{text-align:center}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1200px;margin:0 auto;display:grid}.about-image-wrapper{position:relative}.about-image{z-index:2;border-radius:4px;width:100%;position:relative;box-shadow:0 20px 40px #0003}.about-image-accent{border:2px solid var(--hotel-brown);z-index:1;width:100%;height:100%;position:absolute;top:-20px;left:-20px}.about-text-wrapper{padding:2rem 0}.about-paragraph{color:var(--text-muted,#555);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.8}.quote-box{border-left:4px solid var(--hotel-brown);color:var(--hotel-brown);margin:2rem 0;padding-left:1.5rem;font-size:1.2rem;font-style:italic}.featured-rooms-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;max-width:1300px;margin:0 auto;display:grid}.featured-room-card{background:var(--card-bg,white);border-radius:8px;transition:transform .4s;overflow:hidden;box-shadow:0 10px 30px #0000000d}.featured-room-card:hover{transform:translateY(-10px)}.room-card-image{height:250px;position:relative;overflow:hidden}.room-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.featured-room-card:hover .room-card-image img{transform:scale(1.1)}.room-price-badge{background:var(--hotel-brown);color:#fff;padding:.5rem 1rem;font-weight:700;position:absolute;bottom:0;right:0}.room-card-content{padding:1.5rem}.room-card-content h4{font-family:var(--font-hotel-title);color:var(--text-primary,#222);margin-bottom:.5rem;font-size:1.5rem}.room-capacity{color:var(--text-muted,#777);align-items:center;gap:8px;margin-bottom:1.5rem;font-size:.9rem;display:flex}.btn-hotel-text{color:var(--hotel-brown);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:5px;font-weight:700;transition:color .3s;display:flex}.btn-hotel-text:hover{color:var(--btn-hover-color,#c00)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1200px;margin:0 auto;display:grid}.service-card{text-align:center;background:var(--card-bg,white);border:1px solid #eee;padding:3rem 2rem;transition:all .4s}.service-card:hover{border-color:#0000;transform:translateY(-5px);box-shadow:0 15px 35px #00000014}.service-icon{color:var(--hotel-brown);background:#fbfbfb;border-radius:50%;margin-bottom:1.5rem;padding:1rem;transition:background .4s,color .4s;display:inline-block}.service-card:hover .service-icon{background:var(--hotel-brown);color:#fff}.service-card h4{color:var(--text-primary,#222);margin-bottom:1rem;font-size:1.2rem}.service-card p{color:var(--text-muted,#666);font-size:.95rem;line-height:1.6}.cta-section{text-align:center;color:#fff;background-position:50%;background-size:cover;background-attachment:fixed;padding:8rem 2rem;position:relative}.cta-overlay{background:#3e1f1ad9;position:absolute;inset:0}.cta-content{z-index:1;max-width:800px;margin:0 auto;position:relative}@media (width<=900px){.hero-title{font-size:3rem}.about-grid{grid-template-columns:1fr}.about-image-accent{display:none}}.app-container{background-color:var(--bg-background);width:100vw;height:100vh;min-height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--sidebar-bg);width:280px;color:var(--sidebar-text);height:100vh;box-shadow:var(--shadow-md);z-index:10;flex-direction:column;flex-shrink:0;transition:width .3s;display:flex;overflow-y:auto}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:10px}.brand{border-bottom:1px solid var(--border-color-dark);margin-bottom:1rem;padding:2rem 2rem 1.5rem}.brand h1{color:#fff;letter-spacing:2px;text-transform:uppercase;margin:0;font-size:1.5rem}.brand p{color:var(--text-on-dark-muted);font-size:.85rem;font-family:var(--font-body);letter-spacing:1px}.nav-menu{flex-direction:column;gap:.2rem;list-style:none;display:flex}.nav-section-title{color:#ffffff73;text-transform:uppercase;letter-spacing:1.2px;cursor:pointer;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-top:.5rem;margin-bottom:.2rem;padding:1.2rem 1.8rem .4rem;font-size:.72rem;font-weight:700;transition:color .2s,background .2s;display:flex}.nav-section-title:hover{color:#fffc;background:#ffffff0d}.nav-section-title:first-child{margin-top:0;padding-top:0}.nav-item a{color:var(--text-on-dark-muted);letter-spacing:.5px;transition:all var(--transition-fast);border-left:3px solid #0000;justify-content:space-between;align-items:center;padding:.7rem 1.8rem;font-size:.95rem;display:flex;position:relative}.nav-item a:hover,.nav-item a.active{color:#fff;border-left-color:var(--color-primary);background-color:#ffffff1a}.nav-item-content{white-space:nowrap;align-items:center;gap:12px;display:flex;overflow:hidden}.nav-badge{color:#fff;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:700}.nav-badge.orange{background:#f59e0b}.nav-badge.green{background:#25d366;box-shadow:0 0 5px #25d36680}.nav-badge.red{background:#c00}.sidebar-footer{border-top:1px solid #ffffff0d;justify-content:center;margin-top:auto;padding:1rem;display:flex}.toggle-sidebar-btn{color:#fff9;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:10px;width:100%;padding:.5rem;transition:color .3s;display:flex}.toggle-sidebar-btn:hover{color:#fff}.sidebar.collapsed{width:80px}.sidebar.collapsed .nav-item-content span,.sidebar.collapsed .toggle-sidebar-btn span{display:none}.sidebar.collapsed .nav-section-title{justify-content:center;padding:1.2rem 0 .4rem;display:flex}.sidebar.collapsed .nav-section-title svg{display:none}.sidebar.collapsed .nav-item a{justify-content:center;padding:.7rem 0}.sidebar.collapsed .nav-item-content{justify-content:center;gap:0}.sidebar.collapsed .nav-item-content svg{margin-right:0!important}.sidebar.collapsed .nav-badge{border-radius:50%;padding:2px 4px;font-size:.6rem;position:absolute;top:6px;right:18px}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.header{background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;height:80px;padding:0 3rem;display:flex;box-shadow:0 4px 20px #00000008}.header-dynamic-title{flex-direction:column;display:flex}.breadcrumbs{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:.8rem;font-weight:500}.header-dynamic-title h2{color:var(--text-primary);letter-spacing:-.5px;margin:0;font-size:1.5rem;font-weight:700}.user-profile{align-items:center;gap:2rem;display:flex}.header-greeting-small{flex-direction:column;align-items:flex-end;font-size:.9rem;display:flex}.header-date-small{color:var(--text-secondary);text-transform:capitalize;font-size:.75rem}.notification-bell{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);position:relative}.notification-bell:hover{color:var(--color-primary)}.notification-badge{color:#fff;border:2px solid var(--bg-surface);background-color:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px}.avatar-container{align-items:center;gap:1rem;display:flex}.avatar{background-color:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:700;display:flex;box-shadow:0 4px 10px #00a8a54d}.content-area{background-color:var(--bg-background);flex:1;padding:1.5rem 2rem;overflow-y:auto}.page-header-flex{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-title{display:none}.card-panel{background-color:var(--bg-surface);border-radius:var(--radius-lg);transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #00000008;padding:2rem;box-shadow:0 4px 20px #0000000a}.card-panel:hover{box-shadow:0 8px 30px #0000000f}.form-control{width:100%;color:var(--text-primary);font-family:var(--font-body);transition:all var(--transition-fast);background-color:#0000;border:1px solid #e2e8f0;border-radius:4px;padding:.4rem .6rem;font-size:.9rem}.form-control:focus{border-color:var(--color-primary);box-shadow:none;outline:none}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:0;margin-bottom:.25rem;font-size:.75rem;font-weight:500;display:block}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background-color:var(--bg-surface);border:1px solid #00000005;border-radius:16px;padding:1.8rem;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000a}.stat-card:hover{transform:translateY(-8px);box-shadow:0 15px 30px #00000014}.stat-card:before{content:"";background:linear-gradient(90deg, var(--color-primary), transparent);opacity:0;width:100%;height:4px;transition:opacity .3s;position:absolute;top:0;left:0}.stat-card:hover:before{opacity:1}.stat-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.stat-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin:0;font-size:.9rem}.stat-icon{color:var(--color-primary);background-color:#d4af371a;border-radius:50%;padding:12px;transition:transform .3s cubic-bezier(.25,.8,.25,1),background-color .3s}.stat-card:hover .stat-icon{background-color:#d4af3733;transform:scale(1.15)rotate(5deg)}.stats-grid>*,.dashboard-panel{animation:.6s cubic-bezier(.25,.8,.25,1) backwards fadeInUp}.stats-grid>:first-child{animation-delay:.1s}.stats-grid>:nth-child(2){animation-delay:.2s}.stats-grid>:nth-child(3){animation-delay:.3s}.dashboard-grid>:first-child{animation-delay:.4s}.dashboard-grid>:nth-child(2){animation-delay:.5s}.stat-value{color:var(--text-primary);letter-spacing:-1px;margin:0;font-family:Inter,Outfit,system-ui,sans-serif;font-size:2.8rem;font-weight:700}.stat-value span{color:var(--text-secondary);font-size:1rem;font-family:var(--font-body)}.progress-bar-container{background-color:var(--border-color);border-radius:3px;height:6px;margin-top:1rem;overflow:hidden}.progress-bar-fill{background-color:var(--color-primary);border-radius:3px;height:100%;transition:width 1s ease-in-out}.dashboard-grid{grid-template-columns:2fr 1fr;gap:2rem;display:grid}.dashboard-panel{background-color:var(--bg-surface);border:1px solid #00000008;border-radius:20px;padding:2.5rem;animation:.6s cubic-bezier(.25,.8,.25,1) backwards fadeInUp;box-shadow:0 10px 40px #0000000a}.welcome-banner{background:linear-gradient(135deg, var(--color-primary), #111);color:#fff;border-radius:20px;margin-bottom:2rem;padding:2.5rem;animation:.5s cubic-bezier(.25,.8,.25,1) backwards fadeInUp;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001a}.welcome-banner:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:-50%;right:-10%}.welcome-banner h2{color:#fff;margin-bottom:.5rem;font-size:2rem}.welcome-banner p{color:#fffc;margin:0;font-size:1.1rem}.panel-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.recent-bookings-list{flex-direction:column;gap:1rem;display:flex}.recent-booking-item{background:var(--card-bg,white);border:1px solid #0000000a;border-radius:12px;justify-content:space-between;align-items:center;padding:1.2rem;transition:all .2s;display:flex}.recent-booking-item:hover{background-color:#f8fafc;border-color:#00000014;transform:translate(5px);box-shadow:0 4px 12px #00000008}.booking-info-main{align-items:center;gap:1rem;display:flex}.guest-avatar{background:linear-gradient(135deg, var(--color-primary), #333);color:#fff;width:45px;height:45px;font-weight:700;font-family:var(--font-heading);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex;box-shadow:0 2px 8px #0000001a}.booking-info-main h4{margin:0 0 .2rem;font-size:1rem}.booking-info-main p{color:var(--text-secondary);margin:0;font-size:.85rem}.booking-info-dates{align-items:center;gap:1.5rem;display:flex}.booking-amount{color:var(--color-primary);font-weight:600}.status-dot{border-radius:50%;width:10px;height:10px}.btn-primary,.btn-secondary{border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500;display:flex}.btn-primary{background-color:var(--color-primary);color:var(--text-on-dark);box-shadow:0 4px 10px #00a8a533}.btn-primary:hover{background-color:#008f8c;transform:translateY(-1px);box-shadow:0 6px 15px #00a8a54d}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background-color:#0000}.btn-secondary:hover{background-color:var(--bg-background);transform:translateY(-1px)}.status-badge{letter-spacing:.3px;border-radius:20px;padding:.35rem .8rem;font-size:.8rem;font-weight:600;display:inline-block}.status-confirm{color:#059669;background-color:#d1fae5}.status-pending{color:#d97706;background-color:#fef3c7}.status-draft{color:#4b5563;background-color:#f3f4f6}.settings-page-layout{background-color:#fff;flex-direction:row;width:calc(100% + 4rem);height:calc(100vh - 80px);margin:-1.5rem -2rem;display:flex;overflow:hidden}.settings-sidebar{border-right:1px solid var(--border-color);background-color:#fcfcfc;flex-direction:column;flex-shrink:0;gap:.5rem;width:240px;padding:1.5rem 1rem;display:flex;overflow-y:auto}.settings-tabs-container{flex-direction:column;gap:.25rem;display:flex}.settings-tab-btn{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;justify-content:flex-start;align-items:center;gap:12px;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.settings-tab-btn:hover:not(.active){color:var(--text-primary);background:#00000008}.settings-tab-btn.active{color:var(--text-primary);border-left:3px solid var(--color-primary);background:#0000000d;border-radius:0 4px 4px 0;font-weight:600}.header-tabs-container{gap:.5rem;display:flex}.header-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.header-tab-btn:hover:not(.active){color:var(--text-primary);background:#00000008}.header-tab-btn.active{color:var(--text-primary);border-bottom:3px solid var(--color-primary);background:#0000000d;border-radius:4px 4px 0 0;font-weight:600}.settings-form-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem;display:grid}.status-badge.role-admin{color:#fff;background-color:#dc2626}.status-badge.role-manager{color:#fff;background-color:#9333ea}.status-badge.role-reception{color:#fff;background-color:#0284c7}.status-badge.role-serveur{color:#fff;background-color:#d97706}.btn-icon-danger{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:inline-flex}.btn-icon-danger:hover{background:#ef44441a;border-color:#ef444433}.form-row-aligned{flex-wrap:wrap;align-items:flex-end;gap:1.5rem;display:flex}.form-row-aligned .form-group{margin-bottom:0}.status-done{color:#475569;background-color:#e2e8f0}.status-cancelled{color:#dc2626;background-color:#fee2e2}.data-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%}.data-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid var(--border-color);background-color:#f8fafc80;padding:1.2rem 1rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:1.2rem 1rem;font-size:.95rem}.table-row-clickable:hover{background-color:#f8fafc;transform:translateY(-1px);box-shadow:0 4px 10px #00000005}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;display:grid}.action-box{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid #0000000d;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;padding:1.5rem;text-decoration:none;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;box-shadow:0 4px 15px #00000005}.action-box:hover{color:var(--color-primary);background-color:var(--card-bg,white);border-color:#0000;transform:translateY(-5px);box-shadow:0 10px 25px #00000014}.action-box span{font-size:.9rem;font-weight:600}.section-title{border-bottom:2px solid var(--color-primary);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.5rem;display:inline-block}.card-panel{background-color:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-color);color:var(--text-secondary);box-shadow:var(--shadow-sm);padding:2rem}.btn-primary{background-color:var(--color-primary);color:var(--bg-surface);border-radius:var(--radius-sm);transition:background-color var(--transition-fast);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:inline-flex}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:pointer;background-color:#0000;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:inline-flex}.btn-secondary:hover{background-color:var(--bg-main);border-color:var(--text-secondary)}.btn-icon{border-radius:var(--radius-sm);color:var(--text-secondary);transition:background-color var(--transition-fast);cursor:pointer;padding:.5rem}.btn-icon:hover{background-color:var(--bg-main);color:var(--text-primary)}.action-buttons-inline{justify-content:flex-end;gap:.5rem;display:flex}.btn-action{border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:inline-flex}.btn-success{color:#10b981;background-color:#10b9811a}.btn-success:hover{color:#fff;background-color:#10b981}.btn-danger{color:#f59e0b;background-color:#f59e0b1a}.btn-danger:hover{color:#fff;background-color:#f59e0b}.btn-delete{color:#ef4444;background-color:#ef44441a}.btn-delete:hover{color:#fff;background-color:#ef4444}.text-red{color:#dc2626!important}.row-cancelled td{opacity:.6;-webkit-text-decoration:line-through #0003;text-decoration:line-through #0003}.row-cancelled td:last-child,.row-cancelled td:nth-last-child(2){text-decoration:none}.theme-switcher{border-top:1px solid var(--border-color-dark);margin-top:auto;padding:2rem}.theme-switcher h3{color:var(--text-on-dark-muted);text-transform:uppercase;margin-bottom:1rem;font-size:.8rem}.theme-btn{border-radius:var(--radius-sm);width:100%;transition:opacity var(--transition-fast);border:2px solid #0000;margin-bottom:.5rem;padding:.8rem;font-weight:700}.theme-btn:hover{opacity:.8}.theme-btn.active-theme{border-color:#fff}.btn-luxe{color:#111;background-color:#d4af37}.btn-ocean{color:#fff;background-color:#0077b6}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.room-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.room-img{background-position:50%;background-size:cover;height:200px;position:relative}.status-badge{color:#fff;text-align:center;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.room-img .status-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;position:absolute;top:1rem;right:1rem}.carousel-arrow{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;z-index:10;opacity:0;background:#0000004d;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .3s,opacity .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.room-img:hover .carousel-arrow{opacity:1}.carousel-arrow:hover{background:#000000b3}.carousel-arrow.left{left:10px}.carousel-arrow.right{right:10px}.carousel-dots{z-index:10;gap:6px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.carousel-dots .dot{background:#fff6;border-radius:50%;width:8px;height:8px;transition:background .3s,transform .3s}.carousel-dots .dot.active{background:#fff;transform:scale(1.2)}.status-green{background-color:#10b981e6}.status-red{background-color:#ef4444e6}.status-yellow{background-color:#f59e0be6}.status-gray{background-color:#6b7280e6}.status-badge.status-green{color:#fff;background-color:#10b981e6}.status-badge.status-red{color:#fff;background-color:#ef4444e6}.status-badge.status-orange{color:#fff;background-color:#f59e0be6}.room-info{flex-direction:column;flex:1;padding:1.5rem;display:flex}.room-header-info{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.room-header-info h3{color:var(--text-primary);margin:0;font-size:1.25rem;line-height:1.3}.room-price{color:var(--color-primary);white-space:nowrap;font-size:1.2rem;font-weight:700}.room-price span{color:var(--text-secondary);font-size:.8rem;font-weight:400}.room-meta{color:var(--text-secondary);flex:1;margin-bottom:1.5rem;font-size:.9rem}.room-inventory{border-radius:var(--radius-sm);background-color:#00a8a50d;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.8rem;font-size:.85rem;font-weight:600;display:flex}.room-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.5rem;padding-top:1rem;display:flex}.btn-icon.text-red:hover{color:#ef4444;background-color:#fee2e2}.form-row.two-cols{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.table-actions{gap:1rem;display:flex}.search-bar{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:350px;transition:border-color var(--transition-fast);align-items:center;padding:.5rem 1rem;display:flex}.search-bar:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #00a8a51a}.search-icon{color:var(--text-secondary);margin-right:.5rem}.search-bar input{width:100%;font-family:var(--font-body);color:var(--text-primary);background:0 0;border:none;outline:none}.filter-select{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-surface);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;appearance:none;transition:border-color var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 3H2l8 9.46V19l4 2v-8.54L22 3z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;outline:none;padding:.6rem 2.5rem .6rem 1rem;font-size:.9rem}.filter-select:focus,.filter-select:hover{border-color:var(--color-primary)}.table-container{padding:0;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border-color);padding:1.25rem 1.5rem}.data-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;background-color:#00000005;font-size:.8rem;font-weight:600}.data-table tr:last-child td{border-bottom:none}.table-row-clickable{cursor:pointer;transition:background-color var(--transition-fast)}.table-row-clickable:hover{background-color:var(--bg-main)}.table-room-cell{align-items:center;gap:1rem;display:flex}.table-room-img{object-fit:cover;border-radius:4px;width:50px;height:40px}.fw-bold{font-weight:600}.text-primary{color:var(--color-primary)!important}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-surface);border-radius:var(--radius-md);flex-direction:column;width:100%;max-width:500px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal-header h3{font-family:var(--font-heading);margin:0;font-size:1.5rem}.close-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none}.close-btn:hover{color:var(--text-primary)}.modal-body{flex:1;padding:2rem;overflow-y:auto}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.form-control{width:100%;font-family:var(--font-body);border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-main);color:var(--text-primary);transition:border-color var(--transition-fast);padding:.75rem 1rem;font-size:1rem}.form-control:focus{border-color:var(--color-primary);outline:none}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1em}.form-row{gap:1rem;display:flex}.form-row .form-group{flex:1}.modal-footer{border-top:1px solid var(--border-color);background-color:var(--bg-main);flex-shrink:0;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;display:flex}.modal-ticket{max-width:900px}.ticket-header{background-color:var(--bg-main);border-bottom:2px dashed var(--border-color);flex-shrink:0}.ticket-label{color:var(--text-secondary);letter-spacing:1px;font-size:.75rem;font-weight:700}.ticket-body{flex:1;padding:2rem;overflow-y:auto}.ticket-room-image{border-radius:var(--radius-md);background-position:50%;background-size:cover;height:300px;margin-bottom:2rem}.ticket-details-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}.ticket-section{flex-direction:column;display:flex}.ticket-value{margin:.25rem 0;font-size:1.1rem;font-weight:600}.ticket-subtext{color:var(--text-secondary);font-size:.85rem}.ticket-total{background-color:var(--bg-main);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.ticket-total h2{color:var(--color-primary);margin:0;font-size:1.8rem}.ticket-actions{border-top:1px solid var(--border-color);background-color:var(--bg-main);flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem;display:flex}.action-group-left,.action-group-right{gap:1rem;display:flex}
