:root{--bg:#0f1420;--panel:#1a2233;--panel-2:#232d42;--text:#f3f4f6;--muted:#94a3b8;--accent:#6366f1;--owed:#34d399;--owing:#f87171;--border:#2c3854;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.app{max-width:960px;margin:0 auto;padding:1rem 1rem 5rem}.topbar{align-items:baseline;gap:.75rem;margin-bottom:1rem;display:flex}.topbar h1{letter-spacing:-.02em;margin:0;font-size:1.4rem}.group-name{color:var(--muted);font-size:1rem}.tabs{gap:.5rem;margin-bottom:1.25rem;display:flex}.tabs button{border:1px solid var(--border);background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;border-radius:.6rem;flex:1;padding:.6rem 1rem}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.view{flex-direction:column;gap:1rem;display:flex}.card{background:var(--panel);border:1px solid var(--border);border-radius:.9rem;padding:1rem 1.1rem}.card h2{margin:0 0 .75rem;font-size:1.05rem}.card-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.card-head h2{margin:0}button.copy{border-color:var(--border);color:var(--text);background:0 0;padding:.35rem .8rem;font-size:.85rem}button.copy:hover{border-color:var(--accent)}.hint{color:var(--muted);margin:-.4rem 0 .75rem;font-size:.85rem}.row{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}input,select{border:1px solid var(--border);background:var(--panel-2);min-width:8rem;color:var(--text);font:inherit;border-radius:.55rem;flex:1;padding:.55rem .7rem}input.amount{text-align:right;font-variant-numeric:tabular-nums;flex:0 0 7rem}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border-radius:.55rem;padding:.55rem 1rem}button:hover{filter:brightness(1.1)}.error{color:var(--owing);margin:.6rem 0 0;font-size:.9rem}.banner-error{border:1px solid var(--owing);color:var(--owing);background:#f871711f;border-radius:.6rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.6rem .9rem;display:flex}.banner-error button{border-color:var(--owing);color:var(--owing);background:0 0;padding:.3rem .7rem}.chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.chip{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:.25rem .7rem;font-size:.85rem}.ledger,.balances,.transfers,.payments,.members,.split-inputs{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.split-inputs{gap:.4rem;margin-top:.5rem}.ledger-row,.balance-row,.transfer-row,.payment-row,.member-row,.split-input-row{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.split-input-row{border-bottom:none;padding:.2rem 0}.member-row .member-name,.split-input-row .split-member,.member-row .member-edit{flex:1}.split-input-row .split-value{text-align:right;font-variant-numeric:tabular-nums;flex:0 0 8rem}.ledger-row:last-child,.balance-row:last-child,.transfer-row:last-child,.payment-row:last-child,.member-row:last-child{border-bottom:none}button.danger{border-color:var(--owing);color:var(--owing);background:0 0}.member-row button[type=button],.ledger-row button.danger{padding:.3rem .6rem;font-size:.8rem}.entry .method,.entry .payer{flex:1}.add-member{flex-direction:column;gap:.5rem;display:flex}.add-member .inclusion{color:var(--muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.add-member .inclusion input{flex:none;width:auto;min-width:0}.ledger-row .desc{flex:1;font-weight:500}.ledger-row .paid{color:var(--muted);font-size:.85rem}.total,.amount{font-variant-numeric:tabular-nums;font-weight:600}.balance-row .name{flex:1}.balance-row.owed .amount{color:var(--owed)}.balance-row.owing .amount{color:var(--owing)}.transfer-row span:first-child,.payment-row span:first-child{flex:1}.settled{color:var(--owed);margin:0}.report{background:var(--panel-2);border:1px solid var(--border);white-space:pre-wrap;border-radius:.55rem;margin:0;padding:.85rem;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.82rem;overflow-x:auto}@media (width<=640px){.tabs{background:var(--bg);border-top:1px solid var(--border);z-index:10;margin:0;padding:.5rem;position:fixed;bottom:0;left:0;right:0}input.amount{flex:1}}