:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color-scheme:light;--bg:#f1f4f8;--surface:#fff;--surface2:#f7f9fc;--fg:#243244;--muted:#718095;--line:#e3e8ef;--accent:#2874d8;--accent-light:#eaf3ff;--sidebar:#263545;--sidebar-active:#394e66;--shadow:0 4px 24px #1b2d4510;--danger:#d34850;--success:#17926e;--warning:#db8a19;--radius:13px}html[data-theme=dark]{color-scheme:dark;--bg:#161e29;--surface:#202c39;--surface2:#273544;--fg:#ecf3fb;--muted:#a7b6c5;--line:#3a4858;--accent:#69a8ff;--accent-light:#2b4260;--sidebar:#101924;--sidebar-active:#29435d;--shadow:0 4px 24px #0003}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-size:14px}button,input,select,textarea{font:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:not-allowed}.app{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;flex:0 0 246px;background:var(--sidebar);color:#eaf0f7;padding:22px 12px;display:flex;flex-direction:column;gap:19px;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:3px 11px 13px;font-weight:750;font-size:17px;letter-spacing:-.4px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:linear-gradient(140deg,#428af5,#2e547c);color:white;font-size:19px}.brand small{display:block;font-size:11px;font-weight:500;color:#aabdd1;letter-spacing:0}.nav{display:grid;gap:3px;overflow:auto}.nav-label{font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:#92a5bb;font-weight:700;padding:14px 12px 5px}.nav a{color:#cbd8e6;padding:11px 13px;border-radius:8px;display:flex;gap:11px;align-items:center;font-size:13px;text-decoration:none}.nav a:hover,.nav a.active{background:var(--sidebar-active);color:white}.nav svg,.icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.85;fill:none;stroke-linecap:round;stroke-linejoin:round}.sidebar-footer{margin-top:auto;padding:12px 13px;font-size:11px;color:#a1b2c4;border-top:1px solid #ffffff16}.main-wrap{flex:1;min-width:0}.topbar{height:74px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;gap:16px;position:sticky;top:0;z-index:10}.top-title{font-weight:700;font-size:19px;flex:1}.top-actions{display:flex;align-items:center;gap:9px}.icon-btn{height:36px;width:36px;display:inline-grid;place-items:center;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px}.icon-btn:hover{background:var(--accent-light);color:var(--accent)}.icon-btn svg{width:18px;height:18px}.select,.input,.textarea{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px;padding:10px 11px;min-width:0}.input:focus,.select:focus,.textarea:focus{outline:2px solid #4789e555;outline-offset:1px}.textarea{width:100%;min-height:100px;resize:vertical}.tenant-select{max-width:245px;min-width:165px}.demo-chip{display:inline-block;border-radius:99px;background:#e3f1ff;color:#225bb2;font-size:10px;letter-spacing:.4px;font-weight:800;padding:5px 9px}.badge-count{position:absolute;top:-5px;right:-5px;background:#e05056;color:white;font-size:10px;min-width:17px;height:17px;display:grid;place-items:center;border-radius:99px;padding:0 4px}.bell-wrap{position:relative}.page{max-width:1500px;padding:28px 32px 65px;margin:auto}.page-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px;flex-wrap:wrap}.page-head h1{font-size:28px;margin:0 0 7px;letter-spacing:-.7px}.muted{color:var(--muted)}.page-head p{margin:0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:8px;padding:10px 15px;font-size:13px;font-weight:650;text-decoration:none;min-height:36px}.btn:hover{filter:brightness(1.07);text-decoration:none}.btn.secondary{background:var(--surface);color:var(--fg);border-color:var(--line)}.btn.danger{background:var(--danger);border-color:var(--danger)}.btn.small{padding:7px 10px;font-size:12px;min-height:31px}.btn svg{width:16px;height:16px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grow{flex:1}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:27px}.kpi{border-radius:13px;padding:19px;min-height:136px;background:linear-gradient(130deg,#367ed6,#2462b4);color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi:nth-child(4n+2){background:linear-gradient(130deg,#436c9e,#2c4c78)}.kpi:nth-child(4n+3){background:linear-gradient(130deg,#2f8bc3,#2e679b)}.kpi:nth-child(4n+4){background:linear-gradient(130deg,#e6ae48,#d79221)}.kpi .label{font-size:13px;opacity:.95;margin:0 0 13px}.kpi strong{font-size:24px;letter-spacing:-.5px}.kpi small{display:block;margin-top:9px;opacity:.8}.kpi .kpi-symbol{position:absolute;right:15px;top:16px;opacity:.42}.kpi .kpi-symbol svg{height:26px;width:26px}.section-caption{font-size:18px;font-weight:750;letter-spacing:-.35px;margin:27px 0 16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);min-width:0}.panel h2,.panel h3{margin:0 0 16px;font-size:16px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.panel-header h2{margin:0}.data-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}.data-table{border-collapse:collapse;width:100%;min-width:640px;font-size:12px}.data-table th{background:var(--surface2);color:var(--muted);font-weight:700;font-size:11px;text-align:left;white-space:nowrap;padding:10px 11px;border-bottom:1px solid var(--line)}.data-table td{padding:12px 11px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--surface2)}.thinner{min-width:0}.table-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.table-tools .input{flex:1;min-width:170px}.table-tools .select{max-width:220px}.th-flex{display:inline-flex;gap:5px;align-items:center}.th-action{width:21px;height:22px;background:transparent;border-radius:4px;color:var(--muted);position:relative;display:inline-grid;place-items:center;padding:0}.th-action svg{width:14px;height:14px}.th-action:not(.applied){opacity:.3}.data-table th:hover .th-action{opacity:1}.th-action.applied{opacity:1;background:var(--accent);color:#fff}.sort-rank{font-size:8px;position:absolute;right:0;top:-5px;background:#fcd77c;color:#283b57;border-radius:8px;min-width:11px;line-height:11px}.pill{display:inline-block;padding:4px 9px;background:var(--surface2);border:1px solid var(--line);border-radius:99px;font-size:11px;font-weight:650;white-space:nowrap}.pill.ok{background:#e3f6ee;color:#187f5b;border-color:#bcebd5}.pill.bad{background:#fff0f0;color:#c34d54;border-color:#f2cece}.pill.warn{background:#fff5dd;color:#a56d1d;border-color:#f6e2af}.pill.info{background:#e8f3ff;color:#2862b4;border-color:#cde3ff}html[data-theme=dark] .pill.ok{background:#1b4339;color:#9deacb;border-color:#31685b}html[data-theme=dark] .pill.bad{background:#512b35;color:#ffa8b0;border-color:#7f4148}html[data-theme=dark] .pill.warn{background:#513f2a;color:#f7cc82;border-color:#735b39}html[data-theme=dark] .pill.info{background:#294365;color:#a3d1ff;border-color:#3c5c80}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.property-card{border:1px solid var(--line);border-radius:13px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}.property-visual{height:106px;background:linear-gradient(135deg,#30485f,#5b8cb9);position:relative;display:flex;align-items:center;justify-content:center;color:#d7e8fa}.property-visual svg{width:60px;height:60px;opacity:.45}.property-visual .label{position:absolute;left:14px;bottom:12px;font-size:12px;font-weight:700;color:white}.property-content{padding:18px}.property-content h3{font-size:17px;margin:0 0 8px}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.property-grid span{font-size:11px;color:var(--muted);display:block;margin-bottom:3px}.property-grid strong{font-size:13px}.chart{width:100%;height:170px}.chart-bar{fill:#4a95e8}.chart-grid{stroke:var(--line);stroke-width:1}.chart-label{fill:var(--muted);font-size:10px}.chart-line{stroke:#3f8ce0;stroke-width:2.8;fill:none}.chart-area{fill:#4c96e52a}.empty{padding:28px;text-align:center;color:var(--muted)}.inline-list{display:grid;gap:10px}.list-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center}.list-row:last-child{border-bottom:0}.list-row strong{font-size:13px}.list-row small{display:block;color:var(--muted);margin-top:4px}.tag{font-size:11px;color:var(--accent);background:var(--accent-light);padding:4px 8px;border-radius:6px}.section-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.filter-dialog{position:fixed;z-index:40;top:0;left:0;right:0;bottom:0;background:#101d2b96;display:grid;place-items:center;padding:20px}.dialog{width:min(530px,100%);background:var(--surface);color:var(--fg);border-radius:16px;padding:25px;box-shadow:0 35px 90px #0005;max-height:90vh;overflow:auto}.dialog h2{margin:0 0 17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:700}.field.span{grid-column:1/-1}.field input,.field select,.field textarea{width:100%}.toast-container{position:fixed;right:20px;bottom:18px;z-index:70;display:grid;gap:8px}.toast{background:#273f55;color:white;padding:13px 16px;border-radius:9px;max-width:370px;box-shadow:0 8px 30px #0003}.footer-note{font-size:12px;color:var(--muted);margin-top:22px}.demo-panel{border:1px dashed #8ea8c5;background:var(--accent-light);border-radius:9px;padding:12px;margin:12px 0}.demo-panel p{margin:0 0 10px}.dragging{opacity:.45}.drop-target{outline:2px dashed var(--accent)}.drag-handle{font-size:14px;color:#ffffffb3;background:#ffffff26;float:right;border-radius:5px;padding:2px 5px;cursor:grab}.group-tab{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 17px}.group-tab button{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:7px;padding:9px 13px}.group-tab button.active{color:white;background:var(--accent);border-color:var(--accent)}.notification-item{display:flex;align-items:start;gap:13px;padding:17px;border-bottom:1px solid var(--line)}.notification-item.unread{background:var(--accent-light)}.notification-item h3{margin:0 0 6px;font-size:14px}.notification-item p{margin:0;color:var(--muted);line-height:1.5}.message{border-left:3px solid var(--accent);background:var(--surface2);padding:12px;margin:9px 0;border-radius:0 7px 7px 0}.message small{color:var(--muted)}.top-profile{font-size:12px;font-weight:650;white-space:nowrap}.mobile-nav{display:none}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top left,#315177,#182735 56%,#101922)}.login-box{width:min(420px,100%);background:#fff;color:#203249;padding:37px;border-radius:20px;box-shadow:0 25px 60px #0005}.login-box .brand{color:#253c52;padding:0;margin-bottom:26px}.login-box h1{font-size:24px;margin:0 0 8px}.login-box p{color:#6a7a8b}.login-box .field{margin:16px 0}.login-box input{background:white;color:#223246;border:1px solid #d7e1ea;padding:11px;border-radius:8px}.login-box .btn{width:100%}.login-box .demo-chip{margin-bottom:14px}.login-footer{font-size:12px;text-align:center;color:#76879b;margin-top:20px}.detail-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-rows dt{font-size:11px;color:var(--muted);margin-bottom:4px}.detail-rows dd{margin:0;font-size:14px;font-weight:600}.check-row{display:flex;gap:10px;align-items:center}.chart-bars{display:flex;height:175px;gap:11px;align-items:end;padding:20px 6px 0}.chart-bars .bar-col{flex:1;text-align:center;display:flex;flex-direction:column;justify-content:end;gap:7px;height:100%}.chart-bars .bar{background:linear-gradient(180deg,#6ca5f3,#326cbe);border-radius:4px 4px 0 0;min-height:2px}.chart-bars span{font-size:10px;color:var(--muted)}.highlight{border-left:4px solid var(--accent);padding:9px 12px;background:var(--accent-light);border-radius:6px}.mobile-only{display:none}@media(max-width:1200px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.page{padding:24px}}@media(max-width:850px){.sidebar{position:fixed;transform:translateX(-105%);transition:transform .2s;width:255px;box-shadow:20px 0 70px #0004}.sidebar.open{transform:translateX(0)}.mobile-nav{display:inline-grid}.topbar{padding:0 15px}.top-title{font-size:16px}.tenant-select{max-width:155px;min-width:100px}.demo-chip{display:none}.page{padding:19px 15px 50px}.section-2col,.grid.two,.grid.three{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:530px){.kpis,.cards{grid-template-columns:1fr}.topbar{height:65px;gap:8px}.top-profile{display:none}.tenant-select{max-width:115px}.page-head h1{font-size:23px}.panel{padding:15px}.form-grid,.detail-rows{grid-template-columns:1fr}.kpi{min-height:125px}.table-tools .input{width:100%}.mobile-only{display:block}}
