@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;--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)}.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-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}.mobile-nav-bar{display:none}.card,.glass-panel{transition:transform .2s,box-shadow .2s}.checkout-wrapper{height:fit-content;display:block;position:sticky;top:2rem}@media (width<=768px){.checkout-wrapper{display:none}.app-container{flex-direction:column;padding-bottom:70px}.sidebar{display:none!important}.page-content{width:100%;padding:1.5rem}.display-md{font-size:1.75rem!important}.title-lg{font-size:1.25rem!important}.data-grid{grid-template-columns:1fr}.mobile-stack{flex-direction:column!important;align-items:stretch!important}.dashboard-layout{flex-direction:column-reverse!important;display:flex!important}.ticket-wallet-header{flex-direction:column!important;align-items:stretch!important;padding:1.5rem!important}.ticket-wallet-header>div{width:100%!important}.room-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:1rem;margin:0 -1.5rem;padding:1rem 1.5rem 2rem;overflow-x:auto;flex-wrap:nowrap!important;display:flex!important}.room-carousel>div{scroll-snap-align:center;min-width:85vw}.col-2-layout{flex-direction:column!important;display:flex!important}table{min-width:100%}.mobile-nav-bar{-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--outline-variant);width:100%;padding:.5rem 1rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));z-index:9999;background-color:#fffffffa;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0}.nav-item{color:var(--on-surface-variant);border-radius:.5rem;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;font-size:.65rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.nav-item.active{color:var(--primary)}.nav-item.active svg{filter:none}.checkout-wrapper.active{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#0f172a99;justify-content:center;align-items:flex-end;inset:0;z-index:10000!important;display:flex!important;position:fixed!important}.checkout-wrapper.active .mobile-modal-content{-webkit-overflow-scrolling:touch;border-radius:1.5rem 1.5rem 0 0;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 -10px 40px #0003;padding:1.5rem 1.5rem 80px!important}.ticket-wallet-header{text-align:center;flex-wrap:wrap;justify-content:center;gap:1rem!important;padding:1rem!important}.ticket-wallet-header h1{width:100%;font-size:1.25rem!important}.empty-checkout-placeholder{display:none!important}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}}.empty-checkout-placeholder{background-color:var(--surface-container-low);border:1px solid var(--outline-variant);color:var(--on-surface-variant)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}
