:root{
  --bg:#E9EDF0; --surface:#FFFFFF; --surface2:#F3F5F7; --ink:#14212B; --muted:#5C6B77; --line:#D3DAE0;
  --accent:#F5B301; --accent-ink:#1B1500; --money:#0B7F57; --danger:#C2352B; --shell:#14212B; --lock:#E7EBEF;
  --display:"Unbounded","Golos Text",system-ui,sans-serif;
  --body:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0F171D; --surface:#18232B; --surface2:#1F2C36; --ink:#E8EEF2; --muted:#93A3AF; --line:#2C3B46;
  --accent:#F5B301; --accent-ink:#1B1500; --money:#3FCB97; --danger:#FF7A6E; --shell:#05090C; --lock:#24323D; color-scheme:dark}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.45}
[hidden]{display:none!important}
input,select,textarea,button{font:inherit;color:inherit}
input,select,textarea{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px 10px;width:100%;min-width:0}
textarea{resize:vertical;min-height:64px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button{cursor:pointer;border:0;border-radius:6px;background:none}
button:disabled{opacity:.55;cursor:default}
.btn{background:var(--accent);color:var(--accent-ink);font-weight:700;padding:10px 16px}
.btn:hover:not(:disabled){filter:brightness(1.06)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);font-weight:600}
.btn.danger{background:transparent;color:var(--danger);border:1px solid var(--line);font-weight:600}
.btn.sm{padding:5px 10px;font-size:13px}
.f{display:flex;flex-direction:column;gap:4px;min-width:0}
.f label{font-size:12px;font-weight:600;color:var(--muted)}
.f label b{color:var(--danger);font-weight:600}
.err{color:var(--danger);font-size:13px;min-height:1em}
.muted{color:var(--muted)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:99px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.pill.ok{border-color:var(--money);color:var(--money)}
.pill.bad{border-color:var(--danger);color:var(--danger)}
.pill.warn{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
