:root{--page: #f7f3ee;--card: #ffffff;--raised: #fbf8f4;--ink: #1c1917;--ink-2: #57504a;--muted: #7a6a5e;--line: #ebe4dc;--grid: #f1ebe4;--head: #f6f0e9;--hover: #fdebdb;--orange: #e86e1c;--orange-text: #b4501a;--bubble: #fdebdb;--income: #0db857;--income-text: #08803c;--expense: #f53d47;--expense-text: #c4232c;--warning: #f2b705;--warning-text: #8a6500;--s1: #2e91db;--s2: #e86e1c;--s3: #009480;--s4: #f2b705;--q1: #9ccaef;--q2: #2e91db;--q3: #155f99;--shadow: 0 1px 2px rgba(28, 25, 23, .05), 0 8px 24px rgba(28, 25, 23, .05);--radius: 22px;--f-title: ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;--f-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", sans-serif;color-scheme:light}@media (prefers-color-scheme: dark){:root{--page: #0f0d0c;--card: #1c1917;--raised: #23201d;--ink: #f6ebdd;--ink-2: #cdbfb1;--muted: #9c8c80;--line: #2e2925;--grid: #26221f;--head: #24201d;--hover: #33241a;--orange-text: #ffa153;--bubble: #33241a;--income-text: #2fd27a;--expense-text: #ff6b72;--warning-text: #f2b705;--q1: #155f99;--q2: #2e91db;--q3: #9ccaef;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--page);color:var(--ink);font:400 15px/1.45 var(--f-body);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.note{font-size:12.5px;color:var(--muted)}.up{color:var(--income-text)}.down{color:var(--expense-text)}.wrap{max-width:1200px;margin:0 auto;padding:12px 16px 56px;display:grid;gap:16px}header.top{display:flex;align-items:center;gap:12px;padding-top:8px}header.top .brand{display:flex;align-items:center;gap:4px}header.top h1{font:700 26px var(--f-title);margin:0;letter-spacing:-.01em}header.top .meta{font-size:12.5px;color:var(--muted);margin-left:auto;text-align:right}.profile{display:flex;align-items:center;gap:8px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--bubble);color:var(--orange-text);display:grid;place-items:center;font:700 15px var(--f-title)}.link{background:none;border:0;padding:4px 6px;color:var(--orange-text);cursor:pointer;font-weight:600;font-size:13.5px}.link:focus-visible,.tabs button:focus-visible,.apple:focus-visible,.exp:focus-visible{outline:2px solid var(--orange);outline-offset:2px}nav.tabs{display:flex;gap:6px;overflow-x:auto;position:sticky;top:0;z-index:10;background:var(--page);padding:8px 0;scrollbar-width:none}nav.tabs button{border:0;background:var(--card);box-shadow:var(--shadow);border-radius:99px;padding:8px 16px;font-weight:600;font-size:14.5px;color:var(--ink-2);cursor:pointer;white-space:nowrap}nav.tabs button[aria-selected=true]{background:var(--ink);color:var(--page)}section.sheet{display:grid;gap:16px}.card{background:var(--card);border-radius:var(--radius);padding:18px;display:grid;gap:12px;min-width:0;align-content:start;box-shadow:var(--shadow)}.card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px}.card h2{font:700 18px var(--f-title);margin:0}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.xl{overflow:auto;max-height:560px;border:1px solid var(--line);border-radius:12px}.xl.short{max-height:none}.xl table{border-collapse:separate;border-spacing:0;font-size:13px;font-variant-numeric:tabular-nums;width:max-content;min-width:100%}.xl th,.xl td{padding:6px 10px;border-bottom:1px solid var(--grid);white-space:nowrap}.xl th{position:sticky;top:0;z-index:2;background:var(--head);font-weight:600;font-size:12px;color:var(--ink-2);text-align:left}.xl td.n,.xl th.n{text-align:right}.xl td:first-child,.xl th:first-child{position:sticky;left:0;background:var(--card);z-index:1}.xl th:first-child{z-index:3;background:var(--head)}.xl tr.now td{background:var(--bubble);font-style:italic}.xl tr.total td{font-weight:700;background:var(--head)}.xl tbody tr:hover td{background:var(--hover)}.xl tr.detail td{position:static;background:var(--raised);white-space:normal;padding:14px}.xl tr.detail td>*+*{margin-top:10px}.xl tr.detail:hover td{background:var(--raised)}.exp{all:unset;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.exp .caret{display:inline-block;transition:transform .15s;color:var(--muted)}.exp[aria-expanded=true] .caret{transform:rotate(90deg)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.tile{background:var(--card);border-radius:18px;padding:14px 16px;display:grid;gap:2px;min-width:0;box-shadow:var(--shadow)}.label{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.tile .v{font:700 22px var(--f-title);font-variant-numeric:tabular-nums}.tile .s{font-size:12.5px;color:var(--ink-2);overflow-wrap:anywhere}.kv{display:grid;grid-template-columns:max-content max-content;border:1px solid var(--line);border-radius:12px;overflow:hidden;width:fit-content;max-width:100%}.kv div{padding:7px 14px;border-bottom:1px solid var(--grid);font-size:14px}.kv div:nth-child(odd){background:var(--head);font-weight:600}.kv div:nth-child(2n){text-align:right;font-variant-numeric:tabular-nums}.kv div:nth-last-child(-n+2){border-bottom:0}.pill{display:inline-block;font-weight:600;font-size:11.5px;padding:1px 8px;border-radius:99px;border:1px solid currentColor}.pill.ok{color:var(--income-text)}.pill.wait{color:var(--warning-text)}.pill.bad{color:var(--expense-text)}.alloc{display:grid;gap:12px}.arow{display:grid;grid-template-columns:minmax(120px,170px) 1fr auto;gap:10px;align-items:center}.arow .name{display:flex;align-items:center;gap:8px;font-size:14px}.sw{width:10px;height:10px;border-radius:3px;flex:none;display:inline-block}.abar{position:relative;height:12px;background:var(--grid);border-radius:6px}.abar .val{position:absolute;inset:0 auto 0 0;border-radius:6px}.abar .band{position:absolute;top:-3px;bottom:-3px;border:1.5px dashed var(--muted);border-radius:6px}.arow .pct{font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.goal-big{font:800 clamp(30px,6vw,46px)/1.05 var(--f-title);font-variant-numeric:tabular-nums}.goal-big small{font:600 .4em var(--f-body);color:var(--muted);margin-left:8px}.ruler{position:relative;height:42px}.ruler .track{position:absolute;inset:10px 0 auto 0;height:12px;border-radius:6px;background:var(--bubble);overflow:hidden}.ruler .fill{height:100%;background:var(--orange);border-radius:6px}.ruler .tick{position:absolute;top:6px;width:1px;height:20px;background:var(--line)}.ruler .tlab{position:absolute;top:27px;transform:translate(-50%);font-size:11px;color:var(--muted)}.ruler .tlab.start{transform:none}.ruler .tlab.end{transform:translate(-100%)}.stats{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13.5px;color:var(--ink-2)}.stats b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.chart{position:relative;height:280px}.chart.short{height:220px}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--ink-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.divchips{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}details.card>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px}details.card>summary::-webkit-details-marker{display:none}details.card>summary h2:before{content:"▸ ";color:var(--muted)}details.card[open]>summary h2:before{content:"▾ "}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;background:var(--raised);border-radius:16px;padding:14px}.form label{display:grid;gap:4px;font-size:12.5px;color:var(--ink-2);font-weight:600}.form input{font:500 15px var(--f-body);font-variant-numeric:tabular-nums;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);width:100%}.form input:focus-visible{outline:2px solid var(--orange);outline-offset:1px}.form-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.form-actions>span{margin-right:auto;font-size:13px}.primary{border:0;border-radius:99px;background:var(--orange);color:#fff;font-weight:600;padding:10px 18px;cursor:pointer}.primary[disabled]{opacity:.5;cursor:default}.secondary.small{width:auto;min-height:0;padding:9px 16px}.center{min-height:80vh;display:grid;place-items:center;padding:24px 16px}.hello{background:var(--card);border-radius:28px;padding:28px 24px;display:grid;gap:14px;justify-items:center;text-align:center;max-width:420px;width:100%;box-shadow:var(--shadow)}.hello h1{font:800 30px var(--f-title);margin:0}.hello p{margin:0;color:var(--ink-2)}.bubble{background:var(--bubble);border-radius:18px;padding:10px 14px;font-weight:600}.apple{width:100%;min-height:52px;border:0;border-radius:99px;background:var(--ink);color:var(--page);font-weight:600;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.apple[disabled]{opacity:.45;cursor:default}.secondary{background:none;border:1px solid var(--line);border-radius:99px;min-height:44px;width:100%;cursor:pointer;font-weight:600;color:var(--orange-text)}.consent{text-align:left;display:grid;gap:8px;font-size:14.5px}.consent p,.consent ul{margin:0}.consent ul{padding-left:18px;display:grid;gap:6px}.consent-actions{display:grid;gap:8px;width:100%}.primary.wide{min-height:52px;font-size:16px}@media (max-width: 560px){.arow{grid-template-columns:1fr auto}.arow .abar{grid-column:1 / -1;grid-row:2}.xl{max-height:460px}header.top .meta{display:none}}
