:root{
  --paper:#f3f2ee; --raised:#ffffff; --ink:#212a2e; --soft:#58635f; --faint:#77827d;
  --line:#dcd7ca; --line-soft:#e7e3d8; --accent:#a8672a; --accent-soft:#eeddc4; --accent-ink:#7a4a1e;
  --bad:#a8402f; --bad-soft:#f1ddd6; --good:#1c4941; --good-soft:#d6ebe4; --info:#3d6b8f; --info-soft:#dde6ed;
  --radius:12px;
}
@media (prefers-color-scheme: dark){
  :root{ --paper:#14181a; --raised:#1b2225; --ink:#ece8e0; --soft:#adb6b1; --faint:#8a9390; --line:#2c3538; --line-soft:#232b2e;
    --accent:#d99a52; --accent-soft:#3a2c1a; --accent-ink:#f0be86; --bad:#e2846a; --bad-soft:#3a221c; --good:#a8dbcd; --good-soft:#1c2f2b; --info:#7fa8c9; --info-soft:#1c2a33; }
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
a{color:var(--accent-ink)}
.wrap{max-width:720px;margin:0 auto;padding:20px 16px 56px}
.brand{display:flex;align-items:center;gap:10px;margin:4px 0 20px}
.brand .mark{width:36px;height:36px;border-radius:10px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700}
.brand .name{font-weight:700;font-size:18px}
.brand .sub{color:var(--faint);font-size:13px}
h1{font-size:24px;margin:0 0 6px;line-height:1.25}
h2{font-size:17px;margin:0 0 10px}
p.lead{color:var(--soft);margin:0 0 20px}
.card{background:var(--raised);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px}
.card.accent{border-color:var(--accent);background:var(--accent-soft)}
.card.warn{border-color:var(--bad);background:var(--bad-soft)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.grid2{grid-template-columns:1fr}}
label{display:block;font-size:14px;font-weight:600;margin:12px 0 4px}
label .opt{font-weight:400;color:var(--faint)}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:11px 12px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
textarea{min-height:84px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-top:14px}
.check input{width:auto;margin-top:4px}
.btn{display:inline-block;border:0;border-radius:10px;padding:12px 18px;font:inherit;font-weight:600;cursor:pointer;background:var(--accent);color:#fff;text-decoration:none}
.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.block{display:block;width:100%;text-align:center}
.btn[disabled]{opacity:.6;cursor:default}
.error{color:var(--bad);font-size:14px;margin-top:8px}
.muted{color:var(--faint);font-size:14px}
.big{font-size:32px;font-weight:700;line-height:1.1}
.owed{color:var(--bad)} .credit{color:var(--good)}
.pill{display:inline-block;font-size:12.5px;padding:2px 10px;border-radius:999px;background:var(--line-soft);color:var(--soft)}
.pill.info{background:var(--info-soft);color:var(--info)}
.pill.bad{background:var(--bad-soft);color:var(--bad)}
.pill.good{background:var(--good-soft);color:var(--good)}
.rows{width:100%;border-collapse:collapse;font-size:15px}
.rows td{padding:8px 0;border-bottom:1px solid var(--line-soft)}
.rows td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rows tr.total td{font-weight:700;border-bottom:0}
.hidden{display:none !important}
.devbox{border:1px dashed var(--bad);border-radius:10px;padding:10px;margin-top:16px;font-size:13px}
footer{margin-top:28px;color:var(--faint);font-size:13px;text-align:center}
