:root { --ink:#1A1A19; --muted:#6b7280; --line:#e5e7eb; --accent:#1f3a5f; --bg:#f7f8fa; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color:var(--ink); background:var(--bg); }
.hidden { display:none; }
.screen { display:none; min-height:100vh; align-items:center; justify-content:center; }
.screen.active { display:flex; }
.card { background:#fff; padding:32px; border-radius:12px; box-shadow:0 1px 4px rgba(0,0,0,.08); width:320px; }
.card h1 { font-size:20px; margin:0 0 16px; }
input, textarea, select { width:100%; padding:10px; border:1px solid var(--line); border-radius:8px; margin:6px 0; font:inherit; }
button { background:var(--accent); color:#fff; border:0; padding:10px 16px; border-radius:8px; cursor:pointer; font:inherit; }
button.secondary { background:#fff; color:var(--accent); border:1px solid var(--accent); }
nav { display:flex; gap:4px; padding:12px 16px; background:#fff; border-bottom:1px solid var(--line); }
.tab { background:transparent; color:var(--muted); }
.tab.active { color:var(--accent); font-weight:600; }
main { padding:24px; max-width:900px; margin:0 auto; }
.panel { display:none; } .panel.active { display:block; }
table { width:100%; border-collapse:collapse; } th,td { text-align:left; padding:8px; border-bottom:1px solid var(--line); font-size:14px; }
.error { color:#b91c1c; font-size:14px; } .warn { background:#fef3c7; padding:10px; border-radius:8px; margin:8px 0; }
.regfd { background:#eef2ff; padding:10px; border-radius:8px; font-size:13px; margin-bottom:12px; }
.progress { font-variant-numeric: tabular-nums; }
