*{box-sizing:border-box}body{margin:0;background:#f3f5f6;color:#20343e;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid #d4dfe2;border-radius:9px;padding:9px 14px;background:#fff;color:#20343e;font-weight:600}button:hover{background:#edf5f3}button:disabled{opacity:.45;cursor:wait}.primary{background:#176f60;color:white;border-color:#176f60}.primary:hover{background:#125d51}.danger{color:#b33142;border-color:#edc7cc}.quiet{background:transparent;border-color:transparent}a{color:#146e60;text-underline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-1px;line-height:1.3}h2{font-size:18px;letter-spacing:-.4px}h3{font-size:15px}.muted{color:#72818a}.small{font-size:12px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:700;color:#718c85}.loading{padding:50px}.layout{display:grid;grid-template-columns:222px minmax(0,1fr);min-height:100vh}.sidebar{background:#132a35;color:#d6e3e8;padding:28px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:700;letter-spacing:-1px;padding:0 9px}.brand img{width:34px;height:34px}.sidebar nav{display:grid;gap:5px}.nav{color:#b9cbd2;background:transparent;border:0;text-align:left;display:flex;gap:12px;padding:11px 14px;font-size:13px}.nav:hover{background:#1c3a47}.nav.active{background:#255043;color:#bdffdf}.nav-icon{width:20px;font-size:16px}.sidebar-foot{margin-top:auto;padding:14px 9px;border-top:1px solid #2b414c;font-size:12px;color:#8da5af}.sidebar-foot strong{color:#c9e4db;display:block;margin-bottom:6px}.main{min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:17px 36px;border-bottom:1px solid #e0e7e9;background:#fff;gap:15px}.identity{display:flex;align-items:center;gap:9px;min-width:0}.identity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40vw}.dot{width:7px;height:7px;background:#25806a;border-radius:50%;display:inline-block}.content{padding:32px 36px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:26px}.page-head p{margin-top:9px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid #e0e7e9;border-radius:14px;padding:22px;min-width:0}.metric .label{font-size:12px;color:#72818a}.metric .value{font-size:27px;letter-spacing:-1px;font-weight:700;margin:9px 0 4px;overflow-wrap:anywhere}.metric.accent{background:#173d35;color:#fff;border-color:#173d35}.metric.accent .label,.metric.accent .muted{color:#add1c1}.section{margin-top:22px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.badge{border-radius:99px;background:#ebf4f0;color:#327965;font-size:11px;padding:4px 9px;white-space:nowrap}.badge.warn{background:#fff4df;color:#9a6d1a}.badge.gray{background:#edf1f3;color:#77858b}.note{background:#eaf3f0;border:1px solid #d4e7df;color:#416e5e;border-radius:10px;padding:13px 16px;margin:16px 0;font-size:12px}.note.warning{background:#fff8e9;border-color:#eddfba;color:#876625}.note.error{background:#fff1f2;border-color:#f1c5ca;color:#983747}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;color:#7b8990;font-weight:500;background:#f8fafb;padding:11px 13px;border-top:1px solid #e8edef;border-bottom:1px solid #e8edef}td{padding:14px 13px;border-bottom:1px solid #edf1f3}td .actions{flex-wrap:nowrap}td button{font-size:11px;padding:5px 9px}.num{text-align:right;font-variant-numeric:tabular-nums}.empty{padding:34px 20px;text-align:center;color:#87959d;border:1px dashed #dbe3e6;border-radius:10px}.empty strong{display:block;color:#4e656e;font-size:14px;margin-bottom:5px}.split{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.rows{display:grid;gap:0}.row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #edf1f3}.row:last-child{border:0}.row strong{font-variant-numeric:tabular-nums}.progress{width:100%;height:8px;border:0;border-radius:6px;overflow:hidden;display:block;accent-color:#438d7b}progress::-webkit-progress-bar{background:#eef3f2}progress::-webkit-progress-value{background:#438d7b}.chart{width:100%;height:160px;color:#238774}.chart text{fill:#80948c;font-size:10px}.gate{max-width:480px;margin:8vh auto;padding:0 22px}.gate-brand{justify-content:center;margin-bottom:32px}.gate h1{font-size:24px;margin-bottom:8px}.gate .card{padding:30px}.gate p{margin:10px 0 20px}.gate footer{font-size:12px;text-align:center;margin:20px 0;color:#7c8c93}.form{display:grid;gap:16px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:5px;font-size:12px;color:#5e747d}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #cad8de;border-radius:8px;padding:10px;background:#fff;color:#233d46;min-width:0}.field small{color:#87949b}.check{display:flex;align-items:flex-start;gap:9px;font-size:12px}.check input{margin-top:4px;accent-color:#176f60}.form-error{color:#ae3f49;font-size:12px;white-space:pre-wrap}.form-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #e7edef;padding-top:16px;margin-top:8px}.recovery{padding:15px;background:#eff4f2;word-break:break-all;border-radius:8px;font-family:monospace;user-select:all;font-size:14px;letter-spacing:.5px}dialog{border:1px solid #dce6e9;border-radius:16px;padding:26px;width:min(620px,calc(100vw - 28px));max-height:90vh;color:#20343e;box-shadow:0 20px 80px #10273533}dialog::backdrop{background:#10222f99;backdrop-filter:blur(3px)}dialog h2{margin-bottom:8px}dialog>p{margin-bottom:20px}#notices{position:fixed;right:20px;bottom:20px;z-index:20;max-width:min(440px,90vw)}.toast{margin-top:8px;padding:14px 18px;background:#173d35;color:white;border-radius:10px;box-shadow:0 4px 20px #122d351f}.link-list{display:flex;gap:18px;flex-wrap:wrap;margin-top:15px;font-size:12px}.danger-zone{border-color:#ebc9ce}.mobile-label{display:none}.kpi-foot{font-size:11px;color:#8ca097;margin-top:8px}section+section{margin-top:22px}
@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.sidebar{padding:24px 12px}.layout{grid-template-columns:190px minmax(0,1fr)}.content{padding:26px}.topbar{padding:15px 26px}}
@media(max-width:700px){.layout{display:block}.sidebar{height:auto;position:static;padding:16px;gap:14px}.sidebar nav{display:flex;overflow-x:auto;gap:5px}.nav{white-space:nowrap;padding:9px 12px}.nav-icon{display:none}.sidebar-foot{display:none}.brand{font-size:19px}.topbar{padding:12px 18px}.content{padding:24px 16px}.page-head{align-items:flex-start;flex-direction:column}h1{font-size:24px}.grid,.grid.two{gap:10px}.card{padding:17px}.metric .value{font-size:23px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.gate{margin:5vh auto}.gate .card{padding:24px}.topbar .small{font-size:11px}.identity span{max-width:45vw}}

.fx-panel{padding:18px 20px;border:1px solid var(--border,#d8e2ea);border-radius:14px;margin-bottom:24px;background:var(--surface,#fff)}
.fx-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.fx-heading strong{font-size:1rem;font-variant-numeric:tabular-nums}.fx-panel .small{margin:10px 0 0;line-height:1.6}.fx-panel .actions{flex-wrap:wrap}

.signin-button{display:block;margin:24px 0 18px;padding:13px 18px;border-radius:10px;background:#176f60;color:white;text-align:center;text-decoration:none;font-size:1rem;font-weight:600}.account-signout{font-size:14px;white-space:nowrap}.gate .account-signout{display:inline-block;margin:10px 0 18px}

/* 1.1 beta: readable inputs and accessible contextual help. */
body{font-size:16px}.small,.note,.field,.check,.form-error,.link-list,.nav,table,.metric .label{font-size:14px}.badge,.sidebar-foot,.eyebrow{font-size:12px}td button{font-size:13px}.sidebar{overflow-y:auto}.field-label{display:flex;align-items:center;gap:7px;min-width:0}.field-label label{min-width:0}.help-wrap{display:inline-flex;position:relative;vertical-align:middle;flex-shrink:0}.help-trigger{border:1px solid #9dadaf;border-radius:50%;width:24px;height:24px;padding:0;font-size:14px;line-height:22px;color:#39645a;background:#f4faf7}.help-tooltip{display:none;position:absolute;z-index:30;bottom:calc(100% + 8px);left:0;width:min(310px,70vw);padding:12px 14px;border:1px solid #395b64;border-radius:10px;background:#183640;color:#fff;font-size:14px;font-weight:400;line-height:1.6;white-space:normal;box-shadow:0 8px 25px #173d3533}.help-wrap:hover .help-tooltip,.help-wrap:focus-within .help-tooltip,.help-trigger[aria-expanded=true]+.help-tooltip{display:block}.fields{padding-top:12px}.field:nth-child(even) .help-tooltip{left:auto;right:0}.release-list li{margin:9px 0}.release-summary{display:flex;gap:14px;align-items:center}.data-status{display:grid;gap:8px}.section .note{margin-bottom:0}.form{overflow:visible}
@media(max-width:700px){.field .help-tooltip{left:auto;right:0}.metric .value{font-size:22px}.topbar .small{font-size:12px}.grid.two{grid-template-columns:1fr}.help-tooltip{max-width:65vw}}

.help-tooltip.positioned{position:fixed;bottom:auto;right:auto;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto}

/* 1.2 Beta: one search field, accessible results, and an explicit matched instrument. */
.instrument-results{display:grid;gap:6px;margin-top:8px}.instrument-option{text-align:left;white-space:normal;line-height:1.5;width:100%;padding:10px 12px;font-size:14px}.instrument-match:not(:empty){margin-top:12px;padding:12px;background:#eef6f3;border:1px solid #bfd4cb;border-radius:8px}.instrument-match p{margin:5px 0}.instrument-status{margin:8px 0}.check[hidden]{display:none}.field input[name=query]{font-size:16px}

/* Beta 1.31: quiet portfolio cards, consistent asset colors and readable mobile details. */
:root{--asset-tone:#257868;--asset-soft:#edf6f2}
[data-tone=stock]{--asset-tone:#4168b2;--asset-soft:#edf2fc}
[data-tone=coin]{--asset-tone:#a76b17;--asset-soft:#fcf4e5}
[data-tone=property]{--asset-tone:#83629f;--asset-soft:#f4eff9}
[data-tone=cash]{--asset-tone:#257868;--asset-soft:#edf6f2}
[data-tone=other]{--asset-tone:#637887;--asset-soft:#eff3f6}
[data-tone=debt]{--asset-tone:#b34d58;--asset-soft:#fff0f2}
body{background:#f4f6f8;color:#253744}
.content{max-width:1600px;padding-top:38px}
.content[data-page=holdings],.content[data-page=recurring]{--page-tone:#4168b2;--page-soft:#edf2fc}
.content[data-page=coins]{--page-tone:#966015;--page-soft:#fcf4e5}
.content[data-page=wealth],.content[data-page=property],.content[data-page=tax]{--page-tone:#785395;--page-soft:#f4eff9}
.content[data-page=income],.content[data-page=dividends],.content[data-page=plan]{--page-tone:#257868;--page-soft:#edf6f2}
.page-head{padding:0 0 24px;border-bottom:1px solid #dce4e9;margin-bottom:18px}
.page-head .eyebrow{color:var(--page-tone,#257868);font-size:12px;letter-spacing:2.4px}
h1{font-size:30px;letter-spacing:-1.2px}.page-head h1{margin-top:8px}
.metric.accent{background:var(--page-tone,#173d35);border-color:var(--page-tone,#173d35)}
.metric.accent .label,.metric.accent .muted{color:#f2f5f9}.metric .value{font-variant-numeric:tabular-nums;letter-spacing:-1.1px}
.card{box-shadow:0 3px 14px #23374404}.section-head h2{font-size:17px}.section-head{align-items:flex-start}
.asset-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.asset-legend span{color:var(--asset-tone);background:var(--asset-soft);border:1px solid #dfe6eb;padding:5px 12px;border-radius:7px;font-size:13px;font-weight:650}
.asset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px}
.asset-tile{border:1px solid #dde5eb;border-radius:13px;overflow:hidden;min-width:0;background:#fff;display:flex;flex-direction:column;box-shadow:0 4px 12px #192f4010}
.asset-heading{display:flex;align-items:center;gap:12px;padding:20px 20px 16px;background:var(--asset-soft);border-top:3px solid var(--asset-tone)}
.asset-heading>div{min-width:0}.asset-heading h3{font-size:18px;line-height:1.45;letter-spacing:-.5px;overflow-wrap:anywhere}
.asset-mark{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:12px;color:var(--asset-tone);background:#fff;font-size:17px;font-weight:750;border:1px solid #dce4eb}
.asset-type{color:var(--asset-tone);font-size:12px;font-weight:600;margin-bottom:3px}.asset-code{color:#617280;font-size:13px;overflow-wrap:anywhere;margin-top:3px}
.asset-valuation{padding:18px 20px 8px;display:grid;gap:3px}.asset-valuation>span{font-size:14px;color:#697b88}.asset-valuation>strong{font-size:28px;line-height:1.4;letter-spacing:-.8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.asset-change{padding:0 20px 12px;min-height:40px;font-variant-numeric:tabular-nums}.asset-change strong{font-size:18px}.positive{color:#17715b}.negative{color:#bb3d4b}
.asset-facts{margin:0;padding:0 20px 16px;display:grid;gap:8px;font-size:14px}.asset-facts>div{display:grid;grid-template-columns:minmax(78px,.8fr) minmax(0,1.4fr);gap:12px}.asset-facts dt{color:#6c7c87}.asset-facts dd{margin:0;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.asset-footer{margin-top:auto;padding:12px 20px;border-top:1px solid #e9eef1;background:#fafcfd}.asset-footer button{font-size:14px;padding:6px 10px}
.asset-details{margin-top:20px;border-top:1px solid #e2e9ed;padding-top:12px}.asset-details>summary{cursor:pointer;font-size:14px;color:#4c6273;padding:8px 0;font-weight:600}.asset-details .table-wrap{margin-top:12px}
.asset-empty{display:grid;justify-items:center;gap:9px;padding:36px 16px;border:1px dashed #cfdde4;border-radius:12px;background:#f9fbfc;text-align:center}.asset-empty>span{font-size:34px;color:#527684}.asset-empty p{font-size:14px;color:#647986}
.allocation{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);gap:26px;align-items:center;padding:8px 0}
.allocation-ring{position:relative;max-width:225px;justify-self:center;width:100%}.allocation-ring svg{display:block;width:100%;height:auto}.allocation-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.allocation-center span{font-size:13px;color:#6e808b}.allocation-center strong{font-size:23px;letter-spacing:-.6px}
.allocation-legend{display:grid;gap:16px}.allocation-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:10px;align-items:center}.allocation-dot{width:8px;height:8px;border-radius:3px;background:var(--asset-tone)}.allocation-row strong{font-size:14px;display:block;font-weight:600}.allocation-row span:not(.allocation-dot){font-size:13px;color:#6b7d88;overflow-wrap:anywhere}.allocation-row b{font-size:14px;color:var(--asset-tone);font-variant-numeric:tabular-nums}.visual-caption{margin-top:18px;line-height:1.7}
.amount-bars{display:grid;gap:15px;margin:8px 0 24px}.bar-label{display:flex;justify-content:space-between;gap:16px;font-size:14px;margin-bottom:7px}.bar-label span{overflow-wrap:anywhere}.bar-label strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.amount-bars progress{display:block;width:100%;height:7px;border:0;border-radius:9px;overflow:hidden;accent-color:var(--asset-tone)}.amount-bars progress::-webkit-progress-bar{background:#edf1f4}.amount-bars progress::-webkit-progress-value{background:var(--asset-tone)}.amount-bars progress::-moz-progress-bar{background:var(--asset-tone)}.visual-empty{padding:20px 0;color:#697d88;font-size:14px}
.dividend-timeline{display:grid;gap:14px;margin-bottom:24px}.dividend-day{display:grid;grid-template-columns:66px minmax(0,1fr);gap:16px;padding:16px;border:1px solid #dce8e3;border-radius:12px;background:#fbfdfc}.dividend-day time{display:grid;align-content:center;justify-items:center;border-radius:9px;background:#eaf4ee;color:#25735e;height:70px}.dividend-day time span{font-size:12px}.dividend-day time strong{font-size:26px;line-height:1.3}.dividend-event{display:flex;justify-content:space-between;gap:16px;padding:5px 0}.dividend-event>div{min-width:0;overflow-wrap:anywhere}.dividend-event>div:last-child{text-align:right}.dividend-event strong{font-size:15px}.dividend-event+.dividend-event{border-top:1px solid #e5eee9;margin-top:8px;padding-top:12px}
.content[data-page=patches] .section{border-left:3px solid #b2cabe}.content[data-page=patches] .section:first-of-type{border-left-color:#257868}.content[data-page=security] .section:not(.danger-zone){border-top:3px solid #cbdbe4}.release-list{padding-left:22px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #477dbe;outline-offset:3px}
@media(min-width:1400px){.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.allocation{gap:16px;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr)}.allocation-center strong{font-size:20px}}
@media(max-width:700px){.content{padding-top:25px}.page-head h1{font-size:27px}.page-head{padding-bottom:20px}.topbar{flex-wrap:wrap}.topbar .identity span{max-width:85vw}.topbar .actions{gap:6px}.asset-legend{gap:6px;margin-bottom:18px}.asset-legend span{font-size:12px;padding:4px 9px}.asset-grid{grid-template-columns:1fr}.asset-heading{padding:16px}.asset-valuation{padding:16px 16px 8px}.asset-change{padding-left:16px;padding-right:16px}.asset-facts{padding:0 16px 16px}.asset-footer{padding:12px 16px}.asset-valuation>strong{font-size:27px}.section-head{flex-wrap:wrap}.dividend-day{grid-template-columns:50px minmax(0,1fr);padding:12px;gap:12px}.dividend-event{flex-direction:column;gap:4px}.dividend-event>div:last-child{text-align:left}.row{align-items:flex-start}.row strong{text-align:right;overflow-wrap:anywhere}.metric .value{font-size:23px}.bar-label strong{white-space:normal;text-align:right}.allocation{grid-template-columns:1fr}.allocation-ring{max-width:175px}.allocation-legend{gap:12px}.allocation-center strong{font-size:23px}}
@media(max-width:380px){.grid{grid-template-columns:1fr}.asset-facts>div{grid-template-columns:1fr}.asset-facts dd{text-align:left}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Beta 1.4: grouped account contracts and optional savings terms. */
.account-group{border:1px solid #dce5eb;border-radius:12px;margin:0;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.account-group legend{padding:0 8px;font-size:16px;font-weight:650;color:#355e65}.account-group>.note,.account-group>.actions,.account-group>.bank-rate-results,.account-group>.field.full{grid-column:1/-1}.account-group[hidden]{display:none}.account-group textarea{min-height:90px;resize:vertical}.bank-rate-results:empty{display:none}.bank-rate-results .table-wrap{margin:12px 0}.bank-rate-results td{white-space:normal;min-width:110px}.bank-rate-results details{margin:16px 0}.bank-rate-results summary{cursor:pointer;font-size:14px}.bank-rate-results a{display:inline-block;margin-top:12px}.field .actions{margin-top:8px}.field .actions button{font-size:13px;padding:7px 10px}
@media(max-width:700px){.account-group{grid-template-columns:1fr;padding:14px}.account-group>.note,.account-group>.actions,.account-group>.bank-rate-results,.account-group>.field.full{grid-column:auto}}
.bank-explorer{display:grid;gap:18px}.bank-filters{display:grid;grid-template-columns:minmax(180px,2fr) 1fr 1fr;gap:12px}.bank-filters input,.bank-filters select{width:100%;min-width:0;border:1px solid #cbd8dc;border-radius:10px;padding:11px;background:#fff;color:#243d47;font:inherit}.bank-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:14px}.bank-product-card{padding:20px;border:1px solid #dce7e3;border-top:3px solid #658e80;border-radius:14px;background:linear-gradient(145deg,#f2f8f5,#fff 68%);display:flex;flex-direction:column;gap:10px;min-width:0}.bank-product-top{display:flex;gap:7px;flex-wrap:wrap}.bank-product-card h3{font-size:18px;line-height:1.45;margin:0;word-break:keep-all;overflow-wrap:anywhere}.bank-product-card p{margin:0;line-height:1.6}.bank-product-card .actions{margin-top:auto;padding-top:12px;align-items:center}.bank-product-card a{font-size:13px}.bank-explorer>button{justify-self:center}.account-details,.tax-review-details{border:1px solid #dde6e6;border-radius:12px;padding:16px}.account-details>summary,.tax-review-details>summary{cursor:pointer;font-weight:600;color:#355e65}.account-details[open]>summary{margin-bottom:18px}.account-details .account-group{border:0;padding:0}.rate-fields .bank-rate-results{max-width:100%}.account-group .field[hidden]{display:none}.instrument-results{max-height:360px;overflow:auto}.tax-review-details>.section{margin-top:18px}
@media(max-width:650px){.bank-filters{grid-template-columns:1fr 1fr}.bank-filters input{grid-column:1/-1}.bank-product-grid{grid-template-columns:1fr}.bank-product-card{padding:16px}}
/* Beta 2: connected account rules and contribution performance. */
.rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.rule-card{border:1px solid var(--line,#dbe5e5);border-radius:16px;padding:20px;background:linear-gradient(145deg,#f3f9f7,#fff)}.rule-card h3{font-size:1.1rem;margin:12px 0 18px}.rule-card .row{gap:14px}.rule-result{grid-column:1/-1;padding:14px;border-radius:10px;background:#edf5f2;font-variant-numeric:tabular-nums}.tax-account-fields>.notice,.tax-account-fields>.note,.performance-fields>.notice,.performance-fields>.note{grid-column:1/-1}.account-group .check[hidden]{display:none}.rule-card .small{line-height:1.6}.metric .value{overflow-wrap:anywhere}.forecast-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px}.forecast-card{padding:20px;border:1px solid #dce5ee;border-radius:16px;background:#f5f8fc}.forecast-card h3{font-size:1.05rem;margin:10px 0}.forecast-card .row{gap:16px}.forecast-card .forecast-value{font-size:1.6rem;font-weight:700;color:#365b94;font-variant-numeric:tabular-nums}
/* Beta 2.01: clear monthly cash income and compact, comparable allocations. */
.monthly-dividend{padding:1.35rem;margin:0 0 1.25rem;border-top:4px solid #257868}.dividend-headline{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dividend-headline h2{margin:.25rem 0;font-size:1.3rem}.dividend-headline .eyebrow{margin:0}.dividend-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0}.dividend-pair>div{padding:1rem;border-radius:12px;background:#f0f7f5;min-width:0}.dividend-pair>.dividend-expected{background:#f0f4fa}.dividend-pair strong{display:block;font-size:clamp(1.4rem,3vw,2rem);line-height:1.4;overflow-wrap:anywhere;color:#1d6356}.dividend-expected strong{color:#34578d}.dividend-chart-wrap{margin:1rem 0}.chart-key{display:flex;gap:1rem;font-size:.875rem;margin-bottom:.6rem}.actual-key{color:#257868}.expected-key{color:#4168b2}.dividend-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.4rem}.dividend-month{min-width:0;text-align:center;font-size:.875rem;padding:.4rem;border-radius:8px}.dividend-month.selected{background:#eef5f8;font-weight:700}.dividend-month svg{width:100%;height:100px;display:block;margin-bottom:.5rem}.dividend-evidence{margin-top:1rem}.dividend-evidence>summary,.forecast-disclosure>summary{cursor:pointer;font-size:.875rem;padding:.75rem 0}.forecast-disclosure{margin-bottom:1rem}.sector-total{font-size:1rem;font-weight:600;margin:0 0 1rem}.sector-bars{display:grid;gap:1rem;margin-bottom:1.25rem}.sector-bar-label{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:.875rem;margin-bottom:.4rem}.sector-bar-label span{min-width:0;overflow-wrap:anywhere}.sector-bar-label strong{flex-shrink:0;font-variant-numeric:tabular-nums}.sector-bars svg{display:block;width:100%;height:10px}.section-head [aria-pressed=true]{background:#e5f1ed;color:#195d50;border-color:#83b9a9}.quote-compact{text-align:left;min-width:0}.quote-compact strong{font-variant-numeric:tabular-nums}.quote-more{margin-top:.35rem}.quote-more>summary{font-size:.875rem;cursor:pointer;color:#4168b2}.quote-sessions{padding:.6rem 0;display:grid;gap:.5rem}.quote-sessions .row{align-items:flex-start;gap:.65rem}.asset-facts:has(.quote-compact)>div:last-child{grid-column:1/-1}.asset-facts:has(.quote-compact)>div:last-child dd{min-width:0}.asset-facts .quote-compact .small{font-size:.875rem}.quote-sessions strong{font-size:1rem}
@media(max-width:680px){.dividend-headline{align-items:flex-start;flex-wrap:wrap}.dividend-pair{gap:.65rem}.dividend-pair>div{padding:.75rem}.dividend-months{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem}.dividend-month svg{height:80px}.sector-bar-label{flex-wrap:wrap;gap:.2rem}.sector-bar-label strong{flex-shrink:1}.monthly-dividend{padding:1rem}}

/* Beta 2.1: three-month dividend outlook and actionable tax inputs. */
.dividend-outlook{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 1.5rem}.outlook-month{background:#edf3fc;border:1px solid #c8d8ee;border-radius:12px;padding:1rem;min-width:0}.outlook-month strong{display:block;font-size:1.6rem;color:#34578d;overflow-wrap:anywhere}.tax-fixes{display:grid;gap:.75rem}.tax-fix{padding:1rem;border:1px solid #ddc392;border-radius:10px;background:#fffaf0}.tax-fix p{margin:.4rem 0}.contract-summary{margin:1rem 0}.category-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.75rem}.category-directory article{padding:1rem;border:1px solid #dce5ee;border-radius:12px}.category-directory h3{font-size:1rem}.income-tax-summary{border-left:4px solid #4168b2}@media(max-width:650px){.dividend-outlook{grid-template-columns:1fr}.outlook-month strong{font-size:1.5rem}}

/* Alpha 1.0: long evidence is readable inside existing responsive tables. */
.calculation-details{white-space:normal;min-width:220px;max-width:540px;margin-top:10px;overflow-wrap:anywhere}.calculation-details>summary{cursor:pointer;padding:10px 0;color:#315e69;font-weight:650}.calculation-details .row{align-items:flex-start;gap:16px}.calculation-details .row>span{min-width:0}.calculation-details a{display:block;margin:9px 0}.needs-input{border-left:3px solid #a8751f;padding-left:9px}.field [aria-invalid=true]{border-color:#a8751f}.brand{font-size:18px;line-height:1.3;overflow-wrap:anywhere}.table-wrap{max-width:100%}.table-wrap:focus-visible{outline:2px solid #176f60}.table-wrap td:has(.calculation-details){white-space:normal;max-width:540px}details.card>summary{cursor:pointer;font-weight:650}.capability-note{font-size:14px}@media(max-width:700px){.calculation-details{max-width:calc(100vw - 86px)}.help-trigger{min-width:32px;min-height:32px}.row>span{overflow-wrap:anywhere}.form-footer{position:sticky;bottom:-26px;background:#fff;padding:14px 0}.dividend-pair{grid-template-columns:1fr}}
/* Alpha 1.1: account composition and independently sourced collectible observations. */
.investment-accounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin:20px 0}.investment-account{border:1px solid var(--line,#dce3e9);border-top:4px solid;padding:18px;border-radius:12px;min-width:0}.investment-account h3{margin-top:0;overflow-wrap:anywhere}.investment-account .actions{gap:6px}.classification-filters{margin:16px 0}.classification-filter{border:1px solid #dce3e9;border-radius:8px;margin:10px 0;padding:12px;display:flex;flex-wrap:wrap;gap:14px}.classification-filter label{display:inline-flex;gap:7px;align-items:center;min-height:32px;font-size:.875rem}.classification-filter legend{font-weight:650;font-size:.875rem}.investment-bars{display:grid;gap:14px;margin:18px 0}.investment-track{height:9px;background:#e9edf0;border-radius:5px;overflow:hidden}.investment-track span{height:100%;min-width:0}.investment-track .negative{background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,#ffffff88 3px,#ffffff88 5px)}.bar-button{white-space:normal;text-align:left;width:100%;padding:5px 0;font-size:.875rem;min-height:36px}.collectible-chart{display:block;width:100%;height:auto;min-height:180px;margin:18px 0;overflow:visible}.collectible-chart circle:focus{outline:2px solid #245f99;outline-offset:4px}.chart-detail{min-height:2.5em}.csv-preview{max-width:100%;margin:12px 0}.investment-account .badge{white-space:normal}.classification-filters+ p,.investment-account p{overflow-wrap:anywhere}@media(max-width:600px){.investment-accounts{grid-template-columns:1fr}.classification-filter{display:grid;grid-template-columns:1fr}.collectible-chart{min-height:150px}.investment-account{padding:14px}.investment-bars{gap:18px}}

.investment-track{display:block;width:100%;height:10px}.investment-account[data-color="#245f99"]{border-top-color:#245f99}.investment-account[data-color="#208479"]{border-top-color:#208479}.investment-account[data-color="#9262a7"]{border-top-color:#9262a7}.investment-account[data-color="#ac681f"]{border-top-color:#ac681f}.investment-account[data-color="#ae4058"]{border-top-color:#ae4058}.investment-account[data-color="#587699"]{border-top-color:#587699}.investment-account[data-color="#697c26"]{border-top-color:#697c26}.investment-account[data-color="#795d4f"]{border-top-color:#795d4f}.investment-account[data-color="#626ba3"]{border-top-color:#626ba3}.investment-account[data-color="#287c93"]{border-top-color:#287c93}.investment-account[data-color="#924a83"]{border-top-color:#924a83}.investment-account[data-color="#606d73"]{border-top-color:#606d73}

.kream-watch{margin:0 0 28px;padding:20px 0;border-bottom:1px solid var(--line,#dedee4)}
.kream-watch-head{display:flex;justify-content:space-between;gap:16px;align-items:center}
.kream-watch-head h3{margin:4px 0 12px}
.kream-watch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.kream-watch-card{min-width:0;padding:18px;border:1px solid var(--line,#dedee4);border-radius:14px;background:var(--surface,#fff)}
.kream-watch-card h4{margin:0 0 12px;line-height:1.6;font-size:14px;word-break:keep-all;overflow-wrap:anywhere}
.kream-watch-card details{margin-top:12px;max-height:480px;overflow:auto}
.kream-watch-card summary{cursor:pointer;font-size:13px;padding:8px 0;font-weight:600}
.kream-watch-card .actions{gap:8px;flex-wrap:wrap}
@media(max-width:850px){.kream-watch-grid{grid-template-columns:1fr}.kream-watch-head{align-items:flex-start;flex-direction:column}}

/* Compact collection disclosure: keyboard and touch use native summaries. */
.collectible-disclosure>summary{padding:1rem 0;font-size:1rem;font-weight:650;cursor:pointer}.collectible-disclosure[open]>summary{border-bottom:1px solid var(--line,#dde4eb);margin-bottom:1rem}.kream-watch-grid{display:flex;flex-direction:column;gap:.5rem}.kream-watch-card{padding:.8rem 1rem}.kream-watch-card>summary{cursor:pointer;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.kream-watch-card>summary strong{flex:1;min-width:12rem;font-size:.95rem}.kream-watch-card[open]>summary{margin-bottom:1rem}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.grid.three{grid-template-columns:1fr}.kream-watch-card>summary{gap:.4rem}.kream-watch-card>summary strong{flex-basis:100%}}

.ai-plan-text{white-space:pre-wrap;line-height:1.7}
.market-search{display:flex;gap:.6rem;align-items:center;margin:1rem 0}.market-search input{flex:1;min-width:0}.market-search-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid #e4e8ee}.market-explorer>details{margin:1rem 0}.market-explorer .table-wrap{margin-top:1rem}@media(max-width:600px){.market-search,.market-search-item{align-items:stretch;flex-direction:column}}
