:root{--ink:#15251f;--muted:#718078;--line:#e6ebe8;--paper:#fff;--canvas:#f4f7f4;--green:#1f8d68;--green-dark:#173f34;--mint:#75d6b2;--orange:#f2a65a;--blue:#72a6d8}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:var(--canvas);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}button,a{font:inherit}button{color:inherit}.app-shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fbfcfb;flex-direction:column;width:230px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.03em;align-items:center;gap:10px;padding:0 10px 28px;font-size:19px;font-weight:750;display:flex}.brand-mark{color:#fff;background:var(--green-dark);border-radius:10px;place-items:center;width:32px;height:32px;font-size:15px;display:grid;box-shadow:0 5px 14px #173f3430}.sidebar nav{gap:5px;display:grid}.nav-item{color:#64736c;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;height:44px;padding:0 13px;font-size:14px;font-weight:560;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:#f1f5f2}.nav-item.active{color:#173f34;background:#e8f3ee;font-weight:700}.nav-dot{border:1.5px solid;border-radius:50%;width:7px;height:7px}.nav-item.active .nav-dot{background:currentColor;box-shadow:0 0 0 3px #cde5da}.nav-badge{color:#fff;text-align:center;background:#e97b5f;border-radius:20px;min-width:20px;margin-left:auto;padding:2px 6px;font-size:11px}.privacy-card{background:#f3f8f5;border:1px solid #dfeae5;border-radius:12px;gap:10px;margin-top:auto;padding:13px;display:flex}.privacy-icon{color:#fff;background:var(--green);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.privacy-card strong{font-size:11px;display:block}.privacy-card p{color:#7a8981;margin:3px 0 0;font-size:9px}.profile{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;margin-top:15px;padding:10px 8px;display:flex}.avatar{color:#315e4f;background:#dce9e2;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid}.profile strong,.profile small{display:block}.profile strong{font-size:11px}.profile small{color:#86928c;margin-top:2px;font-size:9px}.chevron{color:#8d9993;margin-left:auto}.brand-button{cursor:pointer;text-align:left;background:0 0;border:0;width:100%}.workspace{grid-column:2;width:min(1180px,100%);margin:0 auto;padding:34px 42px 50px}.topbar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.eyebrow{color:#839087;margin:0 0 6px;font-size:11px}h1{letter-spacing:-.04em;margin:0;font-size:clamp(22px,2.2vw,29px);line-height:1.2}.top-actions{gap:10px;display:flex}.icon-button,.primary-button{cursor:pointer;border-radius:10px;height:39px}.icon-button{color:#7d8c84;background:#fff;border:1px solid #dae2de;width:39px}.primary-button{color:#fff;background:#1c795c;border:0;padding:0 16px;font-size:12px;font-weight:700;box-shadow:0 5px 12px #1c795c25}.upload-button,.secondary-button{color:#52655c;cursor:pointer;background:#fff;border:1px solid #d9e3de;border-radius:10px;height:39px;padding:0 14px;font-size:11px;font-weight:700}.sync-banner{color:#635c42;background:#fbf8ed;border:1px solid #e5dfc9;border-radius:11px;align-items:center;gap:10px;margin-bottom:18px;padding:11px 14px;font-size:11px;display:flex}.sync-banner button{color:#70622d;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:10px;font-weight:700}.sync-pulse{background:#d2a839;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #f0e7c6}.hero-grid,.bottom-grid{grid-template-columns:1.16fr .84fr;gap:16px;display:grid}.panel,.dark-card{border-radius:16px}.panel{background:var(--paper);border:1px solid var(--line);box-shadow:0 4px 18px #193b2b08}.dark-card{color:#f7faf8;background:linear-gradient(138deg,#174838,#12382e);box-shadow:0 10px 24px #173f342b}.net-worth-card{min-height:218px;padding:22px 24px 18px;position:relative;overflow:hidden}.net-worth-card:after{content:"";border:34px solid #ffffff08;border-radius:50%;width:180px;height:180px;position:absolute;top:-90px;right:-75px}.card-heading{justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.card-heading button{color:#7d8d85;cursor:pointer;background:0 0;border:0;font-size:9px}.card-heading small{color:#93a098;margin-top:4px;font-size:9px;font-weight:400;display:block}.tag{color:#a8beb5;font-size:9px;font-weight:500}.net-worth{letter-spacing:-.04em;margin-top:23px;font-size:clamp(28px,3vw,38px);font-weight:750}.net-worth span{color:#9db7ac;font-size:.55em}.gain{color:#b7c9c1;margin-top:7px;font-size:10px}.gain span{color:#8ee1bd;background:#ffffff10;border-radius:5px;margin-right:8px;padding:3px 6px}.sparkline{opacity:.86;align-items:end;gap:4px;width:35%;height:67px;display:flex;position:absolute;bottom:42px;right:22px}.sparkline span{background:linear-gradient(#72d4ae,#72d4ae10);border-radius:3px 3px 0 0;flex:1;min-width:4px}.asset-foot{color:#9db1a9;border-top:1px solid #ffffff14;gap:22px;padding-top:13px;font-size:9px;display:flex;position:absolute;inset:auto 24px 17px}.allocation-card{padding:21px 22px}.allocation-body{align-items:center;gap:25px;height:162px;display:flex}.donut{background:conic-gradient(var(--mint) 0 42.5%, var(--orange) 42.5% 68.3%, var(--blue) 68.3% 91.7%, #d8dfdb 91.7%);border-radius:50%;flex:0 0 116px;place-items:center;height:116px;display:grid}.donut:before{content:"";background:#fff;border-radius:50%;width:78px;height:78px;position:absolute}.donut div{z-index:1;text-align:center}.donut strong,.donut small{display:block}.donut strong{letter-spacing:-.04em;font-size:21px}.donut small{color:#89968f;margin-top:2px;font-size:8px}.legend{flex:1;gap:12px;margin:0;padding:0;list-style:none;display:grid}.legend li{grid-template-columns:8px 1fr auto;align-items:center;gap:8px;font-size:9px;display:grid}.legend strong{font-size:10px}.legend i,.chart-legend i{border-radius:50%;width:6px;height:6px}.mint{background:var(--mint)}.orange{background:var(--orange)}.blue{background:var(--blue)}.gray{background:#d8dfdb}.metrics-row{grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0;display:grid}.metric{align-items:center;gap:12px;min-height:90px;padding:15px 17px;display:flex}.metric-icon{border-radius:10px;place-items:center;width:36px;height:36px;font-size:15px;display:grid}.metric-icon.green{color:#298466;background:#e7f5ef}.metric-icon.coral{color:#db745c;background:#faeee9}.metric-icon.violet{color:#7b71b8;background:#efedf8}.metric small,.metric strong,.metric em{display:block}.metric small{color:#829087;font-size:9px}.metric strong{letter-spacing:-.02em;margin:3px 0;font-size:17px}.metric em{color:var(--green);font-size:8px;font-style:normal}.metric em.neutral{color:#88795b}.bottom-grid{grid-template-columns:1.55fr .65fr}.cashflow-card{min-height:260px;padding:20px 23px 15px}.cashflow-card .card-heading button{border:1px solid var(--line);border-radius:7px;padding:6px 8px}.chart-area{background:repeating-linear-gradient(0deg,#0000 0 44px,#edf1ef 45px);border-bottom:1px solid #e8eeea;align-items:end;gap:22px;height:155px;margin:13px 8px 0;padding:10px 6px 0;display:flex}.bar-group{text-align:center;flex-direction:column;flex:1;justify-content:end;height:100%;display:flex}.bars{flex:1;justify-content:center;align-items:end;gap:4px;display:flex}.bars span,.bars i{border-radius:3px 3px 0 0;width:min(13px,35%)}.bars span{background:#3b9977}.bars i{background:#f2b174}.bar-group small{color:#8e9a93;margin-top:7px;font-size:8px}.chart-legend{color:#77857d;justify-content:center;gap:16px;margin-top:13px;font-size:8px;display:flex}.chart-legend span{align-items:center;gap:5px;display:flex}.chart-legend .income{background:#3b9977}.chart-legend .expense{background:#f2b174}.insight-card{background:linear-gradient(160deg,#f4faf7,#fff);min-height:260px;padding:20px;position:relative;overflow:hidden}.insight-top{justify-content:space-between;font-size:11px;font-weight:700;display:flex}.ai-pill{color:#39765f;background:#e1f0e9;border-radius:10px;padding:3px 7px;font-size:8px;font-weight:600}.insight-symbol{color:#228160;margin-top:19px;font-size:26px}.insight-card h2{margin:7px 0 8px;font-size:15px}.insight-card>p{color:#6e7e76;margin:0;font-size:9px;line-height:1.65}.insight-note{color:#776445;background:#faf4e9;border-radius:8px;gap:7px;margin-top:14px;padding:9px;font-size:8px;line-height:1.45;display:flex}.insight-note p{margin:0}.insight-note span{font-weight:800}.insight-card>button{color:#2e745c;cursor:pointer;background:0 0;border:0;padding:0;font-size:9px;font-weight:700;position:absolute;bottom:18px;left:20px}.toast{z-index:30;color:#315e4f;background:#f6fbf8;border:1px solid #cce0d7;border-radius:10px;align-items:center;gap:18px;max-width:min(560px,100vw - 32px);padding:11px 14px;font-size:11px;display:flex;position:fixed;top:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #153d2d24}.toast button{color:#6f8178;cursor:pointer;background:0 0;border:0}.content-panel{min-height:520px;padding:24px}.section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;display:flex}.section-head h2{letter-spacing:-.02em;margin:0;font-size:17px}.section-head p{color:#7c8982;margin:5px 0 0;font-size:10px}.count-pill{color:#537064;background:#edf4f0;border-radius:20px;padding:5px 9px;font-size:9px}.empty-state{text-align:center;place-items:center;min-height:360px;display:grid}.empty-state>span{width:52px;height:52px;color:var(--green);background:#eaf4ef;border-radius:16px;place-items:center;font-size:24px;display:grid}.empty-state h3{margin:15px 0 5px;font-size:14px}.empty-state p{color:#849088;max-width:330px;margin:0;font-size:10px;line-height:1.6}.review-list{display:grid}.review-row{border-bottom:1px solid #edf1ef;grid-template-columns:38px 1fr auto 104px;align-items:center;gap:14px;padding:17px 2px;display:grid}.source-symbol{color:#28765b;background:#e9f5ef;border-radius:11px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:grid}.review-main strong{font-size:11px}.review-main p{color:#78867e;margin:4px 0;font-size:9px}.review-main small{color:#9aa49f;text-overflow:ellipsis;white-space:nowrap;max-width:480px;font-size:8px;display:block;overflow:hidden}.warning-chip,.confidence-chip{border-radius:5px;margin-left:6px;padding:2px 5px;font-size:7px;font-weight:600}.warning-chip{color:#a56142;background:#faeee8}.confidence-chip{color:#34775e;background:#eaf4ef}.review-amount{text-align:right}.review-amount strong,.review-amount small{display:block}.review-amount strong{font-size:11px}.review-amount small{color:#8c9891;margin-top:4px;font-size:8px}.row-actions{gap:5px;display:grid}.row-actions button{color:#77857e;cursor:pointer;background:#fff;border:1px solid #dce5e0;border-radius:7px;min-height:28px;font-size:8px}.row-actions .confirm-button{color:#fff;background:#267d60;border-color:#267d60}.row-actions button:disabled{cursor:not-allowed;opacity:.45}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:10px}th{color:#89958e;text-align:left;padding:13px 10px;font-size:8px;font-weight:600}td{color:#68776f;border-top:1px solid #edf1ef;padding:15px 10px}td strong{color:#2d3f36}.number-cell{color:#283c32;font-variant-numeric:tabular-nums;font-weight:700}.status-ok{color:#2f7a5d;background:#e9f4ee;border-radius:8px;padding:3px 6px;font-size:7px}.asset-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.asset-summary article{padding:18px 20px}.asset-summary small,.asset-summary strong{display:block}.asset-summary small{color:#849088;font-size:9px}.asset-summary strong{margin-top:6px;font-size:19px}.account-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.account-card{background:#fbfcfb;border:1px solid #e3eae6;border-radius:12px;padding:16px}.account-card>div{justify-content:space-between;align-items:center;display:flex}.account-card small{color:#88958e;font-size:8px}.account-kind{color:#2e765c;background:#e8f4ee;border-radius:5px;padding:3px 5px;font-size:7px;font-weight:700}.account-kind.liability{color:#a46048;background:#f8ede8}.account-card h3{margin:15px 0 7px;font-size:11px}.account-card strong{font-size:14px}.account-card p{color:#909b95;margin:4px 0 0;font-size:8px}.subsection-head{border-top:1px solid var(--line);justify-content:space-between;align-items:end;margin-top:28px;padding:18px 0 10px;display:flex}.subsection-head h3{margin:0;font-size:12px}.subsection-head small,.cell-note{color:#8c9891;font-size:8px}.cell-note{margin-top:3px;display:block}.positive{color:#24805f!important}.negative{color:#b65c47!important}.position-gain{font-weight:700}.report-grid{grid-template-columns:1fr 260px;gap:16px;display:grid}.report-options{gap:10px;margin-top:20px;display:grid}.report-options>button{text-align:left;cursor:pointer;background:#fbfcfb;border:1px solid #e1e8e4;border-radius:11px;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.report-options>button:hover{background:#f5faf7;border-color:#a8cdbd}.report-options strong{font-size:10px;display:block}.report-options p{color:#87928c;margin:3px 0 0;font-size:8px}.report-icon{color:#2b765b;background:#e5f2ec;border-radius:10px;place-items:center;width:38px;height:38px;font-size:10px;font-weight:800;display:grid}.report-icon.monthly{color:#a26b40;background:linen}.report-icon.codex{color:#6964a5;background:#eeedf8}.report-note{background:linear-gradient(155deg,#f1f8f4,#fff);min-height:320px;padding:22px}.report-note h3{margin:16px 0 7px;font-size:14px}.report-note>p{color:#738178;margin:0;font-size:9px;line-height:1.7}.report-note dl{margin-top:25px}.report-note dl div{border-top:1px solid #e4ece8;justify-content:space-between;padding:9px 0;font-size:9px;display:flex}.report-note dt{color:#7a8981}.report-note dd{margin:0;font-weight:700}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#12251d80;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:17px;width:min(540px,100%);max-height:calc(100vh - 36px);overflow:auto;box-shadow:0 24px 80px #0e211a42}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.modal h2{margin:0;font-size:15px}.modal>header button{color:#718078;cursor:pointer;background:#f1f4f2;border:0;border-radius:8px;width:30px;height:30px}.form-stack,.form-grid{padding:22px}.form-stack{gap:15px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-stack label:not(.drop-zone),.form-grid label{color:#5e6e66;gap:6px;font-size:9px;font-weight:700;display:grid}.form-stack input,.form-stack select,.form-grid input,.form-grid select{color:#283a31;background:#fff;border:1px solid #dce5e0;border-radius:8px;outline:none;width:100%;height:39px;padding:0 11px;font-size:10px}.form-stack input:focus,.form-stack select:focus,.form-grid input:focus,.form-grid select:focus{border-color:#6cad91;box-shadow:0 0 0 3px #dcefe6}.form-stack input:disabled{color:#87928c;background:#f4f6f5}.form-hint{color:#64766d;background:#f0f6f3;border-radius:8px;margin:0;padding:9px 10px;font-size:9px;line-height:1.5}.form-error{color:#b5533c;margin:0;font-size:9px}.full-field{grid-column:1/-1}.primary-button.wide{width:100%}.modal-actions{justify-content:flex-end;gap:8px;margin-top:5px;display:flex}.modal-actions>button{cursor:pointer;background:#fff;border:1px solid #dce4e0;border-radius:9px;height:38px;padding:0 15px;font-size:10px}.modal-actions>button.primary-button{background:#1c795c;border:0}.drop-zone{text-align:center;cursor:pointer;background:#f7fbf9;border:1.5px dashed #aec9bd;border-radius:12px;place-items:center;min-height:150px;padding:20px;display:grid}.drop-zone input{opacity:0;width:1px;height:1px;position:absolute}.drop-icon{color:#fff;background:#2e8465;border-radius:11px;place-items:center;width:38px;height:38px;margin-bottom:10px;font-size:17px;display:grid}.drop-zone strong{font-size:10px}.drop-zone small{color:#87938c;margin-top:5px;font-size:8px}@media (max-width:960px){.app-shell{grid-template-columns:76px 1fr}.sidebar{width:76px;padding-inline:10px}.brand{padding-inline:11px}.brand>span:last-child,.nav-item:not(.active):after,.nav-item{font-size:0}.nav-item{justify-content:center}.nav-badge{font-size:8px;position:absolute;transform:translate(12px,-10px)}.privacy-card,.profile span:not(.avatar){display:none}.profile{justify-content:center}.workspace{grid-column:2;padding-inline:24px}.hero-grid{grid-template-columns:1fr}}@media (max-width:680px){.app-shell{display:block}.sidebar{z-index:10;border-top:1px solid var(--line);border-right:0;flex-direction:row;width:auto;height:64px;padding:7px 12px;position:fixed;inset:auto 0 0}.brand,.privacy-card,.profile{display:none}.sidebar nav{justify-content:space-around;width:100%;display:flex}.nav-item{width:56px;height:48px}.workspace{padding:24px 16px 84px}.topbar{align-items:end}.eyebrow,.icon-button,.upload-button{display:none}.sync-banner span:nth-child(2){white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.hero-grid,.bottom-grid,.metrics-row,.asset-summary,.account-grid,.report-grid{grid-template-columns:1fr}.metrics-row{gap:9px}.metric{min-height:74px}.allocation-body{justify-content:center}.sparkline{opacity:.45}.cashflow-card{min-height:240px}.chart-area{gap:8px}.bottom-grid{gap:14px}.content-panel{padding:17px}.review-row{grid-template-columns:34px 1fr auto}.review-amount{text-align:left;grid-column:2}.row-actions{grid-area:1/3/span 2}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.report-note{min-height:auto}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.capture-shell{color:#24362e;background:radial-gradient(circle at 50% 0,#e4f1eb 0,#0000 32%),#f6f8f6;min-height:100vh;padding:0 18px 36px}.capture-header{justify-content:space-between;align-items:center;max-width:680px;height:74px;margin:0 auto;display:flex}.capture-header a,.capture-header button{color:#6c7c74;cursor:pointer;background:0 0;border:0;font-size:10px;text-decoration:none}.capture-brand{padding:0;font-size:12px}.capture-card{background:#fff;border:1px solid #dfe8e3;border-radius:22px;width:min(580px,100%);margin:24px auto 0;overflow:hidden;box-shadow:0 18px 55px #173c2c14}.capture-intro{color:#fff;background:linear-gradient(145deg,#183f31,#286b53);gap:15px;padding:25px 26px 21px;display:flex}.lock-mark{color:#9be1c2;background:#ffffff0d;border:1px solid #ffffff2e;border-radius:12px;flex:0 0 38px;place-items:center;height:38px;font-weight:800;display:grid}.capture-intro p,.capture-intro h1,.capture-intro small{margin:0}.capture-intro p{color:#a6cab9;font-size:9px;font-weight:700}.capture-intro h1{letter-spacing:-.03em;margin:5px 0 6px;font-size:18px}.capture-intro small{color:#c5d8cf;font-size:9px;line-height:1.55}.passkey-box,.capture-form{padding:23px 26px}.passkey-box details{color:#74837b;border-top:1px solid #e9eeeb;margin-top:17px;padding-top:15px;font-size:9px}.passkey-box summary{cursor:pointer}.passkey-box label,.capture-fields label,.source-select{color:#66766e;gap:6px;font-size:9px;font-weight:700;display:grid}.passkey-box input,.capture-fields input,.capture-fields select,.source-select select{background:#fff;border:1px solid #dce5e0;border-radius:9px;outline:none;width:100%;height:40px;padding:0 11px;font-size:10px}.passkey-box button:not(.primary-button){color:#39715c;cursor:pointer;background:#f5faf7;border:1px solid #d7e2dc;border-radius:8px;height:36px;margin-top:8px;padding:0 12px;font-size:9px;font-weight:700}.capture-tabs{background:#eef3f0;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:17px;padding:3px;display:grid}.capture-tabs button{color:#7a8981;cursor:pointer;background:0 0;border:0;border-radius:8px;height:34px;font-size:9px}.capture-tabs button.active{color:#256b51;background:#fff;font-weight:800;box-shadow:0 3px 10px #163a2b0d}.capture-drop{text-align:center;cursor:pointer;background:#f8fbf9;border:1.5px dashed #9fc5b4;border-radius:14px;place-items:center;min-height:178px;padding:22px;display:grid;position:relative}.capture-drop input{opacity:0;width:1px;height:1px;position:absolute}.capture-drop span{color:#fff;background:#2c7b5d;border-radius:12px;place-items:center;width:39px;height:39px;font-size:20px;display:grid}.capture-drop strong{margin-top:10px;font-size:10px}.capture-drop small{color:#8a9690;margin-top:5px;font-size:8px}.capture-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.capture-full{grid-column:1/-1}.source-select,.capture-submit{margin-top:15px}.capture-status{color:#51665b;background:#f8faf9;border-top:1px solid #e7ede9;align-items:center;gap:11px;min-height:59px;padding:13px 26px;display:flex}.capture-status strong,.capture-status small{display:block}.capture-status strong{font-size:9px}.capture-status small{color:#89958e;margin-top:3px;font-size:8px}.capture-status.error{color:#9a4b38;background:#fff7f5}.capture-footer{color:#829088;justify-content:center;align-items:center;gap:12px;max-width:580px;margin:19px auto;font-size:8px;display:flex}.capture-footer i{color:#a9b6af;font-style:normal}button:disabled{opacity:.52;cursor:not-allowed!important}@media (max-width:520px){.capture-shell{padding-inline:12px}.capture-header{height:61px}.capture-card{border-radius:17px;margin-top:10px}.capture-intro,.passkey-box,.capture-form{padding-inline:19px}.capture-fields{grid-template-columns:1fr}.capture-full{grid-column:auto}.capture-footer{gap:7px}.capture-footer i{display:none}}
