:root{--bg:#f6f8f6;--surface:#fff;--ink:#1f3029;--muted:#78867e;--green:#164f3b;--soft:#e9f2e9;--line:#e8ede8;--lime:#c8e7ad;--purple:#9382aa;--red:#b35d52;--shadow:0 3px 14px #233b2d04;--radius:18px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #86b58c;outline-offset:3px}svg{display:block;flex-shrink:0}button{border:0;background:none;color:inherit}button,a{touch-action:manipulation}.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-shell{min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:34px 21px 22px;z-index:20}.brand{display:flex;gap:11px;align-items:center;font-size:20px;letter-spacing:-.9px;font-weight:750;text-decoration:none;color:var(--ink)}.brand img{width:35px;height:35px;object-fit:contain}.brand small{font-weight:400}.nav-label{font-size:10px;letter-spacing:1.8px;font-weight:650;color:#9aa49e;margin:46px 14px 15px}.nav-item{display:flex;gap:13px;align-items:center;text-align:left;width:100%;padding:14px 15px;border-radius:10px;font-size:13px;font-weight:500;margin-bottom:6px;color:#77867c;transition:.15s}.nav-item:hover{background:#f7f9f6}.nav-item.active{background:#edf4e9;color:var(--green);font-weight:650}.nav-item.active:after{content:'';width:5px;height:5px;border-radius:50%;background:var(--green);margin-left:auto}.sidebar-bottom{margin-top:auto}.privacy-card{background:#f5f8f2;border:1px solid #e9efe4;border-radius:13px;padding:16px;margin:20px 0;color:#667864;font-size:11px;line-height:1.7}.privacy-card .icon{color:#53764e;margin-bottom:9px}.privacy-card strong{display:block;color:#304d32;font-size:12px;margin-bottom:3px}.profile{display:flex;gap:10px;align-items:center;padding:10px 5px 0;border-top:1px solid var(--line);font-size:12px}.avatar{width:34px;height:34px;border-radius:50%;background:#edf1ea;display:grid;place-items:center;color:#54704d}.profile small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.profile button{margin-left:auto}.workspace{margin-left:232px}.topbar{height:78px;border-bottom:1px solid var(--line);background:#ffffffb0;display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:11px;color:var(--muted)}.breadcrumb{display:flex;align-items:center;gap:12px}.breadcrumb strong{font-weight:500;color:#4a5e51}.topbar-actions{display:flex;align-items:center;gap:12px}.device-note{display:flex;align-items:center;gap:6px;font-size:10px}.device-note .icon{width:14px;height:14px}.circle-button{height:36px;width:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff}.circle-button .icon{width:17px;height:17px}.mobile-brand{display:none}.main{padding:33px 40px 40px;max-width:1550px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:16px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#88958b;font-weight:650;margin:0 0 9px}.page-heading h1{font-size:29px;letter-spacing:-1.2px;font-weight:620;line-height:1.2;margin:0 0 8px}.page-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.heading-actions{display:flex;gap:10px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:11px 15px;font-size:11px;font-weight:600;white-space:nowrap;min-height:39px;text-decoration:none}.button .icon{width:16px;height:16px}.button-primary{background:var(--green);color:white;box-shadow:0 3px 5px #164f3b12}.button-primary:hover{background:#1e6149}.button-secondary{border:1px solid #dde5dc;background:white;color:#4d6254}.button-danger{color:#a9473f;background:#fff0ee;border:1px solid #f1d5d1}.button-quiet{color:var(--green);padding:8px 0;font-size:11px}.month-select{font-size:11px;border:1px solid #dde5dc;border-radius:9px;background:#fff;padding:10px 28px 10px 12px;min-height:39px;color:#4d6254;max-width:170px}.demo-banner{display:flex;align-items:center;gap:10px;background:#f0f3e9;border:1px solid #e6ebdb;border-radius:10px;padding:11px 14px;margin-bottom:22px;font-size:10px;color:#73815a;line-height:1.5}.demo-banner>.icon{width:16px;height:16px}.demo-banner strong{font-weight:650;color:#4b633c}.demo-banner button{margin-left:auto;white-space:nowrap;color:#496b38;font-size:10px;font-weight:650;display:flex;align-items:center;gap:5px}.demo-banner button .icon{width:13px;height:13px}.stats-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:15px;margin-bottom:23px}.stat-card{padding:20px 20px 18px;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:var(--shadow);position:relative;overflow:hidden;min-height:147px}.stat-card.hero{background:var(--green);color:#fff;border-color:var(--green)}.stat-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:#7a897e}.stat-top .icon{width:17px;height:17px}.hero .stat-top{color:#c6d8c9}.stat-amount{font-size:28px;letter-spacing:-1px;font-weight:600;line-height:1;margin:23px 0 13px;font-variant-numeric:tabular-nums}.hero .stat-amount{font-size:30px}.stat-foot{font-size:9px;color:#8a978d;display:flex;gap:5px;align-items:center;line-height:1.4}.hero .stat-foot{color:#b1cbb6}.stat-foot .icon{width:11px;height:11px}.stat-icon{height:27px;width:27px;border-radius:8px;display:grid;place-items:center;background:#edf5eb;color:#527c4d}.stat-icon.purple{color:#92829f;background:#f2edf6}.stat-icon.gold{color:#ae9967;background:#f7f3e8}.stat-icon .icon{width:15px;height:15px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:21px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 23px 0}.panel-heading h2{font-size:13px;margin:0;font-weight:650;letter-spacing:-.15px}.panel-heading p{font-size:10px;color:var(--muted);margin:6px 0 0;line-height:1.5}.panel-body{padding:19px 23px 22px}.tag{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:5px 8px;font-size:9px;font-weight:550;background:#f3f6f1;color:#718467;white-space:nowrap}.tag-demo{background:#edf3e5;color:#6d844e}.tag-purple{background:#f2eef6;color:#8b7b9f}.tag-muted{color:#87928b;background:#f1f4f0}.legend{display:flex;gap:14px;font-size:9px;color:var(--muted);align-items:center}.legend span{display:flex;gap:5px;align-items:center}.dot{width:7px;height:7px;display:inline-block;border-radius:50%;flex-shrink:0}.cash-chart{height:208px;display:flex;padding-top:8px;gap:14px}.chart-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:8px;color:#9ba79e;width:36px;padding-bottom:24px;text-align:right}.chart-plot{position:relative;flex:1;display:flex;justify-content:space-around;gap:10px;padding:0 7px 0 0}.chart-lines{position:absolute;inset:0 0 24px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.chart-lines i{height:1px;border-top:1px dashed #ebeeea}.bar-group{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1;z-index:1;min-width:0}.bars{height:calc(100% - 24px);width:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px}.bar{width:19px;max-width:29%;border-radius:4px 4px 0 0;min-height:0;background:#bed5b7;transition:height .35s}.bar.expense{background:#e2e9d7}.bar-group.selected .bar.income{background:#1f5f45}.bar-group.selected .bar.expense{background:#a5be87}.bar-label{font-size:9px;color:#93a094;height:24px;display:flex;align-items:flex-end}.bar-group.selected .bar-label{color:var(--green);font-weight:650}.chart-caption{display:flex;justify-content:space-between;margin-top:14px;border-top:1px solid #f0f3ed;padding-top:12px;font-size:10px;color:var(--muted);line-height:1.5}.chart-caption strong{color:var(--green);font-weight:600}.doughnut-wrap{height:150px;display:flex;align-items:center;justify-content:center;position:relative;margin:0 0 13px}.doughnut{width:154px;height:154px;transform:rotate(-90deg)}.doughnut-label{position:absolute;text-align:center}.doughnut-label small{display:block;font-size:8px;letter-spacing:.4px;color:#929d94;margin-bottom:7px}.doughnut-label strong{font-weight:650;letter-spacing:-.6px;font-size:20px}.category-legend{display:grid;gap:10px}.category-legend button{display:flex;align-items:center;width:100%;padding:0;gap:7px;text-align:left;font-size:10px;color:#7a897f}.category-legend strong{margin-left:auto;font-weight:550;color:#53665a;font-variant-numeric:tabular-nums}.category-legend small{font-size:9px;color:#a0a99f;min-width:26px;text-align:right}.panel-bottom{padding:0 23px 16px}.text-link{color:#52784d;font-size:10px;font-weight:600;display:inline-flex;align-items:center;gap:4px;text-decoration:none}.text-link .icon{width:12px;height:12px}.recent-panel .panel-heading{padding-bottom:8px}.transaction-list{padding:0 22px 10px}.transaction-row{display:flex;align-items:center;gap:11px;width:100%;padding:13px 0;text-align:left;border-bottom:1px solid #f0f3ed;min-height:65px}.transaction-row:last-child{border-bottom:0}.category-icon{height:35px;width:35px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;background:#f0f4ed}.category-icon .icon{width:17px;height:17px}.transaction-text{min-width:0;flex:1}.transaction-name{font-size:11px;font-weight:550;color:#3b5143;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.transaction-meta{font-size:9px;color:#97a195;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-category{font-size:9px;color:#90a087;padding:0 10px;min-width:75px}.transaction-amount{font-size:11px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.transaction-amount.positive{color:#4b8c59}.transaction-amount.neutral{color:#7e8b81}.transaction-amount small{display:block;font-size:8px;font-weight:400;color:#a0a99f;margin-top:5px}.account-list{padding:3px 23px 4px}.account-row{display:flex;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #f0f3ed}.account-row:last-child{border-bottom:0}.account-mark{height:34px;width:34px;border:1px solid #e8ede8;background:#fbfcfa;border-radius:9px;display:grid;place-items:center;color:#477249;font-size:10px;font-weight:750;flex-shrink:0}.account-mark.blue{background:#eff4f9;color:#456d97;border-color:#e7edf5}.account-mark.orange{background:#fff5eb;color:#b7834e;border-color:#f6eada}.account-title{font-size:11px;font-weight:550}.account-sub{font-size:9px;color:#97a195;margin-top:4px}.account-value{font-size:11px;font-weight:600;margin-left:auto;white-space:nowrap}.accounts-footer{margin:10px 23px 20px;padding:12px;border:1px dashed #dce5d6;border-radius:9px;font-size:10px;color:#70856c;text-align:center}.footer-note{font-size:9px;color:#98a294;margin-top:24px;display:flex;gap:5px;align-items:center;justify-content:center}.footer-note .icon{width:11px;height:11px}.bottom-nav{display:none}.view-heading{margin-bottom:24px}.filters{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.search{position:relative;flex:1;min-width:180px}.search .icon{position:absolute;left:13px;top:12px;width:16px;height:16px;color:#8d9c8d}.search input{width:100%;padding:12px 14px 12px 39px;border:1px solid #e0e7dd;border-radius:10px;background:white;font-size:12px;color:var(--ink)}.search input::placeholder{color:#a1aa9d}.chip-group{display:flex;padding:4px;background:#eaf0e6;border-radius:9px;gap:3px}.chip{padding:8px 12px;border-radius:6px;font-size:10px;color:#809174}.chip.active{background:white;color:var(--green);box-shadow:0 2px 4px #223e2210;font-weight:600}.table-header{display:flex;justify-content:space-between;padding:14px 23px;background:#fafcf8;border-bottom:1px solid var(--line);font-size:9px;color:#8c9a85;font-weight:600;letter-spacing:.3px}.activity .transaction-list{padding-top:0}.day-heading{font-size:10px;color:#899780;padding:17px 0 4px;font-weight:600}.empty{padding:48px 24px;text-align:center;color:var(--muted);font-size:12px;line-height:1.8}.empty .category-icon{margin:0 auto 15px;height:48px;width:48px}.empty h3{font-size:16px;color:var(--ink);font-weight:600;margin:0 0 6px}.empty p{max-width:320px;margin:0 auto 18px}.empty .button{margin:auto}.investment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:23px}.investment-summary .stat-card{min-height:130px}.notice{font-size:11px;line-height:1.7;padding:12px 15px;border-radius:10px;background:#edf3e8;color:#748468;margin-bottom:22px;display:flex;align-items:flex-start;gap:9px}.notice .icon{width:16px;height:16px;margin-top:1px}.holding-row{display:grid;grid-template-columns:2fr .7fr 1fr 1fr .8fr;align-items:center;gap:12px;padding:19px 23px;border-bottom:1px solid #edf1e9;width:100%;text-align:left;font-size:12px}.holding-row:last-child{border-bottom:0}.holding-name{display:flex;gap:11px;align-items:center;min-width:0}.holding-row strong{font-size:11px;font-weight:600}.holding-row small{display:block;font-size:9px;color:#95a28b;margin-top:5px;line-height:1.4}.holding-row .positive{color:#4c8c5b}.holding-row .negative{color:var(--red)}.holding-column{text-align:right;font-variant-numeric:tabular-nums}.holdings-head{background:#fafcf8;font-size:9px;color:#91a085;font-weight:500;padding:13px 23px}.subscription-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.subscription-card{padding:22px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.subscription-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.subscription-symbol{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:#f1f5eb;color:#67835b;font-size:15px;font-weight:650}.subscription-card h3{font-size:14px;margin:0 0 6px;font-weight:600}.subscription-card>p{font-size:10px;color:var(--muted);margin:0 0 22px}.subscription-price{font-size:23px;font-weight:650;letter-spacing:-.6px}.subscription-price small{font-size:10px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:4px}.subscription-date{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:14px;font-size:10px;color:var(--muted)}.subscription-date strong{font-weight:500;color:#53674d}.summary-strip{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;background:var(--green);color:white;border-radius:var(--radius);gap:15px}.summary-strip span{font-size:11px;color:#b1c9b3;display:block;line-height:1.6}.summary-strip strong{display:block;font-size:27px;font-weight:600;letter-spacing:-.8px;margin-top:8px}.summary-strip .icon{width:36px;height:36px;color:#b8d2b1}.summary-strip small{font-size:10px;color:#b1c9b3}.mobile-header-actions{display:none}.select-filter{padding:11px 13px;border:1px solid #dde5dc;border-radius:9px;background:white;color:#617457;font-size:11px}.clear-filter{font-size:10px;color:#75886b;text-decoration:underline}.counts{font-size:10px;color:var(--muted);margin:15px 0 0}.modal{border:1px solid #dce5d7;border-radius:20px;width:min(520px,calc(100% - 28px));padding:0;color:var(--ink);box-shadow:0 22px 100px #132d2630;max-height:calc(100dvh - 40px);background:#fff}.modal::backdrop{background:#162a2366;backdrop-filter:blur(4px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:23px 24px 18px;border-bottom:1px solid var(--line)}.modal-header h2{font-size:17px;font-weight:600;letter-spacing:-.4px;margin:0}.modal-header button{padding:5px}.modal-body{padding:23px 24px}.modal-body>p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;min-width:0;margin-bottom:16px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#697f5f;font-weight:550}.field input,.field select{width:100%;border:1px solid #dfe6da;padding:12px;border-radius:9px;color:var(--ink);background:#fbfcf9;font-size:13px;min-height:43px}.field input[type=file]{font-size:11px;background:#f7faf3}.field small{font-size:10px;color:#8a9a7e;line-height:1.6}.modal-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:20px;flex-wrap:wrap}.modal-actions .delete-button{margin-right:auto;color:var(--red);font-size:11px}.import-box{border:1.5px dashed #c8d8bb;border-radius:13px;background:#f8fbf4;padding:25px 18px;text-align:center;position:relative;margin-bottom:20px}.import-box>.icon{margin:0 auto 12px;color:#799b65;width:30px;height:30px}.import-box strong{font-size:13px;display:block;margin-bottom:8px}.import-box p{font-size:10px;line-height:1.7;color:#90a080;margin:0 0 15px}.import-box input{max-width:100%;font-size:11px;color:#687f59}.detail-line{display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:1.7;padding:9px 0;border-bottom:1px solid #eef2e9}.detail-line strong{font-weight:550;text-align:right}.help-code{background:#f2f5ee;color:#687f59;border-radius:8px;padding:10px 12px;font-size:10px;overflow-wrap:anywhere;line-height:1.9;margin:12px 0}.error-box{padding:12px 14px;border:1px solid #e9d0cb;background:#fff3f0;color:#9d5b50;border-radius:9px;font-size:11px;line-height:1.8;margin-bottom:15px}.import-report{background:#f3f7ee;border:1px solid #e4ecd9;padding:15px;border-radius:11px;font-size:11px;line-height:1.9;margin-bottom:18px}.import-report strong{color:#4a743b}.import-report ul{padding-left:17px;margin-bottom:0;font-size:10px;color:#8b8268}.privacy-copy{background:#f7faf3;border:1px solid #e8efde;padding:15px;border-radius:11px;color:#708461;font-size:11px;line-height:1.8}.setting-section{margin:0 0 22px}.setting-section h3{font-size:10px;color:#92a082;letter-spacing:1px;text-transform:uppercase;margin:0 0 12px}.setting-button{width:100%;display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #eef2e9;font-size:12px;text-align:left;color:#506d43}.setting-button .icon{width:17px;height:17px}.setting-button .icon:last-child{margin-left:auto;width:13px;height:13px;color:#9caf8e}.setting-button.danger{color:var(--red)}.install-steps{padding-left:20px;font-size:12px;color:#708461;line-height:2}.account-modal-row{padding:15px 0;border-bottom:1px solid #eef2e9;display:flex;gap:12px;align-items:center}.account-modal-row .button{margin-left:auto;font-size:10px;padding:8px 10px}.account-modal-row .account-title{font-size:12px}#toast{position:fixed;bottom:27px;left:calc(50% + 116px);transform:translateX(-50%) translateY(20px);background:#233e2f;color:white;font-size:12px;border-radius:11px;padding:13px 20px;box-shadow:0 5px 20px #19332320;opacity:0;pointer-events:none;transition:.2s;z-index:100;max-width:calc(100% - 30px);text-align:center;line-height:1.5}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.sensitive{font-variant-numeric:tabular-nums}.hidden-value{letter-spacing:2px}.screen-reader{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.load-more{display:flex;justify-content:center;padding:20px}.mobile-only{display:none}
@media(min-width:1500px){.main{padding-top:40px}.stat-card{min-height:163px}.stat-amount{margin-top:29px}.dashboard-grid{gap:24px}.cash-chart{height:235px}.doughnut-wrap{height:168px}.doughnut{width:165px;height:165px}}
@media(max-width:1190px){.sidebar{width:205px;padding-left:16px;padding-right:16px}.workspace{margin-left:205px}.main{padding:28px}.topbar{padding:0 28px}.brand{font-size:18px}.stats-grid{gap:11px;grid-template-columns:1.2fr 1fr 1fr 1fr}.stat-card{padding:17px 15px;min-height:137px}.stat-amount{font-size:24px}.hero .stat-amount{font-size:25px}.stat-top{font-size:9px}.stat-foot{font-size:8px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:16px}.panel-heading{padding:20px 18px 0}.panel-body{padding:18px}.transaction-list{padding:0 18px 10px}.account-list{padding:3px 18px 4px}.transaction-category{display:none}.page-heading h1{font-size:27px}.device-note{display:none}#toast{left:calc(50% + 102px)}.subscription-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.sidebar{width:188px;padding:28px 13px 18px}.workspace{margin-left:188px}.brand{font-size:16px;gap:8px}.brand img{width:30px;height:30px}.nav-item{padding:13px 11px;font-size:12px}.main{padding:25px 23px}.topbar{height:68px;padding:0 23px}.page-heading{align-items:flex-start}.heading-actions{gap:7px}.heading-actions .button{padding:10px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:13px}.stat-card{min-height:137px;padding:19px}.stat-top{font-size:10px}.stat-amount,.hero .stat-amount{font-size:29px;margin-top:22px}.stat-foot{font-size:9px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:16px}.cashflow-panel{grid-column:1/-1}.recent-panel{grid-column:1/-1;order:3}.spending-panel{order:2}.accounts-panel{order:2}.cash-chart{height:200px}.page-heading p{font-size:11px}.subscription-grid{gap:14px}.holding-row{grid-template-columns:1.7fr .7fr 1fr 1fr}.holding-row>.holding-column:nth-child(3){display:none}#toast{left:calc(50% + 94px)}}
@media(max-width:760px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:67px;padding:0 20px;background:var(--bg);border:0}.breadcrumb,.topbar .topbar-actions{display:none}.mobile-brand{display:flex;font-size:18px;gap:9px}.mobile-brand img{width:30px;height:30px}.mobile-header-actions{display:flex;gap:9px}.circle-button{width:34px;height:34px}.main{padding:18px 20px 108px}.page-heading{margin-bottom:20px;gap:10px;flex-wrap:wrap}.eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:8px}.page-heading h1{font-size:29px;margin-bottom:6px}.page-heading p{font-size:11px}.heading-actions{width:100%;justify-content:space-between;margin-top:5px}.heading-actions .button{padding:10px 13px}.month-select{font-size:11px}.demo-banner{padding:10px 12px;gap:8px;margin-bottom:17px;font-size:9px}.demo-banner strong{display:block;font-size:10px}.demo-banner .banner-detail{display:none}.demo-banner button{font-size:9px}.stats-grid{gap:11px;margin-bottom:17px}.stat-card{border-radius:15px;min-height:126px;padding:17px 16px}.stat-card.hero{grid-column:1/-1;min-height:148px;padding:20px 21px}.hero .stat-amount{font-size:37px;letter-spacing:-1.4px;margin:20px 0 13px}.hero .stat-top{font-size:10px;letter-spacing:.4px}.hero .stat-top>.icon{width:20px;height:20px}.stat-amount{font-size:25px;margin:21px 0 11px}.stat-top{font-size:10px}.stat-top .stat-icon{height:24px;width:24px}.stat-foot{font-size:8px}.stat-card.surplus-card{display:none}.dashboard-grid{grid-template-columns:1fr;gap:17px}.panel{border-radius:16px}.cashflow-panel{grid-column:auto}.spending-panel{order:1}.recent-panel{grid-column:auto;order:2}.accounts-panel{order:3}.panel-heading{padding:20px 19px 0}.panel-heading h2{font-size:13px}.panel-heading p{font-size:10px}.panel-body{padding:20px 19px}.cash-chart{height:185px;padding-top:3px;gap:11px}.chart-axis{font-size:8px;width:33px}.bar{width:19px;max-width:30%}.bars{gap:4px}.bar-label{font-size:9px}.chart-caption{font-size:9px;gap:10px}.spending-panel .panel-body{display:grid;grid-template-columns:142px 1fr;align-items:center;gap:16px;padding:23px 18px 20px}.doughnut-wrap{height:140px;margin:0}.doughnut{width:140px;height:140px}.doughnut-label strong{font-size:17px}.doughnut-label small{font-size:7px}.category-legend{gap:12px}.category-legend button{font-size:9px;gap:6px}.category-legend small{display:none}.category-legend strong{font-size:9px}.category-legend .dot{width:6px;height:6px}.transaction-list{padding:0 19px 10px}.transaction-row{padding:14px 0;gap:11px}.transaction-name{font-size:12px}.transaction-meta{font-size:9px}.transaction-amount{font-size:12px}.account-list{padding:3px 19px 4px}.account-row{padding:15px 0}.account-title{font-size:12px}.account-value{font-size:12px}.accounts-footer{margin-left:19px;margin-right:19px}.bottom-nav{position:fixed;bottom:0;inset-inline:0;height:calc(68px + env(safe-area-inset-bottom));padding:8px 12px calc(7px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid #e6ece1;z-index:25}.bottom-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#91a184;font-size:8px;min-width:62px;border-radius:10px}.bottom-nav .icon{width:20px;height:20px}.bottom-nav button.active{color:var(--green);font-weight:650;background:#f1f6eb}.footer-note{font-size:8px;margin-top:21px;line-height:1.8;text-align:center}#toast{left:50%;bottom:calc(85px + env(safe-area-inset-bottom));width:max-content;font-size:11px}.filters{gap:9px;margin-bottom:16px}.search{flex-basis:100%}.search input{font-size:14px}.chip-group{flex:1}.chip{flex:1;padding:9px 8px}.select-filter{max-width:140px;font-size:10px;min-height:37px}.activity .transaction-list{padding:0 15px 10px}.table-header{padding:13px 16px;font-size:9px}.day-heading{padding-top:17px}.investment-summary{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:17px}.investment-summary .stat-card:first-child{grid-column:1/-1;min-height:145px}.investment-summary .stat-card{min-height:125px}.investment-summary .stat-card:first-child .stat-amount{font-size:35px}.investment-summary .stat-amount{font-size:26px}.notice{font-size:10px;padding:11px 13px;margin-bottom:17px}.holding-row{grid-template-columns:1.5fr 1fr;gap:10px;padding:18px 16px}.holding-row>.holding-column{display:none}.holding-row>.holding-column:nth-child(4){display:block}.holdings-head{font-size:9px;padding:13px 16px}.holding-row strong{font-size:11px}.holding-name{gap:9px}.holding-name .account-mark{width:31px;height:31px;font-size:9px}.holding-row small{font-size:8px}.subscription-grid{grid-template-columns:1fr 1fr;gap:12px}.subscription-card{padding:16px;border-radius:14px}.subscription-top{margin-bottom:15px}.subscription-symbol{width:34px;height:34px;border-radius:10px;font-size:12px}.subscription-top .tag{font-size:7px;padding:4px 5px}.subscription-card h3{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscription-card>p{font-size:9px;margin-bottom:18px}.subscription-price{font-size:21px}.subscription-price small{font-size:8px}.subscription-date{font-size:8px;gap:4px;flex-wrap:wrap;margin-top:16px;padding-top:12px}.summary-strip{padding:20px;margin-bottom:17px;border-radius:15px}.summary-strip strong{font-size:30px}.summary-strip span{font-size:10px}.summary-strip small{font-size:9px}.summary-strip .icon{width:30px;height:30px}.modal{max-height:calc(100dvh - 24px);width:calc(100% - 24px);border-radius:17px}.modal-header{padding:20px 19px 16px}.modal-body{padding:20px 19px}.modal-header h2{font-size:17px}.field input,.field select{font-size:16px}.form-grid{gap:12px}.field{margin-bottom:14px}.modal-actions .button{padding:12px 14px}.mobile-only{display:block}.desktop-only{display:none}.empty{padding:38px 20px}.counts{font-size:9px}}
.transaction-name,.transaction-meta{display:block}
.modal-statement-import{max-width:820px;width:calc(100% - 32px)}.gmail-import-link{margin-top:6px;display:inline-block;font-size:10px}.gmail-help{font-size:11px!important;color:var(--muted);line-height:1.8!important}.gmail-import-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.gmail-import-heading>div>strong{font-size:15px}.gmail-import-heading p{font-size:11px;margin:6px 0 0}.gmail-import-heading .text-link{flex-shrink:0}.gmail-file-list{display:grid;gap:14px}.gmail-file-card{min-width:0;border:1px solid var(--line);border-radius:13px;padding:17px;background:#fff}.gmail-file-select{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.gmail-file-select>span{min-width:0}.gmail-file-select strong{font-size:13px;overflow-wrap:anywhere;line-height:1.6}.gmail-file-select small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.gmail-file-select input,.gmail-row-summary>input{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.gmail-sender,.gmail-subject{overflow-wrap:anywhere;font-size:11px!important;margin:6px 0!important;color:var(--muted)}.gmail-file-card .form-grid{margin-top:14px}.gmail-file-card .field{margin:0}.gmail-file-card .field label{font-size:11px}.gmail-more{margin-top:15px}.gmail-no-results{background:#f4f7ef;border-radius:12px;padding:22px;color:var(--muted);font-size:12px;line-height:1.8}.gmail-import-progress{padding:45px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}.gmail-import-progress strong{max-width:100%;overflow-wrap:anywhere;font-size:14px}.gmail-import-progress p{font-size:12px;color:var(--muted);margin:0}.gmail-spinner{border:3px solid #e3eddf;border-top-color:var(--green);height:28px;width:28px;border-radius:50%;animation:gmail-spin .8s linear infinite}@keyframes gmail-spin{to{transform:rotate(360deg)}}.gmail-report{font-size:11px;line-height:1.8;border:1px solid var(--line);border-radius:11px;margin:16px 0;padding:12px 14px;color:var(--muted)}.gmail-report summary,.gmail-review-row summary{cursor:pointer;color:var(--green)}.gmail-report>div{border-top:1px solid var(--line);padding-top:10px;margin-top:10px;overflow-wrap:anywhere}.gmail-report p{font-size:11px;margin:5px 0}.gmail-review-tools{display:flex;gap:20px;margin:16px 0;font-size:11px}.gmail-review-list{max-height:50dvh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:12px}.gmail-review-row{padding:14px;border-bottom:1px solid var(--line)}.gmail-review-row:last-child{border:0}.gmail-row-summary{display:flex;gap:11px;align-items:flex-start}.gmail-row-summary>div{flex:1;min-width:0}.gmail-row-summary strong{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.gmail-row-summary>strong{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--green)}.gmail-row-summary small{display:block;font-size:10px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}.gmail-review-row details{font-size:10px;margin:10px 0 0 29px}.gmail-review-row .form-grid{margin-top:15px}.gmail-duplicate{background:#f7f8f5}.gmail-pagination{display:flex;gap:18px;align-items:center;justify-content:center;font-size:11px;margin:17px 0;color:var(--muted)}
@media(max-width:760px){.modal-statement-import{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.gmail-file-card{padding:13px}.gmail-file-card .form-grid{grid-template-columns:1fr}.gmail-file-select strong{font-size:12px}.gmail-row-summary{flex-wrap:wrap;gap:8px}.gmail-row-summary>div{flex-basis:calc(100% - 30px)}.gmail-row-summary>strong{margin-left:27px}.gmail-review-row details{margin-left:27px}.gmail-review-row .form-grid{grid-template-columns:1fr}.gmail-import-heading{flex-direction:column}.gmail-review-list{max-height:48dvh}.modal-statement-import .modal-actions{flex-wrap:wrap}.gmail-import-progress{padding:30px 5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
.gmail-card{display:flex;gap:15px;align-items:center;border:1px solid #dfe9dc;background:#fff;border-radius:13px;padding:17px 20px;margin:0 0 21px;box-shadow:var(--shadow)}.gmail-mark{height:41px;width:41px;border-radius:12px;background:#edf4e8;color:#4e7940;display:grid;place-items:center;flex-shrink:0}.gmail-mark .icon{width:22px;height:22px}.gmail-card-copy{flex:1;min-width:0}.gmail-card h2{font-size:13px;font-weight:600;letter-spacing:-.2px;margin:0 0 6px}.gmail-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:0;overflow-wrap:anywhere}.gmail-card .button{flex-shrink:0}.gmail-intro{text-align:center;margin:0 0 23px}.gmail-intro .gmail-mark{height:54px;width:54px;margin:0 auto 16px;border-radius:16px}.gmail-intro .gmail-mark .icon{width:28px;height:28px}.gmail-intro h3{font-size:17px;font-weight:600;letter-spacing:-.5px;margin:0 0 9px}.gmail-intro p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.gmail-connection-status{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:17px;color:var(--muted)}.gmail-connection-status strong{font-size:10px;font-weight:550;border-radius:6px;background:#f0f3ed;color:#788870;padding:5px 8px}.gmail-connection-status .gmail-connected{background:#e8f3e5;color:#447a3e}.gmail-address{font-size:14px;font-weight:550;overflow-wrap:anywhere;margin:0 0 19px;color:var(--green)}.gmail-message{font-size:11px;line-height:1.8;color:#6f815f;border:1px solid #e4ecd9;background:#f7faf2;border-radius:10px;padding:12px 14px;margin-top:16px}.gmail-session-note{font-size:10px!important;color:#8b9b80!important;line-height:1.8!important;margin:18px 0 0!important}.gmail-access-link{font-size:10px;color:var(--muted);margin:19px 0 0!important;text-align:center}.gmail-access-link a{color:#7d9270}.privacy-page{max-width:780px;margin:0 auto;padding:45px 26px 70px;line-height:1.9}.privacy-page>.brand{margin-bottom:40px}.privacy-page h1{font-size:33px;letter-spacing:-1px;line-height:1.2;margin:0 0 15px}.privacy-updated{color:var(--muted);font-size:12px;margin-bottom:35px}.privacy-page section{margin:28px 0}.privacy-page h2{font-size:17px;font-weight:600;margin:0 0 12px}.privacy-page section p{font-size:14px;color:#667b5d;margin:0 0 13px}.privacy-page>.button{margin-top:15px}.modal .gmail-card{padding:14px;margin-bottom:20px;gap:10px}.modal .gmail-card h2{font-size:12px}.modal .gmail-card .gmail-mark{width:33px;height:33px;border-radius:9px}.modal .gmail-card .button{font-size:10px;padding:10px}
@media(max-width:760px){.gmail-card{gap:11px;padding:15px;margin-bottom:17px;flex-wrap:wrap;border-radius:13px}.gmail-card .gmail-mark{width:36px;height:36px;border-radius:10px}.gmail-card .gmail-mark .icon{width:19px;height:19px}.gmail-card-copy{flex-basis:calc(100% - 50px)}.gmail-card h2{font-size:13px;margin-bottom:5px}.gmail-card p{font-size:10px}.gmail-card>.button{width:100%;margin-top:1px;font-size:11px;min-height:40px}.gmail-intro p{font-size:11px}.gmail-session-note{font-size:10px!important}.privacy-page{padding:30px 22px 55px}.privacy-page h1{font-size:29px}.privacy-page section p{font-size:13px}}
