:root{color-scheme:dark light;--bg: #0f1420;--panel: #171d2b;--panel2: #1e2536;--line: #2a3348;--text: #e6ebf5;--muted: #8b98b3;--accent: #4c8dff;--accent-hover: #6ba0ff;--on-accent: #ffffff;--ok: #34c77b;--warn: #f0a13a;--bad: #ff6b71;--chip: #232c40;--sim-dot: #f0a13a;--tint-ok: rgba(52, 199, 123, .15);--tint-warn: rgba(240, 161, 58, .15);--tint-bad: rgba(255, 107, 113, .12);--tint-bad-line: rgba(255, 107, 113, .35)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f6f8fc;--panel: #ffffff;--panel2: #f1f4fa;--line: #d8dfec;--text: #131a26;--muted: #5b6981;--accent: #1d63d8;--accent-hover: #164ead;--on-accent: #ffffff;--ok: #0f6b42;--warn: #8a5300;--bad: #b81f26;--chip: #e9edf6;--sim-dot: #e08c1a;--tint-ok: rgba(15, 107, 66, .12);--tint-warn: rgba(138, 83, 0, .12);--tint-bad: rgba(184, 31, 38, .1);--tint-bad-line: rgba(184, 31, 38, .3)}}:root[data-theme=light]{color-scheme:light;--bg: #f6f8fc;--panel: #ffffff;--panel2: #f1f4fa;--line: #d8dfec;--text: #131a26;--muted: #5b6981;--accent: #1d63d8;--accent-hover: #164ead;--on-accent: #ffffff;--ok: #0f6b42;--warn: #8a5300;--bad: #b81f26;--chip: #e9edf6;--sim-dot: #e08c1a;--tint-ok: rgba(15, 107, 66, .12);--tint-warn: rgba(138, 83, 0, .12);--tint-bad: rgba(184, 31, 38, .1);--tint-bad-line: rgba(184, 31, 38, .3)}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{margin:0;font:14px/1.5 -apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}input,select,button{font:inherit}input,select{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 8px}button{background:var(--accent);color:var(--on-accent);border:0;border-radius:6px;padding:7px 14px;cursor:pointer}button:hover{background:var(--accent-hover)}.muted{color:var(--muted)}.mini{background:var(--chip);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer}.mini:hover{background:var(--chip);border-color:var(--accent);color:var(--accent)}.chip{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;background:var(--chip)}.chip.ok{background:var(--tint-ok);color:var(--ok)}.chip.warn{background:var(--tint-warn);color:var(--warn)}.chip.bad{background:var(--tint-bad);color:var(--bad)}.card{padding:24px;margin-bottom:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);min-width:0;overflow-wrap:anywhere}.card h2,.card h3{margin-top:0}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}.spread{justify-content:space-between}.secondary{background:var(--chip);color:var(--text);border:1px solid var(--line)}.secondary:hover{background:var(--panel2)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}fieldset{border:0;margin:0;padding:0;min-width:0}label{display:flex;flex-direction:column;gap:6px}input,select{max-width:100%;min-width:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px;margin-bottom:16px}.check{flex-direction:row;align-items:center;margin:16px 0}.check input{width:auto}.metrics{display:flex;flex-wrap:wrap;gap:18px 32px}.metrics dt{font-size:12px;color:var(--muted)}.metrics dd{margin:4px 0 0;font-variant-numeric:tabular-nums}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:10px 12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px;white-space:nowrap}small{display:block;color:var(--muted);font-size:12px}[role=alert]{color:var(--bad)}.resource-list{display:grid;gap:10px;margin-top:16px}.resource-row{text-align:left;background:var(--panel2);color:var(--text);border:1px solid var(--line)}.resource-row:hover{background:var(--chip);border-color:var(--accent)}@media (max-width:480px){.card{padding:16px}th,td{padding:8px}}.card h2,.card h3{position:relative}.card app-info-hint .wrap{position:static}.card app-info-hint .bubble{top:calc(100% + 6px);left:0;max-width:100%}
