:root{color-scheme:light;--bg: #f3f5f8;--panel: #ffffff;--ink: #1b1e28;--muted: #3e4a5e;--line: #5c677c;--money: #0e5c38;--warn: #8e1b16;--accent: #243e86;--accent-ink: #ffffff;--focus: #243e86;--focus-on-accent: #f6c445;--away: #eef1f6;--banner: #fdecec;--disabled: #e4e8f0;--track-off: #3e4a5e;--track-on: #0e5c38;--knob: #ffffff;--shadow: 0 1px 2px rgb(27 30 40 / 8%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #12141c;--panel: #1c2030;--ink: #f4f6fb;--muted: #c5cddc;--line: #8b93a7;--money: #7ddba8;--warn: #ffb4b0;--focus: #f6c445;--away: #171b28;--banner: #3a1716;--disabled: #2a3142;--track-off: #8b93a7;--shadow: none}}:root[data-theme=dark]{color-scheme:dark;--bg: #12141c;--panel: #1c2030;--ink: #f4f6fb;--muted: #c5cddc;--line: #8b93a7;--money: #7ddba8;--warn: #ffb4b0;--focus: #f6c445;--away: #171b28;--banner: #3a1716;--disabled: #2a3142;--track-off: #8b93a7;--shadow: none}:root[data-theme=light]{color-scheme:light;--bg: #f3f5f8;--panel: #ffffff;--ink: #1b1e28;--muted: #3e4a5e;--line: #5c677c;--money: #0e5c38;--warn: #8e1b16;--focus: #243e86;--away: #eef1f6;--banner: #fdecec;--disabled: #e4e8f0;--track-off: #3e4a5e;--shadow: 0 1px 2px rgb(27 30 40 / 8%)}@media(prefers-contrast:more){:root,:root[data-theme=light],:root[data-theme=dark]{--bg: #ffffff;--panel: #ffffff;--ink: #000000;--muted: #1a1a1a;--line: #000000;--money: #084c30;--warn: #8e1b16;--accent: #0b1f66;--focus: #000000;--away: #ffffff;--banner: #ffffff;--disabled: #ffffff;--track-off: #000000;--track-on: #084c30;--shadow: none}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font-family:Segoe UI,Aptos,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.45}button,input{font:inherit;color:inherit}h1,h2,h3,p{margin:0}h1{font-size:1.5rem;line-height:1.25;font-weight:700}h2{font-size:1.125rem;line-height:1.3;font-weight:700}h3{font-size:1rem;line-height:1.3;font-weight:700}.wrap{width:min(36rem,100%);margin-inline:auto;padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top));padding-bottom:calc(2rem + env(safe-area-inset-bottom));display:grid;gap:1rem}.mast{display:grid;gap:.25rem}.mast p,.hint,.colophon,.empty{color:var(--muted)}.skip{position:absolute;left:.5rem;top:.5rem;z-index:2;transform:translateY(-150%);background:var(--panel);color:var(--ink);border:2px solid var(--ink);padding:.5rem .75rem;text-decoration:none}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.meter,.setup,.summary,.colophon{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.meter,.setup,.summary{padding:1rem;display:grid;gap:.75rem}.top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.state{display:flex;align-items:center;gap:.5rem}.dot{width:.75rem;height:.75rem;border-radius:50%;background:var(--line);display:inline-block}.meter.running .dot{background:var(--money)}.cost{font-size:3.25rem;line-height:1.05;font-weight:700;letter-spacing:-.03em;color:var(--money)}.cost.over,.over{color:var(--warn)}.tabular,.summary-text{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.sub{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.controls,.presets,.settings-grid,.rate-list{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.settings-grid,.rate-list{align-items:start}.btn,.chip,.icon-btn,.toggle,input{min-height:2.75rem;min-width:2.75rem}.btn,.chip,.icon-btn{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:.5rem .85rem;cursor:pointer}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.danger{color:var(--warn);border-color:var(--warn)}.btn:disabled{background:var(--disabled);color:var(--muted);border-color:var(--line);cursor:not-allowed}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:0}.chip{text-align:left}.add-form{display:grid;grid-template-columns:1.4fr .8fr .7fr auto;gap:.75rem;align-items:end}.field,.rate,.rate-entry,.check{display:grid;gap:.25rem}.field,.rate-entry{min-width:8rem}.check{grid-auto-flow:column;justify-content:start;align-items:center;gap:.5rem;min-height:2.75rem}fieldset{border:1px solid var(--line);border-radius:8px;margin:0;padding:.75rem;display:flex;flex-wrap:wrap;gap:.75rem 1rem}legend{padding-inline:.25rem;font-weight:700}input[type=checkbox],input[type=radio]{width:1.625rem;height:1.625rem;min-width:1.625rem;min-height:1.625rem;accent-color:var(--accent)}input[type=text],input:not([type]),input[inputmode=decimal],input[inputmode=numeric]{width:100%;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:.5rem .65rem}input::placeholder{color:var(--muted);opacity:1}.suffix{display:flex;align-items:center;gap:.35rem}.suffix input{flex:1}.rate{grid-template-columns:auto 1fr;align-items:center;min-width:7rem}.list,.by-role ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.5rem;border:1px solid var(--line);border-radius:8px}.row.away{background:var(--away)}.row input{flex:1 1 8rem}.acc{min-width:5.5rem;text-align:right;font-weight:700}.toggle{width:2.75rem;height:1.75rem;min-height:1.75rem;border-radius:999px;border:1px solid var(--line);background:var(--track-off);position:relative;padding:0;cursor:pointer}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--knob)}.toggle[aria-pressed=true]{background:var(--track-on);border-color:var(--track-on)}.toggle[aria-pressed=true]:after{left:calc(100% - 1.4rem)}.by-role li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem}.summary-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.banner,.field-error{color:var(--warn);background:var(--banner);border:1px solid var(--warn);border-radius:8px;padding:.6rem .75rem}.field-error{display:block}.colophon{padding:.85rem 1rem}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn.primary:focus-visible{outline-color:var(--focus-on-accent)}.app.compact .mast p,.app.compact .setup,.app.compact .setup-only,.app.compact .colophon{display:none}.app.compact .cost{font-size:2.5rem}@media(max-width:40rem){.add-form{grid-template-columns:1fr}}@media(forced-colors:active){.btn,.chip,.icon-btn,.toggle,.meter,.setup,.summary,input{border:1px solid ButtonText}.btn.primary{background:ButtonText;color:ButtonFace}.cost,.cost.over,.over{color:CanvasText}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
