:root{--bg:#f6f7f9;--surface:#fff;--text:#1c2430;--muted:#5b6776;--border:#d9dee5;--accent:#1f3a5f;--accent-contrast:#fff;--danger:#b42318;--warn:#9a6700;--ok:#1a7f37;--radius:8px;--gutter:16px;--lightningcss-light:initial;--lightningcss-dark: ;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:not([data-theme=light]){--bg:#11151b;--surface:#1a2029;--text:#e6eaf0;--muted:#9aa5b3;--border:#2d3643;--accent:#8db4e2;--accent-contrast:#0d1520;--danger:#ff8b80;--warn:#e3b341;--ok:#56d364;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1{margin:0 0 12px;font-size:1.4rem}h2{margin:0 0 8px;font-size:1.1rem}a{color:var(--accent)}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{padding:10px var(--gutter);background:var(--surface);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:16px;display:flex;position:sticky;top:0}.brand{font-weight:600}.sidenav{flex:1;gap:4px;display:flex;overflow-x:auto}.sidenav a,.bottomnav a{color:var(--muted);border-radius:var(--radius);white-space:nowrap;padding:6px 10px;text-decoration:none}.sidenav a.active,.bottomnav a.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.page{padding:var(--gutter);flex:1;width:100%;max-width:1100px;margin:0 auto}.bottomnav{display:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.facts{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0 0 8px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.muted{color:var(--muted)}.error{color:var(--danger)}button,.button{font:inherit;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);cursor:pointer;min-height:40px;padding:8px 14px}button.secondary{color:var(--accent);background:0 0}button.danger{background:var(--danger);border-color:var(--danger)}button.link{color:var(--accent);background:0 0;border:none;min-height:0;padding:0}button:disabled{opacity:.5;cursor:not-allowed}@media (width<=720px){.sidenav{display:none}.topbar{justify-content:space-between}.page{padding-bottom:80px}.bottomnav{background:var(--surface);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav a{text-align:center;flex:1;padding:10px 4px;font-size:.85rem}}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.dim{opacity:.6}.badge{border:1px solid var(--accent);color:var(--accent);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.75rem;display:inline-block}.badge.muted{border-color:var(--border);color:var(--muted)}.badge.warn{border-color:var(--warn);color:var(--warn)}.badge.danger{border-color:var(--danger);color:var(--danger)}.badge.ok{border-color:var(--ok);color:var(--ok)}.notice{border-left:3px solid var(--warn);background:color-mix(in srgb, var(--warn) 10%, transparent);margin:0;padding:6px 10px}.form{flex-direction:column;gap:12px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.9rem;display:flex}.form label.check{color:var(--text);flex-direction:row;align-items:center;gap:8px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:40px;padding:8px 10px}input[type=checkbox]{width:auto;min-height:0}textarea{min-height:0}.grid2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}label.inline{color:var(--muted);align-items:center;gap:6px;font-size:.9rem;display:inline-flex}label.inline input{width:auto}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.filters input[type=search]{flex:200px;width:auto}.filters select{width:auto}.crumbs{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 8px;display:flex}.card.tile.folder{cursor:pointer}.movebar{margin-top:8px}.movebar select{width:auto;max-width:100%}.tabs{border-bottom:1px solid var(--border);gap:4px;margin:12px 0;display:flex;overflow-x:auto}.tab{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:8px 12px}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.table th{color:var(--muted);font-size:.8rem;font-weight:600}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table tfoot td{font-weight:600}@media (width<=720px){.table,.table tbody,.table tr,.table td{width:100%;display:block}.table thead{display:none}.table tr{border-bottom:1px solid var(--border);padding:8px 0}.table td{border:none;padding:2px 10px}.table td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-size:.8rem}.table td.num{text-align:left}}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.money.negative{color:var(--danger)}.ok{color:var(--ok)}.warn{color:var(--warn)}a.button{align-items:center;text-decoration:none;display:inline-flex}a.button.secondary,.button.secondary{color:var(--accent);background:0 0}h1 .badge{vertical-align:middle;font-size:.8rem}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.snap{cursor:pointer}.snap .button{justify-content:center;width:100%}fieldset.plain{border:none;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}fieldset.plain legend{color:var(--muted);margin-bottom:4px;font-size:.9rem}input[type=radio]{width:auto;min-height:0}.moresheet{display:none}@media (width<=720px){.bottomnav .more{color:var(--muted);border-radius:var(--radius);background:0 0;border:none;flex:1;min-height:0;padding:10px 4px;font-size:.85rem}.bottomnav .more.active{color:var(--accent)}.moresheet{left:0;right:0;bottom:calc(52px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);z-index:20;flex-direction:column;display:flex;position:fixed;box-shadow:0 -4px 16px #00000014}.moresheet a{padding:14px var(--gutter);color:var(--text);border-bottom:1px solid var(--border);text-decoration:none}.moresheet a.active{color:var(--accent)}}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:12px;display:grid}.card.tile{text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);min-height:0;font:inherit;flex-direction:column;gap:4px;display:flex}.card.tile.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.suggestions{flex-direction:column;gap:6px;margin:8px 0;display:flex}.suggestion{border-top:1px solid var(--border);padding-top:6px}.big{font-size:1.8rem;font-weight:600;line-height:1.1}a.card.tile{text-decoration:none}tr.section td{background:color-mix(in srgb, var(--accent) 6%, transparent)}.cards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.cards>.card{margin-bottom:0}.card.tile .badge{align-self:flex-start;margin-left:0}.notice{margin-bottom:12px}.table td[data-label]:empty:before{display:none}@media (width<=720px){.table.keep{display:table}.table.keep tbody{display:table-row-group}.table.keep tfoot{display:table-footer-group}.table.keep tr{padding:0;display:table-row}.table.keep td{border-bottom:1px solid var(--border);width:auto;padding:6px 8px;display:table-cell}.table.keep td[data-label]:before{display:none}.table.keep td.num{text-align:right}}.badge{white-space:nowrap}.card .row+.form{margin-top:12px}.receipt-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.receipt-preview iframe{border:0;width:100%;height:70vh;min-height:420px;display:block}.receipt-preview.image{text-align:center;padding:8px}.receipt-preview img{object-fit:contain;max-width:100%;max-height:70vh}
