:root{--bg: #f6f7f5;--surface: #ffffff;--text: #1c2321;--muted: #66716d;--border: #dde2df;--accent: #0f766e;--accent-text: #ffffff;--accent-soft: #d7efeb;--error: #b42318;--error-soft: #fdecea;--warn: #8a5a00;--warn-soft: #fff4d6;--ok: #15803d;--radius: 10px;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}@media(prefers-color-scheme:dark){:root{--bg: #121615;--surface: #1b211f;--text: #e6ebe9;--muted: #93a09b;--border: #2e3734;--accent: #2bb5a6;--accent-text: #08201d;--accent-soft: #163a36;--error: #ff8a80;--error-soft: #3a1d1b;--warn: #f3c969;--warn-soft: #3a2f14;--ok: #4ade80;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}h1,h2{margin:0}h2{font-size:1.05rem;margin-top:.5rem}.page{max-width:720px;margin:0 auto;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 48px max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:16px}button,.button{font:inherit;padding:.55rem .95rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-decoration:none;text-align:center;touch-action:manipulation}button:hover:not(:disabled),.button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.big,.button.big{display:block;padding:.9rem;font-size:1.1rem}button.link{border:none;background:none;color:var(--accent);padding:.25rem 0}button.icon{width:2.25rem;height:2.25rem;padding:0;flex:none;color:var(--muted);font-size:1.3rem;line-height:1}.small-btn{padding:.35rem .7rem;font-size:.9rem;white-space:nowrap}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .65rem;min-width:0;width:100%}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{width:auto;accent-color:var(--accent);transform:scale(1.2);margin-right:.4rem}textarea{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:16px;resize:vertical;margin:.5rem 0}.money{text-align:right;font-variant-numeric:tabular-nums;width:7.5rem}.row{display:flex;gap:8px;align-items:center}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.row.center,.center{justify-content:center;text-align:center}.row.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:.85rem}.ok{color:var(--ok);margin:0}.amount{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px}.card.row{flex-direction:row}details.card summary{cursor:pointer;color:var(--muted)}.topbar{display:flex;align-items:center;gap:8px}.brand{display:flex;align-items:center;gap:8px;font-size:1.4rem}.back{font-size:1.4rem;color:var(--text);text-decoration:none;padding:0 4px}.title-input{flex:1;font-weight:600;font-size:1.1rem;border-color:transparent;background:transparent}.title-input:hover{border-color:var(--border)}.topbar .actions{display:flex;gap:8px;margin-left:auto}@media(max-width:480px){.topbar{flex-wrap:wrap}.title-input{order:3;flex-basis:100%;padding-inline:4px}}.stepper{display:flex;gap:4px;overflow-x:auto}.stepper button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:.45rem .4rem;font-size:.9rem;border-radius:999px;white-space:nowrap}.stepper .step-num{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--border);font-size:.75rem}.stepper .done .step-num{background:var(--accent-soft);color:var(--accent)}.stepper .active{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.stepper .active .step-num{background:var(--accent);color:var(--accent-text)}@media(max-width:480px){.stepper button:not(.active) .step-label{display:none}.stepper button.active{flex:2.5}}.badge{background:var(--error);color:#fff;border-radius:999px;font-size:.7rem;padding:0 .4rem}.step{display:flex;flex-direction:column;gap:12px}.nav-footer{position:sticky;bottom:0;z-index:5;border-top:1px solid var(--border);background:var(--bg);padding:12px 0 max(12px,env(safe-area-inset-bottom));margin-bottom:-48px}.dropzone{border:2px dashed var(--border);border-radius:14px;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;background:var(--surface)}.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft)}.dropzone p{margin:0}.photo{position:relative;max-width:100%;line-height:0;-webkit-user-select:none;user-select:none}.photo img{max-width:100%;max-height:420px;border-radius:8px}.photo.adjusting{cursor:crosshair;touch-action:none}.crop-box{position:absolute;border:2px solid var(--accent);border-radius:4px;box-shadow:0 0 0 9999px #00000073;pointer-events:none}.photo{overflow:hidden;border-radius:8px}.progress{position:relative;width:100%;height:1.8rem;border-radius:999px;background:var(--bg);overflow:hidden;display:grid;place-items:center;font-size:.85rem}.progress-bar{position:absolute;inset:0 auto 0 0;background:var(--accent-soft);transition:width .2s}.progress span{position:relative}.progress.indeterminate .progress-bar{width:35%;animation:sweep 1.2s ease-in-out infinite}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(290%)}}@media(prefers-reduced-motion:reduce){.progress.indeterminate .progress-bar{animation:none;width:100%}}.field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted)}.field input,.field select{color:var(--text);font-size:1rem}.field.inline{flex-direction:row;align-items:center;gap:8px}.field.inline select{width:auto}.grid-fields{display:grid;grid-template-columns:1fr 9rem 5rem;gap:8px}@media(max-width:520px){.grid-fields{grid-template-columns:1fr 5rem}.grid-fields .field:first-child{grid-column:1 / -1}}.items{display:flex;flex-direction:column;gap:6px}.item-row{display:grid;grid-template-columns:1fr 3.5rem 6.5rem 2.25rem;gap:6px;align-items:center}.item-row .money{width:100%}.item-row .qty{text-align:center;padding-inline:.3rem}.item-row label{display:flex;align-items:center;gap:6px;min-width:0}.mobile-label{display:none}.item-row.head{font-size:.8rem;color:var(--muted)}@media(max-width:480px){.item-row.head{display:none}.item-row{grid-template-columns:6.5rem 1fr 2.25rem;grid-template-areas:"name name name" "qty price remove";background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px}.item-name-input{grid-area:name}.item-qty{grid-area:qty}.item-price{grid-area:price}.item-remove{grid-area:remove}.mobile-label{display:inline;font-size:.8rem;color:var(--muted)}}.add{border-style:dashed}.people,.choices,.transfers,.receipt-list,.issues{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.person{display:flex;align-items:center;gap:8px}.segmented{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.segmented button{flex:1;border:none;border-radius:0;white-space:nowrap;padding-inline:.4rem}.segmented button+button{border-left:1px solid var(--border)}.segmented .active{background:var(--accent);color:var(--accent-text);font-weight:600}.assign{display:flex;flex-direction:column;gap:8px}.assign-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.assign-item.unassigned{border-left:4px solid var(--error)}.item-name{font-weight:500}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border-radius:999px;padding:.3rem .8rem;font-size:.9rem}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.chip.ghost{border-style:dashed;color:var(--muted)}.choices li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}.choices label{cursor:pointer}.weight{width:5rem;text-align:right}.pct{width:3.2rem;text-align:right}.issue{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:var(--radius);margin:0}.issue-error{background:var(--error-soft);color:var(--error)}.issue-warning{background:var(--warn-soft);color:var(--warn)}.issue-icon{flex:none;display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:50%;border:1.5px solid currentColor;font-size:.75rem;font-weight:700;margin-top:.1rem}.summary{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;font-variant-numeric:tabular-nums}.summary th,.summary td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--border)}.summary th:first-child,.summary td:first-child{text-align:left}.summary th{font-size:.8rem;color:var(--muted);font-weight:500}.summary tfoot td{font-weight:600;border-bottom:none}.pos{color:var(--ok)}.neg{color:var(--error)}.transfers li{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.transfers .arrow{color:var(--muted);font-size:.85rem}.transfers .amount{margin-left:auto}.auth-page{max-width:420px;padding-top:max(12vh,env(safe-area-inset-top));text-align:center}.auth-page .brand{justify-content:center;font-size:2rem}.auth-page .step{text-align:left}.auth-page p{margin:0}.account{display:flex;flex-direction:column;gap:8px}.account .card p{margin:0}.receipt-list li{display:flex;align-items:center;gap:6px}.receipt-link{flex:1;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;text-decoration:none}.receipt-link>span:first-child{display:flex;flex-direction:column}.receipt-link:hover{border-color:var(--accent)}
