:root{--bg: #eef1f4;--surface: #ffffff;--ink: #172033;--muted: #5b667a;--line: #d9dfe7;--owe: #7a2e6b;--owe-soft: #efe3ec;--owed: #0b6e69;--owed-soft: #dcefed;--late: #b3261e;--focus: #2457d6;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f1522;--surface: #172033;--ink: #e8ecf3;--muted: #9aa5ba;--line: #2a3550;--owe: #d68bc6;--owe-soft: #3a2236;--owed: #5fd0c7;--owed-soft: #14363a;--late: #ff8a80;--focus: #8fb0ff;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.5 Schibsted Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.num{font-variant-numeric:tabular-nums}h1{font-size:1.75rem;line-height:1.15;margin:0 0 .25rem;letter-spacing:-.01em}h2{font-size:1.05rem;margin:0}p{margin:0}a{color:inherit}.muted{color:var(--muted)}.small{font-size:.875rem}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:.75rem max(1rem,calc((100vw - 42rem)/2));background:var(--ink);color:#eef1f4}.bar .brand{font-weight:700;text-decoration:none;letter-spacing:-.01em}.bar nav{display:flex;gap:.5rem;align-items:center}.bar .btn.small{background:#eef1f4;color:#172033;border-color:transparent}.bar .btn.ghost{background:transparent;color:#eef1f4;border-color:#4a5875}.wrap{max-width:42rem;margin:0 auto;padding:1.25rem 1rem 4rem;display:grid;gap:1.25rem}.back{color:var(--muted);font-size:.9rem;width:fit-content}label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.25rem}label .muted{font-weight:400}input,textarea{width:100%;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.65rem .75rem}input[type=radio]{width:auto;margin-right:.4rem}input[type=file]{padding:.5rem}.stack{display:grid;gap:.5rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:30rem){.two{grid-template-columns:1fr}}fieldset.choice{border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;display:grid;gap:.35rem;margin:0 0 .5rem;background:var(--surface)}fieldset.choice legend{font-weight:600;font-size:.9rem;padding:0 .3rem}fieldset.choice label{font-weight:400;margin:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:.4rem;cursor:pointer;font:inherit;font-weight:600;text-decoration:none;padding:.7rem 1.1rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.small{padding:.35rem .7rem;font-size:.875rem;margin:0}.btn.ghost{background:transparent}.btn.danger{color:var(--late);border-color:color-mix(in srgb,var(--late) 40%,transparent)}.btn:disabled{opacity:.6;cursor:progress}.error{color:var(--late);font-weight:500}.totals{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.total{background:var(--surface);border-radius:14px;padding:.9rem 1rem;display:grid;gap:.1rem;border-left:5px solid}.total strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.total.owe{border-color:var(--owe)}.total.owed{border-color:var(--owed)}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line)}.tabs a{padding:.5rem .9rem;text-decoration:none;color:var(--muted);font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px}.tabs a[aria-selected=true]{color:var(--ink);border-color:var(--ink)}.debts,.payments{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.debt{display:grid;gap:.6rem;background:var(--surface);border-radius:14px;padding:1rem;text-decoration:none;border-left:5px solid}.debt:hover{box-shadow:0 1px 0 var(--line),0 6px 18px -10px #17203359}.debt.owed_by_me{border-color:var(--owe)}.debt.owed_to_me{border-color:var(--owed)}.row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.right{text-align:right}.meter{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.meter.lg{height:12px}.meter span{display:block;height:100%;border-radius:inherit;background:var(--owe)}.owed_to_me .meter span{background:var(--owed)}.due{font-size:.875rem;color:var(--muted)}.due.late{color:var(--late);font-weight:600}.empty{background:var(--surface);border:1px dashed var(--line);border-radius:14px;padding:1.5rem;display:grid;gap:.5rem;justify-items:start}.hero{background:var(--surface);border-radius:16px;padding:1.25rem;display:grid;gap:.5rem;border-top:6px solid var(--owe)}.hero.owed_to_me{border-color:var(--owed)}.hero .big{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.hero .big .muted{font-size:1rem;font-weight:500;letter-spacing:0}.badge{width:fit-content;padding:.2rem .6rem;border-radius:999px;font-size:.85rem;font-weight:600}.badge.ok{background:var(--owed-soft);color:var(--owed)}.note{white-space:pre-wrap;color:var(--muted);font-size:.95rem}.card{background:var(--surface);border-radius:16px;padding:1.1rem;display:grid;gap:.75rem}section>h2{margin-bottom:.6rem}.payment{background:var(--surface);border-radius:14px;padding:1rem;display:grid;gap:.75rem}.receipts{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.thumb{width:72px;height:72px;border-radius:10px;overflow:hidden;border:1px solid var(--line);display:grid;place-items:center;background:var(--bg)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .pdf{font-weight:700;color:var(--muted)}.attach label{margin:0}.danger-zone{justify-self:start;margin-top:1rem}@media(prefers-reduced-motion:no-preference){.meter span{transition:width .4s ease}}
