body{margin:0;background:#fcfcfb;color:#0b0b0b;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.viz-root{max-width:1120px;margin:0 auto;padding:20px}
.head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}
h1{font-size:22px;margin:0}h3{font-size:15px;margin:28px 0 8px}h4{font-size:13px;margin:0 0 6px;color:#52514e}
.status,.muted{color:#52514e;font-size:13px}
.controls{display:flex;gap:12px;align-items:center;margin:14px 0;font-size:13px;color:#52514e}.controls label{margin-right:10px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0 16px}
.tile{border:1px solid #e5e4df;border-radius:8px;padding:12px 14px}.tl{font-size:13px;color:#52514e}.tv{font-size:28px;font-weight:600;margin:2px 0}.ts{font-size:12px;color:#6f6e69}
.two{display:grid;grid-template-columns:1fr;gap:20px}
.warn{background:#fff4e0;border:1px solid #eda100;border-radius:6px;padding:8px 12px;margin:6px 0;font-size:13px}
.login{max-width:300px;margin:18vh auto;display:flex;flex-direction:column;gap:10px;padding:0 20px}.login input,.login button{padding:9px;font-size:14px}.err{color:#b3261e;font-size:13px}
@media (prefers-color-scheme:dark){body{background:#fcfcfb}}
