@import "https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap";:root{--surface:#fff;--surface-container-low:#f8fafc;--surface-container:#f1f5f9;--surface-container-high:#e2e8f0;--surface-container-lowest:#fff;--primary:#0d1c32;--primary-container:#1e293b;--on-primary:#fff;--secondary-container:#f0f4f8;--on-secondary-container:#0d1c32;--tertiary-container:#d2bb8e;--on-tertiary-container:#0d1c32;--on-surface:#0f172a;--on-surface-variant:#64748b;--outline-variant:#e2e8f0;--shadow-ambient:0px 4px 20px #0f172a0d;--error:#ef4444;--error-container:#fee2e2;--success:#22c55e;--success-container:#dcfce7;--spacing-4:1.5rem;--spacing-16:4rem;--spacing-20:6rem}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--surface-container-low);color:var(--on-surface);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Manrope,sans-serif}h1,h2,h3,h4{color:var(--on-surface);letter-spacing:-.02em;font-weight:600}.display-md{letter-spacing:-.02em;font-size:2.75rem;font-weight:500}.title-lg{color:var(--on-surface);font-size:1.375rem;font-weight:600}.label-md{letter-spacing:.05em;color:var(--on-surface-variant);text-transform:uppercase;font-size:.75rem;font-weight:600}.app-container{min-height:100vh;display:flex}.sidebar{background-color:var(--surface);border-right:1px solid var(--outline-variant);flex-direction:column;gap:2rem;width:280px;padding:2.5rem 2rem;display:flex}.page-content{padding:var(--spacing-4) var(--spacing-16);flex:1;max-width:1600px;margin:0 auto}.card{background-color:var(--surface-container-lowest);box-shadow:var(--shadow-ambient);border:1px solid var(--outline-variant);border-radius:.75rem;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}@media (width<=768px){.card{padding:1.25rem!important}}.card:hover{box-shadow:0 10px 30px #0f172a14}.glass-panel{-webkit-backdrop-filter:blur(12px);border:1px solid var(--outline-variant);background-color:#ffffffb3}.btn{cursor:pointer;letter-spacing:.01em;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.6rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #005dac4d}.btn-secondary{background-color:var(--secondary-container);color:var(--on-secondary-container)}.btn-secondary:hover{background-color:#b5d8ec}.btn-error{background-color:var(--error)!important;color:#fff!important}.btn-tertiary{color:var(--primary);background:0 0;font-weight:600}.btn-tertiary:hover{opacity:.8}.input-group{margin-bottom:var(--spacing-4);flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--on-surface-variant);font-size:.875rem;font-weight:500}.minimal-input{background-color:var(--surface-container-high);color:var(--on-surface);border:1px solid #0000;border-radius:.5rem;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.minimal-input:focus{background-color:var(--surface-container-lowest);box-shadow:var(--shadow-ambient);border-color:#005dac66;outline:none}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:2rem}.status-pill{border-radius:1rem;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.status-occupied{background-color:var(--tertiary-container);color:var(--on-tertiary-container)}.status-cleaning{background-color:var(--secondary-container);color:var(--on-secondary-container)}.status-open{color:#065f46;background-color:#d1fae5}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.data-grid{gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.room-carousel{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.mobile-nav-bar{display:none}.card,.glass-panel{transition:transform .2s,box-shadow .2s}.checkout-wrapper{z-index:50;flex:1;align-self:flex-start;min-width:380px;height:fit-content;position:sticky;top:1.5rem}.dashboard-layout{grid-template-columns:minmax(0,1fr) 400px;align-items:flex-start;gap:2rem;display:grid}@media (width<=1100px){.dashboard-layout{grid-template-columns:1fr}}.rooms-column{flex-direction:column;gap:2rem;display:flex}.checkout-wrapper{width:100%;height:100%;display:block;position:relative}.checkout-wrapper .mobile-modal-content{background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);max-height:calc(100vh - 4.5rem);box-shadow:var(--shadow-xl);border-radius:1rem;overflow-y:auto}@media (width<=768px){body,html{width:100vw;position:relative;overflow-x:hidden!important}.app-container{flex-direction:column;padding-bottom:80px}.sidebar{display:none!important}.page-content{width:100%;padding:1rem}.top-stats-grid{grid-template-columns:1fr 1fr!important;gap:.75rem!important}.top-stats-grid .card{min-height:100px!important;padding:.75rem!important}.top-stats-grid h3{font-size:1.1rem!important}.dashboard-layout{flex-direction:column!important;gap:1.5rem!important;display:flex!important}.data-grid{grid-template-columns:1fr!important;gap:1rem!important}.bookings-scroll-container{max-height:400px!important;overflow-y:auto!important}.mobile-nav-bar{-webkit-backdrop-filter:blur(25px);height:75px;padding:0 .5rem;padding-bottom:env(safe-area-inset-bottom);background-color:#fffffff2;border-top:1px solid #0000000d;justify-content:space-around;align-items:center;box-shadow:0 -5px 20px #0000000d;z-index:99999!important;width:100%!important;display:flex!important;position:fixed!important;bottom:0!important;left:0!important}.nav-item{color:var(--on-surface-variant);opacity:.6;flex-direction:column;align-items:center;gap:.35rem;min-width:60px;padding:.5rem;font-size:.65rem;font-weight:700;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.nav-item.active{color:var(--primary);opacity:1;transform:translateY(-2px)}.nav-item.active svg{color:var(--primary)}.room-carousel{gap:.75rem;margin:0;padding:1rem 0;grid-template-columns:1fr 1fr!important;display:grid!important}.room-card{border-radius:1rem!important;width:100%!important;min-width:0!important}.room-card div[style*="height: 180px"]{height:120px!important}.room-card h4{font-size:1rem!important}.room-card p{display:none!important}.ticket-wallet-header{text-align:center;flex-direction:column!important;gap:1.5rem!important;padding:1.5rem!important}.ticket-wallet-header>div{justify-content:center;width:100%!important}.display-md{font-weight:900;line-height:1.1;font-size:1.85rem!important}.display-sm{font-weight:800;font-size:1.5rem!important}.title-lg{font-weight:800;font-size:1.35rem!important}.checkout-wrapper{z-index:99999;-webkit-backdrop-filter:blur(10px);background-color:#0f172a80;justify-content:center;align-items:center;padding:1rem;display:none;width:100%!important;height:100%!important;position:fixed!important;inset:0!important}.checkout-wrapper.active{display:flex!important}.checkout-wrapper .mobile-modal-content{background:var(--surface);border:1px solid #ffffff1a;border-radius:1.5rem;width:100%;max-width:500px;max-height:85vh;padding:2rem 1.75rem;position:relative;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.empty-checkout-placeholder{display:none!important}}.empty-checkout-placeholder{background-color:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--on-surface-variant)}.success-checkmark{width:80px;height:80px;margin:0 auto}.success-checkmark .check-icon{box-sizing:content-box;border:4px solid #4caf50;border-radius:50%;width:80px;height:80px;position:relative}.success-checkmark .check-icon:before{transform-origin:100%;border-radius:100px 0 0 100px;width:30px;top:3px;left:-2px}.success-checkmark .check-icon:after{transform-origin:0;border-radius:0 100px 100px 0;width:60px;animation:4.25s ease-in rotate-circle;top:0;left:30px}.success-checkmark .check-icon .icon-line{z-index:10;background-color:#4caf50;border-radius:2px;height:5px;display:block;position:absolute}.success-checkmark .check-icon .icon-line.line-tip{width:25px;animation:.75s icon-line-tip;top:46px;left:14px;transform:rotate(45deg)}.success-checkmark .check-icon .icon-line.line-long{width:47px;animation:.75s icon-line-long;top:38px;right:8px;transform:rotate(-45deg)}.success-checkmark .check-icon .icon-circle{z-index:10;box-sizing:content-box;border:4px solid #4caf5080;border-radius:50%;width:80px;height:80px;position:absolute;top:-4px;left:-4px}@keyframes icon-line-tip{0%{width:0;top:19px;left:1px}54%{width:0;top:19px;left:1px}70%{width:50px;top:37px;left:-8px}84%{width:17px;top:48px;left:21px}to{width:25px;top:46px;left:14px}}@keyframes icon-line-long{0%{width:0;top:54px;right:46px}65%{width:0;top:54px;right:46px}84%{width:55px;top:35px;right:0}to{width:47px;top:38px;right:8px}}.booking-card-compact{border-left:4px solid var(--primary);grid-template-columns:1fr auto;align-items:center;gap:1rem;display:grid;padding:1rem 1.5rem!important}.booking-card-compact:hover{border-left-color:var(--tertiary-container)}.reschedule-badge{background:var(--secondary-container);color:var(--on-secondary-container);border-radius:4px;margin-left:.5rem;padding:.2rem .6rem;font-size:.7rem;font-weight:700;display:inline-block}.success-overlay{z-index:99999;background:#fffffff2;flex-direction:column;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.calendar-day-btn{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.calendar-day-btn:hover:not(:disabled){z-index:2;transform:translateY(-2px);box-shadow:0 6px 16px #00000014;background-color:var(--surface-container-highest)!important}.calendar-day-btn:active{transform:scale(.92)}.calendar-day-btn span{z-index:1;position:relative}.calendar-day-btn:after{content:"";background:var(--primary);opacity:0;z-index:0;transition:opacity .2s;position:absolute;inset:0}.calendar-day-btn.active:after{opacity:.1}.help-popover{color:#1a1c1e;z-index:9999;border:1px solid var(--primary);pointer-events:none;background-color:#fff;border-radius:.75rem;padding:1rem;font-size:.8rem;line-height:1.5;animation:.2s ease-out slideInDown;position:absolute;top:40px;left:0;right:0;box-shadow:0 10px 25px -5px #0003,0 8px 10px -6px #0000001a}[data-theme=dark] .help-popover{background-color:var(--surface-container-highest);color:var(--on-surface);border:1px solid var(--outline-variant)}.btn-help{cursor:pointer;color:var(--on-surface-variant);opacity:.6;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.2rem;transition:all .2s;display:flex}.btn-help:hover{background-color:var(--surface-container-high);opacity:1;color:var(--primary)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-checkout{color:#fff;cursor:pointer;letter-spacing:.3px;background-color:#0f172a;border:none;border-radius:.6rem;justify-content:center;align-items:center;width:100%;padding:1rem;font-size:1.1rem;font-weight:700;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 10px #0f172a26}.btn-checkout:hover{background-color:#1e293b;transform:translateY(-1.5px);box-shadow:0 8px 16px #0f172a33}.btn-checkout:active{transform:scale(.97)}@media (width<=768px){.btn-checkout{letter-spacing:0;padding:.85rem;font-size:1rem}}.room-card:hover img{transform:scale(1.08)}.nav-item:active{transform:scale(.92)}.room-card{transition:all .3s cubic-bezier(.4,0,.2,1)}
