:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",Inter,system-ui,sans-serif;--ink:#191c23;--muted:#747985;--accent:#235e59;--border:#e9eaee;--canvas:#f7f8fa;--paper:#fff;color:var(--ink);background:var(--canvas)}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-layout{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e9eaed;padding:29px 17px 18px;z-index:3}
.brand{display:flex;align-items:center;gap:11px;padding:0 13px;color:#252932;text-decoration:none;font-weight:790;font-size:17px;letter-spacing:-.065em;white-space:nowrap}
.brand-dot{color:#6d9e92}
.brand-symbol{height:30px;width:30px;display:flex;align-items:flex-end;gap:3px;justify-content:center;padding:7px 5px;background:#243934;border-radius:9px}
.brand-symbol i{display:block;width:5px;background:#c1e8d9;border-radius:4px 4px 2px 2px;transform:skew(-8deg)}
.brand-symbol i:nth-child(1){height:9px}.brand-symbol i:nth-child(2){height:16px}.brand-symbol i:nth-child(3){height:12px}
.side-nav{display:grid;gap:5px;margin-top:50px}
.side-nav a{min-height:43px;display:flex;align-items:center;gap:13px;padding:0 15px;color:#7a7d86;text-decoration:none;border-radius:11px;font-size:13px;font-weight:620;transition:background .16s,color .16s}
.side-nav a span{font-size:19px;line-height:1;width:21px;text-align:center;font-weight:450}
.side-nav a:hover{background:#f7f8f9;color:#2f3937}
.side-nav a.active{background:#edf3f0;color:#285d54;font-weight:720}
.sidebar-bottom{margin-top:auto;display:grid;gap:9px}
.local-note{display:flex;gap:10px;align-items:flex-start;padding:14px 12px;margin-bottom:9px;border-radius:12px;background:#f8faf9}
.local-dot{width:8px;height:8px;flex:none;background:#59a988;border-radius:50%;margin-top:4px;box-shadow:0 0 0 4px #e6f3eb}
.local-note div{min-width:0}.local-note strong,.local-note small{display:block;line-height:1.35}.local-note strong{font-size:11px;color:#45645a}.local-note small{font-size:10px;color:#8b9691;margin-top:3px;overflow-wrap:anywhere}
.side-pro,.profile-button{width:100%;display:flex;align-items:center;gap:9px;text-align:left;justify-content:flex-start;min-height:43px;border-radius:11px;box-shadow:none!important;transform:none!important}
.side-pro{background:#243934;color:#fff;border-color:#243934;font-size:12px}.side-pro span:first-child{color:#d5dcb8;font-size:16px}.side-pro span:last-child,.profile-button span:last-child{margin-left:auto;font-size:18px;font-weight:400}
.side-pro:hover:not(:disabled){background:#31554b}
.profile-button{background:#fff;color:#3b4441;border:1px solid #eceeed;font-size:12px}
.profile-avatar{width:23px;height:23px;display:grid;place-items:center;background:#e9eeec;border-radius:50%;font-size:16px;color:#618a7a}
.main-area{max-width:1500px;width:100%;margin:0 auto;padding:48px clamp(24px,4vw,70px) 36px;min-width:0}
.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:29px}
.page-kicker,.card-kicker{display:block;font-size:10px;font-weight:770;letter-spacing:.17em;color:#899098}
.page-kicker{margin:0 0 10px}
.page-header h1{font-size:clamp(32px,3.5vw,46px);line-height:1.05;letter-spacing:-.067em;font-weight:740;margin:0}
.page-subtitle{font-size:13px;color:#8a9098;margin:8px 0 0}
.quick-add{background:#243934;color:#fff;border-color:#243934;white-space:nowrap;min-height:43px;padding:10px 17px;font-size:12px;box-shadow:0 4px 12px #213d3022}
.quick-add span{font-size:17px;font-weight:400;margin-right:4px}
.quick-add:hover:not(:disabled){background:#36574e}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:18px;align-items:stretch}
.dashboard-grid>.card{min-width:0}
.card{border:1px solid #edf0f1;background:#fff;border-radius:19px;padding:25px;box-shadow:0 3px 12px #1c2d3307}
.section-head{align-items:flex-start;min-height:0;margin-bottom:17px}
.card-kicker{margin-bottom:8px}
.card h2{font-size:19px;letter-spacing:-.045em;font-weight:700;line-height:1.2}
.balance-card{min-height:266px;display:flex;flex-direction:column;border:0;background:#243934;color:#fff;border-radius:21px;padding:29px 30px 24px;box-shadow:0 16px 35px #2a473329}
.balance-card:before,.balance-card:after{display:none}
.balance-top{display:flex;align-items:start;justify-content:space-between}
.balance-card .eyebrow{font-size:10px;letter-spacing:.17em;color:#bad3c8;margin:0}
.balance-glyph{font-size:23px;color:#95b3a4;font-weight:350;line-height:.8}
.balance{font-size:clamp(40px,4.1vw,62px);font-weight:680;line-height:1.05;letter-spacing:-.07em;margin-top:24px;font-variant-numeric:tabular-nums}
.balance-caption{font-size:11px;color:#9cb6a9;margin:9px 0 0}
.totals{margin-top:auto;padding-top:20px;border-top:1px solid #ffffff24;gap:0}
.totals>div{padding-right:12px}.totals>div+div{padding-left:23px;border-left:1px solid #ffffff24}
.totals span{display:flex;align-items:center;gap:7px;color:#b9cec3;font-size:11px;margin-bottom:7px}
.metric-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#9ed9c7}.metric-dot.expense-dot{background:#e9c2aa}
.totals strong{color:#fff!important;font-size:19px;font-weight:640}
.chart-card{min-height:266px;padding:27px}
.chart-card .section-head{align-items:center}
.compact select{background:#f5f6f7;border:0;font-size:11px;color:#5f656c;border-radius:8px;min-height:32px}
.chart-wrap{min-height:175px;gap:19px;align-items:center;justify-content:center}
.donut{width:144px;height:144px;box-shadow:none;background:#ecf0ef;border-radius:50%}
.donut-center{width:96px;height:96px;background:#fff;border-radius:50%;color:#737c79;font-size:12px;font-weight:620;padding:11px}
.legend{font-size:11px;gap:9px;color:#69757a}
.swatch{border-radius:50%}
.entry-card,.history-card{min-height:396px}
.entry-card .section-head,.history-card .section-head{margin-bottom:21px}
.segmented{background:#f3f5f5;padding:4px;border-radius:10px;margin-bottom:22px}
.segmented span{font-size:12px;font-weight:650;border-radius:8px;padding:10px}
.segmented input:checked+span,.segmented label:first-child input:checked+span{color:#253e37;background:#fff;box-shadow:0 1px 5px #132c2119}
.field{gap:6px;margin-bottom:14px}
.field span{color:#7e858b;font-size:11px;font-weight:620}
.field input,.field select{border:1px solid #e8ebed;background:#fbfcfc;border-radius:9px;padding:11px 12px;min-height:43px;font-size:13px;color:#2d3439}
.field input:focus,.field select:focus{border-color:#82b3a1;box-shadow:0 0 0 3px #83b2a122}
.account-field[hidden]{display:none}
.entry-card .button.primary{background:#243934;border-color:#243934;color:#fff;min-height:45px;font-size:12px;margin-top:2px}
.entry-card .button.primary:hover:not(:disabled){background:#36574e}
.filters{margin-bottom:7px;gap:8px}
.filters .field{margin-bottom:0}
.filters .filter-select{flex:0 0 110px}
.count-pill{background:#f1f4f3;color:#6a7873;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:750}
.transaction-list{max-height:500px}
.empty{padding:53px 12px;margin-top:8px;border:1px dashed #e6e9e8;background:#fafbfb;color:#9aa19e;font-size:12px;border-radius:12px}
.tx{padding:14px 0}.tx-icon{background:#eaf2ee;color:#47796a}.tx-desc{font-size:13px}.tx-meta{font-size:10px}
.section-divider{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:28px 2px 2px;scroll-margin-top:26px}
.section-divider h2{font-size:25px;letter-spacing:-.055em;margin:0 0 5px}
.section-divider p{font-size:12px;color:#9399a0;margin:0}
.section-divider .badge{background:#f4edda;color:#967948}
.feature-card{min-height:245px;display:flex;flex-direction:column}
.feature-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}
.feature-mark{display:grid;place-items:center;width:36px;height:36px;background:#edf3f0;border-radius:10px;color:#3a7563;font-size:20px}
.feature-card h2{font-size:17px}
.feature-card p{line-height:1.55;color:#8a9395;font-size:11px;margin:9px 0 13px;max-width:310px}
.feature-card .stack{margin:0 0 12px}
.feature-card .button{margin-top:auto;min-height:39px;display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:11px;background:#f6f8f7;border-color:#edf0ee}
.feature-card .button span{font-size:15px;font-weight:450}
.data-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;scroll-margin-top:26px}
.data-card h2{font-size:17px}.data-card p{margin:8px 0 0;color:#929aa0;font-size:11px}
.data-card .action-grid{min-width:365px;grid-template-columns:repeat(2,minmax(0,1fr))}
.data-card .button{min-height:36px;font-size:11px;padding:8px 11px;background:#f8f9f9;border-color:#eef0f0}
.badge{font-size:9px;border-radius:5px;background:#f5ecda;color:#977749;font-weight:780}
.message{margin-bottom:18px}
.main-area footer{text-align:left;color:#9aa0a6;font-size:10px;line-height:1.7;padding-top:28px}
.main-area footer a{color:#7c8f88}
.support-footer-button{border:0;background:none;padding:0;margin-left:5px;color:#7c8f88;font:inherit;text-decoration:underline;cursor:pointer}
#support-button{justify-content:flex-start}
.sidebar-bottom .profile-button{gap:9px;align-items:center;justify-content:flex-start}
.sidebar-bottom .profile-button .action-icon{display:block;width:19px;height:19px;flex:none}
.sidebar-bottom .profile-button .action-label{margin:0;font-size:inherit;font-weight:inherit}
#install-button{background:#e9f3ee;border-color:#cde3d8;color:#235a49;font-weight:720}
#install-button:hover:not(:disabled){background:#dceee5;border-color:#afd2c0}
#install-button[hidden],#footer-install-button[hidden]{display:none!important}
#support-dialog textarea{width:100%;min-height:110px;resize:vertical;border:1px solid #dce3df;border-radius:12px;padding:12px;background:#fff;color:#263731;font:inherit;line-height:1.5}
#support-dialog textarea:focus{outline:2px solid #88b9a5;outline-offset:2px}
#support-status{min-height:1.5em}
.install-hint{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;margin:-8px 0 20px;border:1px solid #dce8e2;border-radius:15px;background:#f1f7f4;color:#243934}
.install-hint[hidden]{display:none}
.install-hint strong{font-size:13px}.install-hint p{font-size:11px;line-height:1.45;color:#6e8178;margin:4px 0 0}
.install-hint-actions{display:flex;align-items:center;gap:8px;flex:none}.install-hint-actions .button{min-height:34px;padding:7px 12px;font-size:11px}.install-hint-actions .text-button{font-size:11px;white-space:nowrap}
.install-guide{padding:14px 16px;margin:17px 0;border-radius:13px;background:#f5f8f6;color:#334940;font-size:13px;line-height:1.6}.install-guide ol{padding-left:20px;margin:8px 0 0}.install-guide li+li{margin-top:6px}
.dialog{border-radius:20px}
.quote-dialog .card-kicker{margin:5px 0 12px}.quote-dialog h2{font-size:24px;letter-spacing:-.05em;line-height:1.15;margin:0 0 10px}.quote-total{display:block;font-size:36px;letter-spacing:-.06em;margin:23px 0 2px;color:#243934}.quote-dialog .button{margin-top:18px}
@media(max-width:1200px){.app-layout{grid-template-columns:205px minmax(0,1fr)}.main-area{padding:36px 30px}.dashboard-grid{grid-template-columns:1fr 1fr}.chart-wrap{gap:12px}.donut{width:125px;height:125px}.donut-center{width:82px;height:82px;font-size:10px}}
@media(max-width:900px){.app-layout{display:block}.sidebar{position:sticky;top:0;height:auto;padding:10px 18px;border-right:0;border-bottom:1px solid #eceeed;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.brand{padding:0;font-size:16px}.side-nav,.local-note{display:none}.sidebar-bottom{margin:0;display:flex;gap:7px}.side-pro,.profile-button{width:auto;min-height:37px;padding:8px 10px;font-size:11px}.side-pro span:last-child,.profile-button span:last-child{display:none}.profile-avatar{width:20px;height:20px}.main-area{padding:30px 22px 32px}}
#support-button{white-space:nowrap}
@media(max-width:650px){.sidebar-bottom .profile-button{min-height:39px;padding:8px 10px;justify-content:center;gap:6px;font-size:11px}.sidebar-bottom .profile-button .action-icon{width:18px;height:18px}.sidebar-bottom .profile-button .action-label{display:inline;font-size:11px;margin:0}.install-hint{align-items:flex-start;flex-direction:column;margin-top:0}.install-hint-actions{width:100%;justify-content:space-between}}
@media(max-width:370px){.sidebar-bottom .profile-button{padding:8px}.sidebar-bottom .profile-button .action-label{font-size:10px}.sidebar-bottom .profile-button .action-icon{width:16px;height:16px}}
@media(max-width:650px){.sidebar{padding:10px 14px}.brand{font-size:0;gap:0}.brand-symbol{width:33px;height:33px}.side-pro,.profile-button{min-height:34px;padding:7px 9px}.side-pro{font-size:0;gap:0}.side-pro span:first-child{font-size:17px}.side-pro #pro-label{font-size:11px;margin-left:6px}.profile-button #account-label{font-size:11px;margin-left:4px}.main-area{padding:27px 15px 30px}.page-header{margin-bottom:23px}.page-header h1{font-size:36px}.page-subtitle{font-size:12px}.quick-add{font-size:0;min-width:43px;padding:8px 11px}.quick-add span{font-size:22px;margin:0}.dashboard-grid{display:flex;flex-direction:column;gap:13px}.card{padding:20px;border-radius:17px}.balance-card{min-height:238px;padding:24px}.balance{font-size:45px}.chart-card{min-height:245px}.chart-wrap{justify-content:flex-start;gap:30px}.donut{width:134px;height:134px}.donut-center{width:88px;height:88px;font-size:11px}.entry-card,.history-card{min-height:0}.section-divider{padding:21px 2px 3px}.section-divider h2{font-size:23px}.feature-card{min-height:220px}.data-card{display:block}.data-card .action-grid{min-width:0;margin-top:18px}.main-area footer{padding-top:23px}}
@media(max-width:370px){.sidebar{gap:7px}.profile-button #account-label{display:none}.chart-wrap{gap:14px}.legend{font-size:10px}.data-card .action-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.side-nav a{transition:none}}
