:root,:root.dark,.app-container.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading:"Plus Jakarta Sans", var(--font-sans);--font-display:"Outfit", var(--font-sans);--font-mono:"JetBrains Mono", monospace;--bg-app:#0b0f19;--bg-sidebar:#070a12;--bg-topbar:#0d121f;--bg-canvas:#0e1424;--bg-card:#151d30;--bg-card-hover:#1b253d;--bg-surface-elevated:#1e2942;--bg-surface-glass:#151d30bf;--bg-overlay:#05080fd1;--bg-input:#111827;--bg-dropdown-menu:#151d30;--bg-dropdown-option:#151d30;--text-dropdown-option:#f8fafc;--bg-dropdown-option-hover:#1e293b;--border-input:#ffffff29;--border-subtle:#ffffff14;--border-card:#ffffff1f;--border-card-hover:#ffffff38;--border-glow-emerald:#10b98159;--border-glow-blue:#38bdf859;--emerald-400:#34d399;--emerald-500:#10b981;--emerald-600:#059669;--emerald-900:#10b98126;--status-owner-bg:#15803d;--status-owner-text:#fff;--status-owner-border:#22c55e;--status-owner-subtle:#22c55e2e;--status-tenant-bg:#0369a1;--status-tenant-text:#fff;--status-tenant-border:#38bdf8;--status-tenant-subtle:#38bdf82e;--status-vacant-bg:#7e22ce;--status-vacant-text:#fff;--status-vacant-border:#c084fc;--status-vacant-subtle:#c084fc2e;--status-reno-bg:#b45309;--status-reno-text:#fff;--status-reno-border:#fbbf24;--status-reno-subtle:#fbbf242e;--status-danger-bg:#ef44442e;--status-danger-text:#f87171;--status-danger-border:#ef444466;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#38bdf8;--text-emerald:#34d399;--bg-modal-header:#101726;--bg-drawer-header:#131b2c;--bg-shelf:#0e142499;--bg-shelf-hover:#162036b3;--bg-shelf-highlight:#142440cc;--bg-table-header:#0e1424b3;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 10px 25px -5px #00000080, 0 8px 10px -6px #0006;--shadow-glow:0 0 20px #10b98140;--shadow-drawer:-12px 0 32px #000000a6;--shadow-dropdown:0 10px 25px -5px #000000a6, 0 0 1px 1px #ffffff1a;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.35s cubic-bezier(.34, 1.56, .64, 1)}:root.light,.app-container.light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#f1f5f9;--bg-sidebar:#fff;--bg-topbar:#fff;--bg-canvas:#e2e8f0;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-surface-elevated:#f8fafc;--bg-surface-glass:#ffffffe6;--bg-overlay:#0f172a73;--bg-input:#fff;--bg-dropdown-menu:#fff;--bg-dropdown-option:#fff;--text-dropdown-option:#0f172a;--bg-dropdown-option-hover:#f1f5f9;--border-input:#cbd5e1;--border-subtle:#e2e8f0;--border-card:#e2e8f0;--border-card-hover:#cbd5e1;--border-glow-emerald:#10b98140;--border-glow-blue:#0284c740;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-accent:#0284c7;--text-emerald:#059669;--bg-modal-header:#f8fafc;--bg-drawer-header:#f8fafc;--bg-shelf:#fff;--bg-shelf-hover:#f8fafc;--bg-shelf-highlight:#e0f2fe;--bg-table-header:#f8fafc;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 10px 25px -5px #0000001a, 0 8px 10px -6px #0000000a;--shadow-drawer:-12px 0 32px #0000001f;--shadow-dropdown:0 10px 25px -5px #0000001f, 0 0 1px 1px #0000000d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-app);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5;transition:background-color .25s,color .25s;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--border-card-hover);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{background-color:var(--bg-app);min-height:100vh;transition:background-color .25s;display:flex}.app-sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-subtle);z-index:40;flex-direction:column;flex-shrink:0;align-items:center;width:64px;padding:16px 0;transition:background-color .25s,border-color .25s;display:flex}.sidebar-logo{color:#fff;background:linear-gradient(135deg,#059669 0%,#10b981 100%);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:28px;display:flex;box-shadow:0 4px 12px #10b9814d}.sidebar-nav{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.sidebar-btn{width:42px;height:42px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative}.sidebar-btn:hover{background-color:var(--bg-card-hover);color:var(--text-primary)}.sidebar-btn.active{color:var(--text-accent);background:#38bdf81f;border-color:#38bdf84d}.sidebar-btn.active:before{content:"";background-color:var(--text-accent);border-radius:0 4px 4px 0;width:3px;height:20px;position:absolute;left:0}.sidebar-footer{flex-direction:column;align-items:center;gap:12px;margin-top:auto;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-topbar{background-color:var(--bg-topbar);border-bottom:1px solid var(--border-subtle);z-index:30;justify-content:space-between;align-items:center;gap:20px;height:64px;padding:0 24px;transition:background-color .25s,border-color .25s;display:flex}.brand-section{align-items:center;gap:12px;display:flex}.brand-badge{color:#fff;background:linear-gradient(135deg,#10b981 0%,#047857 100%);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex;box-shadow:0 2px 8px #10b98159}.brand-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;font-size:1.125rem;font-weight:700}.brand-subtitle{color:var(--text-secondary);font-size:.75rem}.search-bar-wrapper{flex:1;max-width:480px;position:relative}.search-input-box{background:var(--bg-input);border:1px solid var(--border-input);width:100%;height:38px;color:var(--text-primary);transition:all var(--transition-fast);border-radius:8px;outline:none;padding:0 14px 0 38px;font-size:.875rem}.search-input-box:focus{border-color:#38bdf880;box-shadow:0 0 0 3px #38bdf826}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.topbar-actions{align-items:center;gap:12px;display:flex}.action-icon-btn{background:var(--bg-card);border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.action-icon-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-card-hover)}.notification-badge-dot{background-color:#ef4444;border-radius:999px;width:7px;height:7px;position:absolute;top:7px;right:7px;box-shadow:0 0 6px #ef4444cc}.user-profile-pill{background:var(--bg-card);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);border-radius:20px;align-items:center;gap:10px;padding:4px 10px 4px 4px;display:flex}.user-profile-pill:hover{background:var(--bg-card-hover);border-color:var(--border-card-hover)}.user-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.user-name{color:var(--text-primary);font-size:.825rem;font-weight:600}.form-select,select{background-color:var(--bg-input);border:1px solid var(--border-input);width:100%;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);color-scheme:inherit;border-radius:8px;outline:none;padding:8px 12px;font-size:.875rem}.form-select:focus,select:focus{border-color:#38bdf880;box-shadow:0 0 0 3px #38bdf81f}.form-select option,select option{padding:10px 14px;font-size:.875rem;background-color:var(--bg-dropdown-option)!important;color:var(--text-dropdown-option)!important}.form-select option:hover,.form-select option:checked,select option:hover,select option:checked{background-color:var(--bg-dropdown-option-hover)!important;color:var(--text-primary)!important}.custom-dropdown-menu{background:var(--bg-dropdown-menu);border:1px solid var(--border-card);box-shadow:var(--shadow-dropdown);z-index:100;border-radius:12px;min-width:250px;padding:6px;animation:.18s cubic-bezier(.16,1,.3,1) scaleUp;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.dropdown-menu-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.dropdown-divider{background:var(--border-subtle);height:1px;margin:6px 0}.dropdown-item{color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:.825rem;display:flex}.dropdown-item:hover{background:var(--bg-card-hover)}.notif-item{align-items:flex-start;gap:10px;display:flex}.notif-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.notif-dot.red{background:#ef4444}.notif-dot.green{background:#10b981}.notif-text{color:var(--text-primary);font-size:.8rem;font-weight:500}.notif-time{color:var(--text-muted);font-size:.7rem}.app-content{flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.metrics-grid{grid-template-columns:repeat(5,1fr);gap:16px;display:grid}@media (width<=1200px){.metrics-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.metrics-grid{grid-template-columns:1fr}}.metric-card{background:var(--bg-card);border:1px solid var(--border-card);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;gap:8px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.metric-card:hover{background:var(--bg-card-hover);border-color:var(--border-card-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-header{color:var(--text-secondary);align-items:center;gap:8px;font-size:.825rem;font-weight:500;display:flex}.metric-header-icon{color:var(--text-muted)}.metric-body{align-items:baseline;gap:8px;display:flex}.metric-value-primary{font-family:var(--font-display);color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1.1}.metric-value-secondary{color:var(--text-muted);font-size:.825rem;font-weight:500}.metric-accent-bar{height:2px;position:absolute;bottom:0;left:0;right:0}.metric-card:first-child .metric-accent-bar{background:#10b981}.metric-card:nth-child(2) .metric-accent-bar{background:#38bdf8}.metric-card:nth-child(3) .metric-accent-bar{background:#34d399}.metric-card:nth-child(4) .metric-accent-bar{background:#c084fc}.metric-card:nth-child(5) .metric-accent-bar{background:#f59e0b}.tower-selector-strip{align-items:stretch;gap:14px;padding-bottom:4px;display:flex;overflow-x:auto}.tower-pill-card{background:var(--bg-card);border:1px solid var(--border-card);cursor:pointer;min-width:250px;max-width:320px;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;flex:1;justify-content:space-between;gap:10px;padding:14px 18px;display:flex;position:relative}.tower-pill-card:hover{background:var(--bg-card-hover);border-color:var(--border-card-hover)}.tower-pill-card.selected{border-color:#38bdf899;box-shadow:0 0 16px #38bdf826}.tower-card-top{justify-content:space-between;align-items:flex-start;display:flex}.tower-name-title{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:3px;font-size:1rem;font-weight:700}.tower-meta-line{color:var(--text-secondary);font-size:.775rem}.tower-status-active{color:var(--text-emerald);font-weight:600}.tower-status-maintenance{color:#f59e0b;font-weight:600}.tower-status-inactive{color:#94a3b8;font-weight:600}.tower-card-bottom{justify-content:space-between;align-items:center;display:flex}.view-floors-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-card);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border-radius:6px;padding:5px 10px;font-size:.75rem;font-weight:600}.tower-pill-card.selected .view-floors-btn{color:var(--text-accent);background:#38bdf826;border-color:#38bdf866}.view-floors-btn:hover{background:var(--border-card-hover)}.add-tower-card{background:var(--bg-card);border:1px dashed var(--border-card-hover);cursor:pointer;min-width:140px;color:var(--text-secondary);transition:all var(--transition-fast);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:14px;display:flex}.add-tower-card:hover{background:var(--bg-card-hover);border-color:var(--emerald-500);color:var(--emerald-400)}.controls-toolbar{background:var(--bg-card);border:1px solid var(--border-card);box-shadow:var(--shadow-sm);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;display:flex}.toolbar-left{align-items:center;gap:16px;display:flex}.active-tower-title{font-family:var(--font-heading);color:var(--text-primary);align-items:center;gap:8px;font-size:1.15rem;font-weight:700;display:flex}.view-mode-toggle{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:8px;gap:3px;padding:3px;display:flex}.toggle-mode-btn{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:flex}.toggle-mode-btn.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.toolbar-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-size:.825rem;font-weight:600;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 2px 8px #10b9814d}.btn-primary:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);box-shadow:0 4px 12px #10b98166}.btn-secondary{background:var(--bg-surface-elevated);border-color:var(--border-card);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-card-hover)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-danger{color:#f87171;background:#ef444426;border-color:#ef444466}.btn-danger:hover{background:#ef444440;border-color:#ef444499}.inactive-tower-banner{color:#fbbf24;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:10px;align-items:center;gap:12px;padding:10px 16px;font-size:.85rem;animation:.3s fadeIn;display:flex}.elevation-container{background:var(--bg-card);border:1px solid var(--border-card);min-height:640px;box-shadow:var(--shadow-sm);border-radius:14px;gap:24px;padding:24px;display:flex;position:relative;overflow-x:auto}.digital-twin-facade-column{border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;align-items:center;width:220px;padding-right:18px;display:flex}.facade-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;margin-bottom:12px;font-size:.8rem;font-weight:700;display:flex}.facade-illustration-wrapper{flex-direction:column;flex:1;justify-content:space-between;align-items:center;width:100%;display:flex}.elevation-shelves-column{flex-direction:column;flex:1;gap:10px;min-width:600px;display:flex}.floor-shelf-row{background:var(--bg-shelf);border:1px solid var(--border-subtle);transition:all var(--transition-fast);border-radius:10px;align-items:center;gap:14px;padding:8px 12px;display:flex;position:relative}.floor-shelf-row:hover{background:var(--bg-shelf-hover);border-color:var(--border-card-hover)}.floor-shelf-row.highlighted{background:var(--bg-shelf-highlight);border-color:#38bdf880;box-shadow:0 0 12px #38bdf826}.floor-label-cell{flex-direction:column;flex-shrink:0;width:110px;display:flex}.floor-primary-title{font-family:var(--font-heading);color:var(--text-primary);font-size:.85rem;font-weight:700}.floor-sub-desc{color:var(--text-muted);font-size:.7rem}.floor-units-cluster{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.unit-chip-card{cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex;position:relative}.unit-chip-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #00000040}.unit-chip-card.selected{outline:2px solid var(--text-accent);outline-offset:2px}.chip-owner{background:var(--status-owner-bg);color:var(--status-owner-text);border-color:var(--status-owner-border)}.chip-owner:hover{background:#16a34a}.chip-tenant{background:var(--status-tenant-bg);color:var(--status-tenant-text);border-color:var(--status-tenant-border)}.chip-tenant:hover{background:#0284c7}.chip-vacant{background:var(--status-vacant-bg);color:var(--status-vacant-text);border-color:var(--status-vacant-border)}.chip-vacant:hover{background:#9333ea}.chip-reno{background:var(--status-reno-bg);color:var(--status-reno-text);border-color:var(--status-reno-border)}.chip-reno:hover{background:#d97706}.chip-lobby{color:#f8fafc;background:#475569;border-color:#64748b}.unit-chip-code{font-family:var(--font-mono);font-size:.85rem;font-weight:700}.unit-chip-label{opacity:.95;font-size:.775rem;font-weight:500}.unit-chip-icon{align-items:center;display:flex}.floor-add-unit-trigger{background:var(--bg-surface-elevated);border:1px dashed var(--border-card-hover);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;display:flex}.floor-add-unit-trigger:hover{border-color:var(--emerald-500);color:var(--emerald-400);background:#10b98126}.basement-parking-row{flex-wrap:wrap;gap:8px;display:flex}.parking-slot-chip{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:.75rem;display:flex}.parking-slot-chip.ev{color:var(--emerald-400);border-color:#10b98166}.drawer-backdrop{background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.drawer-panel{background:var(--bg-card);border-left:1px solid var(--border-card);height:100%;box-shadow:var(--shadow-drawer);flex-direction:column;animation:.28s cubic-bezier(.16,1,.3,1) slideLeft;display:flex;overflow-y:auto}.drawer-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-drawer-header);z-index:10;justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex;position:sticky;top:0}.drawer-title{font-family:var(--font-heading);color:var(--text-primary);font-size:1.25rem;font-weight:700}.drawer-subtitle{color:var(--text-secondary);margin-top:2px;font-size:.825rem}.drawer-header-actions{align-items:center;gap:8px;display:flex}.drawer-close-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;display:flex}.drawer-close-btn:hover{background:var(--border-card-hover);color:var(--text-primary)}.drawer-content{flex-direction:column;gap:22px;padding:24px;display:flex}.inspector-block{flex-direction:column;gap:12px;display:flex}.inspector-block-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.75rem;font-weight:700}.inspector-field-group{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.inspector-row{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.inspector-label{color:var(--text-secondary)}.inspector-value{color:var(--text-primary);text-align:right;font-weight:600}.audit-timeline{flex-direction:column;gap:14px;padding-left:20px;display:flex;position:relative}.audit-timeline:before{content:"";background:var(--border-card-hover);width:2px;position:absolute;top:8px;bottom:8px;left:6px}.audit-timeline-item{flex-direction:column;gap:2px;display:flex;position:relative}.audit-dot{border:2px solid var(--bg-card);background:#38bdf8;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-20px}.audit-dot.green{background:#10b981}.audit-dot.blue{background:#38bdf8}.audit-dot.purple{background:#a855f7}.audit-item-header{justify-content:space-between;align-items:center;display:flex}.audit-item-title{color:var(--text-primary);font-size:.825rem;font-weight:600}.audit-item-date{color:var(--text-muted);font-size:.725rem}.audit-item-desc{color:var(--text-secondary);font-size:.75rem}.inspector-actions-bar{border-top:1px solid var(--border-subtle);gap:10px;margin-top:auto;padding-top:16px;display:flex}.table-container-card{background:var(--bg-card);border:1px solid var(--border-card);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.table-filter-bar{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.filter-pills-row{flex-wrap:wrap;gap:8px;display:flex}.filter-pill-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:20px;padding:6px 12px;font-size:.775rem;font-weight:600}.filter-pill-btn:hover{background:var(--border-card-hover);color:var(--text-primary)}.filter-pill-btn.active{color:var(--text-accent);background:#38bdf826;border-color:#38bdf866}.modern-table{border-collapse:collapse;text-align:left;width:100%}.modern-table th{background:var(--bg-table-header);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);padding:12px 18px;font-size:.75rem;font-weight:700}.modern-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);padding:14px 18px;font-size:.85rem}.modern-table tbody tr{transition:all var(--transition-fast);cursor:pointer}.modern-table tbody tr:hover{background:var(--bg-card-hover)}.table-unit-col{font-family:var(--font-mono);color:var(--text-primary);font-weight:700}.modal-backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:60;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--bg-card);border:1px solid var(--border-card);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;width:100%;max-height:90vh;animation:.22s cubic-bezier(.16,1,.3,1) scaleUp;display:flex;overflow:hidden}.modal-size-sm{max-width:420px}.modal-size-md{max-width:540px}.modal-size-lg{max-width:720px}.modal-size-xl{max-width:900px}.modal-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-modal-header);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header-left{align-items:center;gap:12px;display:flex}.modal-header-icon{width:38px;height:38px;color:var(--text-accent);background:#38bdf81f;border-radius:10px;justify-content:center;align-items:center;display:flex}.modal-title{font-family:var(--font-heading);color:var(--text-primary);font-size:1.15rem;font-weight:700}.modal-subtitle{color:var(--text-secondary);font-size:.8rem}.modal-close-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;display:flex}.modal-close-btn:hover{background:var(--border-card-hover);color:var(--text-primary)}.modal-body{flex-direction:column;gap:18px;padding:24px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-modal-header);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.form-input,.form-textarea{background:var(--bg-input);border:1px solid var(--border-input);width:100%;color:var(--text-primary);transition:all var(--transition-fast);border-radius:8px;outline:none;padding:8px 12px;font-size:.875rem}.form-input:focus,.form-textarea:focus{border-color:#38bdf880;box-shadow:0 0 0 3px #38bdf81f}.form-hint{color:var(--text-muted);font-size:.725rem}.form-error{color:#f87171;font-size:.75rem}.form-row-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.guardrail-alert{color:#fca5a5;background:#ef44441a;border:1px solid #ef444459;border-radius:10px;gap:12px;padding:14px 16px;font-size:.85rem;display:flex}.guardrail-alert-icon{color:#ef4444;flex-shrink:0;margin-top:2px}.guardrail-alert-title{color:#fee2e2;margin-bottom:3px;font-weight:700}.chips-toggle-group{flex-wrap:wrap;gap:8px;display:flex}.chip-toggle-item{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;padding:6px 14px;font-size:.8rem}.chip-toggle-item.selected{border-color:var(--emerald-500);color:var(--emerald-400);background:#10b98126;font-weight:600}.status-badge{border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge-xs{padding:2px 6px;font-size:.7rem}.badge-owner{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.badge-tenant{color:#0284c7;background:#38bdf826;border:1px solid #38bdf84d}.badge-vacant{color:#9333ea;background:#c084fc26;border:1px solid #c084fc4d}.badge-renovation{color:#d97706;background:#fbbf2426;border:1px solid #fbbf244d}.badge-active{color:#059669;background:#10b98126;border:1px solid #10b9814d}.badge-maintenance{color:#d97706;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-inactive{color:#64748b;background:#94a3b826;border:1px solid #94a3b84d}.status-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.vacant-dot{background-color:#9333ea}.active-dot{background-color:#10b981}.inactive-dot{background-color:#94a3b8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideLeft{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
