:root{--bg:#f6f7f9;--card:#fff;--text:#1c1f24;--muted:#6b7280;--line:#e3e6ea;--accent:#2563eb;--accent-ink:#fff;--off:#9aa1ab;--good:#15803d;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}@media (prefers-color-scheme:dark){:root{--bg:#15171b;--card:#1e2127;--text:#e6e8eb;--muted:#9aa1ab;--line:#2d313a;--accent:#3b82f6;--off:#5f6671;--good:#4ade80}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input{font:inherit;color:inherit}input{background:0 0;border:1px solid #0000;border-radius:4px;width:100%;padding:3px 6px}input:hover{border-color:var(--line)}input:focus{border-color:var(--accent);background:var(--card);outline:none}input.num{text-align:right;font-variant-numeric:tabular-nums}button{background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:6px 12px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.icon{color:var(--muted);background:0 0;border:none;padding:2px 6px}button.icon:hover{color:#dc2626}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}button.add{margin:12px 0}button.add.small{margin:6px 0 0;padding:4px 10px;font-size:13px}.muted{color:var(--muted)}.app{max-width:1280px;margin:0 auto;padding:0 16px 80px}.loading{text-align:center;color:var(--muted);padding:40px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 0 10px;display:flex}.topbar h1{margin:0;font-size:20px}.subtitle{color:var(--muted);font-size:13px}.topbar-right{align-items:center;gap:12px;display:flex}.save-state{color:var(--muted);text-align:right;min-width:70px;font-size:12px}.save-saved{color:var(--good)}.save-error{color:#dc2626}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:10px 14px}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:12px 14px}.card.off{opacity:.6}.card-head{align-items:center;gap:10px;display:flex}.card-head .check input{width:18px;height:18px}.section-name{flex:1;font-size:15px;font-weight:600}.card-totals{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;line-height:1.2;display:flex}.card-totals .muted{font-size:12px}input.note{width:calc(100% - 28px);color:var(--muted);margin:6px 0 8px 28px;font-size:13px}input.note:focus{color:var(--text)}table.items{border-collapse:collapse;width:100%}table.items th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:4px;font-size:12px;font-weight:500}table.items td{border-bottom:1px solid var(--line);vertical-align:middle;padding:2px}table.items tr:last-child td{border-bottom:none}table.items tr.off td{color:var(--off)}table.items tr.off input{color:var(--off);text-decoration:line-through}table.items tr.off td.c-check input,table.items tr.off td.c-note input{text-decoration:none}.c-check{text-align:center;width:36px}.c-check input{width:16px;height:16px}.c-num{text-align:right;font-variant-numeric:tabular-nums;width:92px}.c-finish{width:170px}.c-note{width:180px}.c-del{width:30px}.c-name{min-width:260px}.summary-table{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%;overflow:hidden}.summary-table th,.summary-table td{border-bottom:1px solid var(--line);text-align:left;padding:8px 12px}.summary-table th{color:var(--muted);font-size:12px;font-weight:500}.summary-table tr.off td{color:var(--off)}.summary-table tfoot td{background:color-mix(in srgb, var(--card) 85%, var(--bg))}.summary-table tr.subtotal td,.summary-table tr.grand td{font-weight:600}.summary-table tr.grand td{border-top:2px solid var(--line);font-size:15px}.summary-table tfoot input.num{width:90px;display:inline-block}.summary-table tfoot td.c-num input.num{width:100%}.notes{color:var(--muted);max-width:900px;margin-top:16px;font-size:13px}.terms section{background:var(--card);border:1px solid var(--line);border-radius:10px;max-width:900px;margin-bottom:12px;padding:12px 16px}.terms h3{margin:0 0 6px;font-size:14px}.terms p{margin:4px 0}.footer{background:var(--card);border-top:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:28px;padding:10px 24px;display:flex;position:fixed;bottom:0;left:0;right:0}.footer .grand{font-size:16px}.footer .grand strong{color:var(--accent)}.toast{background:var(--text);color:var(--bg);border-radius:8px;padding:8px 16px;font-size:13px;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.modal-backdrop{background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:12px;width:480px;max-width:calc(100vw - 32px);padding:20px 22px}.modal h2{margin:0 0 12px;font-size:17px}.radio{cursor:pointer;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.radio input{width:16px;height:16px;margin-top:3px}.radio .muted{font-size:13px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}input.token{border:1px solid var(--line);margin:8px 0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.error{color:#dc2626;margin:4px 0;font-size:13px}
