.header{background:var(--bg-primary);border-bottom:1px solid var(--border-light);position:sticky;top:0;z-index:var(--z-header);box-shadow:var(--shadow-sm)}.header-container{display:flex;align-items:center;justify-content:space-between;height:var(--header-height)}.header-logo{display:flex;align-items:center}.logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary-500);letter-spacing:-.01em}.menu-toggle{display:none;color:var(--text-primary)}.header-nav{display:flex;align-items:center;gap:var(--spacing-6)}.nav-item{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);transition:color var(--transition-fast);padding:var(--spacing-2) var(--spacing-1);position:relative}.nav-item:hover{color:var(--color-primary-500)}.nav-item.active{color:var(--color-primary-500);font-weight:var(--font-weight-semibold)}.nav-item.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--color-primary-500);border-radius:1px}.admin-link{color:var(--color-secondary-600)}.header-actions{display:flex;align-items:center;gap:var(--spacing-3);margin-left:auto}.cart-wrapper{position:relative}.cart-btn{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);color:var(--text-secondary);transition:all var(--transition-fast)}.cart-btn:hover{background:var(--bg-accent);color:var(--color-primary-500)}.cart-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;background:var(--color-primary-500);color:#fff;font-size:11px;font-weight:600;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 5px}.cart-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:480px;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-floating);border:1px solid var(--border-light);overflow:hidden;z-index:1000;display:flex;flex-direction:column}.cart-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light)}.cart-header h3{font-size:1rem;font-weight:600;margin:0}.cart-header .close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:var(--text-muted);transition:all var(--transition-fast)}.cart-header .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:var(--text-muted)}.cart-empty svg{opacity:.3;margin-bottom:1rem}.cart-empty p{margin:0}.cart-items{flex:1;overflow-y:auto;max-height:300px}.cart-item{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);transition:background var(--transition-fast)}.cart-item:last-child{border-bottom:none}.cart-item:hover{background:var(--bg-secondary)}.cart-item-image{width:50px;height:50px;border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-image .placeholder-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-muted)}.cart-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cart-item-info .item-hotel-name{font-weight:600;font-size:.82rem;color:var(--color-primary, #059669);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.cart-item-info .item-name{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-item-info .item-description{font-size:.8rem;color:var(--text-muted)}.cart-item-info .item-price{font-size:.85rem;font-weight:600;color:var(--color-primary-500)}.cart-item .remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:var(--text-muted);flex-shrink:0;transition:all var(--transition-fast)}.cart-item .remove-btn:hover{background:var(--color-error-50);color:var(--color-error-600)}.cart-footer{border-top:1px solid var(--border-light);padding:1rem 1.25rem;background:var(--bg-secondary)}.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cart-total span{font-weight:500}.cart-total .total-price{font-size:1.1rem;font-weight:700;color:var(--color-primary-500)}.cart-actions{display:flex;gap:.75rem}.cart-actions .btn{flex:1}.user-dropdown-wrapper{position:relative}.user-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-xl);color:var(--text-primary);font-weight:500;transition:all var(--transition-fast)}.user-btn:hover{background:var(--bg-accent)}.user-btn .user-name{font-size:.9rem}.user-btn .dropdown-arrow{transition:transform .2s ease}.user-btn .dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-floating);border:1px solid var(--border-light);overflow:hidden;z-index:1000}.dropdown-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.dropdown-email{font-size:.85rem;color:var(--text-muted);word-break:break-all}.dropdown-menu{padding:.5rem}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border-radius:var(--radius-lg);color:var(--text-primary);font-size:.9rem;font-weight:500;transition:all var(--transition-fast);text-align:left}.dropdown-item:hover{background:var(--bg-accent);color:var(--color-primary-600)}.dropdown-item .material-icons{font-size:1.1rem;color:var(--text-muted)}.dropdown-item:hover .material-icons{color:var(--color-primary-500)}.dropdown-item.logout{color:var(--color-error-500)}.dropdown-item.logout:hover{background:var(--color-error-50);color:var(--color-error-600)}.dropdown-divider{height:1px;background:var(--border-light);margin:.5rem 0}.header-user{display:flex;align-items:center;gap:var(--spacing-3)}.user-info{display:flex;align-items:center;gap:var(--spacing-2);color:var(--text-primary);font-weight:var(--font-weight-medium)}.logout-btn{color:var(--text-muted);padding:var(--spacing-2)}.logout-btn:hover{color:var(--color-error-500)}.header-auth{display:flex;align-items:center;gap:var(--spacing-2)}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.lang-switcher{position:relative}.lang-switcher-btn{display:flex;align-items:center;gap:.375rem;padding:.4rem .65rem;border-radius:var(--radius-xl);color:var(--text-secondary);font-size:.8rem;font-weight:500;transition:all var(--transition-fast);white-space:nowrap}.lang-switcher-btn:hover{background:var(--bg-accent);color:var(--color-primary-500)}.lang-current{font-size:.8rem}.lang-arrow{transition:transform .2s ease}.lang-arrow.open{transform:rotate(180deg)}.lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-floating);border:1px solid var(--border-light);overflow:hidden;z-index:1000;padding:.375rem}.lang-option{display:flex;align-items:center;gap:.625rem;width:100%;padding:.6rem .75rem;border-radius:var(--radius-lg);font-size:.875rem;font-weight:500;color:var(--text-primary);transition:all var(--transition-fast);text-align:left}.lang-option:hover{background:var(--bg-accent);color:var(--color-primary-600)}.lang-option.active{background:var(--color-primary-50, #ecfdf5);color:var(--color-primary-600)}.lang-flag{font-size:1.1rem}.lang-label{flex:1}.lang-check{color:var(--color-primary-500);font-weight:700;font-size:.9rem}@media (max-width: 768px){.menu-toggle{display:block}.header-nav{position:fixed;top:var(--header-height);left:0;right:0;background:var(--bg-primary);flex-direction:column;padding:var(--spacing-4);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-md);display:none}.header-nav.open{display:flex}.header-actions{width:100%;justify-content:space-between;margin-left:0;padding-top:var(--spacing-4);border-top:1px solid var(--border-light);margin-top:var(--spacing-4)}.header-auth{flex-direction:column;width:100%}.header-auth .btn{width:100%}.cart-dropdown{position:fixed;top:var(--header-height);right:0;left:0;width:100%;max-width:100%;border-radius:0;max-height:calc(100vh - var(--header-height))}.user-dropdown{position:fixed;top:var(--header-height);right:0;left:0;width:100%;border-radius:0}.user-btn .user-name{display:none}}.footer{background:#f5f7fa;color:#121826;padding:3rem 0 1.5rem;margin-top:auto;border-top:1px solid #e8eaed}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-bottom:2rem}.footer-logo{font-size:1.25rem;font-weight:700;color:var(--color-primary-500);margin-bottom:.75rem}.footer-about p{font-size:.85rem;line-height:1.6;color:#6f7685}.footer-links h4,.footer-contact h4{font-size:.9rem;font-weight:600;color:#121826;margin-bottom:.75rem}.footer-links ul{display:flex;flex-direction:column;gap:.4rem}.footer-links a{font-size:.85rem;color:#6f7685;transition:color .2s ease;text-decoration:none}.footer-links a:hover{color:var(--color-primary-500)}.footer-contact p{font-size:.85rem;margin-bottom:.35rem;color:#6f7685}.footer-payment h4{font-size:.9rem;font-weight:600;color:#121826;margin-bottom:.75rem}.payment-logos{display:flex;flex-wrap:wrap;gap:.5rem}.payment-logo{display:flex;align-items:center;justify-content:center;width:56px;height:36px;background:#fff;border:1px solid #e8eaed;border-radius:6px;font-size:.6rem;font-weight:700;color:#6f7685;letter-spacing:.02em}.footer-partners{padding:1.5rem 0;border-top:1px solid #e8eaed;margin-bottom:1rem}.footer-partners h4{font-size:.9rem;font-weight:600;color:#121826;margin-bottom:.75rem}.partner-logos{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.partner-logo{display:flex;align-items:center;justify-content:center;padding:.4rem .75rem;background:#fff;border:1px solid #e8eaed;border-radius:6px;font-size:.75rem;font-weight:600;color:#6f7685}.footer-bottom{padding-top:1rem;border-top:1px solid #e8eaed;text-align:center}.footer-bottom p{font-size:.8rem;color:#6f7685}@media (max-width: 768px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.footer-grid{grid-template-columns:1fr}}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width-collapsed, 64px);background:#fff;border-right:1px solid #e8eaed;display:flex;flex-direction:column;z-index:calc(var(--z-header, 1010) + 10);transition:width .3s ease;overflow:hidden}.sidebar.expanded{width:var(--sidebar-width-expanded, 220px)}.sidebar-logo{display:flex;align-items:center;padding:1rem;height:64px;border-bottom:1px solid #e8eaed;gap:.75rem}.sidebar-logo-icon{width:36px;height:36px;background:var(--color-primary-500);color:#fff;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;flex-shrink:0}.sidebar-logo-text{font-size:1.1rem;font-weight:600;color:#121826;white-space:nowrap;opacity:0;transition:opacity .2s ease}.sidebar.expanded .sidebar-logo-text{opacity:1}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:.5rem 0}.nav-section{padding:.5rem 0}.nav-section:not(:last-child){border-bottom:1px solid #e8eaed}.nav-section-title{padding:.5rem 1rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#a0a5b0;white-space:nowrap;overflow:hidden}.nav-section-title span{opacity:0;transition:opacity .2s ease}.sidebar.expanded .nav-section-title span{opacity:1}.sidebar-link{display:flex;align-items:center;padding:.75rem 1rem;color:#6f7685;text-decoration:none;transition:all .2s ease;gap:.75rem;border:none;background:none;width:100%;cursor:pointer;font-size:.9rem}.sidebar-link:hover{background:#f3f4f6;color:#121826}.sidebar-link.active{background:var(--color-primary-50);color:var(--color-primary-600);border-left:3px solid var(--color-primary-500)}.sidebar-icon{width:20px;height:20px;flex-shrink:0}.sidebar-label{white-space:nowrap;overflow:hidden;opacity:0;transition:opacity .2s ease}.sidebar.expanded .sidebar-label{opacity:1}.sidebar-bottom{padding:.5rem 0;border-top:1px solid #e8eaed}.logout-link{color:var(--color-error-500)}.logout-link:hover{background:#ef444414;color:var(--color-error-500)}.sidebar:not(.expanded) .sidebar-link{position:relative}.sidebar:not(.expanded) .sidebar-link:hover:after{content:attr(title);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:#121826;color:#fff;padding:.5rem .75rem;border-radius:var(--radius-lg);font-size:.85rem;white-space:nowrap;z-index:1000;box-shadow:var(--shadow-lg)}.sidebar:not(.expanded) .sidebar-link:hover:before{content:"";position:absolute;left:calc(100% + 2px);top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#121826}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#9ca3af}.sidebar-loading{display:flex;justify-content:center;padding:1rem 0;color:#a0a5b0}.sidebar-loading .material-icons.spinning{animation:spin 1s linear infinite}.sidebar-footer{padding:.5rem 1rem;border-top:1px solid #e8eaed;text-align:center}.sidebar-hint{font-size:.65rem;color:#a0a5b0;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;opacity:0;transition:opacity .2s ease}.sidebar.expanded .sidebar-hint{opacity:1}.sidebar-backdrop{display:none}@media (max-width: 768px){.sidebar{display:none;width:var(--sidebar-width-expanded, 220px);transform:translate(-100%);transition:transform .3s ease}.sidebar.mobile-open{display:flex;transform:translate(0)}.sidebar.mobile-open .sidebar-label,.sidebar.mobile-open .sidebar-logo-text,.sidebar.mobile-open .nav-section-title span,.sidebar.mobile-open .sidebar-hint{opacity:1}.sidebar-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:calc(var(--z-header, 1010) + 5)}.sidebar-backdrop.visible{display:block}}.main-layout{display:flex;min-height:100vh;position:relative;width:100%;max-width:100vw;overflow-x:hidden}.main-wrapper{flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0;width:100%;max-width:100%}.main-wrapper>.header{position:sticky;top:0;z-index:var(--z-header, 1010)}.main-content{flex:1;position:relative;min-width:0}@media (min-width: 769px){.main-wrapper{margin-left:var(--sidebar-width-collapsed, 64px);transition:margin-left .3s ease;width:calc(100% - var(--sidebar-width-collapsed, 64px));max-width:calc(100vw - var(--sidebar-width-collapsed, 64px))}}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:260px;background:var(--color-gray-900);color:#fff;padding:var(--spacing-6);flex-shrink:0;display:flex;flex-direction:column}.admin-logo{margin-bottom:var(--spacing-8)}.admin-logo h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary-400)}.admin-logo span{font-size:var(--font-size-sm);color:var(--color-gray-400)}.admin-nav{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1}.admin-nav-link{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);color:var(--color-gray-400);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.admin-nav-link:hover{background:var(--color-gray-800);color:#fff}.admin-nav-link.active{background:var(--color-primary-600);color:#fff}.admin-main{flex:1;padding:var(--spacing-8);background:var(--bg-secondary);overflow-y:auto}.admin-sidebar-footer{padding-top:var(--spacing-4);border-top:1px solid rgba(255,255,255,.1);margin-top:var(--spacing-4)}.back-to-site-btn{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);color:var(--color-gray-400);border-radius:var(--radius-lg);transition:all var(--transition-fast);width:100%;text-decoration:none}.back-to-site-btn:hover{background:#3b82f61a;color:var(--color-primary-400)}@media (max-width: 768px){.admin-sidebar{width:200px;padding:var(--spacing-4)}.admin-main{padding:var(--spacing-4)}}.search-bar{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:.625rem;background:#fff;padding:1rem;border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg)}.search-bar--hero{max-width:1100px;margin:0 auto;padding:1.25rem;gap:.75rem}.search-bar--compact{padding:.75rem;gap:.5rem}.search-field{position:relative;display:flex;align-items:center;background:var(--bg-secondary);border-radius:var(--radius-lg);padding:0 1rem;border:2px solid transparent;transition:border-color .2s,background-color .2s;height:52px;min-width:0}.search-field:focus-within{border-color:var(--color-primary-500);background:#fff}.search-field--destination{flex:2}.search-field--date{flex:1.2}.search-field--guests{flex:1.5}.search-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--color-primary-600);color:#fff;border:none;border-radius:var(--radius-lg);padding:0 1.5rem;height:52px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s,transform .2s,box-shadow .2s;white-space:nowrap;flex-shrink:0}.search-btn:hover{background:var(--color-primary-700);transform:translateY(-2px);box-shadow:0 4px 12px #0596694d}.search-btn svg{font-size:1.1rem;flex-shrink:0}.search-icon{color:var(--text-muted);font-size:1.1rem;margin-right:.5rem;flex-shrink:0}.search-input{flex:1;min-width:0;border:none;background:transparent;font-size:.95rem;color:var(--text-primary);outline:none;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-input::placeholder{color:var(--text-muted)}.date-input{cursor:pointer}.date-input::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:100%;height:100%;cursor:pointer}.date-label{position:absolute;top:-8px;left:12px;font-size:.7rem;color:var(--text-muted);background:#fff;padding:0 4px}.nights-badge{position:absolute;top:-10px;right:10px;background:var(--color-primary-600);color:#fff;font-size:.7rem;padding:2px 8px;border-radius:var(--radius-full);font-weight:600;white-space:nowrap}.clear-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s;flex-shrink:0}.clear-btn:hover{color:var(--color-error-500)}.autocomplete-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:400px;overflow-y:auto;z-index:1000;min-width:340px;border:1px solid var(--border-light)}.autocomplete-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 16px;color:var(--text-muted);font-size:.9rem}.ac-spinner{width:18px;height:18px;border:2px solid var(--border-light);border-top-color:var(--color-primary-500);border-radius:50%;animation:ac-spin .6s linear infinite}@keyframes ac-spin{to{transform:rotate(360deg)}}.autocomplete-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:.9rem}.ac-sections{padding:6px 0}.ac-section{padding:0}.ac-section+.ac-section{border-top:1px solid var(--border-light)}.ac-section-label{padding:10px 16px 4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.ac-item{display:flex;align-items:center;padding:10px 16px;cursor:pointer;transition:background-color .15s;gap:12px}.ac-item:hover{background-color:var(--color-primary-50)}.ac-item--hotel{padding:8px 16px}.ac-type-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-muted);font-size:1rem;padding:8px}.ac-type-icon--province{background:var(--color-primary-50);color:var(--color-primary-600)}.ac-type-icon--city{background:#fef3c7;color:#d97706}.ac-type-icon--hotel{background:var(--color-primary-50);color:var(--color-primary-600)}.ac-hotel-thumb{width:44px;height:44px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;background:var(--bg-secondary)}.ac-item-content{display:flex;flex-direction:column;min-width:0;gap:2px}.ac-item-name{font-weight:500;font-size:.92rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.ac-item-sub{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ac-stars{display:inline-flex;align-items:center;gap:1px;flex-shrink:0}.ac-star-icon{width:11px;height:11px;color:#f59e0b;fill:#f59e0b}.guest-trigger{flex:1;min-width:0;text-align:left;background:none;border:none;font-size:.95rem;color:var(--text-primary);cursor:pointer;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-dropdown{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:16px;z-index:1000;min-width:280px;border:1px solid var(--border-light)}.guest-counter{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-light)}.guest-counter:last-of-type{border-bottom:none}.guest-label{font-weight:500;color:var(--text-primary)}.guest-controls{display:flex;align-items:center;gap:12px}.guest-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-default);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.guest-btn:hover:not(:disabled){border-color:var(--color-primary-500);color:var(--color-primary-600)}.guest-btn:disabled{opacity:.5;cursor:not-allowed}.guest-value{min-width:24px;text-align:center;font-weight:600}.guest-done-btn{width:100%;margin-top:12px;padding:10px;background:var(--color-primary-600);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:500;cursor:pointer;transition:background-color .2s}.guest-done-btn:hover{background:var(--color-primary-700)}@media (max-width: 992px){.search-bar{flex-wrap:wrap}.search-field--destination{flex:1 1 100%}.search-field--date,.search-field--guests{flex:1 1 calc(50% - .375rem)}.search-btn{flex:0 0 auto;padding:0 2rem}}@media (max-width: 768px){.search-bar{flex-direction:column;padding:1rem;gap:.75rem}.search-bar--hero{margin:0 .5rem;max-width:none}.search-field{width:100%;height:48px;padding:0 .875rem}.search-field--destination,.search-field--date,.search-field--guests{flex:none}.search-input,.guest-trigger{font-size:.9rem}.search-btn{width:100%;height:48px}.autocomplete-dropdown,.guest-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;max-height:60vh;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;min-width:100%}.guest-dropdown{padding:20px}}@media (max-width: 480px){.search-bar{gap:.625rem;padding:.75rem}.search-field{height:44px;padding:0 .75rem}.search-btn span{display:none}.search-btn{height:44px;padding:0 1rem;min-width:44px}.search-btn svg{font-size:1.25rem;margin:0}}.hero{position:relative;min-height:600px;display:flex;align-items:center;padding:4rem 0;overflow:hidden}.hero-fallback-bg{position:absolute;top:0;left:0;right:0;bottom:0;background:url(/uploads/images/MainImage.webp) center/cover no-repeat;z-index:0}.hero-fallback-bg:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0006}.hero-dynamic{background:var(--color-gray-900)}.hero-slides{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.hero-slide{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity .8s ease-in-out}.hero-slide.active{opacity:1}.hero-slide.clickable{cursor:pointer}.hero-slide-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#00000040,#00000073)}.hero-content{position:relative;z-index:10;width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.hero-content.text-left{text-align:left}.hero-content.text-center{text-align:center}.hero-content.text-right{text-align:right}.hero-title{font-size:3rem;font-weight:700;color:#fff;margin-bottom:1rem;text-shadow:0 2px 8px rgba(0,0,0,.3);line-height:1.2;letter-spacing:-.02em;animation:fadeInUp .6s ease-out}.hero-subtitle{font-size:1.25rem;color:#ffffffe6;margin-bottom:2rem;max-width:600px;line-height:1.6;text-shadow:0 1px 4px rgba(0,0,0,.2);animation:fadeInUp .6s ease-out .1s backwards}.hero-content.text-center .hero-subtitle{margin-left:auto;margin-right:auto}.hero-content.text-right .hero-subtitle{margin-left:auto}.hero-cta{margin-bottom:2rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:var(--radius-xl);transition:all .3s ease;animation:fadeInUp .6s ease-out .2s backwards}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.btn-outline-light{background:transparent;border:2px solid white;color:#fff}.btn-outline-light:hover{background:#fff;color:var(--color-gray-800)}.btn-white{background:#fff;color:var(--color-gray-800);border:none}.btn-white:hover{background:var(--color-gray-100)}.hero-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:50px;height:50px;border:none;border-radius:50%;background:#fff3;color:#fff;font-size:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-nav:hover{background:#fff6;transform:translateY(-50%) scale(1.1)}.hero-nav-prev{left:1.5rem}.hero-nav-next{right:1.5rem}.hero-dots{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:20;display:flex;gap:.5rem}.hero-dot{width:12px;height:12px;border:none;border-radius:50%;background:#fff6;cursor:pointer;transition:all .3s ease}.hero-dot:hover{background:#ffffffb3}.hero-dot.active{background:#fff;transform:scale(1.2)}.hero-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-700) 0%,var(--color-secondary-400) 100%);z-index:5}.hero-loading .spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 992px){.hero{min-height:500px}.hero-title{font-size:2.5rem}.hero-nav{width:44px;height:44px;font-size:1.25rem}.hero-nav-prev{left:1rem}.hero-nav-next{right:1rem}}@media (max-width: 768px){.hero{min-height:auto;padding:3rem 0}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem;margin-bottom:1.5rem}.hero-cta{padding:.875rem 1.5rem;font-size:1rem;margin-bottom:1.5rem}.hero-nav{display:none}.hero-dots{bottom:1rem}.hero-dot{width:10px;height:10px}}@media (max-width: 576px){.hero{padding:2rem 0}.hero-title{font-size:1.75rem}.hero-subtitle{font-size:.95rem}.hero-content{padding:0 1rem}}.promo-banners{width:100%}.promo-banners-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.promo-banners-two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.promo-banners-single{display:block}.promo-loading{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.promo-skeleton{height:200px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:12px}.promo-card{position:relative;border-radius:12px;overflow:hidden;min-height:200px;transition:transform .3s ease,box-shadow .3s ease}.promo-card.clickable{cursor:pointer}.promo-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.promo-image{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform .4s ease}.promo-card:hover .promo-image{transform:scale(1.05)}.promo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#0000001a,#0009)}.promo-content{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;z-index:2}.promo-content.left{text-align:left}.promo-content.center{text-align:center}.promo-content.right{text-align:right}.promo-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;text-shadow:0 1px 4px rgba(0,0,0,.3);line-height:1.3}.promo-description{font-size:.9rem;opacity:.9;margin-bottom:.75rem;text-shadow:0 1px 2px rgba(0,0,0,.2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.promo-cta{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;transition:all .3s ease}.promo-cta:hover{transform:translateY(-2px)}.promo-card.featured{min-height:300px}.promo-card.featured .promo-title{font-size:1.5rem}.promo-card.featured .promo-description{font-size:1rem}@media (max-width: 1200px){.promo-banners-grid,.promo-loading{grid-template-columns:repeat(3,1fr)}}@media (max-width: 992px){.promo-banners-grid,.promo-loading{grid-template-columns:repeat(2,1fr)}.promo-card{min-height:180px}}@media (max-width: 768px){.promo-banners-grid,.promo-banners-two-col{grid-template-columns:1fr;gap:1rem}.promo-loading{grid-template-columns:1fr}.promo-card{min-height:160px}.promo-content{padding:1rem}.promo-title{font-size:1.1rem}.promo-description{font-size:.85rem}.promo-card.featured{min-height:220px}.promo-card.featured .promo-title{font-size:1.25rem}}@media (max-width: 576px){.promo-card{min-height:140px}.promo-skeleton{height:140px}}.hotel-card{background:var(--bg-primary);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.hotel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.hotel-card--horizontal{flex-direction:row}.hotel-card--horizontal .hotel-card__image-wrapper{width:280px;flex-shrink:0}.hotel-card--horizontal .hotel-card__image{height:100%}.hotel-card__image-wrapper{position:relative;height:200px;overflow:hidden}.hotel-card__image{width:100%;height:100%;object-fit:cover;transition:transform .3s}.hotel-card:hover .hotel-card__image{transform:scale(1.05)}.hotel-card__badge{position:absolute;top:12px;left:12px;padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase}.hotel-card__badge--featured{background:var(--color-primary-600);color:#fff}.hotel-card__badge--hot{background:var(--color-primary-500);color:#fff;top:12px;left:auto;right:56px}.hotel-card__badge--md{background:var(--color-warning-500);color:#fff;top:42px;left:12px}.hotel-card__badge--featured+.hotel-card__badge--hot{top:42px;left:12px;right:auto}.hotel-card__badge--featured+.hotel-card__badge--hot+.hotel-card__badge--md{top:72px}.hotel-card__favorite{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-md)}.hotel-card__favorite:hover{background:var(--color-error-50);color:var(--color-error-500);transform:scale(1.1)}.hotel-card__favorite svg{font-size:1.1rem}.hotel-card__content{padding:.75rem;display:flex;flex-direction:column;flex:1}.hotel-card__header{margin-bottom:.5rem}.hotel-card__stars{display:flex;gap:2px;margin-bottom:.35rem}.star{font-size:.75rem;color:var(--border-light)}.star--filled{color:var(--color-warning-500);fill:var(--color-warning-500)}.hotel-card__name{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 .35rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hotel-card__name:hover{color:var(--color-primary-600)}.hotel-card__location{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--text-tertiary)}.hotel-card__location svg{font-size:.9rem;flex-shrink:0}.hotel-card__amenities{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.hotel-card__amenity{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-tertiary);background:var(--bg-secondary);padding:4px 8px;border-radius:var(--radius-md)}.hotel-card__amenity svg{font-size:.85rem}.hotel-card__amenity--more{background:var(--bg-tertiary);font-weight:500}.hotel-card__footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border-light)}.hotel-card__reviews{display:flex;align-items:center;gap:8px}.review-score{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px 6px 6px 0;font-weight:700;font-size:.8rem;color:#fff}.review-score--excellent{background:var(--color-primary-800)}.review-score--very-good{background:var(--color-primary-600)}.review-score--good{background:var(--color-primary-400)}.review-score--pleasant{background:var(--color-gray-500)}.review-info{display:flex;flex-direction:column}.review-badge{font-size:.8rem;font-weight:600;color:var(--text-primary)}.review-count{font-size:.75rem;color:var(--text-muted)}.hotel-card__price{text-align:right}.price-label{display:block;font-size:.75rem;color:var(--text-muted)}.price-value{display:block;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.price-unit{font-size:.75rem;color:var(--text-muted)}.hotel-card__cta{display:block;width:100%;margin-top:.75rem;padding:.6rem;background:var(--color-primary-600);color:#fff;text-align:center;text-decoration:none;border-radius:var(--radius-lg);font-weight:500;transition:background-color .2s,box-shadow .2s}.hotel-card__cta:hover{background:var(--color-primary-700);color:#fff;box-shadow:0 2px 8px #0596694d}@media (max-width: 768px){.hotel-card--horizontal{flex-direction:column}.hotel-card--horizontal .hotel-card__image-wrapper{width:100%;aspect-ratio:16 / 9}.hotel-card__content{padding:.875rem}.hotel-card__name{font-size:1rem}.hotel-card__footer{flex-direction:column;align-items:flex-start;gap:.75rem}.hotel-card__price{text-align:left}}@media (max-width: 480px){.hotel-card__image-wrapper{aspect-ratio:16 / 10}.hotel-card__amenities{display:none}}.hotel-card--sold-out{opacity:.75;position:relative}.hotel-card--sold-out .hotel-card__image{filter:grayscale(40%)}.hotel-card__sold-out-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:5;border-radius:inherit}.hotel-card__sold-out-overlay .sold-out-text{background:#dc2626;color:#fff;font-size:1rem;font-weight:800;padding:.4rem 1.25rem;border-radius:6px;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 2px 8px #dc262666}.hotel-card--sold-out .hotel-card__price{display:none}.hotel-card--sold-out .hotel-card__cta{background:#9ca3af;pointer-events:none}.md-hotel-card{position:relative;display:flex;flex-direction:column;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:var(--radius-xl);overflow:hidden;text-decoration:none;color:#fff;transition:all var(--transition-normal);box-shadow:0 10px 40px #0000004d;min-width:0;flex-shrink:0}.md-hotel-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #0006}.md-badge{position:absolute;top:16px;left:16px;z-index:10;display:flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,var(--color-warning-500) 0%,var(--color-warning-600) 100%);color:#fff;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-full);box-shadow:0 4px 12px #f59e0b66}.md-hotel-image{position:relative;width:100%;height:200px;overflow:hidden}.md-hotel-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.md-hotel-card:hover .md-hotel-image img{transform:scale(1.1)}.md-hotel-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 16px 12px;background:linear-gradient(to top,rgba(15,23,42,.95),transparent)}.md-stars{display:flex;gap:2px}.md-stars .star-filled{color:var(--color-warning-500);fill:var(--color-warning-500)}.md-hotel-content{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}.md-hotel-name{font-size:var(--font-size-lg);font-weight:700;color:#fff;margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.md-hotel-location{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:#ffffffb3}.md-hotel-location svg{flex-shrink:0;color:var(--color-primary-400)}.md-hotel-note{font-size:var(--font-size-sm);color:#fffc;font-style:italic;margin:0;padding:12px;background:#ffffff0d;border-radius:var(--radius-md);border-left:3px solid var(--color-primary-400);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.md-hotel-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.md-hotel-rating{display:flex;align-items:baseline;gap:4px}.md-hotel-rating .rating-score{font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary-400)}.md-hotel-rating .rating-count{font-size:var(--font-size-xs);color:#ffffff80}.md-hotel-price{text-align:right}.md-hotel-price .price-label{display:block;font-size:var(--font-size-xs);color:#ffffff80;margin-bottom:2px}.md-hotel-price .price-value{font-size:var(--font-size-xl);font-weight:700;color:#fff}.md-hotel-price .price-unit{font-size:var(--font-size-xs);color:#fff9;margin-left:2px}@media (max-width: 768px){.md-hotel-image{height:180px}.md-hotel-content{padding:16px}}.home-page{min-height:100vh;background:var(--bg-primary)}.section{padding:1.5rem 0}.section-gray{background:var(--bg-secondary)}.section-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:.35rem;letter-spacing:-.01em}.section-subtitle{font-size:.85rem;color:var(--text-tertiary);text-align:center;margin-bottom:1.25rem}.section-cta{text-align:center;margin-top:1.5rem}.section-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:1rem;gap:.5rem}.section-header .section-title{text-align:left;margin-bottom:.15rem}.section-header .section-subtitle{text-align:left;margin-bottom:0}.view-all-link{display:flex;align-items:center;gap:.5rem;color:var(--color-primary-600);font-weight:500;font-size:.85rem;white-space:nowrap;padding:.35rem .75rem;border-radius:var(--radius-lg);transition:all .2s;flex-shrink:0}.view-all-link:hover{background:var(--color-primary-50);color:var(--color-primary-700)}.section-empty{text-align:center;padding:2rem 1rem;background:var(--bg-secondary);border-radius:var(--radius-xl);color:var(--text-muted);font-size:.9rem}.home-page .hotels-grid{display:grid;grid-template-columns:1fr;gap:1rem}.hotels-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem}.hotels-loading .spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin 1s linear infinite}.hotels-loading p{margin-top:.75rem;color:var(--text-muted);font-size:.85rem}.featured-placeholder{text-align:center;padding:2rem 1rem;background:var(--bg-secondary);border-radius:var(--radius-xl)}.featured-placeholder p{color:var(--text-muted);margin-bottom:.75rem;font-size:.9rem}.hot-section{background:linear-gradient(135deg,var(--color-primary-50) 0%,#d1fae5 100%)}.hot-section-title{display:flex;align-items:center;gap:.5rem}.hot-section-title .hot-icon{font-size:1.5rem;color:var(--color-primary-500)}.hot-section-title h2{font-size:1.15rem;color:var(--text-primary);margin:0}.hot-section-title p{font-size:.8rem;color:var(--text-tertiary);margin:.15rem 0 0}.md-section{background:transparent;padding:1.5rem 0;overflow:hidden}.md-section-header{margin-bottom:1rem}.md-section-title{display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.md-section-title .md-icon{font-size:1.5rem;color:var(--color-warning-500)}.md-section-title h2{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin:0}.md-section-title p{font-size:.8rem;color:var(--text-secondary);margin:.15rem 0 0}.region-section{background:#fff}.region-section:nth-child(2n){background:var(--bg-secondary)}.regions-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.region-card{display:flex;flex-direction:column;border-radius:var(--radius-xl);overflow:hidden;background:var(--bg-primary);box-shadow:var(--shadow-card);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.region-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.region-card-img{height:140px;overflow:hidden;background:var(--bg-tertiary)}.region-card-img img{width:100%;height:100%;object-fit:cover}.region-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:var(--text-muted)}.region-card-body{padding:.75rem}.region-card-body h3{margin:0 0 .15rem;font-size:.9rem;font-weight:600}.region-count{font-size:.8rem;color:var(--text-muted)}.destinations-section{background:var(--bg-secondary);padding:1.5rem 0}.destinations-carousel-wrap{position:relative;display:flex;align-items:center;gap:0}.destinations-carousel{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.25rem 0;flex:1;min-width:0}.destinations-carousel::-webkit-scrollbar{display:none}.destination-card{flex:0 0 90px;min-width:80px;display:flex;flex-direction:column;align-items:center;text-decoration:none;scroll-snap-align:start;transition:transform .2s ease}.destination-card:hover{transform:translateY(-3px)}.destination-card-img{width:100%;aspect-ratio:1;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.destination-card-img img{width:100%;height:100%;object-fit:cover;display:block}.destination-card-img-legacy{width:100%;aspect-ratio:1;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.destination-card:hover .destination-card-img{box-shadow:var(--shadow-card)}.destination-card-icon{font-size:1.75rem;color:#ffffffd9}.destination-card-name{margin-top:.4rem;font-size:.75rem;font-weight:600;color:var(--text-primary);text-align:center}.dest-nav{display:none}.why-choose-section{padding:2.5rem 0;position:relative;overflow:hidden}.why-choose-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/images/AdvertisementBanner.webp) center / cover no-repeat;transform:scale(1.1);filter:blur(8px);z-index:0}.why-choose-section:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#064e3ba6;z-index:1}.why-choose-section>*{position:relative;z-index:2}.why-choose-header{text-align:center;margin-bottom:1.75rem}.why-choose-badge{display:inline-block;padding:.3rem 1rem;border-radius:var(--radius-full);background:#34d39933;color:var(--color-primary-300);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.75rem}.why-choose-title{font-size:1.35rem;font-weight:700;color:#f1f5f9;margin:0;letter-spacing:-.02em}.why-choose-grid{display:grid;grid-template-columns:1fr;gap:1rem}.why-choose-card{position:relative;padding:1.5rem 1.25rem 1.25rem;border-radius:var(--radius-xl);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;transition:transform .3s,background .3s;overflow:hidden}.why-choose-card:hover{transform:translateY(-4px);background:#ffffff1a}.why-choose-accent{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:3px;border-radius:3px 3px 0 0;transition:width .3s ease}.why-choose-card:nth-child(1) .why-choose-accent{background:linear-gradient(90deg,#34d399,#10b981)}.why-choose-card:nth-child(2) .why-choose-accent{background:linear-gradient(90deg,#2dd4bf,#14b8a6)}.why-choose-card:nth-child(3) .why-choose-accent{background:linear-gradient(90deg,#f59e0b,#f97316)}.why-choose-card:hover .why-choose-accent{width:60%}.why-choose-icon-wrap{width:48px;height:48px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.35rem}.why-choose-icon--price{background:linear-gradient(135deg,#34d39933,#10b9811a);color:#34d399}.why-choose-icon--secure{background:linear-gradient(135deg,#2dd4bf33,#14b8a61a);color:#2dd4bf}.why-choose-icon--support{background:linear-gradient(135deg,#f59e0b33,#f973161a);color:#f59e0b}.why-choose-card h3{font-size:1rem;font-weight:600;color:#f1f5f9;margin:0 0 .5rem}.why-choose-card p{font-size:.82rem;color:#94a3b8;line-height:1.6;margin:0}@media (min-width: 480px){.destination-card{flex:0 0 110px;min-width:100px}.destination-card-name{font-size:.8rem}.regions-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 640px){.home-page .hotels-grid{grid-template-columns:repeat(2,1fr)}.section{padding:2rem 0}.section-title{font-size:1.35rem}.section-subtitle{font-size:.9rem;margin-bottom:1.5rem}.section-header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:1rem}.destination-card{flex:0 0 130px;min-width:110px}.destination-card-name{font-size:.85rem}.why-choose-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.why-choose-card:last-child{grid-column:1 / -1;max-width:400px;margin:0 auto}.why-choose-title{font-size:1.6rem}.why-choose-icon-wrap{width:56px;height:56px;font-size:1.5rem}.hot-section-title .hot-icon,.md-section-title .md-icon{font-size:1.75rem}.hot-section-title h2,.md-section-title h2{font-size:1.35rem}.hot-section-title p,.md-section-title p{font-size:.85rem}.md-hotels-carousel{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:1rem}.md-hotels-carousel::-webkit-scrollbar{display:none}.md-hotels-carousel>*{flex-shrink:0;scroll-snap-align:start;width:280px;max-width:280px}}@media (min-width: 768px){.section{padding:2.5rem 0}.section-title{font-size:1.5rem}.region-card-img{height:150px}.regions-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}.destination-card{flex:0 0 140px;min-width:120px}.destination-card-icon{font-size:2.25rem}.destination-card-name{font-size:.9rem}.why-choose-section{padding:3.5rem 0}.md-section{padding:2.5rem 0}.md-hotels-carousel>*{width:300px;max-width:300px}.md-hotels-carousel{gap:1.25rem;scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}.md-hotels-carousel::-webkit-scrollbar{display:block;height:6px}.md-hotels-carousel::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.md-hotels-carousel::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}}@media (min-width: 1024px){.section{padding:3.5rem 0}.section-title{font-size:1.65rem}.section-subtitle{font-size:1rem;margin-bottom:2rem}.home-page .hotels-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}.why-choose-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem;max-width:960px;margin:0 auto}.why-choose-card:last-child{grid-column:auto;max-width:none;margin:0}.why-choose-card{padding:2rem 1.5rem 1.75rem}.why-choose-title{font-size:2rem}.why-choose-icon-wrap{width:64px;height:64px;font-size:1.75rem;margin-bottom:1.25rem}.why-choose-card h3{font-size:1.15rem}.why-choose-card p{font-size:.9rem;line-height:1.7}.why-choose-section{padding:4.5rem 0}.why-choose-header{margin-bottom:3rem}.hot-section-title .hot-icon,.md-section-title .md-icon{font-size:2.25rem}.hot-section-title h2,.md-section-title h2{font-size:1.75rem}.hot-section-title,.md-section-title{gap:.75rem}.md-hotels-carousel>*{width:320px;max-width:320px}.md-hotels-carousel{gap:1.5rem;padding:.75rem 0 1.5rem}.md-section{padding:3.5rem 0}.destination-card{flex:0 0 150px;min-width:130px}.destination-card-name{font-size:.95rem;margin-top:.5rem}.destination-card-icon{font-size:2.5rem}.dest-nav{display:flex;flex-shrink:0;width:40px;height:40px;border:none;border-radius:50%;background:#fff;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:all .2s ease;z-index:2}.dest-nav:hover{background:var(--color-primary-600);color:#fff}.destinations-carousel-wrap{gap:.5rem}.destinations-section{padding:3rem 0}}@media (min-width: 1280px){.section{padding:4rem 0}.section-title{font-size:1.75rem}.home-page .hotels-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}.why-choose-grid{gap:2rem;max-width:1000px}.why-choose-card{padding:2.5rem 2rem 2rem}.why-choose-title{font-size:2.25rem}.hot-section-title h2,.md-section-title h2{font-size:2rem}.hot-section-title .hot-icon,.md-section-title .md-icon{font-size:2.5rem}.hot-section-title,.md-section-title{gap:1rem}.md-hotels-carousel>*{width:340px;max-width:340px}.region-card-img{height:160px}}.inline-search-bar{background:#003580;padding:1rem 0;position:sticky;top:0;z-index:100}.search-bar-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;gap:.5rem}.search-field{position:relative;background:#fff;border-radius:8px;padding:.5rem 1rem;flex:1}.search-field label{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#6c757d;margin-bottom:.25rem;white-space:nowrap}.search-field label svg{color:#003580;flex-shrink:0}.field-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-field{min-width:160px}.search-field input[type=date]{width:100%;border:none;font-size:.9rem;font-weight:500;color:#212529;background:transparent;cursor:pointer}.search-field input[type=date]:focus{outline:none}.date-display{display:none}.nights-display{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e7f1ff;border-radius:8px;padding:.5rem 1rem;min-width:60px;flex-shrink:0}.nights-count{font-size:1.25rem;font-weight:700;color:#003580}.nights-label{font-size:.7rem;color:#6c757d;text-transform:uppercase;white-space:nowrap}.guest-field{min-width:220px}.guest-field label{margin-bottom:.35rem}.guest-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;font-size:.85rem;font-weight:500;color:#212529;cursor:pointer;padding:0;gap:.5rem}.guest-trigger span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-trigger svg{transition:transform .2s;color:#6c757d;flex-shrink:0}.guest-trigger svg.rotated{transform:rotate(180deg)}.guest-picker-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:1rem;margin-top:.5rem;z-index:10}.guest-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e9ecef}.guest-row:last-of-type{border-bottom:none}.guest-label{font-weight:500;color:#212529;white-space:nowrap}.guest-controls{display:flex;align-items:center;gap:1rem}.guest-controls button{width:32px;height:32px;border-radius:50%;border:1px solid #dee2e6;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.guest-controls button:hover:not(:disabled){border-color:#003580;color:#003580}.guest-controls button:disabled{opacity:.5;cursor:not-allowed}.guest-controls span{font-weight:600;min-width:24px;text-align:center}.done-btn{width:100%;padding:.75rem;background:#003580;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;margin-top:.5rem;transition:background .2s}.done-btn:hover{background:#002a66}.search-btn{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#f7a600;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap;flex-shrink:0}.search-btn:hover{background:#e09800}@media (max-width: 992px){.search-bar-container{flex-wrap:wrap}.search-field{flex:1 1 45%;min-width:0}.date-field{min-width:0}.nights-display{display:none}.guest-field{min-width:0;flex:1 1 100%}.search-btn{flex:1 1 100%;justify-content:center;margin-top:.5rem}}@media (max-width: 576px){.inline-search-bar{padding:.75rem 0}.search-bar-container{gap:.5rem}.search-field{flex:1 1 100%;padding:.75rem}.guest-field{min-width:100%}.search-btn{padding:.875rem}}.hero-area{position:relative;padding:2rem 0;background-size:cover;background-position:center;background-repeat:no-repeat}.hero-bg-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to right,#0f172ab8,#0f172a73 45%,#0f172a2e);z-index:1}.hero-container{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.hero-info{display:flex;flex-direction:column;justify-content:center}.hotel-stars{display:flex;gap:.25rem;margin-bottom:.5rem}.hotel-stars .star-icon{color:#ffc107;fill:#ffc107}.hotel-name{font-size:2rem;font-weight:700;color:#fff;margin:0 0 1rem;line-height:1.2;text-shadow:0 1px 3px rgba(0,0,0,.3)}.hotel-address{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;color:#ffffffd9;margin-bottom:1rem}.hotel-address svg{color:#7db8ff}.view-map-link{background:none;border:none;color:#7db8ff;font-weight:500;cursor:pointer;text-decoration:underline;padding:0}.view-map-link:hover{color:#a8d4ff}.hotel-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600}.badge-guarantee{background:#e8f5e9;color:#2e7d32}.badge-featured{background:#003580;color:#fff}.hero-review{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.review-score-box{width:50px;height:50px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:8px 8px 8px 0;display:flex;align-items:center;justify-content:center}.review-score-box .score{font-size:1.5rem;font-weight:700}.review-text{display:flex;flex-direction:column}.rating-label{font-weight:600;color:#fff}.review-count{font-size:.875rem;color:#ffffffbf}.hero-actions{display:flex;gap:.75rem;align-items:center}.btn-select-room{padding:.875rem 2rem;font-size:1rem;font-weight:600;background:#f7a600;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.btn-select-room:hover{background:#e09800}.btn-icon{width:44px;height:44px;border:1px solid rgba(255,255,255,.4);background:#ffffff26;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-icon:hover{border-color:#fff;background:#ffffff40;color:#fff}.btn-icon.saved{background:#fee2e2;border-color:#ef4444;color:#ef4444}.btn-icon.saved svg{fill:currentColor}.hero-gallery{display:flex;flex-direction:column;gap:.5rem}.hero-gallery .gallery-main{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;aspect-ratio:16/10;box-shadow:0 4px 20px #0000004d}.hero-gallery .gallery-main img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.hero-gallery .gallery-main:hover img{transform:scale(1.02)}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;padding:1rem;background:linear-gradient(transparent,#000000b3);color:#fff;display:flex;align-items:center;gap:.5rem;font-weight:500}.gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.gallery-thumbs .thumb{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;aspect-ratio:4/3}.gallery-thumbs .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.gallery-thumbs .thumb:hover img{transform:scale(1.05)}.thumb-more{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;font-weight:600}.gallery-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:9999;display:flex;flex-direction:column}.gallery-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#00000080}.category-tabs{display:flex;gap:.5rem;overflow-x:auto}.cat-tab{padding:.5rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:20px;font-size:.875rem;cursor:pointer;white-space:nowrap;transition:all .2s}.cat-tab:hover,.cat-tab.active{background:#fff;color:#212529;border-color:#fff}.gallery-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem}.gallery-modal-body{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:2rem;padding:1rem;cursor:pointer;transition:background .2s;z-index:10}.gallery-nav:hover{background:#fff3}.gallery-prev{left:2rem}.gallery-next{right:2rem}.gallery-main-image{max-width:80%;max-height:70vh;text-align:center}.gallery-main-image img{max-width:100%;max-height:70vh;object-fit:contain}.gallery-counter{color:#fff;margin-top:1rem;font-size:.9rem}.gallery-modal-footer{padding:1rem;background:#00000080}.gallery-thumbnails{display:flex;gap:.5rem;justify-content:center;overflow-x:auto;padding:.5rem 0}.gallery-thumbnails .thumb{width:60px;height:45px;flex-shrink:0;border-radius:4px;overflow:hidden;cursor:pointer;opacity:.6;transition:opacity .2s;border:2px solid transparent}.gallery-thumbnails .thumb.active,.gallery-thumbnails .thumb:hover{opacity:1;border-color:#fff}.gallery-thumbnails .thumb img{width:100%;height:100%;object-fit:cover}@media (max-width: 992px){.hero-container{grid-template-columns:1fr;gap:1.5rem}.hero-info{order:2}.hero-gallery{order:1}.hotel-name{font-size:1.5rem}}@media (max-width: 576px){.hero-area{padding:1rem 0}.hotel-name{font-size:1.25rem}.gallery-thumbs{grid-template-columns:repeat(2,1fr)}.hero-actions{flex-wrap:wrap}.btn-select-room{flex:1;min-width:100%;text-align:center}.gallery-nav{padding:.5rem;font-size:1.5rem}.gallery-prev{left:.5rem}.gallery-next{right:.5rem}}.sticky-tabs-wrapper{background:#fff;border-bottom:1px solid #e9ecef;z-index:99;transition:box-shadow .2s}.sticky-tabs-wrapper.is-sticky{position:sticky;top:80px;box-shadow:0 2px 8px #00000014}.sticky-tabs-container{max-width:1200px;margin:0 auto;padding:0 1rem}.sticky-tabs{display:flex;gap:0;position:relative;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.sticky-tabs::-webkit-scrollbar{display:none}.sticky-tab{padding:1rem 1.5rem;background:none;border:none;font-size:.9rem;font-weight:500;color:#6c757d;cursor:pointer;white-space:nowrap;transition:color .2s;position:relative}.sticky-tab:hover,.sticky-tab.active{color:#003580}.tab-count{margin-left:.25rem;font-size:.8rem}.tab-indicator{position:absolute;bottom:0;height:3px;background:#003580;transition:all .3s ease;border-radius:3px 3px 0 0}@media (max-width: 768px){.sticky-tabs-wrapper.is-sticky{top:0}.sticky-tab{padding:.875rem 1rem;font-size:.85rem}}.hotel-detail-page{min-height:100vh;background:#f5f6f8}.hotel-detail-page.tripcom-style{font-family:inherit}.travel-loading{display:flex;align-items:center;justify-content:center;min-height:70vh;flex-direction:column}.loading-animation{text-align:center}.plane-icon{font-size:3rem;animation:flyPlane 2s ease-in-out infinite;display:inline-block}@keyframes flyPlane{0%,to{transform:translate(0) translateY(0) rotate(0)}25%{transform:translate(30px) translateY(-10px) rotate(5deg)}50%{transform:translate(0) translateY(-20px) rotate(0)}75%{transform:translate(-30px) translateY(-10px) rotate(-5deg)}}.loading-text{margin-top:1.5rem;font-size:1.1rem;color:#6c757d;animation:pulse 1.5s ease-in-out infinite}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:2rem}.error-container h2{color:#343a40;margin-bottom:.5rem}.error-container p{color:#6c757d}.detail-content-wrapper{max-width:1200px;margin:0 auto;padding:1.5rem 1rem 6rem}.detail-container{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:start}.detail-main{min-width:0}.detail-sidebar{position:sticky;top:160px;height:fit-content}.detail-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 4px #0000000f}.section-title{font-size:1.35rem;font-weight:700;color:#1a1a2e;margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:2px solid #f0f0f5}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.highlight-item{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background:var(--color-primary-50);border-radius:8px;font-size:.85rem;color:#334155}.highlight-icon{color:var(--color-primary-600);font-size:1.1rem;flex-shrink:0}.all-amenities-btn{background:none;border:none;color:var(--color-primary-600);font-weight:600;font-size:.9rem;cursor:pointer;padding:.25rem 0;margin-bottom:1.25rem}.all-amenities-btn:hover{text-decoration:underline}.overview-description h3,.recommended-points h3,.nearby-transport h3{font-size:1.05rem;font-weight:600;margin:1rem 0 .5rem;display:flex;align-items:center;gap:.4rem}.overview-description p{color:#495057;line-height:1.75;margin:0}.show-more-btn{background:none;border:none;color:var(--color-primary-600);font-size:.85rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem}.points-list{display:flex;flex-direction:column;gap:.5rem}.point-item{display:flex;gap:.5rem;align-items:flex-start}.point-icon{color:#16a34a;margin-top:.2rem;flex-shrink:0}.point-content strong{display:block;font-size:.9rem}.point-content p{margin:.15rem 0 0;font-size:.8rem;color:#6c757d}.transport-list{display:flex;flex-direction:column;gap:.4rem}.transport-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#495057}.transport-item .distance{margin-left:auto;font-size:.8rem;color:#9ca3af}.rooms-list{display:flex;flex-direction:column;gap:1rem}.room-card.tripcom-style{display:grid;grid-template-columns:220px 1fr 200px;gap:1rem;padding:1rem;border:1px solid #e5e7eb;border-radius:12px;transition:box-shadow .2s}.room-card.tripcom-style:hover{box-shadow:0 4px 16px #00000014}.room-card-image{position:relative;border-radius:8px;overflow:hidden;cursor:pointer}.room-card-image img{width:100%;height:160px;object-fit:cover}.room-card-image .image-count{position:absolute;bottom:6px;right:6px;background:#000000a6;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:4px;display:flex;align-items:center;gap:3px}.room-card-info{display:flex;flex-direction:column;gap:.35rem}.room-name{font-size:1.05rem;font-weight:600;margin:0;color:#1a1a2e}.room-bed,.room-size,.room-capacity{font-size:.8rem;color:#6c757d;display:flex;align-items:center;gap:.35rem}.room-features{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.feature-chip{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;background:var(--color-primary-50);color:var(--color-primary-600);padding:3px 8px;border-radius:4px}.room-details-link{color:var(--color-primary-600);font-size:.8rem;font-weight:500;cursor:pointer;margin-top:auto;display:inline-block}.room-details-link:hover{color:var(--color-primary-800);text-decoration:underline}.select-dates-prompt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem;padding:.5rem}.select-dates-text{font-size:.8rem;color:#6b7280;line-height:1.3}.btn-select-dates{margin-top:.5rem;padding:.45rem 1rem;background:var(--color-primary-600);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.8rem;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-select-dates:hover{background:var(--color-primary-700)}.season-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:4px;margin-top:.25rem}.season-low{background:var(--color-primary-100);color:var(--color-primary-800)}.season-high{background:#fef3c7;color:#92400e}.season-peak{background:#fee2e2;color:#991b1b}.room-discount-badge{display:inline-block;background:#dc2626;color:#fff;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.02em;animation:discountPulse 2s ease-in-out infinite}@keyframes discountPulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.room-promo-label{font-size:.7rem;color:#dc2626;font-weight:600;margin-top:2px;text-align:right}.price-original{text-align:right}.price-strikethrough{text-decoration:line-through;color:#9ca3af;font-size:.82rem;font-weight:400}.summary-discount-badge{display:inline-block;background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:6px;margin-bottom:.35rem}.room-card-price{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.25rem}.availability-low{font-size:.75rem;color:#dc2626;font-weight:500}.sold-out{font-size:.9rem;color:#dc2626;font-weight:700;padding:.5rem 1rem;background:#fef2f2;border-radius:6px}.price-main{display:flex;align-items:baseline}.price-main .currency{font-size:.9rem;color:#dc2626;font-weight:600}.price-main .amount{font-size:1.5rem;font-weight:700;color:#dc2626}.price-per-night{font-size:.75rem;color:#9ca3af}.price-total{font-size:.8rem;color:#495057}.includes-breakfast,.free-cancellation{font-size:.75rem;color:#16a34a;display:flex;align-items:center;gap:.25rem}.room-cta-buttons{display:flex;flex-direction:column;gap:.4rem;width:100%;margin-top:.5rem}.btn-book-now{padding:.5rem 1.25rem;background:#f97316;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .2s;width:100%;text-align:center}.btn-book-now:hover{background:#ea580c}.btn-book-now:disabled{background:#9ca3af;cursor:not-allowed}.btn-add-cart{padding:.45rem 1rem;background:#fff;color:var(--color-primary-600);border:1.5px solid var(--color-primary-600);border-radius:8px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:100%;text-align:center}.btn-add-cart:hover{background:var(--color-primary-600);color:#fff}.btn-select-room{padding:.5rem 1.25rem;background:var(--color-primary-600);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;width:100%;text-align:center}.btn-select-room:hover{background:var(--color-primary-700)}.btn-select-room.selected{background:#16a34a;color:#fff}.btn-select-room.selected:hover{background:#15803d}.room-card.selected-card{border-color:var(--color-primary-600);box-shadow:0 0 0 2px #05966933}.selected-room-name{font-size:.85rem;font-weight:600;color:#1a1a2e;margin-bottom:.35rem;padding-bottom:.35rem;border-bottom:1px solid #f0f0f5}.price-formula{font-size:.8rem;color:#495057;margin-top:.5rem;padding:.5rem .75rem;background:#f9fafb;border-radius:6px}.price-formula strong{color:#dc2626}.price-placeholder{text-align:center;padding:1.5rem .5rem}.select-room-hint{color:#9ca3af;font-size:.85rem;margin:0}.summary-cta-buttons{display:flex;flex-direction:column;gap:.5rem}.mobile-cta-row{display:flex;gap:.5rem;align-items:center}.mobile-cta-row .btn-outline{background:#fff;border:1.5px solid var(--color-primary-600);color:var(--color-primary-600);border-radius:8px;padding:.5rem .75rem;cursor:pointer}.selected-label{font-size:.75rem;color:#6c757d;display:block}.room-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:rmFadeIn .2s ease}@keyframes rmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes rmSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.room-modal-overlay>.room-modal{background:#fff;border-radius:16px;width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d;animation:rmSlideUp .3s ease}.room-modal-close{position:absolute;top:12px;right:12px;z-index:10;background:#00000073;color:#fff;border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.room-modal-close:hover{background:#000000b3}.room-modal-hero{position:relative;background:#e5e7eb}.room-modal-hero>img{width:100%;height:280px;object-fit:cover;display:block;border-radius:16px 16px 0 0}.room-modal-thumbs{display:flex;gap:4px;padding:6px 8px;background:#f3f4f6;overflow-x:auto}.room-modal-thumb{width:56px;height:42px;border-radius:6px;overflow:hidden;cursor:pointer;opacity:.55;flex-shrink:0;transition:all .2s;border:2px solid transparent}.room-modal-thumb.active{opacity:1;border-color:var(--color-primary-500)}.room-modal-thumb:hover{opacity:.8}.room-modal-thumb img{width:100%;height:100%;object-fit:cover}.room-modal-body{padding:1.25rem 1.5rem 1.5rem}.room-modal-title{font-size:1.3rem;font-weight:700;color:#1a1a2e;margin:0 0 .75rem;line-height:1.3}.room-modal-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.room-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--color-primary-50);color:var(--color-primary-700);border-radius:6px;font-size:.78rem;font-weight:500}.room-chip svg{width:14px;height:14px}.room-modal-specs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem;padding:.75rem;background:#f8f9fb;border-radius:10px;border:1px solid #eef0f2}.room-spec-item{display:flex;align-items:center;gap:.5rem;padding:.3rem 0}.room-spec-icon{width:32px;height:32px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--color-primary-600);box-shadow:0 1px 3px #0000000f;flex-shrink:0}.room-spec-icon svg{width:16px;height:16px}.room-spec-text{display:flex;flex-direction:column}.room-spec-label{font-size:.7rem;color:#9ca3af;line-height:1.2}.room-spec-value{font-size:.82rem;font-weight:600;color:#1a1a2e}.room-modal-desc{margin-bottom:1rem}.room-modal-desc h4{font-size:.92rem;font-weight:600;color:#333;margin:0 0 .4rem}.room-modal-desc p{font-size:.85rem;color:#495057;line-height:1.65;margin:0}.room-modal-amenities{margin-bottom:1rem}.room-modal-amenities h4{font-size:.92rem;font-weight:600;color:#333;margin:0 0 .5rem}.room-amenity-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}.room-amenity-item{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:#495057;padding:.3rem .5rem;background:#f0fdf4;border-radius:5px}.room-amenity-item svg{color:#16a34a;width:14px;height:14px;flex-shrink:0}.room-modal-includes{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.room-include-tag{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:500;padding:4px 10px;border-radius:6px}.room-include-tag svg{width:13px;height:13px}.room-include-tag.green{background:#ecfdf5;color:#059669}.room-include-tag.neutral{background:#f3f4f6;color:#6b7280}.room-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid #f0f0f5}.room-modal-price{display:flex;align-items:baseline;gap:2px}.rm-currency{font-size:.95rem;font-weight:600;color:#dc2626}.rm-amount{font-size:1.5rem;font-weight:800;color:#dc2626}.rm-per{font-size:.75rem;color:#9ca3af;margin-left:2px}.room-modal-select-btn{padding:.65rem 2rem;background:var(--color-primary-600);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.room-modal-select-btn:hover{background:var(--color-primary-700);transform:translateY(-1px)}.room-modal-select-btn.selected{background:#16a34a}.room-modal-select-btn.selected:hover{background:#15803d}.placeholder-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:12px;text-align:center;color:#6b7280;border:2px dashed #e5e7eb}.placeholder-section svg{color:#9ca3af;margin-bottom:1rem}.placeholder-text{font-size:1rem;margin-bottom:.75rem;color:#4b5563}.coming-soon-badge{display:inline-block;padding:.375rem .75rem;background:var(--color-primary-50);color:var(--color-primary-600);font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}@media (max-width:1024px){.detail-container{grid-template-columns:1fr}.detail-sidebar{position:static}.detail-sidebar .booking-summary-card.desktop-only{display:none}}@media (max-width:768px){.detail-content-wrapper{padding:.75rem .5rem 5rem}.room-card.tripcom-style{grid-template-columns:1fr;gap:.75rem}.room-card-image img{height:200px}.room-card-price{flex-direction:row;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #e5e7eb}.room-modal-overlay>.room-modal{width:95vw;max-height:92vh}.room-modal-hero>img{height:200px}.room-modal-specs{grid-template-columns:1fr 1fr;gap:.35rem}.room-amenity-grid{grid-template-columns:1fr}.room-modal-footer{flex-direction:column;gap:.75rem}.room-modal-select-btn{width:100%;text-align:center}.highlights-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.detail-section{padding:1rem;border-radius:8px}.section-title{font-size:1.15rem}.highlights-grid{grid-template-columns:1fr 1fr;gap:.5rem}}.rating-overview{background:linear-gradient(135deg,#003580,#0056b3);border-radius:12px;padding:1.5rem;color:#fff;margin-bottom:1.25rem;text-align:center}.rating-score-large{margin-bottom:.25rem}.rating-score-large .score{font-size:2.5rem;font-weight:800}.rating-score-large .out-of{font-size:1rem;opacity:.7}.rating-overview .rating-label{font-size:1.1rem;font-weight:600}.rating-overview .rating-count{font-size:.8rem;opacity:.75;margin-top:.25rem}.subscores-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}.subscore-item{display:flex;align-items:center;gap:.5rem}.subscore-label{font-size:.8rem;min-width:80px;text-align:left}.subscore-bar-container{flex:1;height:6px;background:#fff3;border-radius:3px;overflow:hidden}.subscore-bar{height:100%;background:#fbbf24;border-radius:3px}.subscore-value{font-size:.8rem;font-weight:600;min-width:28px}.review-filters{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.filter-btn{padding:.4rem .9rem;border:1px solid #d1d5db;border-radius:20px;background:#fff;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;transition:all .2s;color:#374151}.filter-btn.active{background:#003580;color:#fff;border-color:#003580}.filter-btn:hover:not(.active){border-color:#003580;color:#003580}.reviews-loading{padding:2rem;text-align:center}.loading-spinner{width:32px;height:32px;margin:0 auto;border:3px solid #e5e7eb;border-top-color:#003580;border-radius:50%;animation:spin .8s linear infinite}.no-reviews{text-align:center;padding:2rem;color:#6c757d}.reviews-list{display:flex;flex-direction:column;gap:1rem}.review-item{padding:1rem;border:1px solid #f0f0f5;border-radius:10px;transition:box-shadow .2s}.review-item:hover{box-shadow:0 2px 8px #0000000f}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.reviewer-info{display:flex;align-items:center;gap:.6rem}.reviewer-avatar{width:36px;height:36px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#9ca3af}.reviewer-avatar img{width:100%;height:100%;object-fit:cover}.reviewer-name{font-weight:600;font-size:.9rem}.review-date{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#9ca3af}.review-rating-badge{display:flex;align-items:center;gap:.2rem;background:#003580;color:#fff;padding:.25rem .6rem;border-radius:6px;font-size:.8rem;font-weight:600}.review-rating-badge .filled{color:#fbbf24}.review-content p{color:#495057;line-height:1.65;font-size:.9rem;margin:0}.show-more-link{background:none;border:none;color:#2563eb;font-size:.8rem;cursor:pointer;padding:0;margin-top:.25rem}.review-images{display:flex;gap:.5rem;margin-top:.75rem}.review-image{width:72px;height:54px;border-radius:6px;overflow:hidden;position:relative}.review-image img{width:100%;height:100%;object-fit:cover}.more-images{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.basic-amenities-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.amenity-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .75rem;background:#f0fdf4;color:#16a34a;border-radius:6px;font-size:.8rem}.amenities-categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.amenity-category{background:#fafbfc;border-radius:10px;padding:1rem;border:1px solid #f0f0f5}.category-title{display:flex;align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;color:#1a1a2e;margin:0 0 .75rem}.category-items{list-style:none;padding:0;margin:0}.category-items li{display:flex;align-items:center;gap:.4rem;padding:.3rem 0;font-size:.85rem;color:#495057}.category-items li.available svg{color:#16a34a}.category-items li.unavailable{color:#9ca3af;text-decoration:line-through}.category-items li.unavailable svg{color:#dc2626}.item-note{font-size:.75rem;color:#6c757d;margin-left:.25rem}.policies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;padding:0 .5rem}.policy-card{background:#fafbfc;border-radius:10px;padding:1.25rem 1.5rem;border:1px solid #f0f0f5}.policy-card.full-width{grid-column:1 / -1}.policy-title{display:flex;align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;color:#1a1a2e;margin:0 0 .75rem}.policy-content{font-size:.85rem;color:#495057;line-height:1.6}.policy-content p{margin:0}.policy-note{display:block;font-size:.8rem;color:#6c757d;margin-top:.25rem}.policy-times-row{display:flex;gap:2rem}.time-block{display:flex;flex-direction:column}.time-label{font-size:.75rem;color:#6c757d}.time-value{font-size:1.15rem;font-weight:700;color:#003580}.time-note{font-size:.75rem;color:#9ca3af}.policy-list{display:flex;flex-direction:column;gap:.5rem}.policy-item{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0;font-size:.85rem}.policy-item .yes{color:#16a34a;display:flex;align-items:center;gap:.2rem}.policy-item .no{color:#dc2626}.prohibited-list{list-style:none;padding:0;margin:0}.prohibited-list li{display:flex;align-items:center;gap:.4rem;padding:.3rem 0;font-size:.85rem}.icon-red{color:#dc2626}.prohibited-list .reason{font-size:.75rem;color:#6c757d}.payment-methods{display:flex;gap:.5rem;flex-wrap:wrap}.payment-methods .method{padding:.3rem .75rem;background:#f3f4f6;border-radius:6px;font-size:.8rem;color:#374151}.cancellation-rules{display:flex;flex-direction:column;gap:.75rem}.cancellation-rule{display:flex;align-items:center;gap:1rem;padding:.5rem .75rem;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.rule-timing{font-size:.85rem;font-weight:500;min-width:160px}.rule-penalty{font-size:.85rem}.no-charge{color:#16a34a;font-weight:500}.charge{color:#dc2626;font-weight:500}.rule-note{font-size:.75rem;color:#6c757d}.property-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.info-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fafbfc;border-radius:10px;border:1px solid #f0f0f5}.info-icon{font-size:1.25rem;color:#003580;flex-shrink:0}.info-content{display:flex;flex-direction:column}.info-label{font-size:.75rem;color:#6c757d}.info-value{font-weight:600;font-size:.9rem;color:#1a1a2e}.info-value.link{color:#2563eb;text-decoration:none}.info-value.link:hover{text-decoration:underline}.important-info-list{display:flex;flex-direction:column;gap:.75rem}.important-info-card{border-left:4px solid #f59e0b;background:#fffbeb;border-radius:0 10px 10px 0;padding:1rem 1.25rem}.info-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.info-header .info-icon{color:#f59e0b;font-size:1.1rem}.info-header h3{margin:0;font-size:.95rem;font-weight:600}.info-body p{margin:0;font-size:.85rem;color:#495057;line-height:1.6}.booking-summary-card.desktop-only{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 12px #00000014;border:1px solid #e5e7eb}.booking-summary-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f5}.hotel-mini-info h3{margin:0 0 .25rem;font-size:1rem}.hotel-mini-info .hotel-stars{display:flex;gap:2px}.hotel-mini-info .star.filled{color:#fbbf24;font-size:.8rem}.review-badge{display:flex;flex-direction:column;align-items:center;background:#003580;color:#fff;padding:.35rem .6rem;border-radius:8px 8px 8px 0;min-width:40px}.review-badge .score{font-size:1rem;font-weight:700}.review-badge .count{font-size:.6rem;opacity:.8}.stay-info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.stay-info .info-row{display:flex;gap:.5rem;align-items:flex-start;font-size:.85rem}.stay-info .info-row svg{margin-top:.15rem;color:#003580;flex-shrink:0}.stay-info .info-content{display:flex;flex-direction:column}.stay-info .info-content .label{font-size:.7rem;color:#6c757d}.stay-info .info-content .value{font-weight:500;color:#1a1a2e}.price-section{text-align:center;margin-bottom:1rem}.price-section .price-label{font-size:.8rem;color:#6c757d}.price-section .price-main .currency{font-size:1rem;color:#dc2626}.price-section .price-main .amount{font-size:1.75rem;font-weight:800;color:#dc2626}.price-section .price-note{font-size:.75rem;color:#9ca3af}.card-footer .btn{width:100%}.card-footer .btn-primary{display:flex;align-items:center;justify-content:center;padding:.85rem;background:#f97316;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s}.card-footer .btn-primary:hover{background:#ea580c}.secure-note{text-align:center;font-size:.7rem;color:#9ca3af;margin-top:.5rem}.mobile-booking-cta.mobile-only{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;padding:.75rem 1rem;z-index:200;box-shadow:0 -2px 12px #0000001a;justify-content:space-between;align-items:center}.cta-price{display:flex;align-items:baseline;gap:.35rem}.cta-price .from{font-size:.7rem;color:#6c757d}.cta-price .price{font-size:1.25rem;font-weight:700;color:#dc2626}.cta-price .per-night{font-size:.7rem;color:#9ca3af}.cta-price .check-rooms{font-size:.85rem;color:#1a1a2e;font-weight:500}.mobile-booking-cta .btn-primary{padding:.65rem 1.5rem;background:#f97316;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}@media (max-width:1024px){.mobile-booking-cta.mobile-only{display:flex}.booking-summary-card.desktop-only{display:none}.subscores-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.policies-grid,.amenities-categories,.property-info-grid{grid-template-columns:1fr}.policy-times-row{flex-direction:column;gap:.75rem}.cancellation-rule{flex-direction:column;align-items:flex-start;gap:.35rem}.subscores-grid{grid-template-columns:1fr}}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 0}.pagination-pages{display:flex;align-items:center;gap:.25rem}.pagination-page{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color, #e0e0e0);background:var(--bg-white, #fff);color:var(--text-primary, #333);font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease}.pagination-page:hover:not(:disabled):not(.active){background:var(--bg-light, #f5f5f5);border-color:var(--primary-color, #3182ce)}.pagination-page.active{background:var(--primary-color, #3182ce);border-color:var(--primary-color, #3182ce);color:#fff;cursor:default}.pagination-page.ellipsis{border:none;background:transparent;cursor:default;min-width:24px}.pagination-page.ellipsis:hover{background:transparent}.pagination-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border:1px solid var(--border-color, #e0e0e0);background:var(--bg-white, #fff);color:var(--text-primary, #333);font-size:.875rem;border-radius:6px;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--bg-light, #f5f5f5);border-color:var(--primary-color, #3182ce)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn .material-icons{font-size:1.125rem}.pagination-btn .btn-text{display:none}@media (min-width: 768px){.pagination-btn .btn-text{display:inline}}@media (max-width: 480px){.pagination-page{min-width:32px;height:32px;font-size:.75rem}.pagination-btn{padding:.375rem .5rem}}.hotels-page{padding-top:0;min-height:100vh;background:var(--bg-secondary)}.hotels-page .page-title{font-size:1.5rem;margin:0 0 .25rem}.search-bar-section{background:#fff;padding:1rem 0;box-shadow:0 2px 8px #00000014;position:sticky;top:0;z-index:100}.hotels-layout{display:grid;grid-template-columns:280px 1fr;gap:2rem;padding:2rem 0}.filters-sidebar{background:#fff;padding:1.5rem;border-radius:12px;height:fit-content;position:sticky;top:100px;box-shadow:0 2px 8px #00000014}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light)}.filters-header h3{margin:0;font-size:1.1rem;font-weight:600}.filters-close{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted)}.btn-link{background:none;border:none;color:var(--color-primary-600);cursor:pointer;font-size:.85rem}.filter-group{margin-bottom:1.25rem}.filter-group label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.price-inputs{display:flex;align-items:center;gap:.5rem}.price-inputs .form-input{flex:1;min-width:0}.form-input,.form-select{width:100%;padding:.5rem .75rem;border:1px solid var(--border-default);border-radius:6px;font-size:.9rem}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-primary-500)}.star-filters{display:flex;flex-direction:column;gap:.5rem}.amenity-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem}.amenity-checkbox input{width:18px;height:18px;cursor:pointer}.amenities-filter{display:flex;flex-direction:column;gap:.5rem}.hotels-content{min-width:0}.hotels-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.hotels-header-info{flex:1}.hotels-header-controls{display:flex;gap:.75rem;align-items:center}.results-count{color:var(--text-muted);font-size:.9rem;margin:0}.sort-select{width:200px}.filter-toggle-btn{display:none;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#fff;border:1px solid var(--border-default);border-radius:8px;font-weight:500;cursor:pointer}.hotels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.hotels-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:#fff;border-radius:12px}.hotels-loading .spinner{width:48px;height:48px;border:4px solid var(--border-light);border-top-color:var(--color-primary-500);border-radius:50%;animation:htl-spin 1s linear infinite}.hotels-loading p{margin-top:1rem;color:var(--text-muted)}@keyframes htl-spin{to{transform:rotate(360deg)}}.hotels-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px}.hotels-empty h3{margin-bottom:.5rem}.hotels-empty p{color:var(--text-muted);margin-bottom:1.5rem}.pagination-wrapper{display:flex;justify-content:center;margin-top:2rem}.filters-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999}@media (max-width: 992px){.hotels-layout{grid-template-columns:1fr}.hotels-grid{grid-template-columns:repeat(2,1fr)}.filters-sidebar{position:fixed;top:0;left:0;bottom:0;width:320px;max-width:90vw;border-radius:0;z-index:1000;transform:translate(-100%);transition:transform .3s ease;overflow-y:auto}.filters-sidebar--open{transform:translate(0)}.filters-close{display:block}.filter-toggle-btn{display:flex}}@media (max-width: 768px){.hotels-layout{padding:1rem 0;gap:1rem}.hotels-header{flex-direction:column}.hotels-header-controls{width:100%;justify-content:space-between}.search-bar-section{padding:.75rem 0}}@media (max-width: 576px){.hotels-grid{grid-template-columns:1fr}.hotels-header-controls{flex-direction:column}.filter-toggle-btn,.sort-select{width:100%}}.auth-page{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-8);background:var(--bg-secondary)}.auth-card{background:#fff;padding:var(--spacing-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:440px}.auth-title{font-size:var(--font-size-2xl);text-align:center;margin-bottom:var(--spacing-1)}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-6)}.auth-form{margin-bottom:var(--spacing-4)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.w-full{width:100%}.auth-footer{text-align:center;font-size:var(--font-size-sm);color:var(--text-secondary)}.referral-toggle{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3);margin-bottom:var(--spacing-4);background:transparent;border:1px dashed var(--color-gray-300);border-radius:var(--radius-lg);color:var(--color-primary-600);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.referral-toggle:hover{background:var(--color-primary-50);border-color:var(--color-primary-300)}.referral-group{margin-bottom:var(--spacing-4);padding:var(--spacing-4);background:linear-gradient(135deg,#3b82f60d,#10b9810d);border-radius:var(--radius-lg);border:1px solid var(--color-primary-100)}.referral-group .form-label{display:flex;align-items:center;color:var(--color-primary-700)}.referral-group .form-input{text-transform:uppercase;letter-spacing:1px;font-family:monospace}.form-hint{display:block;font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--spacing-2)}@media (max-width: 480px){.form-row{grid-template-columns:1fr}.auth-card{padding:var(--spacing-6)}}.checkout-page{min-height:80vh;background:#f5f6f8}.checkout-container{max-width:1080px;margin:0 auto;padding:1.25rem 1rem 6rem}.checkout-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.checkout-header h1{font-size:1.4rem;font-weight:700;margin:0;color:#1a1a2e}.btn-back{background:none;border:none;display:inline-flex;align-items:center;gap:.3rem;color:var(--color-primary-600);font-weight:600;cursor:pointer;font-size:.85rem;padding:.35rem .5rem;border-radius:6px;transition:background .15s}.btn-back:hover{background:var(--color-primary-50)}.checkout-step-badge{margin-left:auto;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--color-primary-50);color:var(--color-primary-600)}.checkout-grid{display:grid;grid-template-columns:1fr 360px;gap:1.25rem;align-items:start}.ck-card{background:#fff;border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 4px #0000000d}.ck-card-title{font-size:1.05rem;font-weight:700;color:#1a1a2e;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.ck-card-title .step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-primary-600);color:#fff;font-size:.75rem;font-weight:700;flex-shrink:0}.hotel-info-row{display:flex;gap:1rem;align-items:flex-start}.hotel-info-thumb{width:100px;height:72px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#e5e7eb}.hotel-info-text{flex:1;min-width:0}.hotel-info-text h3{font-size:.95rem;font-weight:600;margin:0 0 .2rem;color:#1a1a2e}.hotel-info-text .room-label{font-size:.8rem;color:#6c757d;margin:0 0 .5rem}.stay-details{display:flex;flex-wrap:wrap;gap:.75rem}.stay-detail-item{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:#495057}.stay-detail-item svg{color:var(--color-primary-600);flex-shrink:0}.guest-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.78rem;font-weight:600;color:#495057}.form-group input,.form-group select,.form-group textarea{padding:.55rem .75rem;border:1.5px solid #d1d5db;border-radius:8px;font-size:.85rem;color:#1a1a2e;background:#fff;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #0596691a}.form-group textarea{resize:vertical;min-height:60px}.payment-methods{display:flex;flex-direction:column;gap:.5rem}.payment-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1.5px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .15s;background:#fff}.payment-option:hover{border-color:var(--color-primary-300)}.payment-option.selected{border-color:var(--color-primary-600);background:var(--color-primary-50)}.payment-radio{width:18px;height:18px;border:2px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s}.payment-option.selected .payment-radio{border-color:var(--color-primary-600)}.payment-radio-dot{width:10px;height:10px;border-radius:50%;background:var(--color-primary-600);transform:scale(0);transition:transform .15s}.payment-option.selected .payment-radio-dot{transform:scale(1)}.payment-icon{font-size:1.3rem;flex-shrink:0}.payment-label{flex:1}.payment-label strong{display:block;font-size:.85rem;color:#1a1a2e}.payment-label span{font-size:.75rem;color:#9ca3af}.payment-badge{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;background:#dcfce7;color:#166534;text-transform:uppercase}.checkout-summary-sticky{position:sticky;top:80px}.summary-hotel-name{font-size:.95rem;font-weight:600;margin:0 0 .15rem;color:#1a1a2e}.summary-room-name{font-size:.8rem;color:#6c757d;margin:0 0 .75rem}.summary-dates{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#495057;padding:.5rem 0;border-top:1px solid #f0f0f5;border-bottom:1px solid #f0f0f5}.summary-dates .nights-badge{background:var(--color-primary-50);color:var(--color-primary-600);font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:999px}.summary-guests{font-size:.78rem;color:#6c757d;padding:.4rem 0;display:flex;align-items:center;gap:.3rem}.price-breakdown{margin-top:.75rem}.price-row{display:flex;justify-content:space-between;font-size:.82rem;color:#495057;padding:.3rem 0}.price-formula-row{font-size:.8rem;color:#6c757d;padding:.5rem .75rem;background:#f9fafb;border-radius:6px;margin:.5rem 0}.price-formula-row strong{color:#dc2626}.price-total-row{display:flex;justify-content:space-between;padding:.75rem 0 .25rem;border-top:2px solid #1a1a2e;margin-top:.5rem;font-weight:700;font-size:1.05rem;color:#1a1a2e}.price-total-row .total-amount{color:#dc2626;font-size:1.15rem}.btn-confirm-booking{width:100%;padding:.75rem;background:#f97316;color:#fff;border:none;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;transition:background .2s;margin-top:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-confirm-booking:hover{background:#ea580c}.btn-confirm-booking:disabled{background:#d1d5db;cursor:not-allowed}.confirm-note{font-size:.72rem;color:#9ca3af;text-align:center;margin-top:.5rem;line-height:1.4}.checkout-expired{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;color:#6c757d;padding:2rem}.checkout-expired svg{margin-bottom:1rem;color:#d1d5db}.checkout-expired h2{color:#1a1a2e;margin-bottom:.5rem}.expired-actions{margin-top:1.5rem;display:flex;gap:.75rem}.expired-actions .btn-primary{padding:.6rem 1.5rem;background:var(--color-primary-600);color:#fff;border:none;border-radius:8px;font-weight:600;text-decoration:none;transition:background .15s}.expired-actions .btn-primary:hover{background:var(--color-primary-700)}.mobile-checkout-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fff;padding:.75rem 1rem;box-shadow:0 -2px 10px #0000001a;border-top:1px solid #e5e7eb}.mobile-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.mobile-cta-price{display:flex;flex-direction:column}.mobile-cta-price .total-label{font-size:.7rem;color:#9ca3af}.mobile-cta-price .total-value{font-size:1.1rem;font-weight:700;color:#dc2626}.mobile-summary-toggle{background:none;border:none;color:var(--color-primary-600);font-size:.75rem;font-weight:600;cursor:pointer;text-decoration:underline}.btn-mobile-confirm{padding:.65rem 1.5rem;background:#f97316;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;white-space:nowrap}.mobile-summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000080;display:flex;align-items:flex-end;justify-content:center}.mobile-summary-sheet{background:#fff;width:100%;max-height:70vh;overflow-y:auto;border-radius:16px 16px 0 0;padding:1.25rem}.mobile-summary-close{float:right;background:#f3f4f6;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem}@media (max-width: 1024px){.checkout-grid{grid-template-columns:1fr}.checkout-summary-sticky{position:static}.checkout-summary-sticky.desktop-only{display:none}.mobile-checkout-cta{display:block}}@media (max-width: 768px){.checkout-container{padding:.75rem .5rem 5rem}.guest-form-grid{grid-template-columns:1fr}.hotel-info-row{flex-direction:column}.hotel-info-thumb{width:100%;height:120px}.stay-details{flex-direction:column;gap:.35rem}}.payment-page{min-height:100vh;background:var(--bg-secondary);padding:2rem 0}.payment-loading,.payment-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh}.payment-loading .spinner{width:48px;height:48px;border:4px solid var(--border-light);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin 1s linear infinite}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid var(--border-default);border-radius:8px;font-size:.9rem;cursor:pointer;margin-bottom:1.5rem;transition:all .2s}.back-btn:hover{background:var(--bg-secondary)}.page-title{font-size:1.75rem;font-weight:700;margin-bottom:2rem}.payment-layout{display:grid;grid-template-columns:350px 1fr;gap:2rem}.booking-summary{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;height:fit-content;position:sticky;top:100px}.booking-summary h2{font-size:1.25rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.hotel-info{display:flex;gap:1rem;margin-bottom:1.5rem}.hotel-info img{width:80px;height:80px;object-fit:cover;border-radius:8px}.hotel-details h3{font-size:1rem;margin-bottom:.5rem}.hotel-location{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#6c757d}.booking-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.detail-item{display:flex;align-items:flex-start;gap:12px;font-size:.9rem}.detail-item svg{color:var(--color-primary-600);flex-shrink:0;margin-top:2px}.detail-item .label{display:block;font-size:.8rem;color:#6c757d}.detail-item .value{font-weight:500}.room-info{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1.5rem}.room-name{font-weight:500}.room-price{color:#6c757d;font-size:.9rem}.price-breakdown{border-top:1px solid var(--border-light);padding-top:1rem}.price-row{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem}.price-row.total{font-size:1.1rem;font-weight:700;border-top:1px solid var(--border-light);padding-top:.75rem;margin-top:.75rem}.payment-form-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.payment-form-section h2{font-size:1.25rem;margin-bottom:1.5rem}.payment-methods{display:flex;gap:1rem;margin-bottom:1.5rem}.method-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:1.25rem 1rem;background:var(--bg-secondary);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s}.method-btn svg{font-size:1.5rem;color:#6c757d}.method-btn span{font-size:.9rem;font-weight:500;color:#495057}.method-btn:hover{background:var(--bg-tertiary)}.method-btn.active{background:var(--color-primary-50);border-color:var(--color-primary-500)}.method-btn.active svg{color:var(--color-primary-600)}.method-btn.active span{color:var(--color-primary-600)}.payment-form{margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{width:100%;padding:.875rem 1rem;border:1px solid var(--border-default);border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary-500)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.card-icons{display:flex;gap:8px;margin-top:.5rem}.card-icons img{height:24px;opacity:.5}.bank-info{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.bank-info h4{font-size:1rem;margin-bottom:1rem}.bank-detail{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-light)}.bank-detail:last-child{border-bottom:none}.bank-detail .label{font-size:.85rem;color:#6c757d}.value-copy{display:flex;align-items:center;gap:8px}.value-copy span{font-weight:500}.value-copy.amount span{font-size:1.25rem;font-weight:700;color:var(--color-primary-600)}.value-copy button{background:none;border:none;padding:4px;cursor:pointer;color:#6c757d;transition:color .2s}.value-copy button:hover{color:var(--color-primary-600)}.bank-note,.crypto-note{font-size:.85rem;color:#6c757d;background:#fff3cd;padding:1rem;border-radius:8px;margin-top:1rem}.crypto-info{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.crypto-info h4{font-size:.9rem;color:#6c757d;margin-bottom:.75rem}.wallet-address{display:flex;align-items:center;gap:8px;background:#fff;padding:1rem;border-radius:8px;border:1px solid var(--border-default);margin-bottom:1rem}.wallet-address code{flex:1;font-family:monospace;font-size:.85rem;word-break:break-all}.wallet-address button{background:none;border:none;padding:8px;cursor:pointer;color:#6c757d;transition:color .2s}.wallet-address button:hover{color:var(--color-primary-600)}.crypto-amount{display:flex;justify-content:space-between;align-items:center}.crypto-amount .value{font-size:1.25rem;font-weight:700;color:var(--color-primary-600)}.security-notice{display:flex;align-items:center;gap:8px;padding:1rem;background:#e7f5ec;border-radius:8px;margin-bottom:1.5rem;color:#198754;font-size:.9rem}.btn-pay{width:100%;padding:1rem 1.5rem;font-size:1.1rem;display:flex;align-items:center;justify-content:center;gap:8px}.btn-pay:disabled{background:#6c757d;cursor:not-allowed}.spinner-sm{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.payment-success{max-width:500px;margin:0 auto;text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.success-icon{width:80px;height:80px;background:#e7f5ec;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.success-icon svg{font-size:2.5rem;color:#198754}.payment-success h1{font-size:1.75rem;margin-bottom:.5rem;color:#198754}.payment-success>p{color:#6c757d;margin-bottom:2rem}.success-details{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.detail-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border-light)}.detail-row:last-child{border-bottom:none}.status-badge{padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.status-badge.confirmed{background:#e7f5ec;color:#198754}.status-badge.pending{background:#fff3cd;color:#856404}.success-actions{display:flex;gap:1rem;justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.875rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;border:none}.btn-primary{background:var(--color-primary-600);color:#fff}.btn-primary:hover{background:var(--color-primary-700)}.btn-outline{background:transparent;border:2px solid var(--color-primary-500);color:var(--color-primary-600)}.btn-outline:hover{background:var(--color-primary-600);color:#fff}@media (max-width: 992px){.payment-layout{grid-template-columns:1fr}.booking-summary{position:static;order:2}.payment-form-section{order:1}}@media (max-width: 768px){.payment-methods{flex-direction:column}.method-btn{flex-direction:row;justify-content:center}.form-row{grid-template-columns:1fr}.success-actions{flex-direction:column}}@media (max-width: 480px){.payment-page{padding:1rem 0}.page-title{font-size:1.5rem}.booking-summary,.payment-form-section{border-radius:0;padding:1rem}.hotel-info{flex-direction:column;align-items:center;text-align:center}}.support-page{max-width:1200px;margin:0 auto;padding:2rem}.support-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.support-header .header-content h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.support-header .header-content p{color:var(--text-muted);margin:0}.support-header .btn{display:flex;align-items:center;gap:.5rem}.support-container{display:grid;grid-template-columns:350px 1fr;gap:1.5rem;height:calc(100vh - 250px);min-height:500px}.thread-list-panel{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-light);display:flex;flex-direction:column;overflow:hidden}.thread-list-panel .panel-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.thread-list-panel .panel-header h3{margin:0;font-size:1rem;font-weight:600}.thread-list{flex:1;overflow-y:auto}.thread-item{padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);cursor:pointer;transition:all .2s ease}.thread-item:hover{background:var(--bg-hover)}.thread-item.active{background:var(--primary-light);border-left:3px solid var(--primary)}.thread-item.unread{background:rgba(var(--primary-rgb),.05)}.thread-item .thread-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.thread-item .ticket-number{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.thread-item .unread-badge{background:var(--primary);color:#fff;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:10px}.thread-item .thread-subject{font-weight:500;color:var(--text-primary);margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-item .thread-meta{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.thread-item .thread-time{color:var(--text-muted);margin-left:auto}.chat-panel{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-light);display:flex;flex-direction:column;overflow:hidden}.chat-panel .no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted)}.chat-panel .no-selection .material-icons{font-size:4rem;margin-bottom:1rem;opacity:.3}.chat-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.chat-header h3{margin:0 0 .5rem;font-size:1rem;font-weight:600}.chat-header .chat-meta{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.chat-header .chat-meta .separator{opacity:.5}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-messages .loading-state{text-align:center;padding:2rem;color:var(--text-muted)}.message{max-width:75%}.message.user{align-self:flex-end}.message.support{align-self:flex-start}.message.system{align-self:center;max-width:100%}.message-bubble{padding:.75rem 1rem;border-radius:1rem;word-wrap:break-word}.message.user .message-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:.25rem}.message.support .message-bubble{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-light);border-bottom-left-radius:.25rem}.message-bubble p{margin:0;line-height:1.5;white-space:pre-wrap}.message-meta{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;padding:0 .5rem;font-size:.75rem;color:var(--text-muted)}.message.user .message-meta{justify-content:flex-end}.message-meta .read-status{color:var(--primary)}.message-meta .read-status .material-icons{font-size:.9rem}.system-message{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border-radius:var(--radius);font-size:.85rem;color:var(--text-muted)}.system-message .material-icons{font-size:1rem;opacity:.7}.chat-input{padding:1rem 1.25rem;border-top:1px solid var(--border-light);background:var(--bg-secondary);display:flex;gap:.75rem;align-items:flex-end}.chat-input textarea{flex:1;resize:none;border:1px solid var(--border-light);border-radius:var(--radius);padding:.75rem 1rem;font-family:inherit;font-size:.95rem;background:var(--bg-card)}.chat-input textarea:focus{outline:none;border-color:var(--primary)}.chat-input .btn{display:flex;align-items:center;gap:.35rem;padding:.75rem 1.25rem}.closed-notice{padding:1rem;text-align:center;background:var(--bg-secondary);border-top:1px solid var(--border-light);color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:.5rem}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.empty-state .material-icons{font-size:4rem;color:var(--text-muted);opacity:.3;margin-bottom:1rem}.empty-state p{color:var(--text-muted);margin-bottom:1rem}.loading-state{padding:2rem;text-align:center;color:var(--text-muted)}.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{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light)}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.modal-header .close-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.25rem;border-radius:var(--radius);transition:all .2s ease}.modal-header .close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body .form-group{margin-bottom:1.25rem}.modal-body label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.modal-body input,.modal-body select,.modal-body textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-light);border-radius:var(--radius);font-size:.95rem;font-family:inherit;background:var(--bg-card)}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{outline:none;border-color:var(--primary)}.modal-body textarea{resize:vertical;min-height:100px}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-light);background:var(--bg-secondary)}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:500;border-radius:4px;text-transform:capitalize}.badge-warning{background:#f59e0b26;color:#d97706}.badge-info{background:#3b82f626;color:#2563eb}.badge-success{background:#22c55e26;color:#16a34a}.badge-secondary{background:#6b728026;color:#6b7280}@media (max-width: 768px){.support-page{padding:1rem}.support-header{flex-direction:column;align-items:flex-start;gap:1rem}.support-container{grid-template-columns:1fr;height:auto}.thread-list-panel{max-height:300px}.chat-panel{min-height:500px}.message{max-width:90%}}.admin-header p{color:#6c757d;margin:.25rem 0 0;font-size:.95rem}.admin-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.admin-filters .form-select{padding:.625rem 1rem;border:1px solid #dee2e6;border-radius:8px;background:#fff;font-size:.95rem;cursor:pointer;min-width:180px}.admin-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.admin-empty svg{color:#adb5bd;margin-bottom:1rem}.admin-empty p{color:#6c757d;margin-bottom:1rem}.admin-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto}.banner-preview{width:80px;height:50px;background-size:cover;background-position:center;border-radius:6px;border:1px solid #e9ecef}.banner-info{display:flex;flex-direction:column;gap:.25rem}.banner-info strong{font-weight:600;color:#212529}.banner-info small{color:#6c757d;font-size:.85rem}.row-inactive{opacity:.6}.order-controls{display:flex;align-items:center;gap:.5rem}.link-type{font-size:.85rem;color:#6c757d;text-transform:capitalize}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:capitalize}.badge-primary{background:#e7f1ff;color:#0d6efd}.badge-success{background:#e7f5ec;color:#198754}.badge-info{background:#e7f6f8;color:#0dcaf0}.badge-warning{background:#fff8e6;color:#ffc107}.badge-secondary{background:#f8f9fa;color:#6c757d}.analytics-info{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.analytics-info span{display:flex;align-items:center;gap:.25rem}.action-buttons{display:flex;gap:.5rem}.btn-icon{width:32px;height:32px;border:none;background:#f8f9fa;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#495057;transition:all .2s}.btn-icon:hover{background:#e9ecef}.btn-icon.btn-danger:hover{background:#f8d7da;color:#dc3545}.modal-large{max-width:900px}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6c757d;line-height:1}.modal-close:hover{color:#212529}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e9ecef}.banner-form{max-height:70vh;overflow-y:auto}.banner-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:1.5rem}.form-section{background:#f8f9fa;padding:1.25rem;border-radius:8px}.form-section h3{font-size:1rem;font-weight:600;margin:0 0 1rem;color:#212529}.form-section h4{font-size:.9rem;font-weight:600;margin:1rem 0 .75rem;color:#495057}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.form-control{width:100%;padding:.625rem .875rem;border:1px solid #dee2e6;border-radius:6px;font-size:.95rem;transition:border-color .2s}.form-control:focus{outline:none;border-color:var(--primary-color, #007bff)}textarea.form-control{resize:vertical}.color-input{padding:.25rem;height:40px;cursor:pointer}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.banner-preview-section{padding:0 1.5rem 1.5rem}.banner-preview-section h3{font-size:1rem;font-weight:600;margin-bottom:1rem}.banner-preview-large{position:relative;min-height:250px;background-size:cover;background-position:center;border-radius:8px;overflow:hidden;display:flex;align-items:flex-end}.preview-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#0003,#0009)}.preview-content{position:relative;z-index:2;padding:1.5rem;width:100%}.preview-content h2{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 1px 4px rgba(0,0,0,.3)}.preview-content p{margin-bottom:1rem;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.2)}.btn-secondary{background:#f8f9fa;color:#495057;border:1px solid #dee2e6}.btn-secondary:hover{background:#e9ecef}@media (max-width: 992px){.banner-form .form-grid{grid-template-columns:1fr}.modal-large{max-width:95%}}@media (max-width: 576px){.form-row{flex-direction:column}.banner-preview-large{min-height:180px}.preview-content h2{font-size:1.25rem}}.admin-bookings-page .admin-header{flex-wrap:wrap;gap:1rem}.admin-bookings-page .header-left{display:flex;flex-direction:column;gap:.25rem}.admin-bookings-page .header-left h1{margin:0}.admin-bookings-page .header-subtitle{margin:0;color:#6c757d;font-size:.95rem}.admin-bookings-page .header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.region-filter{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #dee2e6;border-radius:8px}.region-filter svg{color:#6c757d;flex-shrink:0}.region-select{border:none;background:transparent;font-size:.9rem;padding:.25rem 1.5rem .25rem 0;cursor:pointer;min-width:120px}.region-select:focus{outline:none}@media (max-width: 768px){.admin-bookings-page .admin-header{flex-direction:column;align-items:flex-start}.admin-bookings-page .header-actions{width:100%;justify-content:space-between}.region-filter,.region-select{flex:1}}.admin-settings .admin-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.admin-settings .admin-page-header h1{font-size:1.75rem;font-weight:700;margin:0;display:flex;align-items:center;gap:.5rem}.admin-settings .header-title{display:flex;flex-direction:column;gap:.25rem}.admin-settings .subtitle{color:#6c757d;margin:0;font-size:.95rem}.admin-settings .header-actions{display:flex;gap:.75rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:1.5rem}.settings-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.settings-card-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef}.settings-card-header h3{font-size:1.1rem;font-weight:600;margin:0}.settings-icon{color:var(--primary-color, #007bff);width:22px;height:22px}.settings-card-body{padding:1rem 1.5rem}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #e9ecef;gap:1rem}.setting-row:last-child{border-bottom:none}.setting-info{flex:1}.setting-label{display:block;font-weight:500;margin-bottom:.25rem;color:#212529}.setting-description{display:block;font-size:.85rem;color:#6c757d}.setting-control{flex-shrink:0}.setting-input{width:120px;padding:.5rem .75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.95rem;text-align:right}.setting-input:focus{outline:none;border-color:var(--primary-color, #007bff)}.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:#ccc;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:var(--primary-color, #007bff)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.info-box{display:flex;gap:1rem;padding:1.25rem;background:#e7f1ff;border:1px solid #b6d4fe;border-radius:10px;margin-bottom:1.5rem}.info-icon{color:#0d6efd;flex-shrink:0;width:24px;height:24px}.info-content h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#0d6efd}.info-content p{margin:0;font-size:.9rem;color:#495057;line-height:1.5}.settings-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:1.5rem;margin-bottom:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{font-size:1.25rem;font-weight:600;margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:#6c757d}.empty-state svg{margin-bottom:1rem;color:#adb5bd}.empty-state p{margin:0}.crypto-addresses-table{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:1rem;text-align:left;border-bottom:1px solid #e9ecef}.data-table th{font-weight:600;color:#495057;font-size:.85rem;text-transform:uppercase;background:#f8f9fa}.data-table tbody tr:hover{background:#f8f9fa}.address-cell code{font-family:monospace;background:#f8f9fa;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;word-break:break-all}.modal-md{max-width:500px}.modal-body{padding:1.5rem}.modal-body .form-group{margin-bottom:1rem}.modal-body .form-group:last-child{margin-bottom:0}.form-input{width:100%;padding:.625rem .875rem;border:1px solid #dee2e6;border-radius:6px;font-size:.95rem;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--primary-color, #007bff)}.btn-sm{padding:.5rem .875rem;font-size:.875rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6c757d}.spinner{width:40px;height:40px;border:3px solid #e9ecef;border-top-color:var(--primary-color, #007bff);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.admin-revenue .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-revenue .page-header h1{font-size:1.75rem;font-weight:700;margin:0}.admin-revenue .filter-bar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:flex-end}.admin-revenue .filter-group{display:flex;flex-direction:column;gap:.5rem}.admin-revenue .filter-group label{font-size:.85rem;color:#6c757d;font-weight:500}.admin-revenue .filter-group select,.admin-revenue .filter-group input{padding:.625rem 1rem;border:1px solid #dee2e6;border-radius:8px;font-size:.95rem;min-width:140px}.admin-revenue .stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.admin-revenue .stat-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000000f}.admin-revenue .stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:12px}.admin-revenue .stat-info{display:flex;flex-direction:column}.admin-revenue .stat-value{font-size:1.5rem;font-weight:700;color:#212529}.admin-revenue .stat-label{font-size:.9rem;color:#6c757d}.admin-revenue .table-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f;margin-bottom:1.5rem}.admin-revenue .table-section h3{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.admin-revenue .section-hint{font-size:.85rem;color:#6c757d;margin:0 0 1rem}.admin-revenue .period-badge{background:var(--primary-color, #007bff);color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:500}.admin-revenue .data-table{width:100%;border-collapse:collapse}.admin-revenue .data-table th,.admin-revenue .data-table td{padding:1rem;text-align:left;border-bottom:1px solid #e9ecef}.admin-revenue .data-table th{font-weight:600;color:#495057;font-size:.85rem;text-transform:uppercase;background:#f8f9fa}.admin-revenue .data-table tbody tr:hover{background:#f8f9fa}.admin-revenue .data-table.clickable-rows tbody tr{cursor:pointer}.admin-revenue .data-table.clickable-rows tbody tr:hover{background:#e7f1ff}.admin-revenue .text-success{color:#198754;font-weight:500}.admin-revenue .text-warning{color:#fd7e14}.admin-revenue .text-center{text-align:center;color:#6c757d;padding:2rem!important}.admin-revenue .text-muted{color:#6c757d;font-size:.85rem}.admin-revenue .payment-methods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.admin-revenue .payment-method-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#f8f9fa;border-radius:10px;transition:transform .2s}.admin-revenue .payment-method-card:hover{transform:translateY(-2px);background:#f0f4f8}.admin-revenue .method-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center}.admin-revenue .method-info{display:flex;flex-direction:column;flex:1}.admin-revenue .method-name{font-weight:600;text-transform:capitalize}.admin-revenue .method-revenue{font-size:1.25rem;font-weight:700;color:#198754}.admin-revenue .method-stats{font-size:.85rem;color:#6c757d}.admin-revenue .crypto-txid{margin-top:.25rem}.admin-revenue .crypto-txid small{font-family:monospace;background:#f8f9fa;padding:.125rem .375rem;border-radius:4px;font-size:.75rem}.admin-revenue .badge-sm{font-size:.7rem;padding:2px 6px;background:#e9ecef;border-radius:3px;text-transform:capitalize}@media (max-width: 1024px){.admin-revenue .stats-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.admin-revenue .stats-cards{grid-template-columns:1fr}.admin-revenue .filter-bar{flex-direction:column}.admin-revenue .filter-group,.admin-revenue .filter-group select,.admin-revenue .filter-group input{width:100%}.admin-revenue .data-table{font-size:.85rem}.admin-revenue .data-table th,.admin-revenue .data-table td{padding:.75rem .5rem}}.admin-hotels-page .admin-page-header,.admin-users-page .admin-page-header{margin-bottom:1.5rem}.admin-hotels-page .admin-page-header h1,.admin-users-page .admin-page-header h1{font-size:1.75rem;font-weight:700;margin:0}.admin-hotels-page .subtitle,.admin-users-page .subtitle{color:#6c757d;margin:.25rem 0 0}.filters-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filters-bar .search-box{display:flex;align-items:center;gap:.75rem;flex:1;min-width:300px;background:#f8f9fa;padding:.5rem 1rem;border-radius:8px}.filters-bar .search-box input{flex:1;border:none;background:transparent;font-size:.95rem;padding:.375rem 0}.filters-bar .search-box input:focus{outline:none}.filters-bar .filter-group{display:flex;gap:.75rem}.filters-bar select{padding:.625rem 1rem;border:1px solid #dee2e6;border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer}.hotels-table-card,.users-table-card{padding:0;overflow:hidden}.table-wrapper{overflow-x:auto}.loading-state{display:flex;justify-content:center;align-items:center;padding:4rem 2rem;color:#6c757d}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6c757d}.empty-state .material-icons{font-size:3rem;margin-bottom:1rem;color:#adb5bd}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid #e9ecef}.total-count{font-size:.9rem;color:#6c757d}.hotel-thumb{width:60px;height:45px;background:#f8f9fa;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}.hotel-thumb img{width:100%;height:100%;object-fit:cover}.hotel-thumb .material-icons{color:#adb5bd}.badge-featured{background:#ffc107;color:#212529;padding:2px 6px;border-radius:3px;font-size:.7rem;margin-left:.5rem;font-weight:500}.badge-hot{background:#ff6b35;color:#fff;padding:2px 6px;border-radius:3px;font-size:.7rem;margin-left:.5rem;font-weight:500}.badge-md{background:#7209b7;color:#fff;padding:2px 6px;border-radius:3px;font-size:.7rem;margin-left:.5rem;font-weight:500}.badge-category{background:#e7f1ff;color:#0d6efd;padding:4px 8px;border-radius:4px;font-size:.8rem;text-transform:capitalize}.rating{display:flex;align-items:center;gap:4px}.rating .material-icons{color:#ffc107;font-size:1rem}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.status-dot.active{background:#198754}.status-dot.inactive{background:#dc3545}.user-name{display:flex;align-items:center;gap:.75rem}.user-avatar{width:36px;height:36px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.user-avatar.large{width:64px;height:64px;font-size:1.5rem}.badge-user{background:#e7f1ff;color:#0d6efd}.badge-admin{background:#7209b715;color:#7209b7}.badge-superadmin{background:#dc354515;color:#dc3545}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:var(--z-drawer-backdrop, 1100);display:flex;justify-content:flex-end;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer{width:580px;max-width:100%;background:#fff;height:100%;overflow-y:auto;box-shadow:-4px 0 20px #00000026;z-index:var(--z-drawer, 1110);animation:slideInRight .3s ease}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.drawer.large{width:700px}.drawer.user-detail-drawer{width:650px}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e9ecef;position:sticky;top:0;background:#fff;z-index:10}.drawer-header h2{font-size:1.25rem;margin:0}.hotel-header,.user-header{display:flex;gap:1rem;padding:1.5rem;border-bottom:1px solid #e9ecef}.hotel-main-image{width:120px;height:90px;border-radius:8px;overflow:hidden;background:#f8f9fa}.hotel-main-image img{width:100%;height:100%;object-fit:cover}.hotel-main-image .no-image{display:flex;align-items:center;justify-content:center;height:100%;color:#adb5bd}.hotel-info h3,.user-info h3{margin:0 0 .25rem;font-size:1.1rem}.hotel-info p,.user-info p{margin:0;color:#6c757d;font-size:.9rem}.badges{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.user-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef}.user-stats .stat-card{text-align:center;padding:.75rem;background:#f8f9fa;border-radius:8px}.user-stats .stat-value{display:block;font-size:1.25rem;font-weight:700}.user-stats .stat-label{display:block;font-size:.75rem;color:#6c757d;text-transform:uppercase}.detail-tabs{display:flex;border-bottom:1px solid #e9ecef;padding:0 1.5rem;gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;cursor:grab;-webkit-user-select:none;user-select:none;scrollbar-width:thin;scrollbar-color:#dee2e6 transparent}.detail-tabs:active{cursor:grabbing}.detail-tabs::-webkit-scrollbar{height:4px}.detail-tabs::-webkit-scrollbar-track{background:transparent}.detail-tabs::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:4px}.detail-tabs .tab{padding:1rem 1.25rem;border:none;background:none;font-size:.9rem;font-weight:500;color:#6c757d;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.detail-tabs .tab.active{color:var(--primary-color, #007bff);border-bottom-color:var(--primary-color, #007bff)}.tab-content{padding:1.5rem}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{font-size:.8rem;color:#6c757d;text-transform:uppercase}.info-item span{font-weight:500}.text-success{color:#198754}.text-danger{color:#dc3545}.section-title{font-size:1rem;font-weight:600;margin:1.5rem 0 1rem;padding-top:1rem;border-top:1px solid #e9ecef}.section-title:first-child{margin-top:0;padding-top:0;border-top:none}.drawer-actions{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid #e9ecef;position:sticky;bottom:0;background:#fff}.btn-warning{background:#ffc107;color:#212529}.btn-success{background:#198754;color:#fff}.btn-danger{background:#dc3545;color:#fff}@media (max-width: 768px){.settings-grid{grid-template-columns:1fr}.setting-row{flex-direction:column;align-items:flex-start}.setting-control{width:100%;margin-top:.5rem}.setting-input{width:100%;text-align:left}.admin-settings .admin-page-header{flex-direction:column;align-items:flex-start}.admin-settings .header-actions{width:100%;flex-wrap:wrap}}.admin-support-page .admin-page-header{margin-bottom:1.5rem}.admin-support-page .admin-page-header h1{font-size:1.75rem;font-weight:700;margin:0}.admin-support-page .subtitle{color:#6c757d;margin:.25rem 0 0}.support-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.support-stats .stat-card{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;align-items:center;box-shadow:0 2px 8px #0000000f}.support-stats .stat-card.open{border-left:4px solid #ffc107}.support-stats .stat-card.pending{border-left:4px solid #17a2b8}.support-stats .stat-card.resolved{border-left:4px solid #28a745}.support-stats .stat-card.unread{border-left:4px solid #dc3545}.support-stats .stat-value{font-size:1.75rem;font-weight:700;color:#212529}.support-stats .stat-label{font-size:.85rem;color:#6c757d;text-transform:uppercase}.support-container{display:grid;grid-template-columns:380px 1fr;gap:1.5rem;height:calc(100vh - 350px);min-height:500px}.thread-list-panel{display:flex;flex-direction:column;overflow:hidden}.thread-list-panel .thread-list{flex:1;overflow-y:auto}.thread-list-panel .list-footer{padding:1rem;border-top:1px solid #e9ecef;background:#f8f9fa}.admin-support-page .thread-item{padding:1rem 1.25rem;border-bottom:1px solid #e9ecef;cursor:pointer;transition:all .2s ease}.admin-support-page .thread-item:hover{background:#f8f9fa}.admin-support-page .thread-item.active{background:#e7f1ff;border-left:3px solid var(--primary-color, #007bff)}.admin-support-page .thread-item.unread{background:#fffde7}.admin-support-page .thread-item .thread-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.admin-support-page .thread-item .ticket-number{font-family:monospace;font-size:.75rem;color:#6c757d}.admin-support-page .thread-item .unread-badge{background:#dc3545;color:#fff;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:10px}.admin-support-page .thread-item .thread-subject{font-weight:500;color:#212529;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-support-page .thread-item .thread-user{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:#6c757d;margin-bottom:.5rem}.admin-support-page .thread-item .thread-user .material-icons{font-size:1rem}.admin-support-page .thread-item .thread-meta{display:flex;align-items:center;gap:.5rem;font-size:.8rem;flex-wrap:wrap}.admin-support-page .thread-item .thread-time{color:#6c757d;margin-left:auto;font-size:.75rem}.admin-support-page .chat-panel{display:flex;flex-direction:column;overflow:hidden}.admin-support-page .chat-panel .no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6c757d}.admin-support-page .chat-panel .no-selection .material-icons{font-size:4rem;margin-bottom:1rem;opacity:.3}.admin-support-page .chat-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;border-bottom:1px solid #e9ecef;background:#f8f9fa;gap:1rem}.admin-support-page .chat-info h3{margin:0 0 .5rem;font-size:1rem;font-weight:600}.admin-support-page .chat-meta{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#6c757d;flex-wrap:wrap}.admin-support-page .chat-meta .separator{opacity:.5}.admin-support-page .chat-actions{display:flex;gap:.5rem;flex-shrink:0}.admin-support-page .chat-actions select{padding:.5rem .75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.85rem;background:#fff;cursor:pointer}.admin-support-page .chat-actions .status-select{min-width:100px}.admin-support-page .chat-actions .priority-select{min-width:90px}.admin-support-page .chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:#fafafa}.admin-support-page .message{max-width:70%}.admin-support-page .message.user{align-self:flex-start}.admin-support-page .message.admin{align-self:flex-end}.admin-support-page .message.system{align-self:center;max-width:100%}.admin-support-page .message-bubble{padding:.75rem 1rem;border-radius:1rem;word-wrap:break-word}.admin-support-page .message.user .message-bubble{background:#fff;color:#212529;border:1px solid #e9ecef;border-bottom-left-radius:.25rem}.admin-support-page .message.admin .message-bubble{background:var(--primary-color, #007bff);color:#fff;border-bottom-right-radius:.25rem}.admin-support-page .message-bubble p{margin:0;line-height:1.5;white-space:pre-wrap}.admin-support-page .message-meta{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;padding:0 .5rem;font-size:.75rem;color:#6c757d}.admin-support-page .message.admin .message-meta{justify-content:flex-end}.admin-support-page .message-meta .read-status{color:#28a745}.admin-support-page .message-meta .read-status .material-icons{font-size:.9rem}.admin-support-page .system-message{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#e9ecef;border-radius:20px;font-size:.85rem;color:#6c757d}.admin-support-page .system-message .material-icons{font-size:1rem;opacity:.7}.admin-support-page .chat-input{padding:1rem 1.25rem;border-top:1px solid #e9ecef;background:#fff;display:flex;gap:.75rem;align-items:flex-end}.admin-support-page .chat-input textarea{flex:1;resize:none;border:1px solid #dee2e6;border-radius:8px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.admin-support-page .chat-input textarea:focus{outline:none;border-color:var(--primary-color, #007bff)}.admin-support-page .chat-input .btn{display:flex;align-items:center;gap:.35rem;padding:.75rem 1.25rem}.badge-danger{background:#f8d7da;color:#dc3545}.badge-outline{background:transparent;border:1px solid #dee2e6;color:#6c757d}@media (max-width: 1024px){.support-stats{grid-template-columns:repeat(2,1fr)}.support-container{grid-template-columns:1fr;height:auto}.thread-list-panel{max-height:350px}.admin-support-page .chat-panel{min-height:500px}}@media (max-width: 768px){.support-stats{grid-template-columns:1fr 1fr}.admin-support-page .chat-header{flex-direction:column}.admin-support-page .chat-actions{width:100%;justify-content:space-between}.admin-support-page .message{max-width:85%}}.modal.hotel-modal.xl{max-width:850px;max-height:90vh;display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff}.modal-header-with-tabs{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#4a90d9,#667eea);color:#fff}.modal-title{display:flex;align-items:center;gap:.75rem}.modal-title .material-icons{font-size:1.75rem;opacity:.9}.modal-title h3{margin:0;font-size:1.25rem;font-weight:600}.modal-header-with-tabs .close-btn{background:#ffffff26;border:none;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.modal-header-with-tabs .close-btn:hover{background:#ffffff40}.modal-section-tabs{display:flex;background:#f8f9fa;border-bottom:1px solid #e9ecef;overflow-x:auto}.section-tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;border:none;background:none;font-size:.9rem;font-weight:500;color:#6c757d;cursor:pointer;white-space:nowrap;transition:all .2s;border-bottom:2px solid transparent}.section-tab .material-icons{font-size:1.1rem}.section-tab:hover{color:#495057;background:#00000008}.section-tab.active{color:var(--primary-color, #007bff);border-bottom-color:var(--primary-color, #007bff);background:#fff}.modal-body-scroll{flex:1;overflow-y:auto;max-height:calc(90vh - 220px)}.form-section-content{padding:1.5rem}.form-section-content .form-group{margin-bottom:1.25rem}.form-section-content .form-group label{display:block;font-weight:500;font-size:.9rem;margin-bottom:.5rem;color:#495057}.form-section-content .form-group input,.form-section-content .form-group select,.form-section-content .form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #dee2e6;border-radius:8px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-section-content .form-group input:focus,.form-section-content .form-group select:focus,.form-section-content .form-group textarea:focus{outline:none;border-color:var(--primary-color, #007bff);box-shadow:0 0 0 3px #007bff1a}.form-section-content .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-hint{display:block;font-size:.8rem;color:#6c757d;margin-top:.35rem}.section-subtitle{font-size:1rem;font-weight:600;color:#495057;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef}.form-section-content .section-subtitle:not(:first-child){margin-top:1.5rem}.checkbox-row{display:flex;gap:2rem;flex-wrap:wrap}.form-group.checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.form-group.checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color, #007bff)}.hotel-modal .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.25rem 1.5rem;border-top:1px solid #e9ecef;background:#f8f9fa}.hotel-modal .modal-footer .btn{display:flex;align-items:center;gap:.5rem}.hotel-modal .modal-footer .btn .material-icons{font-size:1.1rem}.modal.room-modal{max-width:550px;background:#fff;border-radius:12px}.modal.room-modal h3{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;padding:1.5rem 1.5rem 0}.modal.room-modal form{padding:0 1.5rem 1.5rem}.modal.contract-modal{max-width:600px}.modal.contract-modal h3{margin:0;font-size:1.25rem;font-weight:600;padding:1.5rem;border-bottom:1px solid #e9ecef}.modal.contract-modal form{padding:1.5rem}.file-input-wrapper{margin-bottom:1rem}.file-input-wrapper .btn{width:100%;justify-content:center;padding:1rem;border-style:dashed}.detail-tabs{display:flex;border-bottom:1px solid #e9ecef;padding:0 1rem;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.detail-tabs::-webkit-scrollbar{height:3px}.detail-tabs::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.services-section,.policies-section,.attractions-section,.contact-section,.internal-settings-section,.payment-settings-form{padding:.5rem 0}.services-section .form-row,.policies-section .form-row,.contact-section .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.services-section .form-group,.policies-section .form-group,.contact-section .form-group{margin-bottom:.75rem}.services-section .form-group label,.policies-section .form-group label,.contact-section .form-group label{display:block;font-size:.85rem;font-weight:500;color:#495057;margin-bottom:.35rem}.services-section .form-group.checkbox label,.policies-section .form-group.checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.services-section input[type=text],.services-section select,.policies-section input[type=number],.policies-section input[type=time],.contact-section input{width:100%;padding:.5rem .75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem}.attractions-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.attraction-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#f8f9fa;border-radius:10px;border:1px solid #e9ecef}.attraction-info h4{margin:0 0 .25rem;font-size:1rem;font-weight:600}.attraction-info p{margin:0;font-size:.85rem;color:#6c757d}.attraction-info span{display:block;font-size:.8rem;color:#868e96;margin-top:.25rem}.attraction-actions{display:flex;gap:.5rem}.attraction-actions button{width:32px;height:32px;border:none;background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6c757d;transition:all .2s}.attraction-actions button:hover{background:#e9ecef;color:#495057}.attraction-actions button:last-child:hover{background:#f8d7da;color:#dc3545}.rates-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.rates-table th,.rates-table td{padding:.75rem .5rem;border:1px solid #e9ecef;text-align:center}.rates-table th{background:#f8f9fa;font-weight:600;font-size:.85rem;color:#495057}.rates-table td:first-child{text-align:left;font-weight:500;padding-left:1rem}.rates-table input{width:80px;padding:.35rem .5rem;border:1px solid #dee2e6;border-radius:4px;text-align:right;font-size:.9rem}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-top:1rem}.image-card{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:#f8f9fa}.image-card img{width:100%;height:100%;object-fit:cover}.image-card.is-main{border:2px solid #ffc107}.main-badge{position:absolute;top:8px;left:8px;background:#ffc107;color:#212529;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:4px}.image-actions{position:absolute;bottom:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.image-card:hover .image-actions{opacity:1}.image-actions button{width:28px;height:28px;border:none;background:#000000b3;color:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-actions button .material-icons{font-size:1rem}.rooms-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.room-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fff;border:1px solid #e9ecef;border-radius:10px;transition:box-shadow .2s}.room-card:hover{box-shadow:0 2px 8px #00000014}.room-card.inactive{opacity:.6;background:#f8f9fa}.room-info h4{margin:0 0 .25rem;font-size:1rem;font-weight:600}.room-info p{margin:0;font-size:.85rem;color:#6c757d}.room-price{display:inline-block;margin-top:.5rem;font-weight:600;color:#198754}.room-actions{display:flex;gap:.5rem}.room-actions button{width:36px;height:36px;border:none;background:#f8f9fa;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6c757d;transition:all .2s}.room-actions button:hover{background:#e9ecef;color:#495057}.room-actions button:last-child:hover{background:#f8d7da;color:#dc3545}.contracts-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.contract-card{padding:1.25rem;background:#fff;border:1px solid #e9ecef;border-radius:10px;border-left:4px solid #6c757d}.contract-card.status-active{border-left-color:#198754}.contract-card.status-expired{border-left-color:#dc3545}.contract-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.contract-version{font-weight:600;font-size:.9rem}.contract-dates{display:flex;gap:1.5rem;margin-bottom:.75rem}.contract-dates .date-item{display:flex;flex-direction:column;gap:.15rem}.contract-dates .date-item label{font-size:.75rem;color:#6c757d;text-transform:uppercase}.contract-dates .date-item span{font-weight:500}.expiry-warning{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:#fd7e14}.expiry-warning.expired{color:#dc3545}.expiry-warning .material-icons{font-size:1rem}.contract-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:#6c757d;margin-bottom:.5rem}.contract-notes{font-size:.9rem;color:#495057;margin:.75rem 0 0;padding-top:.75rem;border-top:1px dashed #e9ecef}.contract-actions{margin-top:1rem}.amenities-section{margin-top:1.5rem}.amenities-section label{display:block;font-size:.85rem;font-weight:600;color:#495057;margin-bottom:.5rem}.amenities-list{display:flex;flex-wrap:wrap;gap:.5rem}.amenity-tag{background:#e7f1ff;color:#0d6efd;padding:4px 10px;border-radius:20px;font-size:.8rem}.description-section{margin-top:1.5rem}.description-section label{display:block;font-size:.85rem;font-weight:600;color:#495057;margin-bottom:.5rem}.description-section p{margin:0;font-size:.95rem;color:#495057;line-height:1.6}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e9ecef}.upload-section{margin-bottom:1rem}.empty-text{text-align:center;color:#6c757d;padding:2rem;font-style:italic}.cancellation-policies-list{display:flex;flex-direction:column;gap:1rem}.cancellation-policy-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;padding:1.25rem}.cancellation-policy-card .policy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e9ecef}.cancellation-policy-card .policy-order{font-weight:600;color:#495057}.cancellation-policy-card .policy-actions-mini{display:flex;gap:.35rem}.btn-icon-sm{width:28px;height:28px;border:none;background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6c757d;transition:all .2s}.btn-icon-sm:hover{background:#e9ecef;color:#495057}.btn-icon-sm.danger:hover{background:#f8d7da;color:#dc3545}.btn-icon-sm .material-icons{font-size:1rem}.info-box-small{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#e7f1ff;border:1px solid #b6d4fe;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem;color:#495057}.info-box-small .material-icons{color:#0d6efd;font-size:1.25rem;flex-shrink:0}.last-updated{font-size:.8rem;color:#6c757d;margin-top:1.5rem;text-align:right}.input-with-hint{display:flex;flex-direction:column;gap:.35rem}.input-with-hint .hint{font-size:.8rem;color:#6c757d}.section-desc{font-size:.85rem;color:#6c757d;margin:0 0 1rem}@media (max-width: 768px){.modal.hotel-modal.xl{max-width:100%;max-height:100%;border-radius:0}.form-section-content .form-row{grid-template-columns:1fr}.checkbox-row{flex-direction:column;gap:1rem}.modal-body-scroll{max-height:calc(100vh - 180px)}.section-tab span:not(.material-icons){display:none}.section-tab{padding:1rem}}.admin-logs-page .page-header{margin-bottom:1.5rem}.admin-logs-page .page-header h1{font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.admin-logs-page .page-subtitle{color:#6c757d;margin:0;font-size:.95rem}.pm2-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.pm2-status-card{background:#fff;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 2px 8px #0000000f;border-left:4px solid #6c757d}.pm2-status-card.online{border-left-color:#28a745}.pm2-status-card.stopped{border-left-color:#dc3545}.pm2-status-card.errored{border-left-color:#ffc107}.pm2-status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.pm2-name{font-weight:600;font-size:.95rem}.pm2-badge{padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase}.pm2-badge.online{background:#e7f5ec;color:#28a745}.pm2-badge.stopped{background:#f8d7da;color:#dc3545}.pm2-badge.errored{background:#fff3cd;color:#856404}.pm2-status-details{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.pm2-stat{text-align:center;padding:.5rem;background:#f8f9fa;border-radius:6px}.pm2-stat-label{display:block;font-size:.7rem;color:#6c757d;text-transform:uppercase;margin-bottom:.15rem}.pm2-stat-value{display:block;font-size:.9rem;font-weight:600}.logs-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;padding:1rem 1.25rem;background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f}.logs-controls .control-group{display:flex;flex-direction:column;gap:.35rem}.logs-controls .control-group label{font-size:.8rem;color:#6c757d;font-weight:500}.logs-controls .control-group select{padding:.5rem 1rem;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;background:#fff;cursor:pointer}.logs-controls .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;font-weight:500;color:#495057}.logs-controls .checkbox-label input{width:18px;height:18px;cursor:pointer}.log-viewer-container{background:#1e1e1e;border-radius:10px;overflow:hidden;box-shadow:0 4px 12px #00000026}.log-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:#2d2d2d;border-bottom:1px solid #3d3d3d}.log-viewer-title{font-family:Monaco,Menlo,Consolas,monospace;font-size:.85rem;color:#d4d4d4;font-weight:600}.log-count{color:gray;font-weight:400;margin-left:.5rem}.auto-refresh-indicator{display:flex;align-items:center;gap:.35rem;color:#4caf50;font-size:.8rem;font-weight:600;animation:pulse 1.5s infinite}.log-viewer{height:500px;overflow-y:auto;padding:1rem;font-family:Monaco,Menlo,Consolas,Liberation Mono,monospace;font-size:.8rem;line-height:1.6;background:#1e1e1e}.log-viewer::-webkit-scrollbar{width:8px}.log-viewer::-webkit-scrollbar-track{background:#2d2d2d}.log-viewer::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.log-viewer::-webkit-scrollbar-thumb:hover{background:#666}.log-line{display:flex;padding:.15rem 0;color:#d4d4d4}.log-line:hover{background:#ffffff0d}.log-line-number{width:45px;color:#606060;text-align:right;padding-right:1rem;-webkit-user-select:none;user-select:none;flex-shrink:0}.log-line-content{flex:1;word-break:break-all;white-space:pre-wrap}.log-line.log-error,.log-line.log-error .log-line-content{color:#f44336}.log-line.log-warn,.log-line.log-warn .log-line-content{color:#ffc107}.log-line.log-success,.log-line.log-success .log-line-content{color:#4caf50}.log-loading,.log-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:gray}.log-loading .spinner{border-color:#555;border-top-color:#d4d4d4;margin-bottom:1rem}.alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert .material-icons{font-size:1.25rem}@media (max-width: 768px){.pm2-status-grid{grid-template-columns:1fr}.pm2-status-details{grid-template-columns:repeat(2,1fr)}.logs-controls{flex-direction:column;align-items:stretch}.logs-controls .control-group,.logs-controls .control-group select{width:100%}.logs-controls .btn{width:100%;justify-content:center}.log-viewer{height:400px;font-size:.75rem}.log-line-number{width:35px;padding-right:.5rem}}.admin-roles-page .admin-page-header{margin-bottom:1.5rem}.admin-roles-page .admin-page-header h1{font-size:1.75rem;font-weight:700;margin:0}.admin-roles-page .subtitle{color:#6c757d;margin:.25rem 0 0;font-size:.95rem}.diagnostic-panel{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;border:1px solid #dee2e6;margin-bottom:1.5rem!important}.diagnostic-panel h4{color:#495057}.diagnostic-panel p{font-family:Monaco,Menlo,Consolas,monospace}.roles-container{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;min-height:500px}.roles-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.roles-list h3{font-size:1.1rem;font-weight:600;margin:0;padding:1.25rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef}.roles-list ul{list-style:none;margin:0;padding:0}.role-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;cursor:pointer;transition:all .2s ease}.role-item:last-child{border-bottom:none}.role-item:hover{background:#f8f9fa}.role-item.active{background:#e7f1ff;border-left:4px solid var(--primary-color, #007bff)}.role-info{display:flex;flex-direction:column;gap:.25rem}.role-info strong{font-size:.95rem;color:#212529}.role-level{font-size:.8rem;color:#6c757d;font-family:Monaco,Menlo,Consolas,monospace}.permission-count{font-size:.85rem;color:#6c757d;background:#f8f9fa;padding:.25rem .75rem;border-radius:20px}.role-details{display:flex;flex-direction:column;gap:1.5rem}.permissions-card,.pii-scope-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.permissions-card .card-header,.pii-scope-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef}.permissions-card .card-header h3,.pii-scope-card .card-header h3{font-size:1.1rem;font-weight:600;margin:0}.all-permissions-note{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 1.5rem;color:#198754;background:linear-gradient(135deg,#e7f5ec,#d4f0e0);font-weight:500;font-size:1rem}.all-permissions-note .material-icons{font-size:1.75rem}.permissions-matrix{padding:1.5rem}.permission-category{margin-bottom:1.5rem}.permission-category:last-child{margin-bottom:0}.permission-category h4{font-size:.9rem;font-weight:600;color:#495057;margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef;text-transform:uppercase}.permission-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.permission-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;cursor:pointer;transition:background .2s}.permission-item:hover:not(.disabled){background:#f8f9fa}.permission-item.disabled{opacity:.6;cursor:not-allowed}.permission-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color, #007bff)}.permission-item.disabled input[type=checkbox]{cursor:not-allowed}.permission-name{font-size:.9rem;color:#495057;text-transform:capitalize}.pii-scope-matrix{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem}.pii-section h4{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:#495057;margin:0 0 1rem}.pii-section h4 .material-icons{font-size:1.25rem;color:#6c757d}.pii-fields{display:flex;flex-direction:column;gap:1rem}.pii-entity{padding:1rem;background:#f8f9fa;border-radius:8px}.pii-entity strong{display:block;font-size:.85rem;font-weight:600;color:#212529;margin-bottom:.75rem;text-transform:capitalize}.field-items{display:flex;flex-wrap:wrap;gap:.5rem}.field-items label{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:#fff;border:1px solid #dee2e6;border-radius:20px;font-size:.8rem;cursor:pointer;transition:all .2s}.field-items label:hover:not(.disabled){border-color:var(--primary-color, #007bff);background:#e7f1ff}.field-items label.disabled{opacity:.6;cursor:not-allowed}.field-items label input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--primary-color, #007bff)}.field-items label.disabled input[type=checkbox]{cursor:not-allowed}.alert-warning{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;margin-bottom:1.5rem}.alert-warning .material-icons{color:#ffc107;font-size:1.5rem}.alert-success{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;margin-bottom:1.5rem}.alert-success .material-icons{color:#28a745;font-size:1.5rem}@media (max-width: 1024px){.roles-container{grid-template-columns:1fr}.roles-list{max-height:300px;overflow-y:auto}.pii-scope-matrix{grid-template-columns:1fr}}@media (max-width: 768px){.permission-items{grid-template-columns:1fr}.diagnostic-panel{font-size:.8rem}.role-item{flex-direction:column;align-items:flex-start;gap:.5rem}.permission-count{align-self:flex-end}}.role-change-section{margin:16px 0;padding:16px;background:#f8f9fa;border-radius:8px;border-left:4px solid var(--primary-color, #007bff)}.role-change-section h4{margin:0 0 8px;font-size:1rem;font-weight:600;color:#1f2937}.role-change-section .section-desc{font-size:.85rem;color:#6b7280;margin-bottom:12px}.role-change-section .current-role{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.role-change-section .current-role .label{font-size:.875rem;color:#6b7280}.role-change-section .role-change-form{display:flex;gap:12px;align-items:center}.role-change-section .form-select{flex:1;padding:10px 12px;font-size:.9rem;border:1px solid #d1d5db;border-radius:6px;background:#fff}.role-change-section .form-select:focus{outline:none;border-color:var(--primary-color, #007bff);box-shadow:0 0 0 3px #3b82f61a}.role-change-section .role-warning{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;font-size:.85rem;color:#92400e}.role-change-section .role-warning .material-icons{font-size:18px;color:#f59e0b}.badge-normal-user{background:#e5e7eb;color:#374151}.badge-admin-l4{background:#dbeafe;color:#1e40af}.badge-admin-l3{background:#d1fae5;color:#065f46}.badge-admin-l2{background:#fef3c7;color:#92400e}.badge-admin-l1{background:#fee2e2;color:#991b1b}.badge-super-admin{background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;font-weight:600}.admin-page{padding:1.5rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.admin-header h1{font-size:1.75rem;font-weight:700;margin:0}.admin-loading{display:flex;justify-content:center;align-items:center;padding:4rem}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:1.5rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:0 2px 8px #0000000f}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-info{flex:1}.stat-label{display:block;font-size:.9rem;color:#6c757d;margin-bottom:.25rem}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#212529}.stat-trend{display:flex;align-items:center;gap:4px;font-size:.85rem;font-weight:500}.stat-trend.up{color:#198754}.stat-trend.down{color:#dc3545}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.admin-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.admin-card h3{font-size:1.1rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header h3{margin-bottom:0}.view-all{color:var(--primary-color, #007bff);text-decoration:none;font-size:.9rem}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.summary-item{text-align:center;padding:1rem;background:#f8f9fa;border-radius:8px}.summary-item .label{display:block;font-size:.85rem;color:#6c757d;margin-bottom:.25rem}.summary-item .value{display:block;font-size:1.25rem;font-weight:700}.action-buttons{display:flex;flex-direction:column;gap:.75rem}.action-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8f9fa;border-radius:8px;text-decoration:none;color:#212529;transition:all .2s}.action-btn:hover{background:#e9ecef}.admin-toolbar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.75rem;flex:1;min-width:250px;padding:.75rem 1rem;background:#fff;border:1px solid #dee2e6;border-radius:8px}.search-box input{flex:1;border:none;outline:none;font-size:.95rem}.search-box svg{color:#6c757d}.filter-select{padding:.75rem 1rem;border:1px solid #dee2e6;border-radius:8px;background:#fff;font-size:.95rem;cursor:pointer}.admin-table-wrapper{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem;text-align:left;border-bottom:1px solid #e9ecef}.admin-table th{font-weight:600;color:#495057;font-size:.85rem;text-transform:uppercase;background:#f8f9fa}.admin-table tbody tr:hover{background:#f8f9fa}.hotel-cell strong,.guest-cell span,.hotel-room-cell span{display:block}.guest-cell small,.hotel-room-cell small,.date-cell small,.contact-cell small{display:block;color:#6c757d;font-size:.85rem;margin-top:2px}.contact-cell span{display:flex;align-items:center;gap:4px}.location-cell{display:flex;align-items:center;gap:6px;color:#6c757d}.user-cell{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;background:#e9ecef;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#6c757d}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:500}.status-badge.active{background:#e7f5ec;color:#198754}.status-badge.inactive{background:#f8d7da;color:#dc3545}.role-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:capitalize}.role-badge.admin{background:#7209b715;color:#7209b7}.role-badge.user{background:#4361ee15;color:#4361ee}.star-rating{color:#ffc107;letter-spacing:1px}.icon-btn{width:36px;height:36px;border:none;background:#f8f9fa;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#495057;transition:all .2s}.icon-btn:hover{background:#e9ecef}.icon-btn.danger:hover{background:#f8d7da;color:#dc3545}.icon-btn.success:hover{background:#e7f5ec;color:#198754}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding-top:1.5rem;border-top:1px solid #e9ecef;margin-top:1rem}.admin-pagination button{width:36px;height:36px;border:1px solid #dee2e6;background:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.admin-pagination button:hover:not(:disabled){border-color:var(--primary-color, #007bff);color:var(--primary-color, #007bff)}.admin-pagination button:disabled{opacity:.5;cursor:not-allowed}.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:2rem}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-content.rate-modal{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef}.modal-header h2{font-size:1.25rem;margin:0;display:flex;align-items:center;gap:.5rem}.close-btn{width:36px;height:36px;border:none;background:#f8f9fa;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#e9ecef}.modal-content form{padding:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:span 2}.form-group label{font-weight:500;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:1px solid #dee2e6;border-radius:8px;font-size:.95rem;background-color:#fff;color:#212529}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color, #007bff)}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e9ecef}.booking-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item span{font-size:.85rem;color:#6c757d}.month-nav{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:1rem 1.5rem}.month-nav button{width:36px;height:36px;border:1px solid #dee2e6;background:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.month-nav span{font-weight:600;font-size:1.1rem}.rate-calendar{padding:0 1.5rem 1.5rem}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;padding-bottom:.5rem;border-bottom:1px solid #e9ecef;margin-bottom:.5rem}.day-header{font-weight:600;font-size:.85rem;color:#6c757d}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{padding:8px;border:1px solid #e9ecef;border-radius:8px;text-align:center;min-height:80px}.calendar-day.empty{border:none}.date-num{display:block;font-weight:600;font-size:.9rem;margin-bottom:4px}.rate-input{width:100%;padding:4px;border:1px solid #dee2e6;border-radius:4px;font-size:.85rem;text-align:center}.avail{display:block;font-size:.7rem;color:#6c757d;margin-top:4px}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:.95rem}.btn-primary{background:var(--primary-color, #007bff);color:#fff}.btn-primary:hover{background:var(--primary-dark, #0056b3)}.btn-outline{background:transparent;border:2px solid var(--primary-color, #007bff);color:var(--primary-color, #007bff)}.btn-outline:hover{background:var(--primary-color, #007bff);color:#fff}@media (max-width: 1200px){.stat-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.admin-page{padding:1rem}.stat-cards,.admin-grid,.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.booking-detail-grid{grid-template-columns:1fr}.calendar-body{grid-template-columns:repeat(7,1fr);font-size:.8rem}.calendar-day{min-height:60px;padding:4px}}.booking-filters{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.25rem;margin-bottom:1.5rem}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.filters-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;color:#1a1a2e}.filters-header h3 svg{color:var(--primary-color, #3498db)}.filters-actions{display:flex;align-items:center;gap:.5rem}.clear-btn{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff;color:#666;font-size:.8rem;cursor:pointer;transition:all .2s ease}.clear-btn:hover{background:#f5f5f5;border-color:#dc3545;color:#dc3545}.filters-header .refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;color:#555;cursor:pointer;transition:all .2s ease}.filters-header .refresh-btn:hover{background:#f5f5f5;border-color:var(--primary-color, #3498db);color:var(--primary-color, #3498db)}.filters-content{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;color:#555}.filter-group label svg{color:#888}.filter-group select{padding:.5rem 1rem;border:1px solid #e0e0e0;border-radius:8px;background:#fff;font-size:.875rem;min-width:160px;cursor:pointer;transition:border-color .2s ease}.filter-group select:focus{outline:none;border-color:var(--primary-color, #3498db)}.filter-group select:disabled{background:#f5f5f5;cursor:not-allowed}.mode-toggle{display:flex;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.mode-btn{padding:.5rem 1rem;border:none;background:#fff;font-size:.85rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;border-right:1px solid #e0e0e0}.mode-btn:last-child{border-right:none}.mode-btn:hover{background:#f5f5f5}.mode-btn.active{background:var(--primary-color, #3498db);color:#fff}.date-selectors{display:flex;gap:.75rem;flex-direction:row}.date-select{display:flex;flex-direction:column;gap:.4rem}.date-select label{font-size:.75rem;color:#888}.date-select select{padding:.5rem .75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.875rem;min-width:100px}.year-select select{min-width:90px}.month-select select{min-width:120px}.day-select select{min-width:80px}.active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f0f0f0}.filter-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;background:#e8f4fd;color:var(--primary-color, #3498db);border-radius:20px;font-size:.8rem;font-weight:500}.filter-tag button{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:#0000001a;border-radius:50%;cursor:pointer;transition:background .2s ease;margin-left:.25rem}.filter-tag button:hover{background:#0003}@media (max-width: 768px){.booking-filters{padding:1rem}.filters-content{flex-direction:column;align-items:stretch;gap:1rem}.filter-group{width:100%}.filter-group select{width:100%;min-width:unset}.mode-toggle{width:100%}.mode-btn{flex:1;text-align:center}.date-selectors{flex-direction:row;flex-wrap:wrap}.date-select{flex:1;min-width:80px}.date-select select{width:100%;min-width:unset}}.booking-summary{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem;margin-bottom:1.5rem}.booking-summary.loading{display:flex;align-items:center;justify-content:center;min-height:200px}.booking-summary.loading .spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:var(--primary-color, #3498db);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.booking-summary.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;gap:1rem}.booking-summary.error p{color:#dc3545;margin:0}.booking-summary.error button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.summary-title{display:flex;align-items:center;gap:.75rem}.summary-title h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:600;color:#1a1a2e}.summary-title h3 svg{color:var(--primary-color, #3498db)}.period-badge{padding:.35rem .75rem;background:#e8f4fd;color:var(--primary-color, #3498db);border-radius:20px;font-size:.8rem;font-weight:500}.region-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .75rem;background:#f0f0f0;color:#555;border-radius:20px;font-size:.8rem;font-weight:500}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:10px;background:#f8f9fa}.stat-card .stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stat-card.primary .stat-icon{background:#e8f4fd;color:var(--primary-color, #3498db)}.stat-card.success .stat-icon{background:#e7f5ec;color:#27ae60}.stat-card.info .stat-icon{background:#fff3e6;color:#f39c12}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.25rem;font-weight:700;color:#1a1a2e}.stat-label{font-size:.8rem;color:#666}.status-breakdown{margin-bottom:1.5rem}.status-breakdown h4,.top-regions h4,.breakdown-chart h4{font-size:.9rem;font-weight:600;color:#555;margin:0 0 .75rem}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.status-item{display:flex;align-items:center;gap:.75rem;padding:.875rem;border-radius:8px;background:#f8f9fa}.status-item .status-icon{width:32px;height:32px;padding:6px;border-radius:8px}.status-item.confirmed .status-icon{background:#e7f5ec;color:#27ae60}.status-item.pending .status-icon{background:#fff3cd;color:#f39c12}.status-item.completed .status-icon{background:#cce5ff;color:#004085}.status-item.cancelled .status-icon{background:#f8d7da;color:#dc3545}.status-info{display:flex;flex-direction:column;flex:1}.status-count{font-size:1.1rem;font-weight:700;color:#1a1a2e}.status-label{font-size:.75rem;color:#888}.status-revenue{font-size:.8rem;font-weight:500;color:#555}.top-regions{margin-bottom:1.5rem}.regions-list{display:flex;flex-direction:column;gap:.5rem}.region-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:#f8f9fa;border-radius:6px}.region-rank{font-size:.8rem;font-weight:600;color:#888;min-width:28px}.region-name{flex:1;font-weight:500;color:#333}.region-count{font-size:.8rem;color:#666}.region-revenue{font-size:.85rem;font-weight:600;color:var(--primary-color, #3498db);min-width:90px;text-align:right}.breakdown-chart{padding-top:.5rem;border-top:1px solid #f0f0f0}.chart-bars{display:flex;align-items:flex-end;gap:3px;height:120px;padding:.5rem 0;overflow-x:auto}.chart-bar-item{display:flex;flex-direction:column;align-items:center;flex:1;min-width:20px;max-width:40px}.bar-wrapper{width:100%;height:100px;display:flex;align-items:flex-end;justify-content:center}.bar{width:80%;background:var(--primary-color, #3498db);border-radius:3px 3px 0 0;min-height:5px;position:relative;transition:height .3s ease}.bar:hover{background:#2980b9}.bar-value{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:.65rem;font-weight:600;color:#555;white-space:nowrap}.bar-label{font-size:.65rem;color:#888;margin-top:4px}@media (max-width: 1024px){.summary-stats{grid-template-columns:repeat(3,1fr)}.status-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.booking-summary{padding:1rem}.summary-header{flex-direction:column;align-items:flex-start;gap:.5rem}.summary-stats{grid-template-columns:1fr;gap:.75rem}.stat-card{padding:.875rem}.status-grid{grid-template-columns:1fr 1fr;gap:.5rem}.status-item{padding:.75rem;flex-direction:column;text-align:center}.status-revenue{margin-top:.25rem}.region-item{flex-wrap:wrap}.region-revenue{width:100%;text-align:left;margin-top:.25rem}}@media (max-width: 480px){.status-grid{grid-template-columns:1fr}.status-item{flex-direction:row;text-align:left}}.booking-calendar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1rem;position:relative;margin-bottom:1rem;max-width:720px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.calendar-title{display:flex;align-items:center;gap:.5rem}.calendar-title svg{color:var(--primary-color, #3498db);font-size:1.25rem}.calendar-title h3{margin:0;font-size:1rem;font-weight:600;color:#1a1a2e}.calendar-nav{display:flex;align-items:center;gap:.5rem}.nav-btn,.today-btn,.refresh-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;border:1px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease;color:#555}.nav-btn:hover,.today-btn:hover,.refresh-btn:hover{background:#f5f5f5;border-color:var(--primary-color, #3498db);color:var(--primary-color, #3498db)}.today-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500}.month-year{font-weight:600;font-size:1rem;color:#1a1a2e;min-width:150px;text-align:center}.calendar-legend{display:flex;gap:1rem;margin-bottom:.5rem;padding:.5rem .75rem;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#666}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.confirmed{background:#27ae60}.legend-dot.pending{background:#f39c12}.legend-dot.cancelled{background:#e74c3c}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekday-header{text-align:center;font-size:.75rem;font-weight:600;color:#888;padding:.75rem 0;text-transform:uppercase}.calendar-day{min-height:48px;padding:.35rem;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;position:relative;background:#fff}.calendar-day:hover:not(.empty){background:#f5f8ff;border-color:var(--primary-color, #3498db);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.calendar-day.empty{background:#fafafa;cursor:default;border-color:transparent}.calendar-day.today{border-color:var(--primary-color, #3498db);background:#f0f7ff}.calendar-day.today .day-number{background:var(--primary-color, #3498db);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.calendar-day.selected{border-color:var(--primary-color, #3498db);border-width:2px;background:#e8f4fd}.calendar-day.has-bookings{background:#fafffe}.calendar-day.has-cancelled{border-left:3px solid #e74c3c}.calendar-day.has-pending{border-left:3px solid #f39c12}.calendar-day.has-cancelled.has-pending{border-left:3px solid #e74c3c;border-right:3px solid #f39c12}.day-number{font-size:.875rem;font-weight:600;color:#333;margin-bottom:auto}.booking-indicators{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:auto}.booking-count{background:var(--primary-color, #3498db);color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:10px;min-width:20px;text-align:center}.status-dots{display:flex;gap:3px}.status-dot{width:6px;height:6px;border-radius:50%}.status-dot.confirmed{background:#27ae60}.status-dot.pending{background:#f39c12}.status-dot.cancelled{background:#e74c3c}.calendar-loading{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffc;display:flex;align-items:center;justify-content:center;border-radius:12px;z-index:10}.calendar-loading .spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:var(--primary-color, #3498db);border-radius:50%;animation:spin 1s linear infinite}.calendar-error{background:#fff3f3;color:#e74c3c;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem;border:1px solid #ffd7d7}@media (max-width: 768px){.booking-calendar{padding:1rem}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-nav{width:100%;justify-content:space-between}.calendar-day{min-height:50px;padding:.25rem}.day-number{font-size:.75rem}.booking-count{font-size:.6rem;padding:1px 4px}.weekday-header{font-size:.65rem;padding:.5rem 0}.calendar-legend{gap:.75rem;padding:.5rem}.legend-item{font-size:.7rem}}@media (max-width: 480px){.calendar-day{min-height:40px}.booking-indicators{display:none}.calendar-day.has-bookings:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:6px;height:6px;background:var(--primary-color, #3498db);border-radius:50%}}.bdm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.bdm-modal{background:#fff;border-radius:12px;width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;animation:bdmSlideIn .25s ease}@keyframes bdmSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bdm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e9ecef}.bdm-header-left{display:flex;align-items:center;gap:12px}.bdm-header-left h2{margin:0;font-size:1.2rem;font-weight:700;color:#1a1a2e}.bdm-close{background:none;border:none;cursor:pointer;color:#6c757d;padding:6px;border-radius:6px;transition:all .15s;display:flex;align-items:center}.bdm-close:hover{background:#f1f3f5;color:#333}.bdm-badge{padding:4px 10px;border-radius:20px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.bdm-badge.badge-success{background:#d4edda;color:#155724}.bdm-badge.badge-warning{background:#fff3cd;color:#856404}.bdm-badge.badge-danger{background:#f8d7da;color:#721c24}.bdm-badge.badge-info{background:#cce5ff;color:#004085}.bdm-badge.badge-purple{background:#e8daef;color:#6c3483}.bdm-body{overflow-y:auto;padding:16px 24px 24px;flex:1}.bdm-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f1f3f5}.bdm-section:last-child{border-bottom:none;margin-bottom:0}.bdm-section-title{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;color:#495057;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.bdm-pipeline{display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start}.bdm-step-wrap{display:flex;align-items:center;gap:4px}.bdm-step{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 10px;border:2px solid #dee2e6;border-radius:8px;background:#f8f9fa;cursor:pointer;transition:all .2s;min-width:80px}.bdm-step:hover{border-color:#adb5bd;background:#e9ecef}.bdm-step.done{border-color:#28a745;background:#d4edda}.bdm-step-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#dee2e6;color:#6c757d;transition:all .2s}.bdm-step.done .bdm-step-icon{background:var(--color-success, #22c55e);color:#fff}.bdm-step.locked{opacity:.45;cursor:not-allowed}.bdm-step.locked .bdm-step-icon{background:#e5e7eb;color:#9ca3af}.bdm-upload-hint{margin-left:3px;vertical-align:middle;color:var(--color-primary, #3b82f6)}.bdm-invoice-link{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;color:var(--color-primary, #3b82f6);text-decoration:none;margin-top:2px}.bdm-invoice-link:hover{text-decoration:underline}.bdm-uploading{font-size:.75rem;color:var(--color-primary, #3b82f6);margin-top:6px;animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.bdm-payment-form{margin-top:12px;padding:14px 16px;background:#f0f4ff;border:1px solid #c3d4f7;border-radius:8px}.bdm-payment-form h4{margin:0 0 10px;font-size:.85rem;font-weight:700;color:#2d3748}.bdm-pf-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.bdm-pf-row label{font-size:.78rem;font-weight:600;color:#4a5568;min-width:110px;flex-shrink:0}.bdm-pf-row input{flex:1;padding:7px 10px;border:1px solid #cbd5e0;border-radius:6px;font-size:.82rem;font-family:inherit}.bdm-pf-row input:focus{outline:none;border-color:#6c63ff;box-shadow:0 0 0 2px #6c63ff26}.bdm-pf-actions{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.bdm-step-label{font-size:.65rem;font-weight:600;color:#6c757d;text-align:center;line-height:1.2}.bdm-step.done .bdm-step-label{color:#155724}.bdm-step-date{font-size:.6rem;color:#868e96}.bdm-step-admin{font-size:.55rem;color:var(--color-primary, #3b82f6);font-style:italic;margin-top:1px}.bdm-step-count{margin-left:auto;font-size:.75rem;color:#868e96;font-weight:500}.bdm-connector{width:12px;height:2px;background:#dee2e6;flex-shrink:0}.bdm-connector.done{background:#28a745}.bdm-info-grid{display:flex;flex-direction:column;gap:8px}.bdm-info-item{display:flex;align-items:center;gap:8px;font-size:.88rem;color:#333}.bdm-info-item.full{background:#f8f9fa;padding:8px 12px;border-radius:6px;font-style:italic;color:#555}.bdm-info-item svg{color:#868e96;flex-shrink:0}.bdm-info-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.bdm-label{font-size:.82rem;color:#6c757d;display:flex;align-items:center;gap:4px}.bdm-value{font-size:.88rem;font-weight:500;color:#212529}.bdm-price{font-size:1rem;font-weight:700;color:#e74c3c}.bdm-toggle{cursor:pointer;background:none;border:none;width:100%;padding:0;text-align:left}.bdm-note-count{font-size:.75rem;color:#868e96;font-weight:400}.bdm-notes-body{margin-top:8px}.bdm-notes-list{max-height:160px;overflow-y:auto;margin-bottom:10px}.bdm-no-notes{font-size:.82rem;color:#adb5bd;font-style:italic;margin:0;padding:8px 0}.bdm-note-item{padding:8px 12px;background:#f8f9fa;border-radius:6px;margin-bottom:6px;border-left:3px solid #6c63ff}.bdm-note-meta{display:flex;justify-content:space-between;margin-bottom:4px}.bdm-note-author{font-size:.72rem;font-weight:600;color:#6c63ff}.bdm-note-date{font-size:.7rem;color:#adb5bd}.bdm-note-text{margin:0;font-size:.82rem;color:#333;line-height:1.4}.bdm-add-note{display:flex;gap:8px;align-items:flex-end}.bdm-add-note textarea{flex:1;border:1px solid #dee2e6;border-radius:6px;padding:8px 12px;font-size:.82rem;resize:none;font-family:inherit;transition:border-color .15s}.bdm-add-note textarea:focus{outline:none;border-color:#6c63ff}.bdm-note-btn{padding:8px 16px;background:#6c63ff;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.bdm-note-btn:hover:not(:disabled){background:#5a52d5}.bdm-note-btn:disabled{opacity:.5;cursor:not-allowed}.bdm-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid #e9ecef;background:#fafbfc;border-radius:0 0 12px 12px}.bdm-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border:none;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.bdm-btn:disabled{opacity:.6;cursor:not-allowed}.bdm-btn-success{background:#28a745;color:#fff}.bdm-btn-success:hover:not(:disabled){background:#218838}.bdm-btn-danger{background:#dc3545;color:#fff}.bdm-btn-danger:hover:not(:disabled){background:#c82333}.bdm-btn-info{background:#17a2b8;color:#fff}.bdm-btn-info:hover:not(:disabled){background:#138496}.bdm-btn-outline{background:#fff;color:#6c757d;border:1px solid #dee2e6}.bdm-btn-outline:hover{background:#f1f3f5;color:#333}@media (max-width: 640px){.bdm-overlay{padding:10px}.bdm-modal{max-height:95vh}.bdm-header{padding:16px}.bdm-body{padding:12px 16px}.bdm-footer{padding:12px 16px;flex-wrap:wrap}.bdm-pipeline{gap:2px}.bdm-step{min-width:64px;padding:6px}.bdm-step-label{font-size:.58rem}.bdm-add-note{flex-direction:column}.bdm-note-btn{width:100%;text-align:center}}.booking-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.list-title{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.list-title h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:600;color:#1a1a2e}.list-title h3 svg{color:var(--primary-color, #3498db)}.clear-date-btn{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff;color:#666;font-size:.8rem;cursor:pointer;transition:all .2s ease}.clear-date-btn:hover{background:#f5f5f5;border-color:#dc3545;color:#dc3545}.list-actions{display:flex;align-items:center;gap:.5rem}.filter-select{padding:.5rem 1rem;border:1px solid #e0e0e0;border-radius:8px;background:#fff;font-size:.875rem;cursor:pointer;min-width:140px}.filter-select:focus{outline:none;border-color:var(--primary-color, #3498db)}.refresh-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;border:1px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease;color:#555}.refresh-btn:hover{background:#f5f5f5;border-color:var(--primary-color, #3498db);color:var(--primary-color, #3498db)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-btn svg.spinning{animation:spin 1s linear infinite}.booking-summary{display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:10px;flex-wrap:wrap}.summary-item{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.5rem;background:#fff;border-radius:8px;min-width:80px;box-shadow:0 1px 3px #0000000d}.summary-count{font-size:1.5rem;font-weight:700}.summary-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.summary-item.total .summary-count{color:var(--primary-color, #3498db)}.summary-item.confirmed .summary-count{color:#27ae60}.summary-item.pending .summary-count{color:#f39c12}.summary-item.cancelled .summary-count{color:#e74c3c}.summary-item.completed .summary-count{color:#004085}.booking-table-wrapper{overflow-x:auto;min-height:200px;position:relative}.booking-table{width:100%;border-collapse:collapse;font-size:.875rem}.booking-table thead{background:#f8f9fa}.booking-table th{padding:.875rem 1rem;text-align:left;font-weight:600;color:#555;border-bottom:2px solid #e0e0e0;white-space:nowrap}.booking-table td{padding:.875rem 1rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.booking-table tbody tr:hover{background:#f8f9fa}.guest-cell,.product-cell,.dates-cell{display:flex;flex-direction:column;gap:2px}.guest-name,.product-name{font-weight:500;color:#333}.guest-email,.room-name,.location{font-size:.75rem;color:#888}.location{display:flex;align-items:center;gap:3px}.dates-cell span{font-weight:500}.dates-cell small{color:#888}.dates-cell .nights{background:#e8f4fd;color:var(--primary-color, #3498db);padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:500;margin-top:2px;display:inline-block;width:fit-content}.price{color:var(--primary-color, #3498db);font-size:.95rem}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.workflow-mini{display:flex;flex-direction:column;gap:3px;min-width:90px}.wf-dots{display:flex;align-items:center;gap:4px}.wf-dot{width:10px;height:10px;border-radius:50%;background:#dee2e6;border:1.5px solid #ccc;transition:all .2s}.wf-dot.done{background:#27ae60;border-color:#1e8449}.wf-dot.current{background:#fff3cd;border-color:#f0ad4e;box-shadow:0 0 0 2px #f0ad4e4d}.wf-label{font-size:.68rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.action-cell{display:flex;gap:.5rem}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;color:#555}.icon-btn:hover{background:#f5f5f5;border-color:var(--primary-color, #3498db);color:var(--primary-color, #3498db)}.icon-btn.success:hover{border-color:#27ae60;color:#27ae60;background:#e7f5ec}.icon-btn.danger:hover{border-color:#e74c3c;color:#e74c3c;background:#fdeaea}.no-bookings{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#888}.no-bookings svg{color:#ddd;margin-bottom:1rem}.no-bookings p{margin:0;font-size:1rem;font-weight:500;color:#666}.no-bookings span{font-size:.875rem;color:#999;margin-top:.5rem}.list-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.list-loading .spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:var(--primary-color, #3498db);border-radius:50%;animation:spin 1s linear infinite}.list-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #f0f0f0}.list-pagination button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease}.list-pagination button:hover:not(:disabled){background:var(--primary-color, #3498db);border-color:var(--primary-color, #3498db);color:#fff}.list-pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{display:flex;flex-direction:column;align-items:center;font-size:.875rem;color:#555}.pagination-info small{font-size:.75rem;color:#888}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #f0f0f0}.modal-header h2{margin:0;font-size:1.125rem;font-weight:600;color:#1a1a2e}.close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:#f5f5f5;cursor:pointer;transition:all .2s ease}.close-btn:hover{background:#e0e0e0}.booking-detail-content{padding:1.5rem}.detail-section{margin-bottom:1.5rem}.detail-section:last-child{margin-bottom:0}.detail-section h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px}.detail-section.cancellation{background:#fff5f5;padding:1rem;border-radius:8px;border:1px solid #ffe0e0}.detail-section.cancellation h4{color:#dc3545}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item.full-width{grid-column:span 2}.detail-item svg{color:#888}.detail-item .label{font-size:.75rem;color:#888}.detail-item .value{font-weight:500;color:#333}.detail-item .value.price{color:var(--primary-color, #3498db);font-size:1.125rem}.modal-actions{display:flex;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #f0f0f0;justify-content:flex-end}.btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-outline{background:#fff;border:1px solid #e0e0e0;color:#555}.btn-outline:hover{background:#f5f5f5}.btn-success{background:#27ae60;color:#fff}.btn-success:hover{background:#219a52}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#d63031}@media (max-width: 768px){.booking-list{padding:1rem}.list-header{flex-direction:column;align-items:flex-start}.list-actions{width:100%}.filter-select{flex:1}.booking-summary{padding:.75rem;gap:.5rem}.summary-item{flex:1;min-width:60px;padding:.5rem .75rem}.summary-count{font-size:1.25rem}.summary-label{font-size:.65rem}.booking-table th,.booking-table td{padding:.625rem .5rem;font-size:.8rem}.detail-grid{grid-template-columns:1fr}.detail-item.full-width{grid-column:span 1}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%;justify-content:center}}.audit-stats-bar{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem;background:var(--bg-secondary, #f8f9fa);border-radius:10px;margin-bottom:1.5rem;border:1px solid var(--border-color, #e2e8f0)}.stat-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:20px;font-size:.8rem;background:#fff;border:1px solid #e2e8f0;color:#64748b}.stat-chip strong{color:#1e293b}.stat-chip.total{background:#1e293b;color:#fff}.stat-chip.total strong{color:#fff}.stat-chip.danger{border-color:#fca5a5;background:#fef2f2;color:#dc2626}.stat-chip.danger strong{color:#dc2626}.stat-chip.success{border-color:#86efac;background:#f0fdf4;color:#16a34a}.stat-chip.success strong{color:#16a34a}.stat-chip.warning{border-color:#fde68a;background:#fffbeb;color:#d97706}.stat-chip.warning strong{color:#d97706}.stat-chip.info{border-color:#93c5fd;background:#eff6ff;color:#2563eb}.stat-chip.info strong{color:#2563eb}.audit-filters-card{background:#fff;border:1px solid var(--border-color, #e2e8f0);border-radius:10px;padding:1.25rem;margin-bottom:1.5rem;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.audit-filters-card .filter-group label{display:flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;color:#64748b;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.03em}.audit-filters-card .filter-group input,.audit-filters-card .filter-group select{width:100%;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;transition:border-color .2s}.audit-filters-card .filter-group input:focus,.audit-filters-card .filter-group select:focus{border-color:var(--color-primary-500);outline:none;box-shadow:0 0 0 3px #05966914}.filter-bar-actions{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:.75rem;border-top:1px solid #f1f5f9}.audit-timeline{position:relative;padding-left:2rem;min-height:200px}.audit-timeline:before{content:"";position:absolute;left:1.1rem;top:0;bottom:0;width:2px;background:#e2e8f0}.audit-entry{display:flex;gap:1rem;margin-bottom:.75rem;position:relative;cursor:pointer;transition:transform .15s}.audit-entry:hover{transform:translate(2px)}.entry-indicator{flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #cbd5e1;z-index:1;font-size:.9rem;color:#64748b;margin-left:-1.6rem}.audit-entry.danger .entry-indicator{border-color:#ef4444;color:#ef4444;background:#fef2f2}.audit-entry.success .entry-indicator{border-color:#22c55e;color:#22c55e;background:#f0fdf4}.audit-entry.warning .entry-indicator{border-color:#f59e0b;color:#f59e0b;background:#fffbeb}.audit-entry.info .entry-indicator{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.entry-content{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.85rem 1rem;transition:box-shadow .2s,border-color .2s}.audit-entry:hover .entry-content{box-shadow:0 2px 8px #0000000f;border-color:#cbd5e1}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.action-badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.action-badge.danger{background:#fef2f2;color:#dc2626}.action-badge.success{background:#f0fdf4;color:#16a34a}.action-badge.warning{background:#fffbeb;color:#d97706}.action-badge.info{background:#eff6ff;color:#2563eb}.action-badge.default{background:#f1f5f9;color:#475569}.entry-time{font-size:.78rem;color:#94a3b8;white-space:nowrap}.entry-body{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.84rem;color:#475569}.entry-body .actor,.entry-body .target{display:inline-flex;align-items:center;gap:.3rem}.entry-body .actor svg,.entry-body .target svg{font-size:.85rem;color:#94a3b8}.entry-reason{margin-top:.4rem;padding:.4rem .6rem;background:#f8fafc;border-left:3px solid #cbd5e1;border-radius:0 4px 4px 0;font-size:.82rem;color:#64748b;font-style:italic}.entry-details{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed #e2e8f0;animation:slideDown .2s ease}.detail-row{font-size:.82rem;color:#64748b;margin-bottom:.3rem}.detail-row strong{color:#475569}.detail-block{margin-top:.5rem}.detail-block strong{display:block;font-size:.78rem;color:#475569;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.03em}.detail-block pre{background:#1e293b;color:#e2e8f0;padding:.75rem;border-radius:6px;font-size:.78rem;line-height:1.5;overflow-x:auto;max-height:200px;margin:0}.expand-toggle{display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;padding:0;background:none;border:none;color:var(--color-primary-600);font-size:.78rem;font-weight:500;cursor:pointer}.expand-toggle:hover{text-decoration:underline}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.audit-stats-bar{flex-direction:column}.filters-grid{grid-template-columns:1fr}.audit-timeline{padding-left:1.5rem}.audit-timeline:before{left:.85rem}.entry-indicator{margin-left:-1.35rem;width:1.8rem;height:1.8rem;font-size:.75rem}.entry-header{flex-direction:column;align-items:flex-start;gap:.25rem}.entry-body{flex-direction:column;gap:.25rem}}.global-progress-bar{position:fixed;top:0;left:0;right:0;height:3px;background:#05966926;z-index:9999;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary-600) 0%,var(--color-secondary-400) 50%,var(--color-primary-600) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;transition:width .3s ease}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.global-loader{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9998;opacity:0;pointer-events:none;transition:opacity .3s ease}.global-loader.active{opacity:1;pointer-events:auto}.loader-content{text-align:center;padding:2rem}.travel-animation{position:relative;width:200px;height:100px;margin:0 auto 2rem}.airplane{position:absolute;top:50%;left:0;width:48px;height:48px;color:var(--color-primary-600);transform:translateY(-50%) rotate(45deg);animation:fly 2.5s ease-in-out infinite}.airplane svg{width:100%;height:100%}@keyframes fly{0%{left:-10%;top:60%;transform:translateY(-50%) rotate(30deg)}25%{top:40%;transform:translateY(-50%) rotate(35deg)}50%{left:50%;top:30%;transform:translateY(-50%) rotate(45deg)}75%{top:40%;transform:translateY(-50%) rotate(40deg)}to{left:110%;top:50%;transform:translateY(-50%) rotate(35deg)}}.flight-path{position:absolute;top:0;left:0;right:0;bottom:0}.cloud{position:absolute;font-size:1.5rem;opacity:.6;animation:float 3s ease-in-out infinite}.cloud-1{top:10%;right:20%;animation-delay:0s}.cloud-2{top:50%;left:10%;animation-delay:.5s;font-size:1.2rem}.cloud-3{bottom:10%;right:30%;animation-delay:1s;font-size:1rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.loader-text{font-size:1.1rem;color:var(--text-primary);margin-bottom:1.5rem}.loading-dots{display:inline-flex;align-items:baseline}.dot{display:inline-block;animation:bounce 1.4s infinite}.dot:nth-child(1){animation-delay:0s}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.travel-icons{display:flex;justify-content:center;gap:1rem}.travel-icon{font-size:1.5rem;opacity:0;animation:iconPop 2s infinite}.travel-icon:nth-child(1){animation-delay:0s}.travel-icon:nth-child(2){animation-delay:.3s}.travel-icon:nth-child(3){animation-delay:.6s}.travel-icon:nth-child(4){animation-delay:.9s}.travel-icon:nth-child(5){animation-delay:1.2s}@keyframes iconPop{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .3s ease}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .2s ease}.slide-enter{transform:translate(20px);opacity:0}.slide-enter-active{transform:translate(0);opacity:1;transition:all .3s ease}.slide-exit{transform:translate(0);opacity:1}.slide-exit-active{transform:translate(-20px);opacity:0;transition:all .2s ease}@media (max-width: 480px){.travel-animation{width:150px;height:80px}.airplane{width:36px;height:36px}.loader-text{font-size:1rem}.travel-icons{gap:.75rem}.travel-icon{font-size:1.25rem}}:root{--primary-color: #10B981;--primary-dark: #047857;--color-primary-50: #ECFDF5;--color-primary-100: #D1FAE5;--color-primary-200: #A7F3D0;--color-primary-300: #6EE7B7;--color-primary-400: #34D399;--color-primary-500: #10B981;--color-primary-600: #059669;--color-primary-700: #047857;--color-primary-800: #065F46;--color-primary-900: #064E3B;--color-secondary-50: #F0FDFA;--color-secondary-100: #CCFBF1;--color-secondary-200: #99F6E4;--color-secondary-300: #5EEAD4;--color-secondary-400: #2DD4BF;--color-secondary-500: #14B8A6;--color-secondary-600: #0D9488;--color-secondary-700: #0F766E;--color-secondary-800: #115E59;--color-secondary-900: #134E4A;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-highlight: #F59E0B;--color-success-50: #ECFDF5;--color-success-500: #10B981;--color-success-600: #059669;--color-warning-50: #FFFBEB;--color-warning-500: #F59E0B;--color-warning-600: #D97706;--color-error-50: #FEF2F2;--color-error-500: #EF4444;--color-error-600: #DC2626;--color-info-50: #F5F3FF;--color-info-500: #8B5CF6;--color-info-600: #7C3AED;--bg-primary: #FFFFFF;--bg-secondary: #F8FAFC;--bg-tertiary: #F3F4F6;--bg-accent: #D1FAE5;--text-primary: #111827;--text-secondary: #6B7280;--text-tertiary: #6B7280;--text-muted: #9CA3AF;--text-inverse: #FFFFFF;--border-light: #E5E7EB;--border-default: #D1D5DB;--border-dark: #9CA3AF;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .06), 0 1px 2px -1px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 24px -4px rgba(0, 0, 0, .1), 0 4px 8px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 40px -8px rgba(0, 0, 0, .12), 0 8px 16px -8px rgba(0, 0, 0, .04);--shadow-card: 0 8px 24px rgba(0, 0, 0, .08);--shadow-card-hover: 0 12px 32px rgba(0, 0, 0, .12);--shadow-floating: 0 20px 60px rgba(0, 0, 0, .12);--radius-none: 0;--radius-sm: .25rem;--radius-default: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "Fira Code", "Consolas", "Monaco", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--z-sidebar: 100;--z-dropdown: 1000;--z-header: 1010;--z-sticky: 1020;--z-fixed: 1030;--z-drawer-backdrop: 1100;--z-drawer: 1110;--z-modal-backdrop: 1200;--z-modal: 1210;--z-popover: 1300;--z-tooltip: 1400;--sidebar-width-collapsed: 64px;--sidebar-width-expanded: 220px;--header-height: 64px;--admin-sidebar-width: 260px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-y:auto}body{font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-y:auto;min-width:0;max-width:100vw;width:100%}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}a{color:var(--color-primary-500);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-600)}button{cursor:pointer;border:none;background:none}ul,ol{list-style:none}#root{overflow-x:hidden;min-height:100vh}.container{width:100%;max-width:var(--container-xl);margin:0 auto;padding:0 var(--spacing-3)}@media (min-width: 480px){.container{padding:0 var(--spacing-4)}}@media (min-width: 768px){.container{padding:0 var(--spacing-6)}}@media (min-width: 1024px){.container{padding:0 var(--spacing-8)}}.heading-1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.02em}.heading-2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.01em}.heading-3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.heading-4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.text-sm{font-size:var(--font-size-xs)}.text-base{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-base)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}@media (min-width: 640px){body{font-size:var(--font-size-base)}.heading-1{font-size:var(--font-size-2xl)}.heading-2{font-size:var(--font-size-xl)}.heading-3{font-size:var(--font-size-lg)}.heading-4{font-size:var(--font-size-base)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}}@media (min-width: 1024px){.heading-1{font-size:var(--font-size-4xl)}.heading-2{font-size:var(--font-size-3xl)}.heading-3{font-size:var(--font-size-2xl)}.heading-4{font-size:var(--font-size-xl)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--spacing-2)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.flex-wrap{flex-wrap:wrap}.grid{display:grid}.grid-cols-1,.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}@media (min-width: 480px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 768px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-3)}.mt-6{margin-top:var(--spacing-4)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-3)}.mb-6{margin-bottom:var(--spacing-4)}.p-4{padding:var(--spacing-3)}.p-6{padding:var(--spacing-4)}.py-4{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.py-8{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.px-4{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}@media (min-width: 640px){.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-8{padding-top:var(--spacing-8);padding-bottom:var(--spacing-8)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-break{word-break:break-word;overflow-wrap:break-word}@supports (padding: env(safe-area-inset-bottom)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}
