:root{--bg-dark:#0f111e;--bg-panel:#0f111e;--bg-card:#0f111e;--bg-card-hover:#121424;--bg-card-overlay:#ffffff04;--bg-card-overlay-hover:#ffffff0a;--bg-card-overlay-darker:#0003;--border-light:transparent;--border-glow:transparent;--primary:#6366f1;--primary-glow:#6366f140;--text-on-primary:#fff;--secondary:#14b8a6;--secondary-glow:#14b8a640;--accent:#d946ef;--accent-glow:#d946ef40;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--neu-shadow-dark:#080910;--neu-shadow-light:#16192c;--neu-shadow-inset:inset 3px 3px 6px #080910, inset -3px -3px 6px #16192c;--neu-shadow-flat:6px 6px 12px var(--neu-shadow-dark), -6px -6px 12px var(--neu-shadow-light);--font-family:"Outfit", "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;font-family:var(--font-family);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-family);background-image:radial-gradient(circle at 10% 20%,#9d4edd0f 0%,#0000 40%),radial-gradient(circle at 90% 80%,#00f5d40f 0%,#0000 40%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;color:var(--text-primary);font-weight:600}a{color:var(--secondary);text-decoration:none;transition:all .2s}a:hover{color:var(--primary);text-shadow:0 0 8px var(--primary-glow)}.glass-panel{background:var(--bg-panel);box-shadow:var(--neu-shadow-flat);border:none;border-radius:20px}.glass-card{background:var(--bg-card);box-shadow:5px 5px 10px var(--neu-shadow-dark), -5px -5px 10px var(--neu-shadow-light);border:none;border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-card:hover{background:var(--bg-card-hover);box-shadow:8px 8px 16px var(--neu-shadow-dark), -8px -8px 16px var(--neu-shadow-light);transform:translateY(-2px)}.glow-primary{box-shadow:4px 4px 10px var(--neu-shadow-dark), -4px -4px 10px var(--neu-shadow-light), 0 0 8px var(--primary-glow)}.glow-secondary{box-shadow:4px 4px 10px var(--neu-shadow-dark), -4px -4px 10px var(--neu-shadow-light), 0 0 8px var(--secondary-glow)}.glow-text-primary{text-shadow:0 0 8px var(--primary-glow)}.glow-text-secondary{text-shadow:0 0 8px var(--secondary-glow)}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;font-weight:500;font-family:var(--font-family);box-shadow:4px 4px 8px var(--neu-shadow-dark), -4px -4px 8px var(--neu-shadow-light);border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary:hover{filter:brightness(1.08);box-shadow:5px 5px 10px var(--neu-shadow-dark), -5px -5px 10px var(--neu-shadow-light);transform:translateY(-1px)}.btn-primary:active{box-shadow:inset 3px 3px 6px var(--neu-shadow-dark), inset -3px -3px 6px var(--neu-shadow-light);transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);cursor:pointer;font-weight:500;font-family:var(--font-family);box-shadow:4px 4px 8px var(--neu-shadow-dark), -4px -4px 8px var(--neu-shadow-light);border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-secondary:hover{background:var(--bg-card-hover);box-shadow:5px 5px 10px var(--neu-shadow-dark), -5px -5px 10px var(--neu-shadow-light)}.btn-secondary:active{box-shadow:inset 3px 3px 6px var(--neu-shadow-dark), inset -3px -3px 6px var(--neu-shadow-light)}.badge{box-shadow:inset 1px 1px 3px var(--neu-shadow-dark), inset -1px -1px 3px var(--neu-shadow-light);border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-success{color:var(--success);background:#10b98114}.badge-warning{color:var(--warning);background:#f59e0b14}.badge-danger{color:var(--danger);background:#ef444414}.badge-info{color:var(--info);background:#3b82f614}.badge-primary{color:var(--primary);background:#6366f114}body.light-mode{--bg-dark:#ebf0f7;--bg-panel:#ebf0f7;--bg-card:#ebf0f7;--bg-card-hover:#f0f4fa;--bg-card-overlay:#00000005;--bg-card-overlay-hover:#0000000a;--bg-card-overlay-darker:#0000000d;--border-light:transparent;--border-glow:transparent;--text-primary:#2d3748;--text-secondary:#4a5568;--text-muted:#718096;--primary:#5c63d9;--primary-glow:#5c63d926;--secondary:#0d9488;--secondary-glow:#0d948826;--accent-glow:#d946ef1a;--success:#059669;--warning:#d97706;--danger:#dc2626;--info:#2563eb;--neu-shadow-dark:#cfd7e3;--neu-shadow-light:#fff;--neu-shadow-inset:inset 3px 3px 6px #cfd7e3, inset -3px -3px 6px #fff;--neu-shadow-flat:6px 6px 12px var(--neu-shadow-dark), -6px -6px 12px var(--neu-shadow-light);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body.light-mode ::-webkit-scrollbar-track{background:#e8ecf0}body.light-mode ::-webkit-scrollbar-thumb{background:#0000001a}body.light-mode ::-webkit-scrollbar-thumb:hover{background:var(--primary)}body.light-mode .sidebar{background:var(--bg-dark);box-shadow:4px 0 10px var(--neu-shadow-dark);border-right:none}body.light-mode .logo-text{background:linear-gradient(135deg, #1e293b 30%, var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}body.light-mode .property-selector-wrap{background:var(--bg-card);box-shadow:var(--neu-shadow-inset);border:none;border-radius:12px}body.light-mode .property-select{color:var(--text-primary)}body.light-mode .nav-item{color:var(--text-secondary);box-shadow:2px 2px 5px var(--neu-shadow-dark), -2px -2px 5px var(--neu-shadow-light);opacity:.9;border-radius:12px;margin:6px 0;border:none!important}body.light-mode .nav-item:hover{background:var(--bg-card-hover);color:var(--primary);box-shadow:3px 3px 6px var(--neu-shadow-dark), -3px -3px 6px var(--neu-shadow-light);opacity:1}body.light-mode .nav-item.active{background:var(--bg-card);color:var(--primary);box-shadow:var(--neu-shadow-inset);opacity:1}body.light-mode .nav-item-dashboard.active{color:var(--primary)!important;box-shadow:var(--neu-shadow-inset)!important;background:var(--bg-card)!important}body.light-mode .time-pill{background:var(--bg-card);color:var(--primary);box-shadow:2px 2px 5px var(--neu-shadow-dark), -2px -2px 5px var(--neu-shadow-light);border:none}body.light-mode .sidebar-footer{border-top:1px dashed var(--neu-shadow-dark)}body.light-mode .glass-panel{background:var(--bg-panel);box-shadow:var(--neu-shadow-flat);border:none}body.light-mode .glass-card{background:var(--bg-card);box-shadow:4px 4px 8px var(--neu-shadow-dark), -4px -4px 8px var(--neu-shadow-light);border:none}body.light-mode .glass-card:hover{background:var(--bg-card-hover);box-shadow:6px 6px 12px var(--neu-shadow-dark), -6px -6px 12px var(--neu-shadow-light)}body.light-mode .form-input,body.light-mode .form-select,body.light-mode select,body.light-mode input[type=text],body.light-mode input[type=number],body.light-mode input[type=email],body.light-mode input[type=password],body.light-mode input[type=search],body.light-mode textarea{background:var(--bg-card)!important;color:var(--text-primary)!important;box-shadow:var(--neu-shadow-inset)!important;border:none!important;border-radius:12px!important}body.light-mode .form-input::placeholder,body.light-mode input::placeholder,body.light-mode textarea::placeholder{color:var(--text-muted)!important}body.light-mode .form-input:focus,body.light-mode .form-select:focus,body.light-mode select:focus,body.light-mode input:focus,body.light-mode textarea:focus{box-shadow:var(--neu-shadow-inset), 0 0 0 2px var(--primary-glow)!important;border-color:#0000!important}body.light-mode .form-group label{color:var(--text-secondary)}body.light-mode .btn-secondary{background:var(--bg-card);color:var(--text-primary);box-shadow:3px 3px 6px var(--neu-shadow-dark), -3px -3px 6px var(--neu-shadow-light);border:none}body.light-mode .btn-secondary:hover{background:var(--bg-card-hover);box-shadow:4px 4px 8px var(--neu-shadow-dark), -4px -4px 8px var(--neu-shadow-light)}body.light-mode .btn-secondary:active{box-shadow:var(--neu-shadow-inset)}body.light-mode .filter-btn{background:var(--bg-card);color:var(--text-secondary);box-shadow:2px 2px 5px var(--neu-shadow-dark), -2px -2px 5px var(--neu-shadow-light);border:none}body.light-mode .filter-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);box-shadow:3px 3px 6px var(--neu-shadow-dark), -3px -3px 6px var(--neu-shadow-light)}body.light-mode .filter-btn.active{background:var(--bg-card);color:var(--primary);box-shadow:var(--neu-shadow-inset)}body.light-mode .role-dashboard-toolbar{background:var(--bg-panel);box-shadow:var(--neu-shadow-inset);border:none;border-radius:12px}body.light-mode .role-toolbar-btn{color:var(--text-secondary)}body.light-mode .role-toolbar-btn.active{background:var(--bg-card);color:var(--primary);box-shadow:2px 2px 5px var(--neu-shadow-dark), -2px -2px 5px var(--neu-shadow-light);border-radius:8px}body.light-mode .invoice-table th,body.light-mode table th{color:var(--text-secondary);border-bottom:2px solid var(--neu-shadow-dark)}body.light-mode .invoice-table td,body.light-mode table td{color:var(--text-primary);border-bottom:1px solid var(--neu-shadow-dark)}body.light-mode .invoice-table{color:var(--text-primary)}body.light-mode .table-row-hover:hover{background:var(--bg-card-hover)}body.light-mode .alert-item{background:var(--bg-card);box-shadow:inset 2px 2px 4px var(--neu-shadow-dark), inset -2px -2px 4px var(--neu-shadow-light);border:none;border-radius:10px}body.light-mode .alert-item-title{color:#0f172a}body.light-mode .alert-desc{color:#475569}body.light-mode .room-card{background:var(--bg-card);box-shadow:2px 2px 5px var(--neu-shadow-dark), -2px -2px 5px var(--neu-shadow-light);border:none;border-radius:12px}body.light-mode .room-number{color:var(--text-primary)}body.light-mode .room-type{color:var(--text-muted)}body.light-mode .room-price{color:var(--secondary)}body.light-mode .room-btn-check{background:var(--bg-card);color:var(--secondary);box-shadow:2px 2px 4px var(--neu-shadow-dark), -2px -2px 4px var(--neu-shadow-light);border:none;border-radius:8px}body.light-mode .stat-title{color:var(--text-muted)}body.light-mode .stat-value{color:var(--text-primary)}body.light-mode .stat-trend{color:var(--text-secondary)}body.light-mode .invoice-preview-panel{background:var(--bg-panel);box-shadow:var(--neu-shadow-inset);border:none;border-radius:12px}body.light-mode .invoice-row{color:var(--text-primary)}body.light-mode .invoice-row.total{color:var(--secondary)}body.light-mode .invoice-meta{color:var(--text-muted)}body.light-mode .invoice-header{border-bottom:2px solid var(--neu-shadow-dark)}body.light-mode .panel-title,body.light-mode .panel-section{color:var(--text-primary)}body.light-mode .wifi-client-row{background:var(--bg-card);box-shadow:2px 2px 5px var(--neu-shadow-dark), -2px -2px 5px var(--neu-shadow-light);color:var(--text-primary);border:none;border-radius:8px}body.light-mode .simulator-toggle-bar{background:var(--bg-panel);box-shadow:var(--neu-shadow-inset);border:none;border-radius:10px}body.light-mode .sim-toggle-btn{color:var(--text-secondary)}body.light-mode .sim-toggle-btn.active{background:var(--bg-card);color:var(--primary);box-shadow:2px 2px 5px var(--neu-shadow-dark), -2px -2px 5px var(--neu-shadow-light);border-radius:8px}body.light-mode .modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000040}body.light-mode .modal-close{color:var(--text-muted)}body.light-mode .modal-close:hover{color:var(--text-primary)}body.light-mode .phone-panel{background:var(--bg-dark);box-shadow:inset 4px 0 10px var(--neu-shadow-dark);border-left:none}body.light-mode .digital-key-card{background:var(--bg-card);box-shadow:4px 4px 10px var(--neu-shadow-dark), -4px -4px 10px var(--neu-shadow-light);border-radius:16px}body.light-mode .phone-inner-content{background:var(--bg-dark);color:var(--text-primary)}body.light-mode .phone-app-header{background:var(--bg-card);border-bottom:2px solid var(--neu-shadow-dark)}body.light-mode .phone-screen,body.light-mode .phone-status-bar{background:var(--bg-dark);color:var(--text-primary)}body.light-mode .phone-app-subtitle{color:var(--text-muted)}body.light-mode .chat-bubble.received{background:var(--bg-panel);box-shadow:var(--neu-shadow-inset);border:none;border-radius:12px;color:var(--text-primary)!important}body.light-mode .chat-room-item{background:var(--bg-card);box-shadow:2px 2px 4px var(--neu-shadow-dark), -2px -2px 4px var(--neu-shadow-light);border:none;border-radius:8px}body.light-mode .chat-room-item:hover{background:var(--bg-card-hover)}body.light-mode .chat-room-item.selected{background:var(--bg-card);box-shadow:var(--neu-shadow-inset)}body.light-mode .chat-room-item.selected .room-title{color:var(--primary)}body.light-mode .menu-item-row{background:var(--bg-card);box-shadow:2px 2px 4px var(--neu-shadow-dark), -2px -2px 4px var(--neu-shadow-light);color:var(--text-primary);border:none;border-radius:8px}body.light-mode .construction-indicator{border-color:var(--neu-shadow-dark)}body.light-mode .cctv-health-card{background:var(--bg-card);box-shadow:2px 2px 4px var(--neu-shadow-dark), -2px -2px 4px var(--neu-shadow-light);border:none;border-radius:8px}body.light-mode .badge-success{color:var(--success)}body.light-mode .badge-warning{color:var(--warning)}body.light-mode .badge-danger{color:var(--danger)}body.light-mode .badge-info{color:var(--info)}body.light-mode .badge-primary{color:var(--primary)}body.light-mode .inventory-stock-bar{background:var(--neu-shadow-dark);box-shadow:var(--neu-shadow-inset);border-radius:4px}body.light-mode [style*="rgba(255, 255, 255, 0.02)"],body.light-mode [style*="rgba(255,255,255,0.02)"],body.light-mode [style*="rgba(255, 255, 255, 0.03)"],body.light-mode [style*="rgba(255,255,255,0.03)"]{background:var(--bg-card)!important;box-shadow:2px 2px 4px var(--neu-shadow-dark), -2px -2px 4px var(--neu-shadow-light)!important}.app-container{background-color:var(--bg-dark);width:100vw;min-height:100vh;display:flex;overflow:hidden}.desktop-panel{border-right:1px solid var(--border-light);width:72%;height:100vh;display:flex}.phone-panel{background:#04060c73;flex-direction:column;justify-content:center;align-items:center;width:28%;height:100vh;padding:16px;display:flex;position:relative}.sidebar{border-right:1px solid var(--border-light);-webkit-backdrop-filter:blur(20px);background:#080a16d9;flex-direction:column;flex-shrink:0;width:250px;height:100vh;padding:20px;display:flex;overflow-y:auto}.logo-container{align-items:center;gap:12px;margin-bottom:24px;padding-left:4px;display:flex}.logo-glow{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex;box-shadow:0 0 15px #9d4edd66}.logo-text{background:linear-gradient(135deg, #fff 30%, var(--secondary) 100%);-webkit-text-fill-color:transparent;letter-spacing:-.01em;-webkit-background-clip:text;font-size:1.15rem;font-weight:700}.property-selector-wrap{border:1px solid var(--border-light);background:#ffffff08;border-radius:8px;margin-bottom:20px;padding:10px 12px}.property-selector-wrap label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.65rem;display:block}.property-select{color:var(--text-primary);width:100%;font-family:var(--font-family);cursor:pointer;background:0 0;border:none;outline:none;font-size:.85rem;font-weight:600}.nav-links{flex-direction:column;gap:4px;list-style:none;display:flex}.nav-item{color:var(--text-primary);opacity:.85;cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.nav-item:hover{color:var(--text-primary);opacity:1;background:#ffffff0a}.nav-item.active{color:#fff;opacity:1;background:#9d4edd26;border:1px solid #9d4edd40;box-shadow:0 4px 15px -5px #9d4edd33}.nav-item-dashboard{background:#00f5d405;border-radius:4px 8px 8px 4px;margin-bottom:6px;border-left:3px solid var(--secondary)!important}.nav-item-dashboard:hover{background:#00f5d40d}.nav-item-dashboard.active{color:#fff!important;border:1px solid #00f5d433!important;border-left:3px solid var(--secondary)!important;background:#00f5d41f!important;box-shadow:0 4px 15px -5px #00f5d440!important}body.light-mode .nav-item-dashboard{background:#00f5d404}body.light-mode .nav-item-dashboard:hover{background:#00f5d40a}body.light-mode .nav-item-dashboard.active{color:#0d9488!important;background:#00f5d414!important}.nav-icon{font-size:1.1rem}.sidebar-footer{border-top:1px solid var(--border-light);margin-top:auto;padding-top:14px}.user-profile{align-items:center;gap:10px;display:flex}.user-avatar{border:2px solid var(--secondary);object-fit:cover;border-radius:50%;width:34px;height:34px;box-shadow:0 0 8px #00f5d44d}.user-name{font-size:.8rem;font-weight:500}.user-role{color:var(--text-secondary);font-size:.65rem}.main-content{flex-direction:column;flex-grow:1;height:100vh;padding:24px;display:flex;overflow-y:auto}.main-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.header-title-section h1{margin-bottom:2px;font-size:1.6rem}.header-title-section p{color:var(--text-secondary);font-size:.8rem}.header-actions{align-items:center;gap:12px;display:flex}.time-pill{border:1px solid var(--border-light);font-size:.75rem;font-family:var(--mono);color:var(--secondary);background:#ffffff08;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.role-dashboard-toolbar{border:1px solid var(--border-light);background:#ffffff05;border-radius:8px;gap:8px;margin-bottom:20px;padding:4px;display:flex}.role-toolbar-btn{color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:600;font-family:var(--font-family);background:0 0;border:none;border-radius:6px;padding:6px 12px;transition:all .2s}.role-toolbar-btn.active{background:var(--bg-card);color:var(--secondary)}.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.stat-card{padding:16px;position:relative;overflow:hidden}.stat-icon-wrapper{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:10px;font-size:1rem;display:flex}.stat-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-size:.7rem}.stat-value{margin-bottom:2px;font-size:1.4rem;font-weight:700;line-height:1.1}.stat-trend{align-items:center;gap:4px;font-size:.65rem;font-weight:500;display:flex}.dashboard-cols{grid-template-columns:1.5fr 1fr;gap:20px;margin-bottom:20px;display:grid}.panel-section{flex-direction:column;gap:16px;padding:20px;display:flex}.panel-header{justify-content:space-between;align-items:center;display:flex}.panel-title{align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.cctv-container{aspect-ratio:16/9;background:#000;border:1px solid #ffffff1a;border-radius:12px;width:100%;position:relative;overflow:hidden}.cctv-canvas{object-fit:cover;width:100%;height:100%;display:block}.cctv-overlay{pointer-events:none;background:radial-gradient(circle,#0000 40%,#00000080 100%);flex-direction:column;justify-content:space-between;padding:12px;display:flex;position:absolute;inset:0}.cctv-header{justify-content:space-between;align-items:flex-start;display:flex}.cctv-title{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.65rem;font-family:var(--mono);background:#000000d9;border:1px solid #ffffff26;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;display:flex}.cctv-rec{background:var(--danger);border-radius:50%;width:6px;height:6px;animation:1.2s infinite alternate blink}.cctv-ai-indicator{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#9d4edde6;border-radius:4px;padding:4px 8px;font-size:.65rem;font-weight:500}.cctv-scanline{background:linear-gradient(to right, transparent, var(--secondary), transparent);opacity:.6;height:2px;animation:4s linear infinite scan;position:absolute;left:0;right:0}.cctv-health-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.cctv-health-card{border:1px solid var(--border-light);background:#ffffff05;border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.cctv-target{border:2px solid var(--secondary);box-shadow:0 0 8px var(--secondary-glow);border-radius:4px;transition:all 1.2s ease-in-out;position:absolute}.cctv-target-label{background:var(--secondary);color:#000;font-size:9px;font-family:var(--mono);white-space:nowrap;border-radius:2px 2px 0 0;padding:1px 4px;font-weight:700;position:absolute;bottom:100%;left:-2px}.cctv-footer{justify-content:space-between;align-items:center;display:flex}.cctv-timestamp{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.65rem;font-family:var(--mono);background:#000000d9;border-radius:4px;padding:4px 8px}.cctv-stats{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.65rem;font-family:var(--mono);color:var(--secondary);background:#000000d9;border-radius:4px;padding:4px 8px}.chart-container{align-items:flex-end;width:100%;height:180px;padding-top:10px;display:flex;position:relative;overflow:visible}.chart-svg{width:100%;height:100%;overflow:visible}.alerts-list{flex-direction:column;gap:10px;display:flex}.alert-item{border:1px solid var(--border-light);background:#ffffff05;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex;position:relative}.alert-item.escalated{border-color:var(--danger);background:#ef44440a;animation:2s infinite alternate pulseWarning}.alert-icon-wrap{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.95rem;display:flex}.alert-content{flex-grow:1}.alert-item-title{margin-bottom:2px;font-size:.8rem;font-weight:600}.alert-desc{color:var(--text-secondary);font-size:.7rem}.alert-score{text-align:right}.alert-score-num{font-family:var(--mono);font-size:.85rem;font-weight:700}.alert-score-label{color:var(--text-secondary);font-size:.6rem}.room-filters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.filter-btn{border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-family:var(--font-family);background:#ffffff08;border-radius:6px;padding:6px 12px;transition:all .2s}.filter-btn:hover{color:var(--text-primary);background:#ffffff14}.filter-btn.active{background:var(--primary-glow);color:var(--primary);border-color:var(--primary)}.room-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.room-card{cursor:pointer;flex-direction:column;gap:6px;padding:12px;display:flex}.room-card-header{justify-content:space-between;align-items:center;display:flex}.room-number{font-size:.9rem;font-weight:700}.room-type{color:var(--text-secondary);font-size:.65rem}.room-price{color:var(--secondary);font-size:.75rem;font-weight:500}.room-actions{margin-top:4px}.room-btn{cursor:pointer;width:100%;font-size:.7rem;font-weight:600;font-family:var(--font-family);border:none;border-radius:4px;padding:5px 0;transition:all .2s}.room-btn-check{background:var(--secondary-glow);color:var(--secondary);border:1px solid #00f5d433}.gst-grid{grid-template-columns:1.1fr 1.3fr;gap:20px;display:grid}.invoice-preview-panel{background:#ffffff04;flex-direction:column;gap:10px;padding:20px;display:flex}.invoice-header{border-bottom:1px solid var(--border-light);justify-content:space-between;padding-bottom:10px;display:flex}.invoice-logo{font-size:.95rem;font-weight:700}.invoice-meta{text-align:right;color:var(--text-secondary);font-size:.7rem;font-family:var(--mono)}.invoice-bill-to{flex-direction:column;gap:2px;font-size:.75rem;display:flex}.invoice-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:.75rem}.invoice-table th,.invoice-table td{text-align:left;border-bottom:1px solid var(--border-light);padding:6px 8px}.invoice-table th{color:var(--text-secondary);font-weight:500}.invoice-table td.right,.invoice-table th.right{text-align:right}.invoice-summary{border-top:1px solid var(--border-light);flex-direction:column;gap:4px;margin-top:auto;padding-top:10px;font-size:.75rem;display:flex}.invoice-row{justify-content:space-between;display:flex}.invoice-row.total{color:var(--secondary);border-top:1px dashed var(--border-light);padding-top:6px;font-size:.95rem;font-weight:700}.form-group{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.form-group label{color:var(--text-secondary);font-size:.7rem;font-weight:500}.form-input,.form-select{border:1px solid var(--border-light);color:var(--text-primary);font-family:var(--font-family);background:#ffffff08;border-radius:6px;outline:none;padding:6px 10px;font-size:.8rem}.form-input:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 8px var(--primary-glow)}.wifi-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.wifi-client-row{border:1px solid var(--border-light);background:#ffffff03;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.75rem;display:flex}.inventory-stock-bar{background:#ffffff0d;border-radius:3px;height:6px;position:relative;overflow:hidden}.construction-step{gap:12px;padding-bottom:16px;display:flex;position:relative}.construction-step:not(:last-child):after{content:"";background:var(--border-light);width:2px;position:absolute;top:14px;bottom:0;left:5px}.construction-indicator{background:var(--primary);border:2px solid var(--bg-dark);z-index:2;border-radius:50%;width:12px;height:12px;margin-top:3px;position:relative}.construction-indicator.done{background:var(--secondary)}.construction-indicator.active{background:var(--warning);box-shadow:0 0 8px var(--warning);animation:1s infinite alternate blink}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{width:90%;max-width:420px;padding:20px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp}.modal-title-wrap{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.25rem}.modal-close:hover{color:var(--text-primary)}.simulator-toggle-bar{border:1px solid var(--border-light);background:#ffffff08;border-radius:10px;gap:8px;margin-bottom:12px;padding:4px;display:flex}.sim-toggle-btn{color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:600;font-family:var(--font-family);background:0 0;border:none;border-radius:8px;padding:6px 12px;transition:all .2s}.sim-toggle-btn.active{background:var(--bg-card);color:var(--secondary);box-shadow:var(--shadow)}.iphone-frame{background:#000;border:10px solid #282930;border-radius:40px;flex-direction:column;width:310px;height:600px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 45px -10px #000c,0 0 0 2px #ffffff0d}.phone-screen{color:#fff;font-family:var(--font-family);background:#090a14;flex-direction:column;flex-grow:1;padding-bottom:24px;display:flex;position:relative;overflow-y:auto}.phone-status-bar{color:#ffffffd9;z-index:10;background:#090a14;justify-content:space-between;align-items:center;height:36px;padding:10px 20px 0;font-size:.65rem;font-weight:600;display:flex}.phone-dynamic-island{z-index:11;background:#000;border-radius:11px;justify-content:center;align-items:center;width:86px;height:22px;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 4px #ffffff1a}.dynamic-island-camera{background:#111;border:1px solid #222;border-radius:50%;width:5px;height:5px}.phone-icons{align-items:center;gap:4px;display:flex}.phone-home-indicator{z-index:10;background:#fff6;border-radius:2px;width:100px;height:4px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.phone-inner-content{flex-direction:column;gap:12px;padding:12px;display:flex}.phone-app-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.phone-app-title{font-size:1.05rem;font-weight:700}.phone-app-subtitle{color:var(--text-secondary);font-size:.7rem}.digital-key-card{background:linear-gradient(135deg,#9d4edd40 0%,#00f5d414 100%);border:1px solid #ffffff14;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 24px #9d4edd1f}.key-glow-ring{border:2px dashed var(--secondary);cursor:pointer;background:#00f5d40a;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:all .2s;display:flex}.key-glow-ring.unlocked{border-color:var(--success);background:#10b98114;box-shadow:0 0 16px #10b98140}.key-icon{font-size:1.5rem}.phone-camera-box{aspect-ratio:1.2;background:#111;border:1px dashed #ffffff26;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.phone-scan-line{background:var(--secondary);opacity:.8;height:2px;box-shadow:0 0 8px var(--secondary);animation:2.5s linear infinite scan;position:absolute;left:0;right:0}.menu-item-row{border:1px solid var(--border-light);background:#ffffff05;border-radius:6px;justify-content:space-between;align-items:center;padding:8px;font-size:.75rem;display:flex}@keyframes blink{0%{opacity:.3}to{opacity:1}}@keyframes scan{0%{top:0}50%{top:100%}to{top:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseWarning{0%{box-shadow:0 0 4px #ef44441a}to{box-shadow:0 0 16px #ef444466}}.table-row-hover:hover{background:#ffffff04}@media (width<=1100px){.app-container{flex-direction:column;height:auto;min-height:100vh;overflow-y:auto}.desktop-panel{border-right:none;flex-direction:column!important;width:100%!important;height:auto!important}.sidebar{border-right:none;border-bottom:1px solid var(--border-light);width:100%!important;height:auto!important;max-height:none!important}.main-content{height:auto!important;overflow-y:visible!important}.phone-panel{padding:30px 0;width:100%!important;height:auto!important}}.app-container.hide-simulator .desktop-panel{border-right:none!important;width:100%!important}.app-container.hide-simulator .phone-panel{display:none!important}.dashboard-grid{gap:16px;margin-bottom:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}@media (width<=1200px){.dashboard-cols{grid-template-columns:1fr!important}}.mobile-menu-toggle{display:none}.sidebar-menu-content{flex-direction:column;width:100%;display:flex}@media (width<=1100px){.sidebar{padding:12px 20px!important}.mobile-menu-toggle{display:block!important}.sidebar-menu-content{width:100%;display:none}.sidebar-menu-content.open{display:flex}}@media (width>=1101px) and (height<=780px){.iphone-frame{transform-origin:50%;margin:-35px 0;transform:scale(.85)}}@media (width>=1101px) and (height<=680px){.iphone-frame{transform-origin:50%;margin:-65px 0;transform:scale(.72)}}@media (width>=1101px) and (height<=580px){.iphone-frame{transform-origin:50%;margin:-105px 0;transform:scale(.58)}}@media (width<=900px){.access-control-main-grid,.access-control-policies-grid,.folio-manager-main-grid,.folio-ledgers-grid,.compliance-main-grid,.reports-main-grid,.frontdesk-main-grid,.frontdesk-details-grid,.frontdesk-summary-grid,.inventory-main-grid,.security-main-grid,.security-cctv-grid,.guestcrm-main-grid{grid-template-columns:1fr!important}}@media (width<=600px){.network-stats-grid{grid-template-columns:1fr!important}}
