.layout[data-v-2b820c9e]{display:grid;grid-template-columns:220px 1fr;min-height:100vh}aside[data-v-2b820c9e]{background:var(--panel);border-right:1px solid var(--line);padding:1rem .75rem;position:sticky;top:0;height:100vh;overflow:auto}.brand[data-v-2b820c9e]{display:flex;flex-direction:column;gap:.15rem;padding:0 .5rem 1rem}.brand span[data-v-2b820c9e]{font-size:.8rem}.brand-mark[data-v-2b820c9e]{display:flex;align-items:center;gap:.55rem;margin-bottom:.2rem}.brand-mark strong[data-v-2b820c9e]{font-size:1.15rem;letter-spacing:-.01em}nav[data-v-2b820c9e]{display:flex;flex-direction:column}.group[data-v-2b820c9e]{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:.9rem .5rem .3rem}nav a[data-v-2b820c9e]{color:var(--text);text-decoration:none;padding:.4rem .5rem;border-radius:6px}nav a[data-v-2b820c9e]:hover{background:var(--panel-2)}nav a.router-link-exact-active[data-v-2b820c9e]{background:var(--accent-soft);color:var(--accent);font-weight:600}main[data-v-2b820c9e]{padding:1.25rem 1.5rem 3rem;min-width:0}.license-banner[data-v-2b820c9e]{display:block;margin:-.25rem 0 1rem;padding:.6rem .9rem;border-radius:6px;text-decoration:none;color:var(--text)}.license-banner.bad[data-v-2b820c9e]{background:var(--bad-soft);border-left:4px solid var(--bad)}.license-banner.warn[data-v-2b820c9e]{background:var(--warn-soft);border-left:4px solid var(--warn)}.version[data-v-2b820c9e]{font-size:.75rem;margin:1.5rem .5rem 0}.user[data-v-2b820c9e]{margin:1.25rem .5rem 0;font-size:.85rem;display:flex;flex-direction:column;gap:.2rem;align-items:flex-start}.bare[data-v-2b820c9e]{padding:1.25rem 1.5rem 3rem}.update-hint[data-v-2b820c9e]{display:block;margin-top:.25rem;color:var(--accent)}.busy[data-v-2b820c9e]{margin:1rem .5rem;font-size:.85rem;color:var(--accent)}.toasts[data-v-2b820c9e]{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:50;max-width:420px}.toast[data-v-2b820c9e]{padding:.6rem .9rem;border-radius:6px;background:var(--panel);border:1px solid var(--line);box-shadow:0 4px 16px #0000001f}.toast.ok[data-v-2b820c9e]{border-left:4px solid var(--ok)}.toast.error[data-v-2b820c9e]{border-left:4px solid var(--bad)}.toast.info[data-v-2b820c9e]{border-left:4px solid var(--accent)}@media (max-width: 800px){.layout[data-v-2b820c9e]{grid-template-columns:1fr}aside[data-v-2b820c9e]{position:static;height:auto}nav[data-v-2b820c9e]{flex-direction:row;flex-wrap:wrap;gap:.25rem}.group[data-v-2b820c9e]{width:100%}}:root{--bg: #f4f6f8;--panel: #ffffff;--panel-2: #f8fafb;--line: #dde3e8;--text: #1d2730;--muted: #5e6b76;--accent: #1f6f8b;--accent-ink: #ffffff;--accent-soft: #e2f0f5;--ok: #2e7d4f;--ok-soft: #e3f3e9;--warn: #a06200;--warn-soft: #fdf0dc;--bad: #b3261e;--bad-soft: #fbe5e3;--radius: 8px;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--text);background:var(--bg)}@media (prefers-color-scheme: dark){:root{--bg: #12171c;--panel: #1a2128;--panel-2: #20282f;--line: #2e3842;--text: #e3e9ee;--muted: #93a1ad;--accent: #5fb3d0;--accent-ink: #0d1a20;--accent-soft: #1d3440;--ok: #6cc690;--ok-soft: #1c3326;--warn: #e6b05c;--warn-soft: #3a2e19;--bad: #f08a80;--bad-soft: #3d201d;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:1.4rem;margin:0 0 .25rem}h2{font-size:1.1rem;margin:1.5rem 0 .5rem}h3{font-size:1rem;margin:1rem 0 .4rem}p.lead{color:var(--muted);margin:0 0 1rem;max-width:70ch}a{color:var(--accent)}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.num{text-align:right;font-variant-numeric:tabular-nums}button,.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px;padding:.4rem .8rem;cursor:pointer;white-space:nowrap}button:hover:not(:disabled){border-color:var(--accent)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.danger{color:var(--bad)}button:disabled{opacity:.5;cursor:default}button.small{padding:.15rem .5rem;font-size:.85rem}input,select,textarea{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:.35rem .5rem;max-width:100%}input[type=checkbox]{width:auto}input[type=number]{width:6rem}label{display:inline-flex;gap:.35rem;align-items:center}.field{display:flex;flex-direction:column;gap:.2rem}.field>span{font-size:.8rem;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin-bottom:1rem}.toolbar .spacer{flex:1}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem}.kpi .v{font-size:1.6rem;font-weight:600;font-variant-numeric:tabular-nums}.kpi .l{color:var(--muted);font-size:.85rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);max-height:70vh}table{border-collapse:collapse;width:100%}th,td{padding:.35rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{position:sticky;top:0;background:var(--panel-2);font-weight:600;font-size:.85rem;z-index:1;cursor:default}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}tr:hover td{background:var(--panel-2)}.badge{display:inline-block;padding:.05rem .45rem;border-radius:999px;font-size:.78rem;background:var(--panel-2);border:1px solid var(--line)}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge.bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}.badge.info{background:var(--accent-soft);color:var(--accent);border-color:transparent}.diff-under{color:var(--warn);font-weight:600}.diff-over{color:var(--bad);font-weight:600}.diff-ok{color:var(--ok)}ul.warnings{margin:0;padding-left:1.2rem}ul.warnings li{margin:.2rem 0}.row{display:flex;gap:1rem;flex-wrap:wrap}.row>*{flex:1 1 320px;min-width:0}dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);max-width:min(720px,95vw)}dialog::backdrop{background:#00000059}.chips{display:flex;flex-wrap:wrap;gap:.3rem}
