:root{--bg:#161616;--panel:#1e1e1e;--card:#262626;--card-hover:#2c2c2c;--border:#3a3a3a;--text:#f2f2f2;--muted:#a3a3a3;--faint:#6f6f6f;--accent:#3b82f6;--accent-bg:#15202f;--accent-border:#1e3a5f;--ok:#34d399;--warn:#fbbf24;--crit:#f87171;--info:#60a5fa;--series-1:#60a5fa;--series-2:#6b7280;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit}.app{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--panel);border-right:1px solid var(--border);height:100vh;padding:20px 12px;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:4px 10px 20px;display:flex}.brand-mark{color:var(--accent)}.brand-name{font-size:16px;font-weight:650}.brand-sub{color:var(--muted);font-size:12px}.nav{flex-direction:column;gap:2px;display:flex}.nav button{text-align:left;color:var(--muted);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;display:flex}.nav button:hover{background:var(--card);color:var(--text)}.nav button.active{background:var(--accent-bg);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent-border)}.nav .badge{margin-left:auto}.main{width:100%;max-width:1280px;padding:32px 40px 56px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}h1{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:650}h2{margin:0 0 14px;font-size:16px;font-weight:600}.sub{color:var(--muted);margin-top:6px;font-size:14px}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px}.grid{gap:16px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{flex-direction:column;gap:16px;display:flex}.row{align-items:center;gap:10px;display:flex}.spread{justify-content:space-between;align-items:center;gap:10px;display:flex}@media (width<=1000px){.app{grid-template-columns:1fr}.sidebar{height:auto;position:static}.g2,.g3,.g4{grid-template-columns:1fr}}.flow{background:var(--panel);border-radius:18px;flex-direction:column;gap:0;padding:24px;display:flex}.flow-box{border:1px solid var(--border);background:var(--card);text-align:center;border-radius:14px;padding:22px}.flow-box .title{margin-top:8px;font-size:18px;font-weight:600}.flow-box .chips{color:var(--muted);margin-top:8px;font-size:15px}.flow-box.ai{background:var(--accent-bg);border-color:var(--accent-border)}.flow-box.ai .title{align-items:center;gap:10px;margin-top:0;display:inline-flex}.flow-arrow{color:var(--muted);justify-content:center;padding:10px 0;display:flex}.modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.module{border:1px solid var(--border);background:var(--card);text-align:center;border-radius:14px;padding:20px;transition:background .15s,border-color .15s;position:relative}.module:hover{background:var(--card-hover);border-color:#4a4a4a}.module .name{margin-top:8px;font-size:16px;font-weight:500}.module .headline{margin-top:10px;font-size:20px;font-weight:650}.module .detail{color:var(--muted);margin-top:4px;font-size:13px}.module .dot{position:absolute;top:14px;right:14px}@media (width<=1000px){.modules{grid-template-columns:1fr}}.stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.stat .label{color:var(--muted);font-size:13px}.stat .value{font-variant-numeric:tabular-nums;margin-top:6px;font-size:24px;font-weight:650}.stat .delta{margin-top:4px;font-size:13px}.up{color:var(--ok)}.down{color:var(--crit)}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot.ok{background:var(--ok)}.dot.warning{background:var(--warn)}.dot.critical{background:var(--crit)}.badge{color:var(--muted);letter-spacing:.02em;white-space:nowrap;background:#333;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.badge.CRITICAL,.badge.OUT,.badge.DOWN,.badge.UNDERSTAFFED{color:var(--crit);background:#3b1d1d}.badge.WARNING,.badge.LOW,.badge.DEGRADED,.badge.SLOW{color:var(--warn);background:#3a2e12}.badge.INFO,.badge.BUSY,.badge.OVERSTAFFED{color:var(--info);background:#172a42}.badge.OK,.badge.UP{color:var(--ok);background:#12302a}.alert{border-top:1px solid var(--border);gap:12px;padding:14px 0;display:flex}.alert:first-child{border-top:0;padding-top:0}.alert .body{flex:1;min-width:0}.alert .title{font-size:14px;font-weight:600}.alert .msg{color:var(--muted);margin-top:3px;font-size:13.5px;line-height:1.45}.alert .meta{color:var(--faint);margin-top:6px;font-size:12px}.alert.acked{opacity:.5}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-weight:500}td{font-variant-numeric:tabular-nums;border-bottom:1px solid #2b2b2b;padding:9px 10px}td.num,th.num{text-align:right}tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.btn{background:var(--card);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.btn:hover{background:var(--card-hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.1)}.btn:disabled{opacity:.5;cursor:default}.chip{background:var(--card);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:13px}.chip:hover{color:var(--text);border-color:#555}.input{background:var(--card);border:1px solid var(--border);border-radius:10px;outline:none;width:100%;padding:12px 14px}.input:focus{border-color:var(--accent)}.answer{white-space:pre-wrap;font-size:14.5px;line-height:1.6}.finding{border-top:1px solid #2b2b2b;gap:10px;padding:8px 0;font-size:13.5px;display:flex}.finding:first-child{border-top:0}.heatmap{gap:3px;font-size:11px;display:grid}.heatmap .cell{font-variant-numeric:tabular-nums;border-radius:4px;justify-content:center;align-items:center;height:30px;display:flex}.heatmap .cell.under{box-shadow:inset 0 0 0 2px var(--crit)}.heatmap .hlabel{color:var(--faint);text-align:center}.heatmap .dlabel{color:var(--muted);align-items:center;display:flex}.bar{background:#333;border-radius:3px;height:6px;overflow:hidden}.bar>span{border-radius:3px;height:100%;display:block}.empty,.loading,.error{color:var(--muted);text-align:center;padding:40px 0}.error{color:var(--crit)}
