:root{--bg:#e4e9df;--surface:#f8faf6;--surface-sunk:#eef2ea;--ink:#161b12;--muted:#5a6450;--line:#cbd3c3;--brass:#8a5f18;--brass-edge:#b98f36;--moss:#33482a;--rust:#8c3a20;--radius:14px;--tap:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#10140d;--surface:#1a2016;--surface-sunk:#151a11;--ink:#e7ece1;--muted:#9aa68e;--line:#2c3526;--brass:#cfa254;--brass-edge:#a97f34;--moss:#b7c9a8;--rust:#d1735a}}*{box-sizing:border-box}body{background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}.app{max-width:560px;padding:20px 16px calc(96px + env(safe-area-inset-bottom));min-height:100vh;margin:0 auto}.label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700;display:block}h1{letter-spacing:-.01em;margin:4px 0 20px;font-size:24px;font-weight:800}h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:28px 0 10px;font-size:13px;font-weight:700}.muted{color:var(--muted)}.error{color:var(--rust);background:var(--surface);border-left:3px solid var(--rust);border-radius:var(--radius);padding:14px 16px}.money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;padding:16px}.card.debt{border-left:6px solid var(--brass);padding-block:20px}.card.debt .big{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:42px;font-weight:800;line-height:1.05;display:block}.card.debt.clear .big{color:var(--moss)}.card.total{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card.total .money{font-size:20px}.card.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.card.row .right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.card.expense .amount{color:var(--rust)}.card.income .amount{color:var(--moss)}.amount{font-size:17px}.title{font-weight:700}.meta{color:var(--muted);margin-top:2px;font-size:14px}button{min-height:var(--tap);font:inherit;color:var(--surface);background:var(--moss);cursor:pointer;border:none;border-radius:12px;padding:0 20px;font-weight:700}@media (prefers-color-scheme:dark){button{color:#10140d}}button:disabled{opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid var(--brass-edge);outline-offset:2px}.badge{border:1px solid var(--brass-edge);color:var(--brass);white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-block}.form{flex-direction:column;gap:12px;display:flex}.form label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}input,select{min-height:var(--tap);font:inherit;color:var(--ink);background:var(--surface-sunk);border:1px solid var(--line);text-transform:none;letter-spacing:normal;border-radius:12px;padding:0 14px;font-weight:600}input:focus-visible,select:focus-visible{outline:3px solid var(--brass-edge);outline-offset:1px}.actions{gap:8px;margin-top:12px;display:flex}.actions button{flex:1}button.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.subtabs{gap:6px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.subtabs button{color:var(--muted);border:1px solid var(--line);background:0 0;border-radius:999px;flex:none;padding:0 14px}.subtabs button.active{color:var(--ink);border-color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}.totals{margin-top:14px}.totals .line{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.totals .line:last-of-type{border-bottom:none}.totals .line.strong{font-weight:800}a{min-height:var(--tap);line-height:var(--tap);color:var(--brass);margin-top:12px;font-weight:700;display:inline-block}.tabs{padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{color:var(--muted);background:0 0;border-radius:10px;flex:1;font-weight:700}.tabs button.active{color:var(--ink);background:var(--surface-sunk);box-shadow:inset 0 -3px 0 var(--brass)}@media (prefers-reduced-motion:no-preference){.card{transition:border-color .15s}}
