:root{--font-family:Roboto, system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:15px;--font-label:12px;--font-title:24px;--primary:#1a5fb4;--primary-strong:#154c91;--primary-tint:#e8f0fb;--ink:#14213d;--muted:#4f5d73;--line:#dce3ec;--surface:#fff;--background:#f5f7fa;--good:#1e6b3f;--good-tint:#e5f3ea;--warn:#8a4209;--warn-tint:#fdf0e3;--critical:#a8352a;--critical-tint:#fbe9e6;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--touch-target:44px}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-body);color:var(--ink);background:var(--background);margin:0;line-height:1.45}a{color:var(--primary)}a:hover{color:var(--primary-strong)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.button{min-height:var(--touch-target);border-radius:var(--radius-sm);background:var(--primary);color:#fff;font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;padding:0 20px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--primary-strong);color:#fff}.button:disabled{opacity:.6;cursor:not-allowed}label{font-size:var(--font-label);color:var(--muted);margin-bottom:4px;font-weight:700;display:block}input,select{width:100%;min-height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;padding:0 12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px}.card>h2{margin:0 0 8px;font-size:17px}.muted{color:var(--muted)}.badge{font-size:var(--font-label);background:var(--primary-tint);color:var(--primary-strong);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-weight:700;display:inline-flex}.badge.good{background:var(--good-tint);color:var(--good)}.badge.warn{background:var(--warn-tint);color:var(--warn)}.button.secondary{background:var(--surface);color:var(--primary);border:1px solid var(--line)}.button.secondary:hover{background:var(--primary-tint);color:var(--primary-strong)}.button.small{min-height:36px;padding:0 12px;font-size:14px}.alert{border-radius:var(--radius-sm);background:var(--warn-tint);color:var(--warn);margin:0;padding:12px}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);font:inherit;resize:vertical;padding:10px 12px}
