:root{--brand:#0f766e;--brand-strong:#134e4a;--brand-soft:#ddf5f1;--info:#0e7490;--info-soft:#e0f2f5;--ok:#116932;--ok-bar:#15803d;--ok-soft:#e3f4e8;--warn:#92400e;--warn-bar:#f59e0b;--warn-soft:#fbeedb;--critical:#be123c;--critical-bar:#e11d48;--critical-soft:#fde3e9;--ink:#12312f;--ink-2:#4a6360;--line-control:#6e8783;--bg:#f7fafa;--surface:#fff;--line:#dce7e6;--line-soft:#e8efee;--fs-display:30px;--lh-display:34px;--fs-title:22px;--lh-title:28px;--fs-heading:16px;--lh-heading:22px;--fs-body:14px;--lh-body:21px;--fs-dense:13.5px;--lh-dense:19px;--fs-label:12px;--lh-label:16px;--fs-micro:11px;--lh-micro:14px;--radius-card:12px;--radius-field:10px;--radius-chip:999px;--alvo:44px}@media (prefers-color-scheme:dark){:root{--brand:#2dd4bf;--brand-strong:#5eead4;--brand-soft:#0b3b37;--info:#38bdd8;--info-soft:#0b3b47;--ok:#4ade80;--ok-bar:#22c55e;--ok-soft:#103823;--warn:#fbbf24;--warn-bar:#f59e0b;--warn-soft:#3a2a0c;--critical:#fb7185;--critical-bar:#e11d48;--critical-soft:#3e1220;--ink:#e4efee;--ink-2:#93aaa7;--line-control:#7a918e;--bg:#0c1717;--surface:#122120;--line:#22403d;--line-soft:#1a302e}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:4px;width:224px;padding:20px 12px;display:flex}.logo{color:var(--brand-strong);padding:0 10px 14px;font-size:17px;font-weight:800}.logo small{color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:700;display:block}.nav-item{color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;font-weight:600;text-decoration:none;display:flex}.nav-item:hover{background:var(--bg);color:var(--ink)}.nav-item.active{background:var(--brand);color:#fff}.main{flex:1;max-width:1120px;padding:24px 28px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head h1{margin:0;font-size:21px;font-weight:800}.household-select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:7px 10px;font-size:13px;font-weight:700}.grid{gap:12px;display:grid}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:14px 16px}.stat-num{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.stat-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;font-weight:700}.section-title{margin:22px 0 10px;font-size:15px;font-weight:800}table.data{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);width:100%;overflow:hidden}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);border-bottom:1px solid var(--line);background:var(--bg);padding:10px 14px;font-size:11px}table.data td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px;font-size:13.5px}table.data tr:last-child td{border-bottom:none}.table-wrap{overflow-x:auto}.num{font-variant-numeric:tabular-nums}.chip{border-radius:var(--radius-chip);text-transform:uppercase;letter-spacing:.04em;padding:2px 10px;font-size:11px;font-weight:800;display:inline-block}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.critical{background:var(--critical-soft);color:var(--critical)}.chip.info{background:var(--info-soft);color:var(--info)}.chip.brand{background:var(--brand-soft);color:var(--brand-strong)}.chip.neutral{background:var(--line-soft);color:var(--ink-2)}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:inline-flex}.person{align-items:center;gap:9px;display:flex}.person small{color:var(--ink-2);display:block}.btn{cursor:pointer;border:none;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:800}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-strong)}.btn.ghost{border:1px solid var(--line);color:var(--ink);background:0 0}.btn:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}.demo-bar{color:#fff;z-index:50;background:#12312fee;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;display:flex;position:fixed;bottom:18px;right:18px}.demo-bar .tag{color:#fbbf24;letter-spacing:.1em;font-size:10px;font-weight:900}.demo-bar .clock{font-variant-numeric:tabular-nums;font-weight:800}.demo-bar button{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:5px 10px;font-size:11.5px;font-weight:800}.login{background:var(--bg);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{flex-direction:column;gap:12px;width:100%;max-width:380px;display:flex}.login-card input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:11px 12px;font-size:14px}.login-brand{text-align:center;margin-bottom:6px}.login-brand .mark{font-size:34px}.login-brand h1{margin:4px 0 2px;font-size:22px}.login-brand p{color:var(--ink-2);margin:0;font-size:13px}.hint{color:var(--ink-2);text-align:center;font-size:11.5px}
