:root{--paper:#f4efe4;--card:#fffdf7;--ink:#1e1c17;--muted:#5a5547;--edge:#7a735f;--rule:#d8d0bd;--accent:#0b5d4f;--accent-ink:#fff;--accent-soft:#d6ebe4;--warn-bg:#fff0c2;--warn-ink:#5a3900;--warn-edge:#a56d00;--bad-bg:#fde3dc;--bad-ink:#861a06;--bad-edge:#b3361d;--ok-bg:#d9efe0;--ok-ink:#0c4727;--ok-edge:#2f7a4f;--info-bg:#e5e9ef;--info-ink:#27384d;--info-edge:#55708f;--radius:10px;--gap:12px;--bar-h:168px;--mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-padding-bottom:calc(var(--bar-h) + 16px);-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);padding-bottom:env(safe-area-inset-bottom);margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}h1{letter-spacing:-.01em;margin:4px 0 0;font-size:1.5rem;line-height:1.2}h1:focus{outline:none}h2{margin:24px 0 8px;font-size:1.05rem}p{margin:0}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 5px var(--paper)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.plain{margin:0;padding:0;list-style:none}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.mono{font-family:var(--mono)}.grow{flex:1;min-width:0}.icon{flex:none}.top{justify-content:space-between;align-items:center;gap:var(--gap);border-bottom:2px dashed var(--rule);flex-wrap:wrap;padding:12px 16px 8px;display:flex}.brand{letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:800}.steps{color:var(--muted);gap:14px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.steps li{align-items:center;gap:5px;display:flex}.steps-n{border:1.5px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.75rem;display:inline-grid}.steps .now{color:var(--ink);font-weight:700}.steps .now .steps-n{background:var(--ink);color:var(--paper)}.steps .done .steps-n{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.page{gap:var(--gap);flex-direction:column;flex:1;padding:12px 16px 32px;display:flex}.page>section{gap:var(--gap);flex-direction:column;display:flex}.page>section>h2{margin-bottom:0}.bar{background:var(--card);border-top:2px solid var(--ink);padding:10px 16px calc(10px + env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex;position:sticky;bottom:0}.stack{gap:var(--gap);flex-direction:column;display:flex}.row{gap:var(--gap);display:flex}.row>*{flex:1;min-width:0}.lede,.hint{color:var(--muted);font-size:.92rem}.hint-warn{color:var(--warn-ink);font-weight:600}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{color:var(--muted);font-size:.82rem;font-weight:600}.input{width:100%;min-height:44px;font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--edge);border-radius:8px;padding:8px 10px}.input[aria-invalid=true]{border-color:var(--bad-edge);border-width:2.5px}textarea.input{resize:vertical;min-height:80px}select.input{appearance:auto}.btn{min-height:44px;font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--ink);cursor:pointer;text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-weight:650;display:inline-flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.big{min-height:52px;font-size:1.05rem}.btn.quiet{text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline}.btn.small{min-height:36px;padding:4px 10px;font-size:.9rem}.btn.danger{background:var(--bad-ink);border-color:var(--bad-ink);color:#fff}.btn:disabled{cursor:not-allowed;color:#5f5a4b;background:#e4dfd2;border-color:#bdb6a3;text-decoration:none}.back{align-self:flex-start;margin-left:-10px}.icon-btn{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-btn.small{width:32px;height:32px}.icon-btn:hover{border-color:var(--edge)}.banner{border-radius:var(--radius);border:1.5px solid;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.92rem;display:flex}.banner .icon{margin-top:2px}.banner-body{flex-direction:column;gap:4px;min-width:0;display:flex}.banner-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.banner-warn{background:var(--warn-bg);color:var(--warn-ink);border-color:var(--warn-edge)}.banner-bad{background:var(--bad-bg);color:var(--bad-ink);border-color:var(--bad-edge)}.banner-ok{background:var(--ok-bg);color:var(--ok-ink);border-color:var(--ok-edge)}.banner-info{background:var(--info-bg);color:var(--info-ink);border-color:var(--info-edge)}.bar .banner{padding:6px 10px}.empty{text-align:center;color:var(--muted);border:2px dashed var(--rule);border-radius:var(--radius);flex-direction:column;align-items:center;gap:8px;padding:20px 12px;display:flex}.loading{color:var(--muted);align-items:center;gap:10px;display:flex}.reading{text-align:center;background:var(--card);border:2px dashed var(--rule);border-radius:var(--radius);flex-direction:column;align-items:center;gap:16px;padding:48px 12px;display:flex}.spinner{border:3px solid var(--rule);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.9s linear infinite spin}.spinner.big{border-width:5px;width:40px;height:40px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.lines{gap:var(--gap);flex-direction:column;display:flex}.line{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);grid-template-columns:4.2rem 1fr 44px;grid-template-areas:"name name name""qty price remove""adj adj adj";align-items:end;gap:8px;padding:10px;display:grid}.line-name{grid-area:name}.line-qty{grid-area:qty}.line-price{grid-area:price}.line>.icon-btn{grid-area:remove}.line>.adjustments{grid-area:adj}.adjustments{flex-direction:column;display:flex}.adjustment{color:var(--muted);align-items:center;gap:10px;padding:2px 0;font-size:.9rem;display:flex}.adjustment>:first-child{flex:1}.danger-zone{border-top:2px dashed var(--rule);margin-top:16px;padding-top:12px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:44px;font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--edge);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 8px;font-weight:650;display:inline-flex}.chip .icon{margin:0 2px}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.on-receipt{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 8px;display:flex}.people-edit{border:1.5px solid var(--edge);border-radius:var(--radius);background:var(--card);margin:0 0 12px;padding:8px 12px}.people-edit legend{padding:0 4px;font-weight:650}.check{align-items:center;gap:10px;min-height:40px;display:flex}.check input{width:24px;height:24px;accent-color:var(--accent);flex:none;margin:0}.chip-tag{opacity:.85;font-size:.75rem;font-weight:600}.initials{letter-spacing:.02em;min-width:26px;height:26px;color:var(--ink);background:var(--accent-soft);border:1.5px solid var(--accent);border-radius:7px;place-items:center;padding:0 4px;font-size:.75rem;font-weight:800;display:inline-grid}.assign-list{flex-direction:column;gap:8px;display:flex}.assign-item{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.item{width:100%;min-height:56px;font:inherit;text-align:left;color:var(--ink);background:var(--card);border:1.5px solid var(--rule);border-left:6px solid var(--rule);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.item.assigned{border-color:var(--accent);background:#f1f8f5;border-left-width:6px}.item-main{justify-content:space-between;gap:12px;display:flex}.item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:650;overflow:hidden}.item-price{flex:none}.item-who{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.item-sub{color:var(--muted);font-size:.82rem}.tags{flex-wrap:wrap;gap:4px;display:inline-flex}.everyone{color:var(--muted);border:1.5px dashed var(--edge);border-radius:7px;padding:0 8px;font-size:.82rem}.units{background:var(--card);border:1.5px solid var(--rule);border-radius:var(--radius);flex-direction:column;gap:6px;width:100%;padding:10px 12px;display:flex}.units-head{justify-content:space-between;gap:12px;font-weight:650;display:flex}.units ul{flex-direction:column;gap:6px;display:flex}.units .item{min-height:48px}.send-line{justify-content:space-between;align-items:baseline;display:flex}.amounts-list{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:4px 12px}.amounts-list li{border-bottom:1px dotted var(--edge);align-items:center;gap:10px;padding:8px 0;display:flex}.amounts-list li:last-child{border-bottom:0}.amounts-list .zero{color:var(--muted)}.amounts-list .total{border-top:2px solid var(--ink);border-bottom:0;font-weight:800}.amounts-list:not(:has(.initials)) li>span:first-child{flex:1}.more{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:0 12px}.more summary{cursor:pointer;align-items:center;min-height:44px;font-weight:650;display:flex}.more[open]{padding-bottom:12px}a{color:var(--accent);text-underline-offset:3px}a.btn{text-decoration:none}a.btn.quiet{text-decoration:underline}a.btn.back{color:var(--ink)}.bullets{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}
