:root{--bg: #f2f4f3;--surface: #ffffff;--surface-2: #e9edeb;--ink: #18201c;--ink-2: #4f5b56;--line: #d3d9d6;--line-strong: #aeb7b3;--accent: #0d6b55;--accent-ink: #ffffff;--accent-soft: #dcefe8;--warn: #a36a0b;--warn-soft: #f6ecd6;--crit: #a83a3a;--crit-soft: #f6dede;--info: #3b4f8a;--info-soft: #e3e8f4;--mono: "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace;--sans: "IBM Plex Sans", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #121715;--surface: #1a211e;--surface-2: #222b27;--ink: #e4e9e6;--ink-2: #99a59f;--line: #2e3833;--line-strong: #4a5751;--accent: #4cb898;--accent-ink: #0c1512;--accent-soft: #1b3a31;--warn: #e0a93f;--warn-soft: #3a2d12;--crit: #e07272;--crit-soft: #3d1f1f;--info: #9fb2e8;--info-soft: #232c40}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:13.5px;line-height:1.4;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100%}main{flex:1;min-height:0;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:16px;padding:6px 14px;background:var(--surface-2);border-bottom:1px solid var(--line)}.brand{font-weight:600;font-size:15px}.top nav{display:flex;gap:4px}button.nav{border:0;background:none;color:var(--ink-2);padding:6px 8px;font:inherit;cursor:pointer;border-bottom:2px solid transparent}button.nav.on{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}.spacer{flex:1}.db{font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}.field{display:inline-flex;flex-direction:column;gap:2px;font-size:11px;color:var(--ink-2)}.field select,.field input{font:inherit;font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:3px;padding:3px 6px;min-width:90px}button.primary,button.plain{font:inherit;padding:5px 10px;border-radius:3px;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.filters{display:flex;align-items:stretch;gap:10px;padding:8px 14px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:var(--surface)}.filters>.field{justify-content:space-between}.filters>button,.filters>.hint,.filters>a.button{align-self:flex-end}a.button.plain{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:5px 10px}.totals{display:flex;gap:14px;font-size:12.5px;color:var(--ink-2);align-self:center}.totals b{color:var(--ink)}.queue{display:flex;flex-direction:column;flex:1;min-height:0}.split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,1fr);flex:1;min-height:0}.list{overflow:auto;border-right:1px solid var(--line)}.card{overflow:auto;background:var(--surface)}.card-body{padding:12px 16px;display:flex;flex-direction:column;gap:10px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:5px 10px;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);font-weight:500;position:sticky;top:0;background:var(--bg)}.list tbody tr{cursor:pointer}.list tbody tr:hover td{background:var(--surface-2)}.list tr.sel td{background:var(--accent-soft)}tr.group td{background:var(--surface-2);color:var(--ink-2);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;cursor:default}table.compact{font-size:12.5px}.amt{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:12px}.muted{color:var(--ink-2)}.small{font-size:11.5px;white-space:normal}.tag{display:inline-block;font-family:var(--mono);font-size:11px;padding:1px 6px;border-radius:3px;background:var(--surface-2);color:var(--ink);white-space:nowrap}.tag.crit{background:var(--crit-soft);color:var(--crit)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.ok{background:var(--accent-soft);color:var(--accent)}.tag.info{background:var(--info-soft);color:var(--info)}.card-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:12px 16px 0}.card-body .card-head{padding:0}.card-head .big{font-family:var(--mono);font-size:20px}.card-head .sub{color:var(--ink-2)}.explain{margin:0;color:var(--ink-2);font-size:12.5px;max-width:70ch}.note{margin:0;padding:6px 10px;background:var(--info-soft);color:var(--info);border-radius:3px;font-size:12.5px}.tabs{display:flex;gap:12px;border-bottom:1px solid var(--line);align-items:center}.tabs>button{border:0;background:none;font:inherit;color:var(--ink-2);padding:6px 0;cursor:pointer;border-bottom:2px solid transparent}.tabs>button.on{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}.tabs>button.primary{border:1px solid var(--accent);background:var(--accent);padding:4px 10px;color:var(--accent-ink);border-radius:3px}dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:3px 14px;margin:0;font-size:12.5px}dl.kv dt{color:var(--ink-2);font-family:var(--mono);font-size:11.5px}dl.kv dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}dl.kv.raw{max-height:60vh;overflow:auto}.empty{padding:24px 16px;color:var(--ink-2)}.empty.error{color:var(--crit)}.hint{font-size:12px;color:var(--ink-2);padding:6px 0}.hint code{font-family:var(--mono);font-size:11.5px}.payment,.runs,.stale{padding:0 0 24px;overflow:auto}.payment section,.stale section{padding:8px 16px}.sides{display:grid;grid-template-columns:1fr 1fr;gap:0}.sides section+section{border-left:1px solid var(--line)}h3{font-size:13px;font-weight:600;margin:10px 0 6px}h3 .sum{font-weight:400;color:var(--ink-2);margin-left:10px;font-family:var(--mono)}.sums{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin:-2px 0 8px}.sums b{color:var(--ink);font-family:var(--mono);font-weight:500;font-variant-numeric:tabular-nums}.raw-json summary{cursor:pointer;color:var(--ink-2);font-size:12px;margin-top:8px}.raw-json pre{font-family:var(--mono);font-size:11.5px;background:var(--surface-2);padding:8px;overflow:auto}.runs table{font-size:12.5px}.runs{padding:0 14px}@media (max-width: 900px){.split,.sides{grid-template-columns:1fr}.list{border-right:0;border-bottom:1px solid var(--line)}}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions input,.linkbar input,.linkbar select{font:inherit;font-size:12.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:3px;padding:4px 8px}.grow{flex:1;min-width:160px}.field input.missing{border-color:var(--crit)}.field.check{justify-content:flex-end}.switch{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:7px 0}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .knob{width:28px;height:16px;border-radius:8px;background:var(--line-strong);position:relative;transition:background .15s}.switch .knob:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:6px;background:var(--surface);transition:left .15s}.switch input:checked+.knob{background:var(--accent)}.switch input:checked+.knob:after{left:14px}.picks{display:inline-flex;gap:4px;flex-wrap:wrap;align-items:center;min-height:30px}.pick{font:inherit;font-size:12px;padding:3px 8px;border-radius:10px;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2)}.pick:hover{border-color:var(--ink-2);color:var(--ink)}.pick.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.plain.small{padding:2px 8px;font-size:12px}button.link{border:0;background:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline dotted}button:disabled{opacity:.5;cursor:default}.ok{color:var(--accent)}.crit{color:var(--crit)}tr.unpaired td{background:color-mix(in srgb,var(--crit-soft) 45%,transparent)}.manual{display:flex;flex-direction:column;gap:8px}.pane{border:1px solid var(--line);border-radius:3px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.pane-t{display:flex;align-items:center;gap:6px;font-size:12.5px}.linkbar{position:sticky;bottom:0;border-top:2px solid var(--accent);background:var(--surface-2);padding:8px 14px;display:flex;flex-direction:column;gap:6px;font-size:12.5px;box-shadow:0 -4px 12px #00000014}.linkbar.done{flex-direction:row;align-items:center;gap:12px;color:var(--accent)}.linkbar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.linkbar-side{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.linkbar-eq{font-size:20px;font-weight:600;padding:0 6px}.chip{border:1px solid var(--line-strong);border-radius:12px;padding:1px 8px;background:var(--surface);cursor:pointer;font-size:11.5px;white-space:nowrap}.chip:hover{border-color:var(--crit);color:var(--crit)}.signin{height:100%;display:flex;align-items:center;justify-content:center}.signin-box{max-width:420px;padding:28px 32px;background:var(--surface);border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;gap:14px}.signin-box .brand{font-size:20px}a.button{display:inline-block;text-decoration:none;text-align:center;font:inherit;padding:8px 14px;border-radius:3px}a.button.primary{background:var(--accent);color:var(--accent-ink);font-weight:600}.who{font-size:12.5px}.who a{color:var(--accent)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--ink)}th.sortable.on{color:var(--ink);border-bottom-color:var(--accent)}tr.group .group-sum{margin-left:12px;font-family:var(--mono);font-weight:400;text-transform:none;letter-spacing:0}
