:root{--gold:#daa261;--gold-primary:#daa261;--gold-bright:#f2d1aa;--gold-dark:#b88142;--gold-rgb:218, 162, 97;--gold-glow:#daa2611f;--gold-glow-strong:#daa26140;--brand-green:#033d39;--brand-green-dark:#02302c;--brand-green-light:#0a544f;--bg-dark-100:#fcf8f2;--bg-dark-200:#fff;--bg-dark-300:#f5eedf;--bg-dark-400:#faf6ee;--text-light:#033d39;--text-normal:#124d49;--text-muted:#537d7a;--text-gold:#b88142;--text-light-static:#fff;--text-normal-static:#d5d5d8;--text-muted-static:#8e8e95;--success:#1b6863;--success-glow:#1b686314;--warning:#b88142;--warning-glow:#b8814214;--danger:#b03e3e;--danger-glow:#b03e3e14;--info:#2c596e;--info-glow:#2c596e14;--border-light:#daa26124;--border-gold:#daa26140;--border-gold-strong:#033d3926;--shadow-luxury:0 10px 30px #033d390a;--shadow-inset-luxury:inset 0 1px 1px #daa2611a;--shadow-gold-glow:0 0 20px #daa26114;--font-luxury:"Cormorant Garamond", serif;--font-sans:"Plus Jakarta Sans", sans-serif;--transition-smooth:all .35s cubic-bezier(.25, .8, .25, 1);--transition-fast:all .2s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-dark-100);color:var(--text-light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-dark-100)}::-webkit-scrollbar-thumb{background:var(--gold-dark);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gold-primary)}#root{width:100%;min-height:100vh;display:flex}h1,h2,h3,h4,h5,.title-serif{font-family:var(--font-luxury);letter-spacing:.03em;color:var(--text-light);font-weight:500}p,span,div,table,input,select,textarea,button{font-family:var(--font-sans);letter-spacing:.015em}.app-container{background-color:var(--bg-dark-100);width:100%;min-height:100vh;display:flex;position:relative}.sidebar{background:linear-gradient(180deg, var(--brand-green-dark) 0%, var(--brand-green) 100%);border-right:1px solid var(--border-light);z-index:100;width:280px;height:100vh;transition:var(--transition-smooth);flex-direction:column;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid var(--border-light);flex-direction:column;gap:8px;padding:30px 24px;display:flex}.sidebar-logo{align-items:center;gap:12px;display:flex}.logo-crest,.logo-crest-img{transition:var(--transition-smooth);filter:drop-shadow(0 0 6px #daa26133)}.logo-text-wrap{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.logo-title-main{font-family:var(--font-luxury);letter-spacing:.2em;color:var(--gold-primary);text-transform:uppercase;font-size:1.35rem;font-weight:600;line-height:1.1}.logo-subtitle-sub{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.4em;color:var(--gold-bright);opacity:.85;margin-top:.15rem;font-size:.52rem;font-weight:600}.sidebar-nav{flex-direction:column;flex-grow:1;gap:8px;padding:24px 16px;display:flex;overflow-y:auto}.nav-item{color:var(--text-muted-static);cursor:pointer;transition:var(--transition-fast);border:1px solid #0000;border-radius:8px;align-items:center;gap:14px;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--gold-bright);background-color:#ffffff0d}.nav-item.active{color:#fff;border:1px solid var(--border-gold);background:linear-gradient(90deg,#daa26133 0%,#daa2610a 100%);box-shadow:0 4px 15px #00000026}.nav-item .icon{width:18px;height:18px;transition:var(--transition-fast)}.nav-item.active .icon{color:var(--gold-primary)}.sidebar-footer{border-top:1px solid var(--border-light);flex-direction:column;align-items:stretch;gap:14px;padding:20px 24px;display:flex}.logout-button{width:100%;color:var(--text-muted-static);cursor:pointer;transition:var(--transition-fast);background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.logout-button .icon{width:14px;height:14px;color:var(--text-muted-static);transition:var(--transition-fast)}.logout-button:hover{background:#b03e3e1a;border-color:#b03e3e4d;color:#f55!important}.logout-button:hover .icon{color:#f55!important}.user-avatar{border:1px solid var(--border-gold);width:40px;height:40px;color:var(--gold-bright);background-color:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.user-info{flex-direction:column;display:flex}.user-name{color:#fff;margin-bottom:4px;font-size:13px;font-weight:600}.user-role{color:var(--gold-bright);opacity:.8;font-size:11px}.main-content{flex-direction:column;flex-grow:1;min-height:100vh;display:flex;position:relative;overflow-y:auto}.top-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);z-index:90;background-color:#fffc;justify-content:space-between;align-items:center;height:80px;padding:0 40px;display:flex;position:sticky;top:0}.header-title-wrapper{flex-direction:column;display:flex}.header-title{font-size:26px;font-weight:600}.header-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.header-actions{align-items:center;gap:20px;display:flex}.header-search{align-items:center;display:flex;position:relative}.header-search input{border:1px solid var(--border-light);color:var(--text-normal);width:240px;transition:var(--transition-smooth);background-color:#ffffffe6;border-radius:30px;padding:10px 16px 10px 42px;font-size:13px}.header-search input:focus{border-color:var(--border-gold);background-color:#fff;outline:none;width:300px}.header-search .icon{color:var(--text-muted);width:16px;height:16px;position:absolute;left:15px}.icon-button{background-color:var(--bg-dark-300);border:1px solid var(--border-light);width:42px;height:42px;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.icon-button:hover{color:var(--gold-primary);border-color:var(--border-gold);background-color:var(--bg-dark-400)}.badge-dot{background-color:var(--gold-primary);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:10px}.page-body{flex-direction:column;flex-grow:1;gap:32px;padding:40px;display:flex}.card-grid1{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;display:grid}.card-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px;display:grid}.luxury-card{background:linear-gradient(135deg, var(--bg-dark-200) 0%, var(--bg-dark-400) 100%);border:1px solid var(--border-light);box-shadow:var(--shadow-luxury);transition:var(--transition-smooth);border-radius:12px;padding:24px;position:relative;overflow:hidden}.luxury-card:before{content:"";background:linear-gradient(90deg, transparent, var(--gold-primary), transparent);opacity:0;width:100%;height:2px;transition:var(--transition-smooth);position:absolute;top:0;left:0}.luxury-card:hover{border-color:var(--border-gold);box-shadow:var(--shadow-luxury), var(--shadow-gold-glow);transform:translateY(-4px)}.luxury-card:hover:before{opacity:1}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:500}.card-icon-container{background-color:var(--gold-glow);width:44px;height:44px;color:var(--gold-primary);border:1px solid #c5a88033;border-radius:8px;justify-content:center;align-items:center;display:flex}.card-value{font-family:var(--font-luxury);color:var(--text-light);margin-bottom:8px;font-size:32px;font-weight:600}.card-trend{align-items:center;gap:6px;font-size:12px;display:flex}.card-trend.up{color:var(--success)}.card-trend.down{color:var(--danger)}.content-split{grid-template-columns:2fr 1fr;gap:24px;display:grid}@media (width<=1200px){.content-split{grid-template-columns:1fr}}.section-card{background-color:var(--bg-dark-200);border:1px solid var(--border-light);box-shadow:var(--shadow-luxury);border-radius:16px;flex-direction:column;padding:30px;display:flex}.section-card-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.section-title{align-items:center;gap:12px;font-size:20px;font-weight:600;display:flex}.section-title:before{content:"";background-color:var(--gold-primary);border-radius:2px;width:4px;height:20px;display:inline-block}.chart-container{width:100%;height:280px;animation:.5s chart-fade-in;position:relative}@keyframes chart-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chart-svg{width:100%;height:100%;overflow:visible}.chart-line{fill:none;stroke:var(--gold-primary);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 10px #c5a88073)}.chart-area{fill:url(#chart-gradient);opacity:.22;transition:var(--transition-fast)}.chart-grid-line{stroke:#033d390f;stroke-width:1px;stroke-dasharray:3 5}.chart-axis-text{fill:var(--text-muted);font-size:11px;font-weight:600;font-family:var(--font-sans)}.chart-axis-value{fill:var(--text-muted-static);font-size:10px;font-family:var(--font-sans)}.chart-dot{fill:var(--bg-dark-200);stroke:var(--gold-bright);stroke-width:3px;cursor:pointer;transition:r .15s,stroke-width .15s,filter .15s}.chart-dot:hover{r:7;stroke:var(--gold-primary);stroke-width:4px;filter:drop-shadow(0 0 6px #daa2618c)}.chart-tooltip{background-color:var(--bg-dark-300);border:1px solid var(--border-gold);box-shadow:var(--shadow-luxury);pointer-events:none;z-index:10;border-radius:8px;padding:10px 14px;font-size:12px;display:none;position:absolute}.chart-tooltip-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:10px}.chart-tooltip-value{color:var(--text-light);font-weight:700}.revenue-tooltip{border-radius:10px;padding:12px 16px;box-shadow:0 14px 28px #033d391f}.revenue-tooltip:after{content:"";background-color:var(--bg-dark-300);border-right:1px solid var(--border-gold);border-bottom:1px solid var(--border-gold);width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.revenue-chart-total{border:1px solid var(--border-gold);background:#daa2611a;border-radius:20px;align-items:baseline;gap:6px;padding:6px 14px;display:inline-flex}.revenue-chart-total-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.revenue-chart-total-value{font-family:var(--font-luxury);color:var(--text-light);font-size:16px;font-weight:700}.room-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px;display:grid}.room-cell{aspect-ratio:1.1;background-color:var(--bg-dark-300);border:1px solid var(--border-light);cursor:pointer;transition:var(--transition-fast);border-radius:10px;flex-direction:column;justify-content:space-between;padding:12px;display:flex;position:relative}.room-cell:hover{transform:scale(1.03);box-shadow:0 4px 15px #0006}.room-number{color:var(--text-light);font-size:12px;font-weight:600}.room-type-tag{color:var(--text-muted);text-transform:uppercase;font-size:9px}.room-status-badge{text-transform:uppercase;border-radius:20px;align-self:flex-start;padding:2px 6px;font-size:9px;font-weight:500}.status-available{background-color:var(--success-glow);color:var(--success);border:1px solid #63c19533}.status-occupied{background-color:var(--danger-glow);color:var(--danger);border:1px solid #e26d6d33}.status-cleaning{background-color:var(--warning-glow);color:var(--warning);border:1px solid #e8b96433}.status-maintenance{background-color:var(--info-glow);color:var(--info);border:1px solid #6da4e233}.room-cell.occupied{border-color:#e26d6d4d}.room-cell.available{border-color:#63c1954d}.room-cell.cleaning{border-color:#e8b9644d}.room-cell.maintenance{border-color:#6da4e24d}.table-wrapper{width:100%;overflow-x:auto}.luxury-table{border-collapse:separate;border-spacing:0 10px;text-align:left;width:100%}.luxury-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-light);padding:16px 20px;font-size:12px;font-weight:600}.luxury-table tbody tr{background-color:var(--bg-dark-200);transition:var(--transition-fast)}.luxury-table tbody tr:hover{box-shadow:var(--shadow-luxury);background-color:var(--bg-dark-400);transform:scale(1.005)}.luxury-table td{color:var(--text-light);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:18px 20px;font-size:14px}.luxury-table td:first-child{border-left:1px solid var(--border-light);border-top-left-radius:8px;border-bottom-left-radius:8px}.luxury-table td:last-child{border-right:1px solid var(--border-light);border-top-right-radius:8px;border-bottom-right-radius:8px}.vip-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.vip-royal{color:#033d39;background:linear-gradient(135deg,#ffe0a3 0%,#d4af37 100%)}.vip-elite{background-color:var(--gold-glow);color:var(--gold-dark);border:1px solid var(--border-gold)}.vip-standard{background-color:var(--bg-dark-400);color:var(--text-muted);border:1px solid var(--border-light)}.gold-button{background:linear-gradient(135deg, var(--gold-dark) 0%, var(--gold-primary) 100%);color:#fff;cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:30px;align-items:center;gap:10px;padding:12px 24px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 4px 15px #daa26133}.gold-button:hover{background:linear-gradient(135deg, var(--gold-primary) 0%, var(--gold-bright) 100%);transform:translateY(-2px);box-shadow:0 6px 20px #daa26159}.gold-button:active{transform:translateY(0)}.outline-button{color:var(--gold-dark);border:1px solid var(--border-gold);cursor:pointer;transition:var(--transition-fast);background-color:#0000;border-radius:30px;align-items:center;gap:10px;padding:11px 22px;font-size:14px;font-weight:500;display:inline-flex}.outline-button:hover{background-color:var(--gold-glow);border-color:var(--gold-primary);color:var(--text-light)}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1100;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;animation:.25s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{background-color:var(--bg-dark-200);border:1px solid var(--border-gold);width:580px;max-width:90%;max-height:90vh;box-shadow:var(--shadow-luxury), 0 0 50px #daa2611a;border-radius:16px;flex-direction:column;animation:.35s cubic-bezier(.25,.8,.25,1) slideUp;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:24px 30px;display:flex}.modal-title{color:var(--text-light);font-size:24px;font-weight:600}.close-button{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.close-button:hover{color:var(--text-light)}.modal-body{flex:1;padding:30px;overflow-y:auto}.form-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (width<=600px){.form-grid{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:8px;display:flex}.form-group.full-width{grid-column:span 2}@media (width<=600px){.form-group.full-width{grid-column:span 1}}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.form-input,.form-select,.form-textarea{background-color:var(--bg-dark-300);border:1px solid var(--border-light);color:var(--text-light);transition:var(--transition-fast);border-radius:8px;padding:12px 16px;font-size:14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-gold);background-color:var(--bg-dark-400);outline:none;box-shadow:0 0 10px #c5a8800d}.form-textarea{resize:vertical;min-height:80px}.form-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:12px;margin-top:30px;padding-top:20px;display:flex}.service-request-list{flex-direction:column;gap:16px;display:flex}.service-card{background-color:var(--bg-dark-300);border:1px solid var(--border-light);transition:var(--transition-fast);border-radius:10px;justify-content:space-between;align-items:center;padding:18px;display:flex}.service-card:hover{border-color:var(--border-gold);box-shadow:var(--shadow-luxury)}.service-meta{flex-direction:column;gap:4px;display:flex}.service-title{color:var(--text-light);font-size:14px;font-weight:600}.service-guest{color:var(--gold-dark);font-size:12px}.service-room{color:var(--text-muted);font-size:11px}.service-status{align-items:center;gap:12px;display:flex}.filter-bar{background-color:var(--bg-dark-200);border:1px solid var(--border-light);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;display:flex}.filters-left{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.filter-pill{background-color:var(--bg-dark-300);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);border:1px solid #0000;border-radius:20px;padding:6px 16px;font-size:12px;font-weight:500}.filter-pill:hover{color:var(--gold-primary);background-color:var(--bg-dark-400)}.filter-pill.active{background-color:var(--gold-glow);color:var(--text-light);border:1px solid var(--border-gold)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.realtime-pulse{background-color:var(--success);border-radius:50%;width:8px;height:8px;display:inline-block;position:relative}.realtime-pulse:after{content:"";background-color:var(--success);border-radius:50%;width:100%;height:100%;animation:1.8s infinite pulse-ring;position:absolute;top:0;left:0}@keyframes pulse-ring{0%{opacity:1;transform:scale(.95)}to{opacity:0;transform:scale(2.5)}}.active-inspect{border-color:var(--gold-bright)!important;box-shadow:0 0 15px var(--gold-glow-strong)!important;transform:scale(1.04)!important}.room-cell.active-inspect:after{content:"✦";color:var(--gold-bright);font-size:12px;position:absolute;top:5px;right:8px}.luxury-card,.section-card{-webkit-backdrop-filter:blur(16px)}.gold-button{position:relative;overflow:hidden}.gold-button:after{content:"";opacity:0;background:linear-gradient(45deg,#0000,#ffffff26,#0000);width:200%;height:200%;transition:all .5s;position:absolute;top:-50%;left:-50%;transform:rotate(45deg)}.gold-button:hover:after{opacity:1;left:120%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold-primary)!important;box-shadow:0 0 8px #c5a88040!important}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.luxury-table tbody tr{cursor:pointer}.luxury-table tbody tr:hover td{color:var(--text-light)!important}@media (width<=992px){.sidebar{width:80px;padding:20px 10px}.sidebar-logo span,.sidebar-subtitle,.nav-item span,.user-info,.sidebar-header{display:none}.nav-item{justify-content:center;padding:12px}.top-header{padding:0 20px}.page-body{padding:20px}}.login-container{background:radial-gradient(circle at center, var(--brand-green) 0%, var(--brand-green-dark) 100%);justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";pointer-events:none;background:radial-gradient(circle,#daa26114 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-200px;left:-200px}.login-container:after{content:"";pointer-events:none;background:radial-gradient(circle,#daa2610d 0%,#0000 70%);width:600px;height:600px;position:absolute;bottom:-200px;right:-200px}.login-card{border:1px solid var(--border-gold);width:440px;max-width:100%;box-shadow:var(--shadow-luxury), 0 20px 50px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10;background:#02302cd9;border-radius:20px;flex-direction:column;gap:28px;padding:40px;animation:.5s cubic-bezier(.25,.8,.25,1) slideUp;display:flex}.login-logo{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.login-logo-title{font-family:var(--font-luxury);color:var(--gold-bright);letter-spacing:.05em;text-transform:uppercase;font-size:32px;font-weight:700}.login-logo-subtitle{color:var(--text-normal-static);text-transform:uppercase;letter-spacing:.2em;font-size:11px}.login-error{background-color:var(--danger-glow);color:var(--danger);border:1px solid #e26d6d4d;border-radius:8px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.login-demo-creds{color:var(--text-normal-static);background-color:#daa26108;border:1px solid #daa26126;border-radius:8px;padding:14px;font-size:12px;line-height:1.5}.login-demo-title{color:var(--gold-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px;font-weight:600}.dash{font-variant-numeric:tabular-nums;flex-direction:column;gap:24px;display:flex}.dash-card{background:var(--bg-dark-200);border:1px solid #033d3914;border-radius:12px;box-shadow:0 1px 2px #033d390a,0 4px 12px #033d3908}.dash-card-head{border-bottom:1px solid #033d3912;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.dash-card-title{font-family:var(--font-sans);color:var(--text-light);margin:0;font-size:15px;font-weight:600}.dash-card-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.dash-card-body{padding:20px}.dash-overview{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.dash-overview h1{font-family:var(--font-sans);color:var(--text-light);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700}.dash-overview p{color:var(--text-muted);margin-top:4px;font-size:13px}.dash-actions{flex-wrap:wrap;gap:8px;display:flex}.dash-btn{height:36px;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.dash-btn svg{width:15px;height:15px}.dash-btn-secondary{background:var(--bg-dark-200);color:var(--text-normal);border:1px solid #033d3924}.dash-btn-secondary:hover{color:var(--text-light);border-color:#033d394d}.dash-btn-primary{background:var(--brand-green);border:1px solid var(--brand-green);color:#fff}.dash-btn-primary:hover{background:var(--brand-green-light)}.dash-btn:disabled{opacity:.6;cursor:default}.dash-spin{animation:.9s linear infinite dash-spin}@keyframes dash-spin{to{transform:rotate(360deg)}}.dash-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.dash-kpi{flex-direction:column;gap:10px;padding:18px 20px;display:flex}.dash-kpi-top{justify-content:space-between;align-items:center;display:flex}.dash-kpi-label{color:var(--text-muted);font-size:13px;font-weight:500}.dash-kpi-icon{border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.dash-kpi-icon svg{width:17px;height:17px}.dash-tone-teal{color:var(--brand-green);background:#033d3912}.dash-tone-gold{color:var(--gold-dark);background:#daa26124}.dash-tone-blue{color:var(--info);background:#2c596e17}.dash-tone-red{color:var(--danger);background:#b03e3e14}.dash-kpi-value{font-family:var(--font-sans);color:var(--text-light);letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.1}.dash-kpi-foot{color:var(--text-muted);font-size:12px}.dash-progress{background:#033d3914;border-radius:999px;height:6px;overflow:hidden}.dash-progress>span{border-radius:inherit;background:var(--brand-green);height:100%;transition:width .6s;display:block}.dash-progress.gold>span{background:var(--gold-primary)}.dash-split{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;display:grid}.dash-segment{background:#033d390f;border-radius:8px;padding:3px;display:inline-flex}.dash-segment button{font-family:var(--font-sans);color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:background-color .15s,color .15s}.dash-segment button.active{background:var(--bg-dark-200);color:var(--text-light);box-shadow:0 1px 2px #033d391f}.dash-chart-total{color:var(--text-muted);font-size:12px}.dash-chart-total strong{color:var(--text-light);letter-spacing:-.01em;font-size:20px;font-weight:700;display:block}.dash-chart{height:260px;position:relative}.dash-chart svg{width:100%;height:100%;overflow:visible}.dash-chart-grid{stroke:#033d3912;stroke-width:1px}.dash-chart-axis{fill:var(--text-muted);font-size:11px;font-family:var(--font-sans)}.dash-chart-line{fill:none;stroke:var(--brand-green);stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.dash-chart-dot{fill:var(--bg-dark-200);stroke:var(--brand-green);stroke-width:2px;cursor:pointer}.dash-chart-hit{fill:#0000;cursor:pointer}.dash-chart-cursor{stroke:#033d3940;stroke-width:1px;stroke-dasharray:3 3}.dash-tooltip{background:var(--brand-green);color:#fff;white-space:nowrap;pointer-events:none;z-index:5;border-radius:8px;padding:8px 12px;font-size:12px;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 8px 20px #033d3933}.dash-tooltip span{opacity:.75;margin-bottom:2px;font-size:11px;display:block}.dash-summary{flex-direction:column;gap:18px;display:flex}.dash-summary-row{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.dash-summary-row strong{color:var(--text-light);font-size:15px;font-weight:700}.dash-summary-hero{border-bottom:1px solid #033d3912;padding-bottom:18px}.dash-summary-hero .dash-kpi-value{margin-top:6px}.dash-summary-progress-label{color:var(--text-muted);justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.dash-properties{flex-direction:column;display:flex}.dash-property{border-bottom:1px solid #033d390f;grid-template-columns:minmax(0,1.4fr) minmax(0,2fr) auto;align-items:center;gap:16px;padding:14px 20px;display:grid}.dash-property:last-child{border-bottom:0}.dash-property-name{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.dash-property-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.dash-property-amount{color:var(--text-light);text-align:right;min-width:90px;font-size:14px;font-weight:700}.dash-table-wrap{overflow-x:auto}.dash-table{border-collapse:collapse;width:100%;font-size:13px}.dash-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;background:#033d3906;border-bottom:1px solid #033d3912;padding:10px 20px;font-size:11px;font-weight:600}.dash-table td{color:var(--text-normal);white-space:nowrap;border-bottom:1px solid #033d390f;padding:13px 20px}.dash-table tbody tr:last-child td{border-bottom:0}.dash-table tbody tr:hover td{background:#daa2610d}.dash-table .num{text-align:right}.dash-guest{align-items:center;gap:10px;display:flex}.dash-avatar{width:32px;height:32px;color:var(--gold-dark);background:#daa26129;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.dash-guest-name{color:var(--text-light);font-weight:600}.dash-guest-ref{color:var(--text-muted);margin-top:1px;font-size:11px}.dash-badge{text-transform:capitalize;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.dash-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.dash-badge.green{color:var(--success);background:#1b686317}.dash-badge.amber{color:var(--warning);background:#b881421f}.dash-badge.red{color:var(--danger);background:#b03e3e17}.dash-badge.gray{color:var(--text-muted);background:#537d7a1a}.dash-badge.blue{color:var(--info);background:#2c596e17}.dash-empty{text-align:center;color:var(--text-muted);padding:36px 20px;font-size:13px}.dash-empty svg{opacity:.45;width:28px;height:28px;margin-bottom:8px}.dash-skeleton{background:linear-gradient(90deg,#033d390f 25%,#033d391c 50%,#033d390f 75%) 0 0/200% 100%;border-radius:6px;animation:1.3s ease-in-out infinite dash-shimmer;display:inline-block}@keyframes dash-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1200px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-split{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.dash{gap:16px}.dash-kpis{grid-template-columns:minmax(0,1fr);gap:12px}.dash-card-head,.dash-card-body{padding:16px}.dash-property{grid-template-columns:minmax(0,1fr) auto;padding:14px 16px}.dash-property .dash-progress{grid-area:2/1/auto/-1}.dash-table th,.dash-table td{padding-left:16px;padding-right:16px}.dash-chart{height:220px}.dash-overview h1{font-size:20px}}@media (prefers-reduced-motion:reduce){.dash-skeleton,.dash-spin{animation:none}.dash-progress>span{transition:none}}
