:root{--ink: #171d20;--ink-soft: #4c5a60;--ink-faint: #7d8b91;--paper: #f2efe9;--card: #ffffff;--line: #ded8cf;--line-soft: #ebe6de;--amber: #ffc400;--amber-bg: #fff8e1;--slate: #37474f;--focus: #0d6b8a;--focus-bg: #eaf6fb;--ok: #2e7d4f;--danger: #c0392b;--font: "Golos Text", "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}html.client-app,html.client-app body{background:#121a1d}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1{font-size:22px;margin:0;font-weight:700}h2{font-size:17px;margin:0;font-weight:600}a{color:var(--focus)}.shell{max-width:1280px;margin:0 auto;padding:20px 18px 60px}.topbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:20px}.topbar .spacer{margin-left:auto}button.primary,button.ghost{font:inherit;font-size:14px;font-weight:600;padding:9px 16px;border-radius:9px;cursor:pointer;border:1px solid transparent}button.primary{background:var(--slate);color:#fff}button.primary:hover{background:#2b383d}button.ghost{background:var(--card);color:var(--ink);border-color:var(--line)}button:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-size:13px;color:var(--ink-soft)}.field input,.field select{font:inherit;padding:9px 11px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--ink)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}.muted{color:var(--ink-faint);font-size:13px}.error{color:var(--danger);font-size:14px}.error.sticky{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:10px 14px;border:1px solid var(--danger);border-radius:10px;background:var(--card)}.error.sticky button{padding:7px 12px;font-size:13px}.ok{color:var(--ok);font-size:14px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.tabs button{font:inherit;font-size:13px;padding:7px 13px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer}.tabs button.on{background:var(--slate);border-color:var(--slate);color:#fff;font-weight:600}table.list{width:100%;border-collapse:collapse;font-size:14px}table.list th{text-align:left;font-size:12px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;padding:6px 10px}table.list td{padding:10px;border-top:1px solid var(--line-soft)}
