:root{--bg:#f3f5f8;--surface:#ffffff;--fg:#132036;--muted:#5b687c;--line:#dfe5ec;--btn:#132036;--btn-fg:#ffffff;--focus:#2f5fb3;--ok:#1d7f4a;--ok-bg:#e3f3ea;--warn:#946410;--warn-bg:#fbf0d9;--bad:#b93a3a;--bad-bg:#fbe5e5;--font:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif}@media (prefers-color-scheme: dark){:root{--bg:#0b121d;--surface:#121c2b;--fg:#e4eaf3;--muted:#94a2b6;--line:#24324a;--btn:#e4eaf3;--btn-fg:#0f1b2d;--focus:#7aa2f0;--ok:#5fc58d;--ok-bg:#163527;--warn:#e2b45c;--warn-bg:#3a2d12;--bad:#f08080;--bad-bg:#3d1c1f;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:14px;line-height:1.5}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.center{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px;width:100%;max-width:380px}.card.wide{max-width:760px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:14px}.card h1{margin:0 0 4px;font-size:20px;letter-spacing:-.01em}.card p.sub{margin:0 0 20px;color:var(--muted);font-size:13px}.f{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.f label{font-size:12px;color:var(--muted)}.f input,.f select{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:9px 11px;font-size:14px}.btn{border:1px solid var(--line);background:var(--surface);padding:9px 14px;border-radius:8px;cursor:pointer;font-weight:500;width:100%}.btn.pri{background:var(--btn);color:var(--btn-fg);border-color:var(--btn)}.btn.sm{width:auto;padding:5px 10px;font-size:12.5px}.btn.ok{background:var(--ok-bg);color:var(--ok);border-color:transparent}.btn.bad{background:var(--bad-bg);color:var(--bad);border-color:transparent}.btn[disabled]{opacity:.5;cursor:not-allowed}.note{font-size:12.5px;padding:10px 12px;border-radius:8px;margin-bottom:14px}.note.err{background:var(--bad-bg);color:var(--bad)}.note.ok{background:var(--ok-bg);color:var(--ok)}.note.warn{background:var(--warn-bg);color:var(--warn)}.link{color:var(--focus);background:none;border:0;cursor:pointer;padding:0;font-size:13px;text-decoration:underline}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}table{width:100%;border-collapse:collapse;margin-top:10px}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:13.5px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.topbar b{font-size:15px}:root{--side:#0f1b2d;--side-fg:#b9c5d6;--side-dim:#6f7f96;--side-active:#1d2c44}.app{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.side{background:var(--side);color:var(--side-fg);padding:22px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}.brand b{display:block;color:#fff;font-size:17px;letter-spacing:-.01em}.brand span{font-size:12px;color:var(--side-dim)}.navg{display:flex;flex-direction:column;gap:2px}.navg h6{margin:0 0 4px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--side-dim);font-weight:500}.nav{background:none;border:0;text-align:left;color:var(--side-fg);padding:8px 10px;border-radius:7px;cursor:pointer;text-decoration:none;display:block;font-size:13.5px}.nav:hover{background:var(--side-active)}.nav.on{background:var(--side-active);color:#fff;font-weight:600}.me{margin-top:auto;display:flex;gap:10px;align-items:center;border-top:1px solid #ffffff14;padding-top:14px;font-size:13px}.av{width:30px;height:30px;border-radius:50%;background:#2b3c58;color:#fff;display:grid;place-items:center;font-weight:600;font-size:12px;flex:none}.me small{display:block;color:var(--side-dim);font-size:11.5px}main{min-width:0;padding:24px}.wrap{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:18px}@media (max-width:760px){.app{grid-template-columns:1fr}.side{position:static;height:auto}}
