:root{--bg:#f6f5f2;--surface:#fff;--surface-2:#f0efeb;--text:#1c1b19;--muted:#6b6860;--border:#e2e0da;--accent:#1f6f5c;--accent-soft:#e3f1ec;--accent-text:#fff;--error:#b42318;--error-soft:#fdecea;--warning:#9a5b00;--warning-soft:#fdf3e1;--radius:10px;--shadow:0 1px 2px #0000000d;--person-1:#2f7d6b;--person-2:#c2571a;--person-3:#3d63b8;--person-4:#a23b72;--person-5:#7a6a12;--person-6:#6a4bb0;--person-ink:#fff;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141412;--surface:#1d1d1a;--surface-2:#262622;--text:#ecebe6;--muted:#a19e95;--border:#34332e;--accent:#5cc4a6;--accent-soft:#17332b;--accent-text:#0d1f1a;--error:#ff8a80;--error-soft:#3a1714;--warning:#f0b45a;--warning-soft:#33260f;--shadow:none;--person-1:#5cc4a6;--person-2:#f0965a;--person-3:#86a8f0;--person-4:#e58ab8;--person-5:#d6c25a;--person-6:#b19af0;--person-ink:#141412}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2{margin:0;line-height:1.2}h1{font-size:1.25rem}h2{font-size:1rem}button,input,select{font:inherit;color:inherit}input[type=text],select{border:1px solid var(--border);background:var(--surface);border-radius:7px;min-width:0;padding:7px 9px}input[type=text]:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{cursor:pointer;white-space:nowrap;background:var(--accent);color:var(--accent-text);border:1px solid #0000;border-radius:7px;padding:7px 12px}button:disabled{cursor:default;opacity:.4}button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}button.secondary:hover:not(:disabled){background:var(--surface-2)}button.icon{color:var(--muted);background:0 0;padding:4px 8px;line-height:1}button.icon:hover:not(:disabled){background:var(--surface-2);color:var(--text)}button.icon.danger:hover:not(:disabled){color:var(--error)}button.link{color:var(--accent);text-align:left;background:0 0;padding:2px 4px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.shell-bar{background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"title nav actions";align-items:center;gap:8px 16px;padding:10px 16px;display:grid}.shell-title{white-space:nowrap;grid-area:title;font-size:1.1rem}.shell-actions{grid-area:actions;gap:8px;display:flex}.shell-nav{scrollbar-width:none;grid-area:nav;min-width:0;overflow-x:auto}.shell-nav::-webkit-scrollbar{display:none}.shell-nav ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.shell-nav a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 12px;font-weight:500;text-decoration:none;display:block}.shell-nav a:hover{background:var(--surface-2);color:var(--text)}.shell-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.shell-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (width<=720px){.shell-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title actions""nav nav";padding-bottom:8px}.shell-nav{margin:0 -16px;padding:0 16px}}.shell-main{min-width:0}.shell-loading{color:var(--muted);text-align:center;margin:0;padding:24px 16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:16px}.card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.hint{color:var(--muted);margin:2px 0 0;font-size:.85rem}.empty{color:var(--muted);margin:0}.rows{gap:6px;margin:0;padding:0;list-style:none;display:grid}.row{border-radius:8px;align-items:center;gap:8px;padding:2px;display:grid}.person-row{grid-template-columns:minmax(0,1fr) auto}.item-row{grid-template-columns:minmax(0,1fr) auto 8.5rem auto}.row-labels{color:var(--muted);font-size:.8rem}.row-actions{display:flex}@media (width<=520px){.item-row{grid-template-columns:auto minmax(0,1fr) auto;padding-bottom:6px}.item-row>input[type=text]{grid-column:1/-1}.row-labels{display:none}}.flagged-error{background:var(--error-soft);box-shadow:inset 3px 0 0 var(--error)}.flagged-warning{background:var(--warning-soft);box-shadow:inset 3px 0 0 var(--warning)}@keyframes pulse{0%{outline:3px solid var(--accent);outline-offset:2px}to{outline-offset:6px;outline:3px solid #0000}}.pulse{animation:1.2s ease-out pulse}.affix-input{border:1px solid var(--border);background:var(--surface);border-radius:7px;align-items:center;min-width:0;display:inline-flex}.affix-input:focus-within{outline:2px solid var(--accent);outline-offset:1px}.affix-input.invalid{border-color:var(--error)}.affix-input input[type=text]{width:100%;font-family:var(--mono);text-align:right;background:0 0;border:none;outline:none}.affix{color:var(--muted);padding:0 0 0 9px}.affix:last-child{padding:0 9px 0 0}.stepper{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:7px;align-items:center;display:inline-flex}.stepper.active{border-color:var(--accent);background:var(--accent-soft)}.stepper button{color:var(--muted);background:0 0;padding:4px 9px}.stepper button:hover:not(:disabled){color:var(--text)}.stepper output{text-align:center;min-width:1.4em;font-family:var(--mono)}.grid-scroll{margin:0 -16px;padding:0 16px;position:relative;overflow-x:auto}.grid{border-collapse:collapse;width:100%}.grid th,.grid td{text-align:center;border-bottom:1px solid var(--border);padding:6px}.grid thead th{color:var(--muted);white-space:nowrap;font-size:.85rem;font-weight:600}.grid tbody th{text-align:left;background:var(--surface);min-width:7rem;font-weight:500;position:sticky;left:-16px}.grid tr.flagged-error th{background:var(--error-soft)}.qty{color:var(--muted);font-weight:400}.presets{flex-wrap:wrap;gap:6px;display:flex}.charges{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.charge{border:1px solid var(--border);border-radius:8px;gap:8px;padding:10px;display:grid}.charge-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.charge-line>input[type=text]{flex:6rem}.charge-line .affix-input{width:8.5rem}.charge-line.options label{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.charge-line.options select{color:var(--text)}.segmented{border:1px solid var(--border);border-radius:7px;display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);color:var(--muted);border-radius:0;padding:6px 12px}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.item-picks{border:none;flex-wrap:wrap;gap:6px;margin:0;padding:0;display:flex}.chip{border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 6px;font-size:.85rem;display:inline-flex}.chip:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.printed{border-radius:8px;flex-wrap:wrap;gap:12px;display:flex}.printed label{color:var(--muted);gap:4px;font-size:.85rem;display:grid}.printed .affix-input{width:10rem}.amount{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.banner{background:var(--error-soft);color:var(--error);border-radius:8px;margin:0 0 12px;padding:8px 10px;font-weight:500}.people{margin:0;padding:0;list-style:none}.person{border-bottom:1px solid var(--border)}.person summary{cursor:pointer;justify-content:space-between;gap:12px;padding:10px 0;list-style:none;display:flex}.person summary::-webkit-details-marker{display:none}.person summary:before{content:"▸";color:var(--muted);margin-right:-4px}.person details[open] summary:before{content:"▾"}.person-name{flex:1;font-weight:500}.person summary .amount{font-size:1.05rem;font-weight:600}.blocked .people,.blocked .grand-total{opacity:.45}.breakdown{color:var(--muted);margin:0 0 10px;padding:0 0 0 16px;font-size:.9rem;list-style:none}.breakdown li{justify-content:space-between;gap:12px;display:flex}.grand-total{justify-content:space-between;margin:12px 0 0;font-size:1.1rem;font-weight:700;display:flex}.issues{gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.issue button{white-space:normal;width:100%;color:var(--text);border-radius:8px;padding:8px 10px;font-size:.9rem}.issue.error button{background:var(--error-soft)}.issue.warning button{background:var(--warning-soft)}.issue-badge{text-transform:uppercase;letter-spacing:.04em;margin-right:8px;font-size:.72rem;font-weight:700;display:inline-block}.issue.error .issue-badge{color:var(--error)}.issue.warning .issue-badge{color:var(--warning)}.signin-backdrop{z-index:50;background:color-mix(in srgb, var(--text) 35%, transparent);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.signin{gap:4px;width:min(400px,100%);display:grid}.signin h2{margin-bottom:4px}.signin form{gap:12px;display:grid}.signin .hint{margin:0}.signin-field{color:var(--muted);gap:4px;font-size:.85rem;display:grid}.signin-field input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;padding:10px 12px;font-size:1.05rem}.signin-field input[inputmode=numeric]{font-family:var(--mono);letter-spacing:.3em}.signin-error{background:var(--error-soft);color:var(--error);border-radius:8px;margin:0;padding:8px 10px;font-size:.9rem}.signin-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.signin-actions button{min-height:42px}.signin-actions .link{margin-right:auto}
