.finance-dashboard{background:#f4f7fc;color:#182c48}.finance-dashboard main{max-width:1220px;margin:auto;padding:42px 32px 64px}.dashboard-heading{display:flex;gap:30px;justify-content:space-between;align-items:center;margin-bottom:30px}.dashboard-heading h1{font-size:44px;line-height:1.15;letter-spacing:-1.6px;margin:12px 0}.dashboard-heading h1 span{color:#2559ce}.dashboard-heading p{color:#65748b;line-height:1.6}.identity{text-align:right;max-width:290px}.identity strong{font-size:14px}.identity p{font-size:13px}.primary,.secondary{font-family:inherit;font-size:14px;font-weight:600;border-radius:9px;padding:12px 18px;cursor:pointer;border:1px solid #d6dfec;display:inline-block;text-decoration:none}.primary{background:#2259d3;color:white;border-color:#2259d3}.primary:hover{background:#1747b2}.secondary{background:white;color:#263e62}.primary:disabled,.secondary:disabled{opacity:.5;cursor:wait}.text-button{background:none;border:0;color:#2559ce;text-decoration:underline;cursor:pointer;font:inherit}.gate{border:1px solid #dce4ef;background:white;border-radius:18px;padding:38px;max-width:720px;margin:20px auto}.gate .secondary{margin-left:10px}.small,.muted{color:#687891;font-size:13px;line-height:1.55}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.metric{padding:20px;background:white;border:1px solid #e0e7f0;border-radius:13px}.metric small{display:block;color:#647590;margin-bottom:9px}.metric b{font-size:24px;letter-spacing:-.8px}.metric .small{margin-top:8px;font-size:12px}.workspace-tabs{display:flex;gap:6px;border-bottom:1px solid #d7e0ef;margin:30px 0 24px;overflow:auto;white-space:nowrap}.workspace-tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:13px 17px;font-family:inherit;font-size:14px;font-weight:600;color:#667891;cursor:pointer}.workspace-tabs [aria-current]{color:#2559ce;border-bottom-color:#2559ce}.view-heading{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:22px}.view-heading h2{font-size:23px;letter-spacing:-.5px;margin:0 0 7px}.view-heading p{margin:0}.view-actions{display:flex;gap:9px;flex-wrap:wrap}.goal-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.goal-card,.panel{background:white;border:1px solid #dce5f0;border-radius:15px;padding:24px}.goal-top{display:flex;justify-content:space-between;gap:16px;align-items:start}.goal-top h3{font-size:19px;line-height:1.4;margin:0 0 7px}.badge{display:inline-block;border-radius:20px;font-size:11px;font-weight:600;padding:5px 9px;background:#eaf0fd;color:#275bbf}.green{background:#e7f5ee;color:#287149}.amber{background:#fff4de;color:#8c6319}.goal-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0}.goal-values small,.key-values dt{display:block;font-size:12px;color:#697b95;margin-bottom:7px}.goal-values b{font-size:16px}.progress-caption{display:flex;justify-content:space-between;font-size:12px;margin:10px 0}.progress-track{height:8px;background:#e9eef8;border-radius:20px;overflow:hidden}.progress-track span{height:100%;background:#3366db;display:block;border-radius:20px}.goal-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #e7edf6;margin-top:20px;padding-top:16px}.goal-foot p{margin:0;font-size:12px;color:#657690}.goal-controls{display:flex;gap:8px}.goal-controls button,.row-action{background:#f0f4fc;border:1px solid #dce5f3;color:#315fbb;border-radius:7px;font-size:12px;padding:7px 10px;cursor:pointer}.empty{text-align:center;border:1px dashed #c5d3e7;border-radius:15px;padding:42px;background:white}.empty h3{margin:0 0 10px}.empty p{color:#64738a;line-height:1.6}.notice{border:1px solid #d4e3fb;background:#edf4ff;color:#33567f;border-radius:9px;padding:13px 16px;font-size:13px;line-height:1.5;margin:12px 0}.error{color:#a13030;border:1px solid #e9b9b9;background:#fff0f0;border-radius:7px;padding:12px;font-size:13px}.notice.error{color:#a13030;background:#fff0f0}.table-wrap{overflow:auto;border:1px solid #dce4ee;background:white;border-radius:13px}.data-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.data-table th{padding:13px 16px;background:#eef3fa;color:#536985;font-size:11px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.data-table td{padding:14px 16px;border-top:1px solid #e7edf4;vertical-align:top}.data-table td b{display:block;font-size:13px;line-height:1.5;max-width:350px}.data-table td small{display:block;font-size:11px;color:#657590;margin-top:5px}.data-table .amount{text-align:right;white-space:nowrap}.data-table input,.data-table select{width:100%;min-width:85px;padding:8px;font:inherit;border:1px solid #cbd8e9;border-radius:6px}.data-table td:first-child{min-width:220px}.search{padding:10px;border:1px solid #cbd8e9;border-radius:7px;width:260px;max-width:100%;margin-bottom:14px;background:white}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.key-values{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.key-values dd{margin:0;font-size:19px;font-weight:600}.panel h3{font-size:18px;margin:0 0 18px}.workspace-note{font-size:12px;color:#6c7c92;line-height:1.6;margin:24px 0}.checklist{list-style:none;padding:0;margin:0}.checklist li{border-top:1px solid #e8edf6;padding:12px 0;display:flex;justify-content:space-between;gap:20px;font-size:13px}.blueprint-intro{background:#183b76;color:white;border-radius:15px;padding:28px;margin-bottom:22px}.blueprint-intro h3{font-size:25px;margin:0 0 8px}.blueprint-intro p{color:#d3e0f7;line-height:1.6}.assumptions p,.assumptions li{font-size:13px;color:#5e6f88;line-height:1.75}.assumptions li{margin-bottom:10px}.allocation-line{display:grid;grid-template-columns:1fr 110px;gap:18px;align-items:center;border-bottom:1px solid #e6edf5;padding:12px 0}.allocation-line label{font-size:14px}.allocation-line input{width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.form-grid .wide{grid-column:1/-1}.form-grid label{display:block;font-size:13px;color:#344d72;font-weight:600}.form-grid input,.form-grid select{width:100%;display:block;margin-top:8px;border:1px solid #cbd8e9;border-radius:8px;padding:11px;font-family:inherit;font-size:15px;font-weight:400;background:white;color:#263c5b;box-sizing:border-box}.form-grid small{display:block;margin-top:8px;font-size:12px;font-weight:400;line-height:1.55;color:#718097}.file-label{border:1px dashed #91aada;padding:20px;border-radius:10px;background:#f3f7ff}.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.6;margin:18px 0}.consent input{margin-top:5px}.dialog-top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.dialog-top h2{margin:0;font-size:23px;line-height:1.4}.dialog-top button{font-size:26px;background:none;border:0;cursor:pointer;color:#687b93}dialog{width:min(760px,calc(100vw - 40px));max-height:85vh;overflow:auto;border:1px solid #d2ddeb;border-radius:16px;padding:27px;box-shadow:0 20px 90px #14325d44;color:#1c3557;box-sizing:border-box}dialog::backdrop{background:#12244477}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e0e8f4;padding-top:20px;margin-top:25px}.import-review{max-height:360px;overflow:auto;margin:18px 0}.import-review .data-table{font-size:12px}.import-review .data-table td{padding:9px}.import-total{padding:14px;border-radius:8px;background:#f0f5fc;font-size:13px;line-height:1.7}.review-warning{font-size:12px;color:#976721}.goal-type-note{margin-bottom:18px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8daefa;outline-offset:3px}[hidden]{display:none!important}
@media(max-width:820px){.finance-dashboard main{padding:28px 18px}.dashboard-heading h1{font-size:35px}.dashboard-heading{align-items:start}.metrics{grid-template-columns:1fr 1fr}.goal-cards,.panel-grid{grid-template-columns:1fr}.goal-values b{font-size:15px}.view-heading{align-items:start}.identity{max-width:190px}.metric b{font-size:22px}.workspace-tabs button{padding:12px;font-size:13px}}
@media(max-width:520px){.dashboard-heading{display:block}.identity{text-align:left;max-width:none;margin-top:22px}.identity p{display:inline-block;margin-right:15px}.dashboard-heading h1{font-size:33px}.metrics{gap:10px}.metric{padding:15px 12px}.metric b{font-size:20px}.metric small{font-size:12px}.view-heading{display:block}.view-actions{margin-top:16px}.goal-card,.panel{padding:19px}.goal-values{gap:8px}.goal-values b{font-size:13px}.goal-values small{font-size:11px}.goal-foot{align-items:start}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:1}.gate{padding:24px}.gate .primary,.gate .secondary{margin:10px 0 0;display:block;text-align:center;width:100%;box-sizing:border-box}dialog{padding:20px;width:calc(100vw - 24px)}.workspace-tabs{margin-top:22px}.goal-top h3{font-size:18px}}
.identity strong,.identity p{display:block}.identity p{margin:7px 0}

.investment-tools{display:flex;flex-wrap:wrap;gap:20px;margin:18px 0}.investment-tools label{display:grid;gap:8px;flex:1;min-width:220px}.investment-tools select{padding:12px;font:inherit;border:1px solid #cbd3df;border-radius:8px;background:#fff}

.allocation-visual{display:flex;align-items:center;gap:24px}.allocation-pie{width:170px;height:170px;flex:0 0 170px;border-radius:50%}.allocation-legend{list-style:none;padding:0;margin:0;display:grid;gap:14px;flex:1;min-width:0}.allocation-legend li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:13px}.allocation-legend small{display:block;color:#657590;margin-top:4px}.allocation-swatch{width:10px;height:10px;border-radius:50%}@media(max-width:520px){.allocation-visual{flex-direction:column;align-items:stretch}.allocation-pie{align-self:center;flex-basis:auto;width:160px;height:160px}.allocation-legend{width:100%}}
.goal-journey{padding:28px 0 12px}.journey-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px}.journey-heading h2{font-size:28px;letter-spacing:-.8px;margin:6px 0}.journey-heading .eyebrow{font-size:11px;letter-spacing:2px;margin:0;color:#587497}.journey-heading>p{text-align:right}.journey-scroll{overflow-x:auto;border:1px solid #dce5ee;border-radius:24px;background:linear-gradient(160deg,#f6fbf7,#eaf2fb);padding:12px 24px;scrollbar-color:#b2c3da transparent}.goal-road{list-style:none;display:flex;position:relative;padding:0;margin:0;min-width:max-content;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='390' viewBox='0 0 240 390'%3E%3Cpath d='M0 195H240' fill='none' stroke='%23566477' stroke-width='40'/%3E%3Cpath d='M0 195H240' fill='none' stroke='%23ffffff' stroke-width='2' stroke-dasharray='12 12'/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:left center}.road-stop{width:240px;height:390px;position:relative;flex:0 0 240px}.milestone-card{position:absolute;top:26px;left:18px;right:18px;min-height:107px;border-radius:15px;background:#fff;padding:15px;box-shadow:0 7px 25px #2547720d;border:1px solid #d4e1f1;box-sizing:border-box}.road-stop.below .milestone-card{top:244px}.milestone-year{font-size:12px;font-weight:700;letter-spacing:1px;color:#315fc8}.milestone-card h3{font-size:16px;line-height:1.3;overflow-wrap:anywhere;margin:9px 0 7px;color:#183653}.milestone-state{font-size:11px;color:#667a91}.milestone-stem{position:absolute;left:119px;top:147px;height:28px;width:2px;background:#9eb2cf}.road-stop.below .milestone-stem{top:216px;height:28px}.milestone-pin{position:absolute;top:175px;left:100px;height:40px;width:40px;border:4px solid #fff;border-radius:50%;background:#315fc8;color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;box-shadow:0 3px 12px #233f6f30}.road-stop.done .milestone-pin{background:#258457;font-size:20px}.road-stop.done .milestone-card{background:#f3fcf6;border-color:#b8dbc7}.road-stop.done .milestone-year{color:#258457}.goal-mix{font-size:12px;line-height:1.7;color:#435f83;padding:13px;background:#f0f5ff;border-radius:9px}.goal-mix span{font-weight:700;display:block}.goal-mix-cell{min-width:165px;font-size:12px;line-height:1.7}.completed-card h3{margin:18px 0 12px}.goal-foot{flex-wrap:wrap}.goal-controls{flex-wrap:wrap}.blueprint-intro+.table-wrap+.panel{margin-top:22px}@media(max-width:520px){.journey-heading{display:block}.journey-heading>p{text-align:left}.journey-heading h2{font-size:26px}.journey-scroll{padding:6px 12px}.goal-journey{padding-top:20px}.goal-foot{display:block}.goal-controls{margin-top:15px}}
.milestone-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.investment-filter-panel{padding:14px 18px;border:1px solid #dce5ef;border-radius:12px;background:#fff;margin:8px 0 20px}.investment-filter-panel summary{cursor:pointer;font-size:14px;font-weight:600;color:#365984}.investment-filter-panel .investment-tools{margin-bottom:12px}.compact-photo-row{display:flex;align-items:center;gap:16px;margin:16px 0}.compact-photo-row img{max-width:100px;max-height:130px;object-fit:contain;border:1px solid #d7e2ef;border-radius:8px}.compact-preview{display:block;width:100%;height:470px;border:1px solid #d7e2ef;border-radius:10px;margin-top:18px}.import-review details{font-size:13px}@media(max-width:520px){.compact-preview{height:350px}.investment-filter-panel{padding:14px}.investment-filter-panel .investment-tools label{min-width:100%;}.view-actions .secondary,.view-actions .primary{padding:10px 12px;font-size:12px}}

.goal-chat-bot{padding:18px 20px;border-radius:16px 16px 16px 4px;background:#eaf1fc;font-size:18px;line-height:1.5;margin:18px 0}.goal-chat-options{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.goal-chat-options button{min-height:44px}.goal-chat-log{max-height:160px;overflow:auto}.goal-chat-answer{padding:9px 12px;margin:8px 0 8px auto;background:#f4f7fb;border-radius:12px;max-width:88%;display:flex;justify-content:space-between;gap:14px;font-size:12px}.goal-chat-answer b{white-space:nowrap}.goal-chat-custom{display:grid;gap:10px;font-size:13px}.goal-chat-custom input{font:inherit;padding:12px;border:1px solid #cbd8e9;border-radius:8px}.goal-chat-review{padding:18px;border:1px solid #dbe4f0;border-radius:12px;margin:16px 0}.goal-chat-review p{font-size:14px;line-height:1.6}@media(max-width:520px){.goal-chat-options button{flex:1 1 42%}.goal-chat-answer{display:block}.goal-chat-answer b{display:block;margin-top:5px;white-space:normal}}

.blueprint-mix{display:flex;width:130px;max-width:100%;height:9px;overflow:hidden;border-radius:8px;margin:4px 0 8px}.blueprint-mix span{display:block;height:100%}
.asset-beneficiary-editor h3{font-size:17px;line-height:1.4;margin:0 0 16px;overflow-wrap:anywhere;letter-spacing:0}.asset-beneficiary-editor section{margin-top:24px;padding-top:20px;border-top:1px solid #dce5ef}.asset-beneficiary-editor label{display:grid;gap:8px;font-size:13px;font-weight:600;color:#365077;min-width:0}.asset-beneficiary-editor input,.asset-beneficiary-editor select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:11px 12px;font:inherit;border:1px solid #cbd8e9;border-radius:8px;background:#fff;color:#203957}.asset-beneficiary-editor .ownership-confirm{display:flex;align-items:center;gap:10px;margin:16px 0}.asset-beneficiary-editor .ownership-confirm input{width:18px;min-height:18px;flex:0 0 18px}.beneficiary-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 44px;align-items:end;gap:12px;margin-bottom:16px}.beneficiary-row .beneficiary-remove{width:44px;height:44px;min-height:44px;padding:0;font-size:24px;line-height:1}.asset-nominee .form-grid{align-items:end}.asset-nominee .form-grid button{min-height:44px}.asset-beneficiary-editor .small{font-size:13px;margin:12px 0 0}@media(max-width:520px){.beneficiary-row{grid-template-columns:minmax(0,1fr) 44px;gap:10px}.beneficiary-row label:first-child{grid-column:1/-1}.beneficiary-row label:nth-child(2){grid-column:1}.beneficiary-row .beneficiary-remove{grid-column:2}}

.goal-filters{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 24px}.goal-filters label{display:grid;gap:5px;min-width:150px}.goal-filters select{padding:10px;border:1px solid #ccd5df;border-radius:10px;background:white}.finance-dashboard [hidden]{display:none!important}#glance{margin-top:26px}#glance h2{font-size:1.3rem}@media(max-width:600px){.goal-filters label{flex:1;min-width:120px}}

/* Keep scanned-statement review amounts readable inside its scroll area. */
.finance-dashboard #editor .import-review .data-table input{min-width:180px}.finance-dashboard #editor .import-review .data-table select{min-width:170px}.import-review .data-table td:first-child{min-width:280px}.import-review .data-table th{white-space:nowrap}
