:root{color:#29313b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#fff;--surface-alt:#f0f1ee;--muted:#7a8088;--border:#e8e9e6;--accent:#b93636;--text:#29313b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f5f5f3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,select,input,textarea{color:var(--text)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,circle:focus-visible{outline:none}input:focus,textarea:focus,select:focus,.select-trigger:focus{box-shadow:none;outline:none}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{border-color:var(--muted)}a:focus-visible{text-decoration:underline}button{border:1px solid var(--border);background:var(--surface);border-radius:9px;padding:9px 14px}a{color:inherit}h1,h2,h3,p{margin:0}h2{letter-spacing:.1px;font-size:17px;font-weight:650}h3{font-size:15px}select,input{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:9px 11px}textarea{border:1px solid var(--border);background:var(--surface-alt);resize:vertical;border-radius:12px;width:100%;padding:16px;font-size:13px;line-height:1.7}small{color:var(--muted);font-size:11px}.select-trigger{border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-width:0;height:32px;padding:5px 12px;font-size:12px;font-weight:400;display:inline-flex}.select-trigger>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.select-trigger svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:14px;height:14px}.select-trigger:focus-visible{border-color:var(--muted)}.select-menu{z-index:100;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:4px;font-size:12px;position:fixed;overflow-y:auto;box-shadow:0 4px 16px #00000012}.select-option{cursor:pointer;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;display:flex}.select-option.active{background:var(--surface-alt)}body{touch-action:manipulation}@media (width<=760px){input,textarea,select,[contenteditable=true],.transaction-tools>input,.import-card textarea{font-size:16px}.select-trigger{height:38px}}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e6e7e8;--surface:#22262a;--surface-alt:#2b3035;--muted:#a1a8b0;--border:#363d43;--accent:#e38e8e;--text:#e6e7e8;background:#181b1d}}.app-shell{min-height:100vh}.hero{color:#fff;background:linear-gradient(115deg,#ad3035,#892d34);padding:26px max(24px,50vw - 560px) 38px}.brand-row,.brand,.row-between,.section-heading,.toolbar,.filters,.period-heading,.import-actions,.transaction-tools{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{justify-content:flex-start;gap:10px;font-size:16px;font-weight:650;text-decoration:none}.brand-symbol{border:1px solid #ffffff5e;border-radius:10px;place-items:center;width:30px;height:30px;font-size:18px;display:grid}.local-label{opacity:.85;align-items:center;gap:6px;font-size:11px;display:flex}.local-label i{background:#b9dbb8;border-radius:50%;width:5px;height:5px}.hero-title{justify-content:space-between;align-items:end;margin-top:38px;display:flex}.hero-title p{opacity:.75;letter-spacing:1px;font-size:12px}.hero-title h1{letter-spacing:1px;margin-top:9px;font-size:32px;font-weight:650}.hero-caption{opacity:.65;font-size:12px}main{max-width:1168px;margin:auto;padding:0 24px}.toolbar{flex-wrap:wrap;min-height:88px;padding:18px 0}.toolbar nav{gap:5px;display:flex}.toolbar nav button{color:var(--muted);background:0 0;border:0;padding:10px 16px;font-weight:550}.toolbar nav .active{background:var(--surface);color:var(--accent);box-shadow:0 1px 5px #00000009}.filters{gap:8px}.filters .select-trigger{font-size:12px}.period-heading{margin:12px 0 18px}.period-heading h2{margin-top:5px;font-size:22px}.eyebrow{letter-spacing:.8px;color:var(--accent);font-size:11px;font-weight:600}.muted{color:var(--muted);font-size:12px;line-height:1.65}.stats{grid-template-columns:1.35fr 1fr 1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:13px;flex-direction:column;gap:12px;padding:23px;display:flex}.stat>span{color:var(--muted);font-size:12px}.stat>strong{letter-spacing:-.7px;font-variant-numeric:tabular-nums;font-size:25px;font-weight:650}.stat em{font-size:13px;font-style:normal;font-weight:400}.stat.featured{border-top:3px solid #b44a4d;padding-top:21px}.stat.featured strong{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;min-width:0;margin-bottom:20px;padding:24px}.section-heading{align-items:start;margin-bottom:20px}.dashboard-grid{grid-template-columns:1.1fr 1fr;gap:18px;display:grid}.category-body{flex-direction:column;align-items:center;display:flex}.donut{flex-shrink:0;width:240px;height:240px;overflow:visible}.donut circle[role=button]{cursor:pointer;transition:opacity .18s}.donut-label{fill:var(--muted);font-size:11px}.donut-total{fill:var(--text);font-variant-numeric:tabular-nums;font-size:21px;font-weight:650}.category-list{width:100%;margin-top:12px}.category-row{text-align:left;border:0;align-items:center;gap:9px;width:100%;padding:11px 8px;font-size:12px;display:flex}.category-row:hover,.category-row.selected{background:var(--surface-alt)}.category-row strong{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:550}.category-row small{text-align:right;width:48px}.dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.footnote{color:var(--muted);margin-top:16px;font-size:11px;line-height:1.8}.coverage-list{max-height:475px;overflow:auto}.coverage-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:14px;padding:18px 0;font-size:12px;display:flex}.coverage-row strong{font-size:13px}.coverage-row p{color:var(--muted);margin:7px 0;font-size:11px}.coverage-right{text-align:right;flex-shrink:0}.badge{background:var(--surface-alt);color:var(--muted);border-radius:6px;padding:4px 8px;font-size:10px;display:inline-block}.badge.warning{color:#a77a24;background:#cf9a2519}.notice{overflow-wrap:anywhere;border-radius:10px;margin:12px 0 20px;padding:14px 16px;font-size:12px;line-height:1.8}.notice.warning{color:#9b782f;background:#e9b45314;border:1px solid #e9b45340}.notice.error{color:var(--accent);background:#d95f5f12;border:1px solid #d95f5f40}.notice.success{color:#479886;background:#47988612}.notice button{margin-left:12px}.transaction-tools{margin-bottom:12px}.transaction-tools>input{flex:1;font-size:12px}.check{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.check input{accent-color:#af383c}.transaction-list{scrollbar-gutter:stable;max-height:620px;padding-right:14px;overflow:auto}.transaction{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:15px 0;display:flex}.category-icon{border-radius:11px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.transaction-description{flex:1;min-width:0}.transaction-description strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:550;display:block;overflow:hidden}.transaction-description p{color:var(--muted);margin:5px 0 3px;font-size:11px}.transaction-value{text-align:right;flex-shrink:0}.transaction-value>strong{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;display:block}.transaction-value .select-trigger{color:var(--muted);border:0;max-width:105px;padding:4px 8px;font-size:11px}.credit{color:#459884}.count{color:var(--muted);margin-left:8px;font-size:11px;font-weight:400}.clear-filter{color:var(--accent);border:0;padding:6px 0;font-size:11px}.empty-small{text-align:center;color:var(--muted);padding:30px 8px;font-size:13px;line-height:2}.empty-small button{margin-left:14px}.welcome{text-align:center;padding:64px 24px}.welcome-icon{width:60px;height:60px;color:var(--accent);background:#ba484812;border-radius:20px;place-items:center;margin:0 auto 22px;font-size:30px;display:grid}.welcome h2{font-size:22px}.welcome p{max-width:430px;color:var(--muted);margin:16px auto 24px;font-size:13px;line-height:1.9}.primary{color:#fff;background:#ad363b;border-color:#ad363b;padding:11px 19px;font-size:13px}.primary:hover{background:#942e32}.trend-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;display:grid}.trend-month{text-align:center;border:0;padding:8px 2px;font-size:11px}.trend-month:hover{background:var(--surface-alt)}.trend-month strong{margin-top:8px;font-size:12px;font-weight:550;display:block}.trend-month small{margin-top:5px;font-size:9px;display:block}.trend-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px;display:block}.bar-track{border-bottom:1px solid var(--border);justify-content:center;align-items:end;height:125px;margin-top:8px;display:flex}.bar{background:#bb7779;border-radius:4px 4px 0 0;width:65%;max-width:30px;min-height:0}.bar.negative{background:#69a89b}.missing{color:var(--muted)}.import-card>textarea{min-height:270px;margin:8px 0 12px}.input-label{margin-top:20px;font-size:12px;font-weight:600;display:block}.text-link{color:var(--muted);flex-shrink:0;font-size:11px}.prompt-details{border:1px solid var(--border);border-radius:10px;margin-top:18px;padding:13px;font-size:12px}.prompt-details summary{cursor:pointer}.prompt-details textarea{height:260px;margin:14px 0}.prompt-details button{font-size:12px}.file-button{border:1px solid var(--border);cursor:pointer;border-radius:9px;padding:11px 15px;font-size:12px;display:inline-block;position:relative}.file-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.file-button:focus-within{border-color:var(--muted)}.disabled{opacity:.5}.preview{border-top:1px solid var(--border);margin-top:24px;padding-top:22px}.preview-item{border-bottom:1px solid var(--border);padding:18px 0;font-size:13px}.preview-item p{margin-top:8px;font-size:12px}.preview>.muted{margin:16px 0}.hash{overflow-wrap:anywhere;color:var(--muted)}.error-text{color:var(--accent)}.history-item{border-bottom:1px solid var(--border);padding:16px 0;font-size:12px}.history-item summary{cursor:pointer}.history-item summary span{margin-left:16px}.history-item p{color:var(--muted);margin-top:12px;line-height:1.8}footer{text-align:center;color:var(--muted);letter-spacing:1px;padding:24px 0 32px;font-size:10px}@media (width>=1100px){.category-body{flex-direction:row}.category-list{margin:0}.category-row{gap:6px}.category-row small{width:39px}.category-card .donut{width:215px}}@media (width<=760px){.hero{padding:22px 20px 30px}.hero-title{margin-top:30px}.hero-title h1{font-size:27px}.hero-caption{display:none}main{padding:0 16px}.toolbar{gap:14px;min-height:auto;padding:18px 0}.toolbar nav{justify-content:space-between;width:100%}.toolbar nav button{flex:1;padding:11px 9px}.filters{justify-content:flex-start;width:100%}.filters .select-trigger{flex:1;min-height:42px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:18px}.stat.featured{padding-top:16px}.stat>strong{font-size:23px}.dashboard-grid{grid-template-columns:1fr;gap:0}.card{padding:20px}.period-heading>.muted{font-size:10px}.trend-grid{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:16px}.bar-track{height:85px}.trend-month{min-height:44px}.transaction-tools{flex-wrap:wrap;gap:10px}.transaction-tools>input{min-height:44px;font-size:16px}.transaction-tools .check{min-height:30px}.transaction-value .select-trigger{min-height:35px}.category-row{min-height:44px}.transaction{gap:9px}.category-icon{width:32px;height:32px}.transaction-value>strong{font-size:13px}.coverage-row{gap:8px}.coverage-row small{font-size:10px}.section-heading{gap:10px}.import-card .section-heading{flex-wrap:wrap}.welcome{padding:44px 20px}.import-actions{gap:8px}.input-label{margin-top:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
