.monitor-viewbar{height:var(--header-height,40px);display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:#fff;border-bottom:1px solid var(--line)}
.monitor-viewbar .segmented{width:auto;margin:0;display:inline-flex;flex-shrink:0;gap:3px}.monitor-viewbar .segmented button{padding:5px 12px;font-size:var(--font-l5,11px);white-space:nowrap;flex:0 0 auto}.monitor-operations{display:flex;flex:1;min-height:0;flex-direction:column}.monitor-operations.hidden,.monitor-dashboard.hidden{display:none}.monitor-dashboard{flex:1;min-height:0;overflow:auto;padding:14px;background:#f3f5f8}
.dashboard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dashboard-head h2{margin:0;font-size:var(--font-l1,15px);font-weight:700}.dashboard-head p{margin:2px 0 0;color:var(--muted);font-size:var(--font-l5,11px)}.dashboard-live{display:flex;align-items:center;gap:5px;border:1px solid #cce6d9;border-radius:12px;padding:3px 9px;background:#f3fbf7;color:#24704e;font-size:11px;font-weight:700}.dashboard-live i{width:6px;height:6px;border-radius:50%;background:#28a36b;box-shadow:0 0 0 3px rgba(40,163,107,.12)}
.dashboard-kpis{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-bottom:10px}.dashboard-kpi{padding:10px 12px;border:1px solid #dce2ea;border-radius:var(--radius-md,7px);background:#fff;box-shadow:var(--shadow)}.dashboard-kpi>span{display:block;color:#66768a;font-size:var(--font-l5,11px);font-weight:700}.dashboard-kpi strong{display:block;margin:5px 0 2px;color:#192b40;font-size:19px;line-height:1;font-weight:800}.dashboard-kpi strong small{margin-left:3px;color:#7d8a99;font-size:11px;font-weight:500}.dashboard-kpi em{color:#8a96a5;font-size:10px;font-style:normal}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:10px}.dashboard-card{border:1px solid #dce2ea;border-radius:var(--radius-md,7px);background:#fff;box-shadow:var(--shadow);padding:12px}.dashboard-card header{display:flex;align-items:flex-start;justify-content:space-between}.dashboard-card header b,.dashboard-card header span{display:block}.dashboard-card header b{font-size:var(--font-l3,12px);font-weight:700}.dashboard-card header span{margin-top:2px;color:var(--muted);font-size:var(--font-l5,11px)}.dashboard-trend header>strong{font-size:15px;color:#2269aa;font-weight:700}.dashboard-trend svg{width:100%;height:120px;margin-top:6px;overflow:visible}.trend-line{fill:none;stroke:#2474ba;stroke-width:1.35;vector-effect:non-scaling-stroke}.trend-fill{fill:url(#dashboardArea);stroke:none}.dashboard-trend footer{display:flex;justify-content:space-between;color:#8b97a6;font-size:10px}
.dashboard-summary{display:flex;flex-direction:column}.dashboard-status-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid #edf0f4;color:#607086;font-size:var(--font-l5,11px)}.dashboard-status-row:last-child{border-bottom:0}.dashboard-status-row b{font-size:12px;color:#25384e;font-weight:600}.dashboard-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:12px 0 6px}.dashboard-section-head b,.dashboard-section-head span{display:block}.dashboard-section-head b{font-size:var(--font-l2,13px);font-weight:700}.dashboard-section-head div span,.dashboard-section-head>span{margin-top:2px;color:var(--muted);font-size:var(--font-l5,11px)}
.dashboard-floors{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px}.floor-card{border:1px solid #dce2ea;border-radius:var(--radius-md,7px);background:#fff;padding:10px;box-shadow:var(--shadow)}.floor-card header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.floor-card header span,.floor-card header b{display:block}.floor-card header span{color:#7a8797;font-size:10px}.floor-card header b{margin-top:2px;font-size:var(--font-l3,12px);font-weight:700}.floor-card header em{border-radius:10px;padding:2px 6px;background:#edf6ff;color:#2468a9;font-size:10px;font-style:normal;font-weight:600}.floor-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.floor-card-grid span{display:flex;justify-content:space-between;border-radius:4px;padding:6px;background:#f6f7f9;color:#66768a;font-size:11px}.floor-card-grid b{color:#24384e;font-weight:600}.dashboard-empty{grid-column:1/-1;border:1px dashed #cbd3dd;border-radius:var(--radius-md,7px);padding:20px;text-align:center;color:var(--muted);font-size:var(--font-l5,11px)}
.dashboard-config-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dashboard-config-list label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--radius-sm,5px);padding:6px 8px;background:#fafbfd;font-size:var(--font-l5,11px)}.dashboard-config-list input{width:auto}.dashboard-config-list.floors{max-height:180px;overflow:auto}.dashboard-config-list label span b,.dashboard-config-list label span small{display:block}.dashboard-config-list label span small{margin-top:1px;color:var(--muted);font-size:10px}
:root{--blue:#1267e8;--ink:#172236}.brand-mark{background:linear-gradient(145deg,#0d72f6,#084aab);box-shadow:none}.panel,.section-card,.scenario-stage{box-shadow:var(--shadow)}.btn,.tool,.segmented,.library-card,.scene-btn,.monitor-device-card{border-radius:var(--radius-sm,5px)}.zone-box{background:rgba(0,180,255,.14);border-color:rgba(0,180,255,.7)}
.app-loading{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#f4f7fb;color:#18283a;transition:opacity .18s ease}.app-loading.hidden{display:none}.app-loading-card{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:290px;padding:28px 34px;border:1px solid #dce4ee;border-radius:14px;background:#fff;box-shadow:0 12px 36px rgba(24,40,58,.1);text-align:center}.app-loading-card strong{font-size:1rem}.app-loading-card>span:last-child{color:#6d7d90;font-size:.75rem}.app-loading-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#1769aa;color:#fff;font-size:1.25rem;font-weight:800}
@media(max-width:1180px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.dashboard-floors{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.monitor-viewbar{position:sticky;top:0;z-index:9}.monitor-dashboard{overflow:visible}.dashboard-kpis,.dashboard-floors{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.dashboard-trend svg{height:110px}}
@media(max-width:520px){.dashboard-kpis,.dashboard-floors{grid-template-columns:1fr}.dashboard-head{align-items:flex-start;gap:12px}.dashboard-live{white-space:nowrap}}
.monitor-viewbar{height:44px;padding:5px 12px}.monitor-viewbar .segmented button{padding:5px 12px;font-size:var(--font-l5,11px);white-space:nowrap;flex:0 0 auto}
.automation-strip-grid{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-bottom:1px solid var(--line)}
.automation-strip-grid .mode-strip-wrap,.automation-strip-grid .scenario-strip-wrap,.scenario-strip-wrap{min-width:0;padding:8px 14px;border-bottom:0;background:#fff;display:flex;flex-direction:column;box-sizing:border-box}
.automation-strip-grid .mode-strip-wrap{border-right:1px solid var(--line)}
.automation-strip-grid .mode-strip-head{display:flex;align-items:center;justify-content:space-between;height:32px;min-height:32px;margin-bottom:6px;box-sizing:border-box}
.automation-strip-grid .mode-strip-head>div{display:flex;flex-direction:column;justify-content:center;gap:1px}
.automation-strip-grid .mode-strip-head .eyebrow{font-size:10px;font-weight:700;letter-spacing:0.5px;color:#1267e8;text-transform:uppercase;line-height:1.1;margin:0}
.automation-strip-grid .scenario-strip-wrap .eyebrow{color:#7c3aed}
.automation-strip-grid .mode-strip-head h2{font-size:var(--font-l2,13px);font-weight:700;margin:0;line-height:1.2;color:#1e293b}
.automation-strip-grid .mode-strip-head>span{font-size:var(--font-l5,11px);color:var(--muted,#64748b);line-height:1.2;margin:0;white-space:nowrap}
.automation-strip-grid .mode-strip{display:flex;align-items:center;gap:6px;height:38px;min-height:38px;overflow-x:auto;overflow-y:hidden;box-sizing:border-box}
.automation-strip-grid .mode-empty,.automation-strip-grid .mode-empty.compact,.mode-empty,.mode-empty.compact{display:inline-flex;align-items:center;gap:8px;height:32px;min-height:32px;padding:0 10px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:var(--radius-sm,5px);box-sizing:border-box;margin:0}
.automation-strip-grid .mode-empty b,.automation-strip-grid .mode-empty.compact b,.mode-empty b,.mode-empty.compact b{font-size:var(--font-l3,12px);font-weight:700;color:#1e293b;line-height:1;white-space:nowrap;margin:0}
.automation-strip-grid .mode-empty span,.automation-strip-grid .mode-empty.compact span,.mode-empty span,.mode-empty.compact span{font-size:var(--font-l5,11px);font-weight:400;color:var(--muted,#64748b);line-height:1;white-space:nowrap;margin:0}
.automation-strip-grid .scene-btn,.automation-strip-grid .scenario-monitor-btn{display:grid;grid-template-columns:26px auto;gap:6px;align-items:center;min-width:120px;height:36px;border:1px solid var(--line,#dce4ee);border-radius:var(--radius-sm,5px);padding:4px 8px;background:#fff;text-align:left;cursor:pointer;box-sizing:border-box}
.automation-strip-grid .scene-btn .scene-icon,.automation-strip-grid .scenario-monitor-btn .scene-icon{grid-row:1/3;width:26px;height:26px;border-radius:4px;background:#eff6ff;color:var(--blue,#1267e8);display:grid;place-items:center;font-size:12px}
.automation-strip-grid .scenario-monitor-btn .scene-icon{background:#f3e8ff!important;color:#7c3aed!important}
.automation-strip-grid .scene-btn b,.automation-strip-grid .scenario-monitor-btn b{font-size:var(--font-l3,12px);font-weight:600;color:#1e293b;line-height:1.2}
.automation-strip-grid .scene-btn small,.automation-strip-grid .scenario-monitor-btn small{font-size:var(--font-l5,11px);color:var(--muted,#64748b);line-height:1.2;white-space:nowrap}
.automation-strip-grid .scenario-monitor-btn{border-color:#ddd5ef!important}
.automation-strip-grid .scenario-monitor-btn:hover{border-color:#9a82c9!important}
.automation-strip-grid .scenario-monitor-btn.disabled{opacity:.5;cursor:not-allowed}
.monitor-map-wrap{padding:10px 12px}.map-toolbar{margin-bottom:6px}.zone-filter{margin:-1px 0 6px}.monitor-side{padding:16px 13px}.summary-grid{margin:13px 0}.mini-title{margin:15px 4px 7px}
@media(max-width:900px){.automation-strip-grid{grid-template-columns:1fr}.automation-strip-grid .mode-strip-wrap{border-right:0;border-bottom:1px solid var(--line)}}
