:root{--bg:#f7f7f6;--card:#fff;--raised:#f1f1ef;--side:#efefed;--text:#191a19;--text-2:#4f514f;--text-3:#6f716e;--line:#191a1917;--line-strong:#191a1929;--accent:#2e6b4f;--accent-ink:#245a42;--accent-soft:#e6efe9;--ok:#1f7a4a;--wait:#9a6a1c;--bad:#b8322f;--ok-soft:#e7f2ec;--wait-soft:#f6efe2;--bad-soft:#f8e9e8;--ease:cubic-bezier(.22, 1, .36, 1);--r-card:14px;--r-ctl:8px;--font-sans:"IBM Plex Sans", "Segoe UI", Roboto, "Helvetica Neue", Arial;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, Menlo;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;font-size:14px;line-height:20px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.num,.mono{font-family:var(--font-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums}.num{font-family:inherit}.shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--side);border-right:1px solid var(--line);flex-direction:column;gap:24px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;height:32px;padding:0 8px;display:flex}.brand-mark{background:var(--text);border-radius:6px;width:20px;height:20px;position:relative;overflow:hidden}.brand-mark:after{content:"";background:var(--accent);width:45%;position:absolute;top:0;bottom:0;left:0}.brand-name{font-size:16px;font-weight:500}.nav{flex-direction:column;gap:2px;display:flex}.nav-label{color:var(--text-3);margin:16px 0 4px;padding:0 8px;font-size:12px}.nav a{border-radius:var(--r-ctl);height:34px;color:var(--text-2);transition:background-color .15s var(--ease), color .15s var(--ease);justify-content:space-between;align-items:center;padding:0 8px;display:flex}.nav a:hover{background:var(--raised);color:var(--text)}.nav a[aria-current=page]{background:var(--card);color:var(--text);box-shadow:0 1px 2px #0000000d}.nav .count{color:var(--wait);font-size:12px}.side-foot{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:auto;padding:12px 8px 0;display:flex}.mode{color:var(--text-3);justify-content:space-between;font-size:12px;display:flex}.mode b{color:var(--text-2);font-weight:500}.side-note{color:var(--text-3);font-size:12px;line-height:16px}.main{width:100%;max-width:1360px;padding:32px 40px 64px}.page-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.page-title{letter-spacing:-.01em;font-size:28px;font-weight:500;line-height:34px}.page-sub{color:var(--text-2);max-width:640px;margin-top:4px}.grid{gap:16px;display:grid}.cols-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}.cols-2{grid-template-columns:1fr 1fr}.stack{flex-direction:column;gap:16px;display:flex}.stack-lg{flex-direction:column;gap:32px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:20px}.card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.card-title{font-size:15px;font-weight:500}.card-meta{color:var(--text-3);font-size:12px}.muted{color:var(--text-3)}.soft{color:var(--text-2)}.small{font-size:12px;line-height:16px}.right{text-align:right}.label{color:var(--text-2);font-size:13px}.link{color:var(--accent-ink);text-underline-offset:3px;-webkit-text-decoration:underline #245a424d;text-decoration:underline #245a424d}.link:hover{text-decoration-color:currentColor}.strong{font-weight:500}.tick{background:var(--text);border-radius:1px;width:2px;position:absolute;top:-4px;bottom:-4px}.tick-h{width:auto;height:2px;inset:auto -4px}.month-line{align-items:center;gap:12px;margin-top:12px;display:flex}.month-track{background:var(--line-strong);border-radius:2px;width:240px;height:4px;position:relative}.month-fill{background:var(--text-3);opacity:.5;border-radius:2px;position:absolute;top:0;bottom:0;left:0}.month-label{color:var(--text-2);font-size:13px}.card.month{padding:28px 28px 24px}.month-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:28px;display:flex}.hero-figure{letter-spacing:-.02em;margin:4px 0 2px;font-size:44px;font-weight:500;line-height:52px}.figures{gap:32px;margin:0;display:flex}.figures div{border-left:1px solid var(--line);flex-direction:column;gap:4px;padding-left:16px;display:flex}.figures dt{color:var(--text-3);font-size:12px}.figures dd{margin:0;font-size:16px;font-weight:500}.envelopes{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:20px;display:grid}.env{flex-direction:column;gap:12px;min-width:0;display:flex}.env-body{background:var(--raised);border:1px solid var(--line-strong);border-radius:10px;height:152px;position:relative}.env-fill{animation:env-in .7s var(--ease) both;transform-origin:bottom;border-radius:0 0 9px 9px;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 1px #ffffff47}.env-fill[style*="height: 100%"]{border-radius:9px}.env-flap{width:100%;height:40px;position:absolute;top:0;left:0;overflow:visible}.env-flap polyline{fill:none;stroke:#191a1938;stroke-width:1px}.env .tick-h{z-index:1}.env-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.env-amt{margin-top:2px;font-size:18px;font-weight:500;line-height:24px}.env-of{color:var(--text-3);font-size:12px;line-height:16px}.ahead,td.ahead{color:var(--wait)}.env.compact .env-body{height:96px}.env.compact .env-amt{font-size:15px;line-height:20px}.envelopes.compact{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:16px}.month-foot{color:var(--text-3);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:20px;font-size:12px;line-height:16px;display:flex}.legend-tick{align-items:center;gap:8px;display:inline-flex}.tick-swatch{background:var(--text);border-radius:1px;width:14px;height:2px}.nudge{border-top:1px solid var(--line);align-items:flex-start;gap:12px;margin-top:20px;padding-top:20px;display:flex}.nudge .dot{margin-top:6px}.nudge p+p{margin-top:4px}.card.attention{border-color:#9a6a1c47}.wait-row{align-items:flex-start}.wait-row .actions{flex-wrap:nowrap}.pot-name{align-items:center;gap:8px;font-weight:500;display:flex}.pot-purpose{color:var(--text-3);margin-left:16px;font-size:13px}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.strip{background:var(--card);border-radius:10px;gap:2px;height:48px;display:flex;overflow:hidden}.strip-seg{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:4px;animation:seg-in .5s var(--ease) both;transform-origin:0;align-items:flex-end;padding:0 8px 6px;font-size:12px;line-height:16px;display:flex;overflow:hidden}.strip-legend{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 16px;margin-top:12px;display:grid}.legend-item{align-items:baseline;gap:8px;font-size:13px;display:flex}.legend-item .dot{transform:translateY(-1px)}.legend-amt{font-variant-numeric:tabular-nums;margin-left:auto}@keyframes env-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes seg-in{0%{opacity:0;transform:scaleX(.6)}to{opacity:1;transform:scaleX(1)}}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--text-3);border-bottom:1px solid var(--line);padding:0 12px 8px 0;font-size:12px;font-weight:400}.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 12px 12px 0}.table tr:last-child td{border-bottom:0}.ledger td{vertical-align:middle}.table .amt{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table th.amt{text-align:right}.row-link{display:block}.ids{font-family:var(--font-mono), monospace;color:var(--text-3);overflow-wrap:anywhere;font-size:12px;line-height:16px}td.ids{min-width:220px}.list{flex-direction:column;display:flex}.list-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.list-row:first-child{border-top:0;padding-top:0}.tag{white-space:nowrap;background:var(--raised);color:var(--text-2);border-radius:6px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;line-height:16px;display:inline-flex}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.wait{background:var(--wait-soft);color:var(--wait)}.tag.bad{background:var(--bad-soft);color:var(--bad)}.seeded{color:var(--text-3);border:1px dashed var(--line-strong);border-radius:4px;padding:0 4px;font-size:12px}.notice{background:var(--wait-soft);color:#5f4310;border:1px solid #9a6a1c2e;border-radius:12px;padding:12px 16px}.notice.ok{background:var(--ok-soft);color:#164d31;border-color:#1f7a4a2e}.notice.bad{background:var(--bad-soft);color:#7a1f1d;border-color:#b8322f2e}.notice ul{margin:4px 0 0;padding-left:18px}.nudge{align-items:flex-start;gap:12px;display:flex}.nudge-mark{background:var(--wait);border-radius:2px;flex:none;align-self:stretch;width:4px}.empty{color:var(--text-3);padding:8px 0}.reason{color:var(--text-2);font-size:13px}.status-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.status-row{background:var(--raised);border:1px solid var(--line);transition:background-color .3s var(--ease), border-color .3s var(--ease);border-radius:12px;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 16px;display:grid}.status-row.is-waiting{background:var(--wait-soft);border-color:#9a6a1c29}.status-row.is-failed{background:var(--bad-soft);border-color:#b8322f29}.status-icon{width:20px;height:20px;animation:icon-in .3s var(--ease) both;place-items:center;margin-top:2px;display:grid}.status-main{min-width:0}.status-title{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.status-pot{font-weight:500}.status-where{color:var(--text-3);overflow-wrap:anywhere;font-size:13px}.status-detail{color:var(--text-2);margin-top:2px;font-size:13px}.status-row .ids{margin-top:4px}.status-side{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.status-amount{font-variant-numeric:tabular-nums;font-weight:500}.status-label{color:var(--text-3);white-space:nowrap;font-size:12px}.is-paid .status-label{color:var(--ok)}.is-waiting .status-label{color:var(--wait)}.is-failed .status-label{color:var(--bad)}.spin-dashes line{stroke:var(--text-3);opacity:.3;animation:.8s linear infinite dash-cycle}@keyframes icon-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes dash-cycle{0%,12.4%{opacity:1;stroke:var(--text)}12.5%,to{opacity:.3}}@media (prefers-reduced-motion:reduce){.env-fill,.strip-seg,.status-icon{animation:none}.spin-dashes line{opacity:.6;animation:none}}.field{flex-direction:column;gap:6px;display:flex}.field label,.label{color:var(--text-2);font-size:13px}.input,.select,.textarea{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-ctl);width:100%;height:36px;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:0 12px}.textarea{resize:vertical;height:auto;min-height:96px;padding:10px 12px;line-height:20px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2e6b4f26}.form-row{gap:12px;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{font:inherit;border-radius:var(--r-ctl);border:1px solid var(--line-strong);background:var(--card);height:36px;color:var(--text);cursor:pointer;white-space:nowrap;transition:background-color .15s var(--ease), border-color .15s var(--ease), transform .12s var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:500;display:inline-flex}.btn:hover{background:var(--raised)}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-ink)}.btn.quiet{color:var(--text-2);background:0 0;border-color:#0000;padding:0 8px}.btn.quiet:hover{color:var(--text);background:var(--raised)}.btn.small{height:28px;padding:0 10px;font-size:13px}.btn.lg{height:44px;padding:0 20px}.pot-editor{border-collapse:collapse;width:100%}.pot-editor th{text-align:left;color:var(--text-3);padding:0 8px 8px 0;font-size:12px;font-weight:400}.pot-editor td{vertical-align:top;padding:4px 8px 4px 0}.pot-editor .reason-cell{padding-bottom:12px}.pay-page{background:var(--bg);place-items:center;min-height:100vh;padding:48px 16px;display:grid}.invoice{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:20px;width:100%;max-width:480px;padding:36px 36px 28px;display:flex;box-shadow:0 1px 2px #191a190a,0 12px 32px #191a190f}.invoice-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.invoice-head{flex-direction:column;gap:4px;display:flex}.invoice-title{margin-top:4px;font-size:24px;font-weight:500;line-height:32px}.invoice-sub{margin-top:-12px}.stamp{font-family:var(--font-mono), monospace;color:var(--text-2);border:1px solid var(--line-strong);white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:12px;line-height:16px}.invoice-amount{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.amount-field{align-items:baseline;gap:12px;margin-top:8px;display:flex}.amount-cur{font-family:var(--font-mono), monospace;color:var(--text-3);font-size:16px}.amount-input{font:inherit;letter-spacing:-.02em;width:100%;color:var(--text);background:0 0;border:0;outline:0;padding:0;font-size:40px;font-weight:500;line-height:48px}.amount-input::placeholder{color:#191a1938}.ledger-lines{flex-direction:column;margin:8px 0 24px;display:flex}.ledger-line{border-bottom:1px solid var(--line);grid-template-columns:64px 1fr;align-items:center;height:48px;display:grid}.ledger-line label{color:var(--text-3);font-size:13px}.ledger-line input{font:inherit;color:var(--text);background:0 0;border:0;outline:0;height:100%;padding:0}.ledger-line:focus-within{border-bottom-color:var(--accent)}.btn.paypal{color:#111;background:#ffc439;border:0;border-radius:24px;width:100%;height:48px;font-size:16px}.btn.paypal:hover{background:#f2ba36}.paypal-word{color:#003087;font-weight:600}.invoice-foot{text-align:center;margin-top:12px}.fold{margin-top:16px}.fold summary{cursor:pointer;border-radius:var(--r-ctl);border:1px solid var(--line-strong);height:32px;color:var(--text-2);transition:background-color .15s var(--ease);align-items:center;gap:8px;padding:0 10px;font-size:13px;list-style:none;display:inline-flex}.fold summary::-webkit-details-marker{display:none}.fold summary:after{content:"";width:6px;height:6px;transition:transform .15s var(--ease);border-bottom:1.5px solid;border-right:1.5px solid;transform:translateY(-2px)rotate(45deg)}.fold[open] summary:after{transform:translateY(1px)rotate(-135deg)}.fold summary:hover{background:var(--raised)}.fold[open] summary{margin-bottom:12px}.grid.cols-2{align-items:start}@media (max-width:1100px){.cols-main,.cols-2{grid-template-columns:1fr}}@media (max-width:760px){.shell{grid-template-columns:1fr}.side{gap:12px;height:auto;padding:16px;position:static}.nav{flex-flow:wrap}.nav-label,.side-foot{display:none}.main{padding:24px 16px 48px}.page-head{flex-direction:column;align-items:flex-start}.figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}.figures div{padding-left:12px}.card.month{padding:20px}.ledger th:nth-child(2),.ledger td:nth-child(2),.ledger th:nth-child(5),.ledger td:nth-child(5),.pot-purpose{display:none}.card:has(.table){overflow-x:auto}.invoice{padding:24px 20px 20px}.hero-figure{font-size:36px;line-height:44px}.envelopes{grid-template-columns:repeat(2,minmax(0,1fr))}.month-track{width:160px}}
