@charset "UTF-8";@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-vietnamese-wght-normal-S2S5QD6B.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-latin-ext-wght-normal-EMW626ZA.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/bricolage-grotesque-latin-wght-normal-HY2A4V5R.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url("./media/instrument-sans-latin-ext-wght-normal-PW4SIJGR.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url("./media/instrument-sans-latin-wght-normal-VYC4K7BH.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--paper: #f1f5f3;--surface: #fbfdfc;--ink: #0e2a2d;--ink-2: #48605f;--muted: #5f7477;--line: #d5dfdc;--line-strong: #b9c8c4;--brand: #0f5c5e;--brand-ink: #ffffff;--brand-soft: #dcebe8;--dawn: #d99a1e;--dawn-soft: #fbefd2;--pos: #1b6b3a;--neg: #b3312f;--warn: #8a5a00;--series-1: #2a78d6;--series-2: #eb6834;--area: rgba(15, 92, 94, .1);--font-display: "Bricolage Grotesque Variable", "Instrument Sans Variable", system-ui, sans-serif;--font-body: "Instrument Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 10px;--rail: 15rem}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #0b1517;--surface: #111e21;--ink: #e8f0ee;--ink-2: #a9bdbf;--muted: #8aa1a4;--line: #23373a;--line-strong: #345054;--brand: #46c2bd;--brand-ink: #04211f;--brand-soft: #16302f;--dawn: #f0b542;--dawn-soft: #3a2d10;--pos: #4cc28a;--neg: #f27b78;--warn: #e2a93a;--series-1: #3987e5;--series-2: #d95926;--area: rgba(70, 194, 189, .12)}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:0;text-wrap:balance}h1{font-size:clamp(1.75rem,3vw,2.25rem)}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0}a{color:var(--brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.pos{color:var(--pos)}.neg{color:var(--neg)}.page{display:grid;gap:2.5rem}.page-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem}.page-head p{color:var(--ink-2);max-width:46ch;margin-top:.35rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.section{display:grid;gap:1rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.section-head .hint{color:var(--muted);font-size:.9rem}.split{display:grid;gap:2.5rem;grid-template-columns:1fr}@media(min-width:60rem){.split{grid-template-columns:1fr 1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1.05rem;border:1px solid transparent;border-radius:999px;background:var(--brand);color:var(--brand-ink);font:600 .95rem/1.2 var(--font-body);cursor:pointer;text-decoration:none;transition:filter .12s,background-color .12s}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn.secondary:hover{background:var(--brand-soft);filter:none}.btn.quiet{background:transparent;color:var(--ink-2);padding:.4rem .6rem}.btn.quiet:hover{background:var(--brand-soft);color:var(--ink);filter:none}.btn.danger{background:transparent;color:var(--neg);border-color:var(--line-strong)}.btn.small{padding:.35rem .75rem;font-size:.85rem}.btn.icon{padding:.45rem;border-radius:8px}.field{display:grid;gap:.3rem;font-size:.9rem;color:var(--ink-2);min-width:0}.field>span{font-weight:500}input,select,textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font:400 1rem var(--font-body)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand)}input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--brand);padding:0}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.check{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--ink)}.error-text{color:var(--neg);font-size:.9rem}.segmented{display:inline-flex;justify-self:start;border:1px solid var(--line-strong);border-radius:999px;padding:2px;gap:2px}.segmented button{border:0;background:transparent;color:var(--ink-2);font:500 .9rem var(--font-body);padding:.35rem .9rem;border-radius:999px;cursor:pointer}.segmented button[aria-pressed=true]{background:var(--brand);color:var(--brand-ink)}.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.row{display:grid;align-items:center;gap:.25rem 1rem;padding:.8rem .25rem;border-bottom:1px solid var(--line);grid-template-columns:1fr auto}.row .title{font-weight:500;overflow-wrap:anywhere}.row .meta{color:var(--muted);font-size:.875rem}.row .amount{font:600 1.05rem var(--font-display);text-align:right}.row .tools{display:flex;gap:.15rem;justify-content:flex-end}.dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.45rem;background:var(--c, var(--muted))}.empty{padding:2rem 0;color:var(--ink-2);display:grid;gap:.75rem;justify-items:start;max-width:42ch}.empty h3{color:var(--ink)}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--brand-soft);color:var(--ink)}.pill.ok{background:color-mix(in srgb,var(--pos) 16%,transparent);color:var(--pos)}.pill.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.pill.bad{background:color-mix(in srgb,var(--neg) 16%,transparent);color:var(--neg)}.meter{height:.5rem;border-radius:4px;background:var(--brand-soft);overflow:hidden}.meter>i{display:block;height:100%;background:var(--brand);border-radius:0 4px 4px 0;min-width:2px}dialog{width:min(34rem,100vw - 2rem);padding:1.5rem;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 24px 60px #04141647}dialog::backdrop{background:#04141673}dialog h2{margin-bottom:1rem}.toast-stack{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);display:grid;gap:.5rem;z-index:50}.toast{background:var(--ink);color:var(--paper);padding:.6rem 1rem;border-radius:999px;font-size:.9rem;box-shadow:0 8px 24px #00000040}.toast.error{background:var(--neg);color:#fff}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
