:root{--bg: #f6f7f9;--panel: #ffffff;--ink: #1a1d21;--muted: #6b7280;--line: #e4e7eb;--accent: #2f6f4f;--accent-ink: #ffffff;--over: #1f8a54;--under: #c0392b;--danger: #c0392b;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink)}@media (prefers-color-scheme: dark){:root{--bg: #16181c;--panel: #1f2228;--ink: #e7e9ee;--muted: #9aa2ad;--line: #2c313a;--accent: #3f9c6d;--over: #52c98a;--under: #ef6a5a;--danger: #ef6a5a}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}.app{max-width:1000px;margin:0 auto;padding:1.5rem 1rem 4rem}.app-header h1{margin:0;font-size:1.9rem;letter-spacing:-.02em}.tagline{margin:.2rem 0 1.25rem;color:var(--muted)}.layout{display:grid;grid-template-columns:320px 1fr;gap:1.25rem;align-items:start}@media (max-width: 760px){.layout{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:1rem}.card h2,.card h3{margin:0 0 .6rem;font-size:1rem}.sidebar .setup>.card:first-child{margin-top:0}h2,h3{letter-spacing:-.01em}input{font:inherit;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:100%}button{font:inherit;font-weight:600;padding:.5rem .85rem;border:1px solid transparent;border-radius:8px;background:var(--accent);color:var(--accent-ink);cursor:pointer;white-space:nowrap}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;color:var(--ink);border-color:var(--line)}button.danger,button.ghost.danger{color:var(--danger);border-color:var(--line);background:transparent}.row{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap}.row>input{flex:1}.hint{color:var(--muted);font-size:.85rem;margin:.4rem 0}.field{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted);flex:1}.chips,.picklist,.grouplist{list-style:none;margin:.6rem 0 0;padding:0}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.15rem .6rem;font-size:.85rem}.picklist li{padding:.15rem 0}.picklist label{display:flex;align-items:center;gap:.5rem}.picklist input{width:auto}.grouplist li{margin-bottom:.35rem}.grouplink{width:100%;text-align:left;background:transparent;color:var(--ink);border:1px solid var(--line)}.grouplink.active{background:var(--accent);color:var(--accent-ink);border-color:transparent}.empty{background:var(--panel);border:1px dashed var(--line);border-radius:12px;padding:3rem 1rem;text-align:center;color:var(--muted)}.grouppanel>h2{margin:0 0 .25rem}table.balance,table.amounts{width:100%;border-collapse:collapse;margin:.75rem 0 1.25rem}table.balance th,table.balance td{padding:.5rem .4rem;border-bottom:1px solid var(--line);text-align:left}table.balance th.num,table.balance td.num,.num{text-align:right;font-variant-numeric:tabular-nums}.over{color:var(--over)}.under{color:var(--under)}.weeks ul{list-style:none;margin:0;padding:0}.weekrow{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.notes{color:var(--muted)}.weekform .row{margin-bottom:.6rem}table.amounts th{text-align:left;font-weight:500;padding:.3rem .4rem .3rem 0}table.amounts td{padding:.25rem 0}.amount-input{display:flex;align-items:center;gap:.35rem}.amount-input span{color:var(--muted)}.error{color:var(--under);font-size:.9rem;margin:.4rem 0}.ok{color:var(--over);font-size:.9rem;margin:.4rem 0}
