:root{--surface:#f7f7f4;--card:#fff;--primary:#2f6f5e;--primary-strong:#1f4f43;--accent-soft:#e8f4ed;--info:#2d5f8f;--surface-muted:#eef1ed;--warning:#9a6b16;--warning-soft:#fff6df;--muted:#5f6761;--border:#d9ded8;--text:#1d2420;--progress-neutral:#dce3de;--progress-low:#c58a16;--progress-low-surface:#fff4d6;--progress-active:#3f8f70;--progress-healthy:#17865f;--progress-complete:#07563f;--state-error:#a53a36}*{box-sizing:border-box}html{min-height:100%}body{background:var(--surface);min-height:100vh;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.app-nav{border-bottom:1px solid var(--border);background:var(--card);align-items:center;gap:12px;padding:12px 16px;display:grid}.app-nav nav,.app-nav form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.app-nav a,.app-nav form span{color:var(--muted);font-size:.92rem}.app-nav-brand{color:var(--text);gap:2px;font-weight:800;text-decoration:none;display:grid}.app-nav-brand span{color:var(--muted);font-size:.72rem;font-weight:600}.app-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.shell-panel{border:1px solid var(--border);background:var(--card);border-radius:8px;width:min(100%,680px);padding:clamp(28px,6vw,56px)}.eyebrow{color:var(--primary);letter-spacing:0;text-transform:uppercase;margin:0 0 16px;font-size:.78rem;font-weight:700}h1{letter-spacing:0;margin:0;font-size:clamp(2rem,8vw,4.5rem);line-height:.95}.setup-shell h1,.portfolio-shell h1,.page-shell h1,.auth-shell h1{font-size:clamp(2rem,8vw,3rem);line-height:1.05}.shell-copy{max-width:56ch;color:var(--muted);margin:24px 0 0;font-size:1rem;line-height:1.65}.setup-shell{width:min(100%,920px);min-width:0;margin:0 auto;padding:24px}.portfolio-shell,.page-shell{width:min(100%,1040px);min-width:0;margin:0 auto;padding:24px}.setup-hero{padding:32px 0 24px}.protected-sign-in-panel{justify-items:start;gap:16px;max-width:640px;padding:32px 0 24px;display:grid}.protected-sign-in-panel .setup-copy{margin:0}.protected-sign-in-panel h1{overflow-wrap:anywhere;max-width:100%}.setup-hero h1,.setup-section h2,.empty-state h3{letter-spacing:0}.setup-copy{max-width:56ch;color:var(--muted);margin:16px 0 0;line-height:1.6}.section-copy{max-width:56ch;color:var(--muted);margin:6px 0 0;line-height:1.5}.setup-section{border-top:1px solid var(--border);min-width:0;padding:24px 0}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-heading h2,.empty-state h3{margin:0;font-size:1.2rem}.data-health-heading-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.status-pill{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:.82rem}.hierarchy-list,.broker-list,.setup-holdings-list,.dividend-assumption-list,.status-list,.portfolio-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.hierarchy-list div,.broker-row,.setup-holding-account,.empty-state,.portfolio-row,.portfolio-metric-grid div{border:1px solid var(--border);background:var(--card);border-radius:8px;min-width:0;padding:16px}.hierarchy-list span,.broker-row span,.setup-holding-account span,.portfolio-row span,.portfolio-metric-grid span{color:var(--muted);margin-bottom:4px;font-size:.88rem;display:block}.empty-state p{color:var(--muted);margin:8px 0 0}.dividend-assumption-row{border:1px solid var(--border);background:var(--card);border-radius:8px;gap:16px;min-width:0;padding:16px;display:grid}.dividend-assumption-summary{border-bottom:1px solid var(--border);grid-template-columns:minmax(140px,1.2fr) repeat(2,minmax(0,.8fr));align-items:start;gap:12px;min-width:0;padding-bottom:14px;display:grid}.dividend-assumption-summary span{color:var(--muted);margin-bottom:4px;font-size:.88rem;display:block}.dividend-assumption-summary strong,.dividend-assumption-form strong{overflow-wrap:anywhere}.dividend-assumption-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));align-items:start;gap:12px;min-width:0;display:grid}.dividend-assumption-form button{grid-column:1/-1}.dividend-assumption-form fieldset{border:1px solid var(--border);border-radius:8px;grid-column:1/-1;min-width:0;padding:14px}.dividend-assumption-form legend{color:var(--muted);padding:0 6px;font-size:.9rem;font-weight:800}.dividend-assumption-form textarea{height:44px;min-height:44px}.month-checkbox-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.month-checkbox-option{text-align:center;border:1px solid var(--border);background:var(--surface);width:auto;min-width:0;min-height:40px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:.82rem;font-weight:800;line-height:1.2;overflow:hidden;display:inline-flex!important}.month-checkbox-option input[type=checkbox]{flex:0 0 18px;min-width:18px;max-width:18px;height:18px;max-height:18px;margin:0;padding:0;width:18px!important;min-height:18px!important}.status-list{margin-bottom:16px}.status-list li{border-left:3px solid var(--warning);background:var(--card);color:var(--muted);padding:10px 12px}.broker-row{gap:16px;display:grid}.setup-holdings-list{gap:16px}.setup-holding-account{gap:16px;display:grid}.setup-holding-account-summary{align-content:start;gap:4px;display:grid}.portfolio-row{gap:12px;display:grid}.broker-account-row,.market-broker-row{align-items:center}.broker-account-row>div,.market-broker-row>div,.market-holding-row>div{align-content:start;gap:3px;min-width:0;display:grid}.portfolio-metric-grid{gap:12px;display:grid}.market-value-summary{border:1px solid var(--border);background:var(--card);border-radius:8px;gap:12px;padding:16px;display:grid}.market-value-primary,.market-value-support{gap:12px;margin:0;display:grid}.market-value-primary{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:12px}.market-value-primary div,.market-value-support div{min-width:0}.market-value-primary span,.market-value-support dt{color:var(--muted);margin-bottom:4px;font-size:.88rem;display:block}.market-value-primary strong,.market-value-support dd{color:var(--foreground);overflow-wrap:anywhere;margin:0;font-weight:800}.market-value-support{grid-template-columns:repeat(5,minmax(0,1fr))}.card-grid{gap:14px;margin:0;padding:0;list-style:none;display:grid}.portfolio-card{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:16px}.portfolio-card h2{margin:0;font-size:1.08rem}.metric-grid{gap:10px;margin:0;display:grid}.metric-grid div{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px}.metric-grid dt{color:var(--muted);margin-bottom:4px;font-size:.84rem}.metric-grid dd{overflow-wrap:anywhere;margin:0;font-weight:700}.dashboard-shell{padding-bottom:48px}.dashboard-hero{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;padding:32px 0 24px;display:flex}.app-screen{padding-bottom:92px}.primary-action{flex:none}.activity-hero{align-items:center}.activity-filters{gap:14px;display:grid}.quick-filter-row{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.quick-filter-link{border:1px solid var(--app-faint);background:var(--app-card);min-height:40px;color:var(--app-ink);border-radius:999px;align-items:center;padding:8px 12px;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex}.quick-filter-link[aria-current=page]{border-color:var(--app-accent-strong);background:var(--app-accent-strong);color:var(--app-surface)}.ledger-filter-toolbar{gap:12px;display:grid}.ledger-search-form{gap:8px;display:grid}.ledger-search-form label{color:var(--app-muted);font-size:.82rem;font-weight:800}.ledger-search-form input{min-width:0;min-height:44px}.ledger-search-form button{min-height:44px}.ledger-search-form input,.ledger-search-form button{width:100%}.ledger-search-form button{border:1px solid var(--app-accent-strong);background:var(--app-accent-strong);color:var(--app-surface);border-radius:8px;font-weight:800}.activity-filter-disclosure{padding-bottom:0}.activity-filter-form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:10px}.activity-filter-form label{margin:0}.activity-filter-form button,.activity-filter-form .text-link{align-self:end}.activity-record-list .portfolio-row{align-items:start}.progress-module,.summary-module,.attention-module{border-top:1px solid var(--border);margin-bottom:16px;padding:22px 0}.progress-module{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:18px}.progress-module h2,.summary-module h2,.attention-module h2{margin:0;font-size:clamp(1.35rem,5vw,2rem);line-height:1.12}.progress-track{background:var(--surface-muted);border-radius:999px;height:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--primary);height:100%}.metric-rows{border-top:1px solid var(--border);gap:0;display:grid}.metric-rows.compact{margin-top:14px}.metric-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:16px;min-width:0;padding:12px 0;display:flex}.metric-row span,.compact-list span,.activity-choice span,.selected-context span,.selected-context small{color:var(--muted);font-size:.88rem}.metric-row small{color:var(--muted);margin-top:3px;font-size:.78rem;line-height:1.35;display:block}.metric-row strong{text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;max-width:46%}.metric-row span{min-width:0}.attention-list,.compact-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.attention-list li{border-left:3px solid var(--warning);background:var(--warning-soft);gap:3px;padding:10px 12px;display:grid}.attention-list span{color:var(--warning);font-size:.8rem;font-weight:800}.compact-list li,.selected-context{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:12px 0;display:flex}.compact-list div,.selected-context{gap:2px;min-width:0;display:grid}.compact-list strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.more-hub-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:18px;display:grid}.more-hub-section{align-content:start;display:grid}.more-action-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.more-action-list a{border:1px solid var(--border);background:var(--card);min-height:72px;color:var(--text);border-radius:8px;gap:4px;padding:14px;text-decoration:none;display:grid}.more-action-list a:hover{border-color:var(--primary)}.more-action-list strong,.more-action-list span{overflow-wrap:anywhere}.more-action-list span{color:var(--muted);font-size:.9rem;line-height:1.45}.more-account-actions form{flex-wrap:wrap;gap:10px;display:flex}.row-link,.activity-choice{color:var(--text);text-decoration:none}.row-link{gap:2px;min-width:0;display:grid}.segmented-control{scrollbar-width:none;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;padding:8px 0 16px;display:flex;overflow-x:hidden}.segmented-control a{border:1px solid var(--border);background:var(--card);min-width:0;color:var(--primary);overflow-wrap:anywhere;text-align:center;border-radius:999px;flex:auto;padding:8px 12px;font-size:.9rem;font-weight:800;text-decoration:none}.segmented-panel{border-top:1px solid var(--border);padding:12px 0}.segmented-panel>summary{cursor:pointer;min-height:40px;color:var(--primary-strong);font-weight:800}.monthly-projection-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin:0;padding:6px 0 0;list-style:none;display:grid}.monthly-projection-item{border:1px solid var(--app-faint);background:var(--app-surface-soft);border-radius:8px;gap:8px;min-width:0;padding:12px;display:grid}.monthly-projection-item>div{align-items:center;gap:8px;min-width:0;display:flex}.month-chip{background:var(--app-accent-soft);min-width:38px;min-height:28px;color:var(--app-accent-strong);border-radius:999px;place-items:center;font-size:.78rem;font-weight:900;display:inline-grid}.monthly-projection-item strong{color:var(--app-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.monthly-projection-item>span{color:var(--app-muted);font-size:.82rem;font-weight:750}.monthly-projection-item.is-missing{background:var(--app-surface)}.monthly-projection-item.is-missing .month-chip{background:var(--app-warning-bg);color:var(--app-warning)}.activity-choice-grid{gap:10px;display:grid}.activity-choice{border:1px solid var(--border);background:var(--card);border-radius:8px;gap:4px;padding:14px;display:grid}.activity-choice strong{color:var(--primary-strong)}.compact-empty{padding:14px}.row-disclosure{border-top:0;padding:0}.sticky-action{z-index:10;border:1px solid var(--primary);background:var(--primary);min-height:48px;color:var(--card);border-radius:8px;justify-content:center;align-items:center;font-weight:800;text-decoration:none;display:inline-flex;position:fixed;bottom:16px;left:16px;right:16px}.dashboard-link-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.page-link-row{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:18px;display:flex}.wizard-panel{gap:10px;margin-top:18px;display:grid}.step-kicker{color:var(--primary);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.wizard-steps{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wizard-step{border:1px solid var(--border);background:var(--card);min-height:40px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;display:inline-flex}.wizard-step span{background:var(--surface);width:22px;height:22px;color:var(--muted);border-radius:999px;place-items:center;font-size:.78rem;font-weight:800;display:inline-grid}.wizard-step.active{border-color:var(--primary);color:var(--primary);font-weight:800}.wizard-step.active span{background:var(--primary);color:var(--card)}.step-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.secondary-disclosure,.action-disclosure{border-top:1px solid var(--border);padding:16px 0}.row-disclosure{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:10px 12px}.secondary-disclosure>summary,.action-disclosure>summary,.row-disclosure>summary{cursor:pointer;min-height:44px;color:var(--primary);font-weight:800}.row-disclosure>summary{align-items:center;display:flex}.row-disclosure .form-panel{margin-top:10px}.secondary-disclosure-body{gap:8px;display:grid}.dashboard-value-band{gap:12px;display:grid}.dashboard-value-band div{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:18px}.dashboard-value-band span{color:var(--muted);margin-bottom:6px;font-size:.88rem;display:block}.dashboard-value-band strong{letter-spacing:0;font-size:clamp(1.3rem,8vw,2.2rem);display:block}.dashboard-value-band p{color:var(--muted);margin:8px 0 0}.text-link,.button-link{color:var(--primary);text-underline-offset:3px;font-weight:700;text-decoration-thickness:1px}.button-link{border:1px solid var(--primary);background:var(--primary);min-height:44px;color:var(--card);border-radius:8px;justify-content:center;align-items:center;padding:10px 14px;text-decoration:none;display:inline-flex}.auth-shell{width:min(100%,720px);margin:0 auto;padding:24px}.auth-panel{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:clamp(24px,5vw,48px)}.auth-panel-content{width:min(100%,520px)}.auth-form-grid,.auth-link-row{gap:16px;margin-top:24px;display:grid}.auth-mode-tabs{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;margin-top:24px;padding:6px;display:grid}.auth-mode-tabs button{min-height:44px;color:var(--muted);font:inherit;background:0 0;border:0;border-radius:8px;font-weight:700}.auth-mode-tabs button[aria-selected=true]{background:var(--primary);color:var(--card)}.auth-notifications{gap:10px;max-width:100%;margin-top:20px;display:grid}.auth-alert,.auth-note{border-left:3px solid var(--warning);background:var(--surface);overflow-wrap:anywhere;border-radius:8px;margin:0;padding:12px 14px;line-height:1.45}.form-help{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.broker-actions,.cash-grid,.cash-totals,.ledger-list,.ledger-summary{gap:12px;display:grid}.cash-grid span,.cash-totals span,.ledger-row span,.ledger-summary p{color:var(--muted);margin-bottom:4px;font-size:.88rem;display:block}.cash-grid .status-list{margin-bottom:0}.cash-totals{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.cash-totals div{border:1px solid var(--border);background:var(--card);border-radius:8px;min-width:0;padding:16px}.ledger-row{border:1px solid var(--border);background:var(--card);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;padding:16px;display:grid}.cash-grid strong,.cash-totals strong,.ledger-row strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;line-height:1.2}.ledger-summary{margin-top:12px}.ledger-summary h3{margin:0;font-size:1rem}.setup-form,.inline-form{gap:10px;min-width:0;display:grid}.setup-form{margin-top:18px}.form-panel{border:1px solid var(--border);background:var(--card);border-radius:8px;min-width:0;padding:16px}.form-panel h3,.form-preview h4{margin:0;font-size:1rem}.form-preview{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:10px;padding:14px;display:grid}label{color:var(--muted);font-size:.9rem;font-weight:600}input,select,textarea{border:1px solid var(--border);background:var(--card);width:100%;min-width:0;max-width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px}input[type=date]{appearance:none;min-width:0}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--warning);box-shadow:0 0 0 2px var(--warning-soft)}.field-error{color:#7a3f00;margin:-4px 0 2px;font-size:.85rem;font-weight:700;line-height:1.35}textarea{resize:vertical}button{border:1px solid var(--primary);background:var(--primary);min-width:0;max-width:100%;min-height:44px;color:var(--card);cursor:pointer;font:inherit;border-radius:8px;padding:10px 14px;font-weight:700}.app-nav button{min-height:36px;padding:7px 10px}button:disabled{border-color:var(--border);background:var(--surface);color:var(--muted);cursor:not-allowed}.sensitive-value-heading{align-items:center;gap:10px;min-width:0;display:inline-flex}.privacy-toggle{width:34px;min-width:34px;height:34px;min-height:34px;color:var(--app-muted);background:#ffffffb8;border:1px solid #07563f24;border-radius:999px;flex:0 0 34px;justify-content:center;align-items:center;padding:0;display:inline-flex}.privacy-toggle:hover,.privacy-toggle:focus-visible{border-color:var(--primary);color:var(--primary)}.privacy-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:19px;height:19px}.sensitive-value{font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0;max-width:100%;display:inline-block}.compact-privacy-control{margin-left:auto;display:inline-flex}.desktop-privacy-control{display:none}.secondary-button{background:var(--card);color:var(--primary)}@media (min-width:720px){.app-nav{grid-template-columns:auto 1fr auto;padding:14px 24px}.setup-shell,.portfolio-shell,.page-shell{padding:40px 32px}.hierarchy-list{grid-template-columns:repeat(2,minmax(0,1fr))}.broker-row{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);align-items:start}.setup-holding-account{grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);align-items:start}.ledger-row{grid-template-columns:minmax(120px,1.2fr) repeat(3,minmax(0,1fr))}.portfolio-row{grid-template-columns:minmax(140px,1.2fr) repeat(3,minmax(0,1fr));align-items:start}.broker-account-row,.market-broker-row{grid-template-columns:minmax(150px,1fr) repeat(3,minmax(110px,.6fr));align-items:center}.portfolio-overview-side .broker-account-row{grid-template-columns:minmax(0,1fr) minmax(110px,auto)}.market-holding-row{grid-template-columns:minmax(170px,1.1fr) minmax(110px,.65fr) minmax(130px,.75fr) minmax(150px,.85fr) minmax(110px,.6fr) minmax(110px,.6fr)}.portfolio-metric-grid,.card-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-form-grid{grid-template-columns:1fr}}:root{--app-bg:#f4f7f4;--app-surface:#fff;--app-surface-soft:#eef7f1;--app-ink:#18221d;--app-muted:#637066;--app-faint:#e7ece7;--app-accent:#0f8f65;--app-accent-strong:#07563f;--app-accent-soft:#68e6ac;--app-warning-bg:#fff7dd;--app-warning:#8a610b;--app-shadow:0 22px 70px #142d2014}body{background:radial-gradient(circle at top right, #68e6ac2e, transparent 34rem), var(--app-bg);color:var(--app-ink)}.app-sidebar{z-index:30;border-bottom:1px solid var(--app-faint);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:sticky;top:0}.app-sidebar-main{align-items:center;gap:18px;min-width:0;display:flex}.app-nav-brand{color:var(--app-ink);align-items:center;gap:10px;min-width:0;font-size:1.15rem;display:inline-flex}.app-nav-brand>span:last-child{min-width:0}.app-nav-brand small{color:var(--app-muted);font-size:.72rem;font-weight:700;line-height:1.1;display:block}.brand-mark,.avatar-token,.nav-icon{background:var(--app-accent-strong);color:#fff;border-radius:14px;flex:none;place-items:center;font-weight:900;display:inline-grid}.brand-mark{width:38px;height:38px;font-size:.8rem}.desktop-nav,.app-sidebar-footer form{align-items:center;gap:8px;display:flex}.desktop-nav a,.desktop-nav button,.mobile-bottom-nav a{color:var(--app-muted);border-radius:16px;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:inline-flex}.desktop-nav a{padding:10px 12px}.desktop-nav button{width:100%;color:var(--app-muted);background:0 0;border:0;padding:10px 12px;font-family:inherit;font-size:1rem;font-weight:800}.desktop-nav a:hover,.desktop-nav button:hover,.mobile-bottom-nav a:hover,.desktop-nav a[aria-current=page],.mobile-bottom-nav a[aria-current=page]{background:var(--app-surface-soft);color:var(--app-accent-strong)}.desktop-nav a[aria-current=page] .nav-icon,.mobile-bottom-nav a[aria-current=page] .nav-icon{background:var(--app-accent-strong);color:var(--app-surface)}.nav-icon{background:var(--app-surface-soft);width:28px;height:28px;color:var(--app-accent-strong);border-radius:10px;font-size:.72rem}.desktop-more-menu{min-width:0;position:relative}.desktop-more-panel{z-index:45;border:1px solid var(--app-faint);background:var(--app-surface);min-width:220px;box-shadow:var(--app-shadow);border-radius:8px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0}.desktop-more-panel a{min-height:42px;color:var(--app-ink);border-radius:8px;justify-content:flex-start;padding:0 12px;font-size:.9rem}.app-sidebar-footer span{color:var(--app-muted);font-size:.82rem;font-weight:700}.app-sidebar-footer form>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.nav-primary-action{border-radius:14px;gap:8px;box-shadow:0 12px 26px #0f8f652e}.app-sidebar-footer button,.mobile-auth-action button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.mobile-bottom-nav{top:auto;right:max(12px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));z-index:40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #07563f1a;border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px;display:none;position:fixed;transform:translateZ(0);box-shadow:0 20px 50px #12221d29}.mobile-bottom-nav a,.mobile-bottom-nav button{flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:58px;font-size:.7rem;overflow:hidden}.mobile-bottom-nav a>span:last-child,.mobile-bottom-nav button>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-auth-action{margin:0}.mobile-bottom-nav button{width:100%;color:var(--app-muted);background:0 0;border:0;font-family:inherit;font-weight:800;text-decoration:none;display:inline-flex}.mobile-more-menu{min-width:0;position:relative}.mobile-more-panel{right:max(12px, env(safe-area-inset-right));bottom:calc(84px + env(safe-area-inset-bottom));background:#fffffff5;border:1px solid #07563f1a;border-radius:8px;gap:6px;width:min(260px,100vw - 24px);padding:8px;display:grid;position:fixed;box-shadow:0 18px 45px #12221d29}.mobile-more-panel a,.mobile-more-panel button{min-height:44px;color:var(--app-ink);border-radius:8px;flex-direction:row;justify-content:flex-start;align-items:center;padding:0 12px;font-size:.9rem}.mobile-more-panel button{color:var(--app-muted)}.maintenance-more-panel{align-content:start}.maintenance-more-panel a,.maintenance-more-panel button{overflow-wrap:anywhere;min-width:0}.maintenance-more-panel a:first-child{border:1px solid var(--app-faint);background:var(--app-surface-soft);color:var(--app-accent-strong);font-weight:900}.portfolio-shell,.setup-shell,.page-shell{width:min(100%,1180px);padding:28px 18px calc(108px + env(safe-area-inset-bottom))}.dashboard-shell{max-width:1180px}.screen-hero,.dashboard-hero,.setup-hero{justify-content:space-between;align-items:end;gap:20px;padding:28px 0 22px;display:flex}.screen-hero h1,.dashboard-hero h1,.setup-hero h1{letter-spacing:0;font-size:clamp(2.25rem,7vw,4.4rem);line-height:.95}.setup-copy,.section-copy,.card-subtitle{color:var(--app-muted)}.income-command-center{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:stretch;gap:18px;margin-bottom:18px;display:grid}.income-primary-panel{align-content:space-between;min-height:410px;display:grid}.income-primary-panel h2{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:14px 0 0;font-size:clamp(2.8rem,8vw,5.4rem);line-height:.94}.income-key-metrics,.income-support-strip dl{gap:12px;margin:24px 0 0;display:grid}.income-key-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.income-key-metrics div,.income-support-strip dl>div,.income-side-panel,.income-state-callout{border:1px solid var(--app-faint);background:var(--app-surface);border-radius:8px}.income-key-metrics div,.income-side-panel,.income-state-callout{min-width:0;padding:16px}.income-key-metrics dt,.income-support-strip dt{color:var(--app-muted);font-size:.82rem;font-weight:800}.income-key-metrics dd,.income-support-strip dd{color:var(--app-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:6px 0 0;font-size:clamp(1.08rem,3vw,1.45rem);font-weight:900}.income-target-note{color:var(--app-muted);margin:16px 0 0;font-weight:800}.income-state-callout{gap:8px;margin-top:18px;display:grid}.income-state-callout span,.income-side-panel p{color:var(--app-muted);line-height:1.55}.income-command-side{gap:18px;display:grid}.income-side-panel{align-content:start}.income-side-panel h2{margin:8px 0 0;font-size:clamp(1.45rem,3.4vw,2.2rem);line-height:1.05}.income-support-strip{border-block:1px solid var(--app-faint);grid-template-columns:minmax(180px,.4fr) minmax(0,1fr);align-items:center;gap:18px;margin:18px 0;padding:20px 0;display:grid}.income-support-strip h2{margin:6px 0 0;font-size:clamp(1.45rem,3.4vw,2.2rem)}.income-support-strip dl{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.income-support-strip dl>div{min-width:0;padding:14px}.home-maintenance-layout{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:18px;margin-top:22px;display:grid}.home-maintenance-layout .attention-card{grid-row:span 2}.dashboard-topline{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch;gap:18px;margin-bottom:18px;display:grid}.dashboard-income-hero{grid-template-columns:minmax(0,1fr);align-content:start;min-width:0;min-height:0;display:grid}.dashboard-income-hero>*{min-width:0}.dashboard-income-hero .sensitive-value{inline-size:auto;max-inline-size:100%}.dashboard-income-hero h2{color:var(--app-ink);font-variant-numeric:tabular-nums;letter-spacing:0;overflow-wrap:anywhere;margin:22px 0 0;font-size:4.25rem;line-height:.92}.money-value,.money-value>.sensitive-value,.money-value .sensitive-value{font-variant-numeric:tabular-nums;min-width:0;max-width:100%}.metric-grid,.metric-grid>*,.metric-value{min-width:0}.metric-value{overflow-wrap:anywhere;white-space:normal;word-break:normal;max-width:100%;display:block}.metric-value>.sensitive-value,.metric-value .sensitive-value{overflow-wrap:anywhere;white-space:normal;max-inline-size:100%}.money-value--hero{font-size:4.25rem;line-height:.94}.money-value--summary{font-size:2.15rem;line-height:1}.money-value--compact{font-size:1.18rem;line-height:1.1}.dashboard-goal-copy,.dashboard-progress-note{color:var(--app-muted);margin:16px 0 0;font-size:1.05rem;font-weight:800}.dashboard-progress-note{justify-self:end}.dashboard-progress-note strong,.dashboard-compact-card h2+p .sensitive-value,.income-share{color:var(--app-accent-strong)}.dashboard-side-stack{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(190px,.78fr);gap:18px;display:grid}.dashboard-side-stack--compact{grid-template-rows:auto auto;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.received-ytd-card .sensitive-value{max-inline-size:100%}.dashboard-compact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.dashboard-compact-card{align-content:start;gap:10px;min-width:0;padding:22px;display:grid}.dashboard-compact-card h2{margin:0;font-size:2rem;line-height:1}.dashboard-compact-card p{color:var(--app-muted);margin:0;line-height:1.45}.dashboard-icon-label,.income-icon-label{min-width:0;color:var(--app-ink);align-items:center;gap:10px;margin:0;font-weight:900;display:inline-flex}.button-link{gap:8px}.line-icon,.symbol-badge{border:1px solid var(--app-accent-strong);background:var(--app-surface-soft);color:var(--app-accent-strong);flex:none;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.line-icon{border-radius:8px;width:34px;height:34px}.line-icon svg{width:18px;height:18px}.symbol-badge{border-radius:999px;width:44px;height:44px;font-size:.82rem}.income-contributor-list{gap:0;margin:20px 0 0;padding:0;list-style:none;display:grid}.income-contributor-list li{border-top:1px solid var(--app-faint);grid-template-columns:minmax(0,1fr) minmax(130px,.44fr) minmax(160px,.5fr);align-items:center;gap:16px;padding:14px 0;display:grid}.holding-identity{align-items:center;gap:12px;min-width:0;display:flex}.holding-identity>span:last-child{gap:3px;min-width:0;display:grid}.holding-identity strong,.income-contributor-list strong,.portfolio-snapshot-grid dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.holding-identity small,.income-share{color:var(--app-muted);font-size:.86rem}.income-share{gap:8px;display:grid}.share-track{background:var(--app-surface-soft);border-radius:999px;height:7px;display:block;overflow:hidden}.share-track span{border-radius:inherit;background:var(--app-accent-strong);height:100%;display:block}.calendar-preview-list{gap:0;margin:20px 0 18px;padding:0;list-style:none;display:grid}.calendar-preview-list li{border-top:1px solid var(--app-faint);grid-template-columns:minmax(90px,.5fr) minmax(110px,.55fr) minmax(0,1fr);align-items:center;gap:16px;padding:14px 0;display:grid}.calendar-preview-list span,.calendar-preview-list strong{color:var(--app-ink);font-weight:900}.calendar-preview-list small{color:var(--app-muted)}.portfolio-snapshot-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:1px;margin:22px 0 0;display:grid}.portfolio-snapshot-grid div{border:1px solid var(--app-faint);border-radius:8px;min-width:0;padding:14px}.portfolio-snapshot-grid dt{color:var(--app-muted);font-size:.86rem;font-weight:800}.portfolio-snapshot-grid dd{color:var(--app-ink);margin:8px 0 0;font-size:1.35rem;font-weight:900}.maintenance-count{color:var(--app-muted);margin:18px 0 0;font-weight:900}.income-command-page{max-width:1240px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.income-snapshot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.income-snapshot-card{align-content:start;gap:14px;min-width:0;min-height:154px;padding:20px;display:grid}.income-snapshot-card .income-icon-label{color:var(--app-ink);font-size:.9rem}.income-snapshot-card strong{color:var(--app-ink);overflow-wrap:anywhere;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1}.income-snapshot-card>span{color:var(--app-muted);font-size:.9rem;line-height:1.4}.income-snapshot-card .progress-track{height:6px}.income-overview-panel{margin-bottom:18px}.income-overview-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);align-items:stretch;gap:18px;display:grid}.income-overview-primary{align-content:center;min-width:0;display:grid}.income-overview-primary h2{margin:10px 0 0;font-size:clamp(1.3rem,3vw,2rem)}.income-overview-primary strong{color:var(--app-ink);overflow-wrap:anywhere;margin-top:14px;font-size:clamp(2.7rem,8vw,5.2rem);line-height:.95;display:block}.income-overview-primary p{color:var(--app-muted);margin:12px 0 0;font-weight:800}.income-overview-support,.income-summary-list{gap:12px;margin:0;display:grid}.income-overview-support{grid-template-columns:repeat(2,minmax(0,1fr))}.income-overview-support div,.income-summary-list div{border:1px solid var(--app-faint);background:var(--app-surface);border-radius:8px;min-width:0;padding:14px}.income-overview-support dt,.income-summary-list dt{color:var(--app-muted);font-size:.8rem;font-weight:800}.income-overview-support dd,.income-summary-list dd{color:var(--app-ink);overflow-wrap:anywhere;margin:6px 0 0;font-size:clamp(1.05rem,3vw,1.35rem);font-weight:900}.income-maintenance-strip{border-block:1px solid var(--app-faint);flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;padding:14px 0;display:flex}.income-maintenance-strip span{color:var(--app-muted);text-transform:uppercase;font-size:.82rem;font-weight:900}.income-support-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;margin-top:20px;display:grid}.income-summary-card{align-content:start;gap:12px;min-width:0;display:grid}.income-summary-card h2{margin:0;font-size:1rem;line-height:1.05}.income-summary-card p{color:var(--app-muted);margin:0;line-height:1.55}.income-support-card{min-height:280px;padding:20px}.income-support-card .income-icon-label{font-size:.95rem}.income-support-card .card-heading{align-items:flex-start;gap:12px}.income-support-card .status-pill{text-align:center;flex:none;max-width:100%}.income-support-card .income-summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.income-goal-card .income-summary-list{grid-template-columns:repeat(3,minmax(0,1fr))}.income-support-card .income-summary-list div{border:0;border-left:1px solid var(--app-faint);background:0 0;border-radius:0;padding:0 16px}.income-support-card .income-summary-list div:first-child{border-left:0;padding-left:0}.income-support-card .income-summary-list dd{font-size:1rem}.income-support-emphasis{color:var(--app-accent-strong);margin:0;font-size:clamp(1.2rem,2.4vw,1.55rem)}.income-mini-list,.income-maintenance-list,.income-history-list,.income-calendar-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.income-mini-list li,.income-maintenance-list li,.income-history-list li,.income-calendar-list li{border-top:1px solid var(--app-faint);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding-top:10px;display:grid}.income-maintenance-list .income-maintenance-item{grid-template-columns:minmax(0,1fr);align-items:start;gap:4px}.income-maintenance-item .text-link{overflow-wrap:normal;word-break:normal;justify-self:start;max-width:100%}.income-assumption-counts,.income-goal-progress{color:var(--app-muted);flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.income-assumption-counts strong{color:var(--app-ink)}.income-goal-progress{font-size:.88rem;font-weight:800}.income-history-list li{grid-template-columns:minmax(0,1fr) minmax(120px,auto)}.income-mini-list span,.income-maintenance-list span,.income-history-list span,.income-calendar-list small{color:var(--app-muted);font-size:.88rem}.income-mini-list strong,.income-maintenance-list strong,.income-history-list strong,.income-calendar-list strong{color:var(--app-ink);overflow-wrap:anywhere}.income-receipt-main,.income-receipt-amount{gap:3px;min-width:0;display:grid}.income-receipt-meta{flex-wrap:wrap;gap:2px 10px;display:flex}.income-receipt-amount{text-align:right;justify-items:end}.income-calendar-list li.is-missing small{color:var(--app-warning);font-weight:800}.assumption-workbench{grid-column:1/-1;scroll-margin-top:96px}.assumption-maintenance-page{min-width:0}.assumption-maintenance-page .assumption-workbench{gap:18px;display:grid}.assumption-workbench-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.assumption-workbench-summary div{border:1px solid var(--app-faint);background:var(--app-surface);border-radius:8px;min-width:0;padding:12px}.assumption-workbench-summary dt{color:var(--app-muted);font-size:.78rem;font-weight:800}.assumption-workbench-summary dd{color:var(--app-ink);margin:4px 0 0;font-weight:900}.assumption-workbench-controls{gap:10px;display:grid}.assumption-filter-tabs,.assumption-sort-tabs{flex-wrap:wrap;gap:8px;display:flex}.assumption-filter-tabs a,.assumption-sort-tabs a{border:1px solid var(--app-faint);background:var(--app-surface);color:var(--app-accent-strong);border-radius:999px;padding:8px 10px;font-size:.84rem;font-weight:900;text-decoration:none}.assumption-filter-tabs a.is-active,.assumption-sort-tabs a.is-active{border-color:var(--app-accent);background:var(--app-surface-soft);color:var(--app-accent-strong)}.assumption-workbench-list{border:1px solid var(--app-faint);border-radius:8px;min-width:0;display:grid;overflow:hidden}.assumption-workbench-header,.assumption-workbench-row{grid-template-columns:minmax(130px,1.2fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(100px,.8fr) minmax(100px,.7fr) minmax(90px,.7fr) minmax(70px,.5fr);align-items:center;gap:12px;min-width:0;padding:12px;display:grid}.assumption-workbench-header{background:var(--app-surface-soft);color:var(--app-muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.assumption-workbench-row{border-top:1px solid var(--app-faint);background:var(--app-surface);position:relative}.assumption-workbench-row>div{min-width:0;color:var(--app-ink);gap:3px;font-weight:800;display:grid}.assumption-workbench-row span{color:var(--app-muted);overflow-wrap:anywhere;font-size:.86rem;font-weight:700}.assumption-workbench-row strong{overflow-wrap:anywhere}.assumption-row-link{color:inherit;gap:3px;text-decoration:none;display:grid}.assumption-row-stretched-link:after{z-index:1;content:"";position:absolute;inset:0}.assumption-row-stretched-link:focus-visible{outline:none}.assumption-row-stretched-link:focus-visible:after{outline:2px solid var(--app-accent);outline-offset:-2px}.assumption-row-link:hover strong,.assumption-row-link:focus-visible strong{color:var(--app-accent-strong);text-decoration:underline}.assumption-row-action{color:var(--app-accent-strong);font-weight:900}.assumption-workbench .status-pill.missing{border-color:var(--app-warning);background:var(--app-warning-bg);color:var(--app-warning)}.assumption-workbench .status-pill.needs-review{border-color:var(--app-faint);background:var(--app-surface-soft);color:var(--app-accent-strong)}.assumption-workbench .status-pill.complete{border-color:var(--app-accent);background:var(--app-surface-soft);color:var(--app-accent-strong)}.assumption-edit-panel{border:1px solid var(--app-faint);background:var(--app-surface);border-radius:8px;gap:14px;padding:16px;scroll-margin-top:96px;display:grid}.assumption-edit-panel h3{margin:0;font-size:clamp(1.25rem,3vw,1.7rem);line-height:1.1}.assumption-impact-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.assumption-impact-preview div{border:1px solid var(--app-faint);background:var(--app-surface-soft);border-radius:8px;min-width:0;padding:10px}.assumption-impact-preview dt{color:var(--app-muted);font-size:.76rem;font-weight:900}.assumption-impact-preview dd{color:var(--app-ink);overflow-wrap:anywhere;margin:4px 0 0;font-weight:900}.assumption-edit-form{gap:10px}.assumption-month-grid{border:1px solid var(--app-faint);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0;margin:0;padding:12px;display:grid}.assumption-month-grid legend{color:var(--app-muted);font-size:.82rem;font-weight:900}.assumption-month-grid label{min-width:0;color:var(--app-ink);align-items:center;gap:6px;font-size:.82rem;font-weight:800;display:inline-flex}.assumption-month-option{border:1px solid var(--app-faint);background:var(--app-surface);cursor:pointer;border-radius:8px;justify-content:flex-start;padding:10px 12px}.assumption-month-option:has(input:checked){border-color:var(--app-accent);background:var(--app-surface-soft)}.assumption-month-option input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;margin:0}.assumption-edit-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.assumption-deactivate-form{border-top:1px solid var(--app-faint);padding-top:10px}.danger-link{color:var(--app-warning);font:inherit;background:0 0;border:0;font-weight:900}.income-timing-card{gap:8px;padding:22px}.income-calendar-subtitle{color:var(--app-muted);margin:0 0 12px;font-size:.9rem}.income-calendar-workspace{grid-template-columns:minmax(0,2.15fr) minmax(280px,.85fr);align-items:start;gap:20px;min-width:0;display:grid}.income-trajectory-panel,.income-calendar-panel,.income-period-detail{gap:12px;min-width:0;display:grid}.income-trajectory-panel h3,.income-calendar-panel h3,.income-period-detail h3{color:var(--app-ink);margin:0;font-size:1rem}.income-upcoming{margin-bottom:14px;display:block}.income-calendar-legend{color:var(--app-muted);justify-content:flex-end;gap:18px;font-size:.78rem;display:flex}.income-calendar-legend span{align-items:center;gap:6px;display:inline-flex}.income-calendar-legend i{border-radius:999px;width:9px;height:9px}.income-calendar-legend .is-expected{background:var(--app-accent-strong)}.income-calendar-legend .is-received{background:var(--app-accent-soft)}.income-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.income-calendar-grid li{min-width:0}.income-calendar-card{border:1px solid var(--app-faint);background:var(--app-surface);width:100%;min-height:102px;color:inherit;cursor:pointer;font:inherit;text-align:left;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;padding:12px;display:grid;position:relative}.income-calendar-grid li.is-selected .income-calendar-card{border:2px solid var(--app-accent-strong);background:var(--app-surface-soft)}.income-calendar-grid li.has-received:not(.is-selected) .income-calendar-card{background:var(--app-accent-soft)}.income-calendar-card:hover,.income-calendar-card:focus-visible{border-color:var(--app-accent)}.income-calendar-grid li.is-missing .income-calendar-card{border-color:var(--app-warning)}.income-calendar-card>span{color:var(--app-ink);font-weight:900}.income-calendar-month{grid-column:1/-1;align-items:center;gap:6px;display:inline-flex}.income-calendar-month svg{color:var(--app-accent-strong);flex:none}.income-next-label{background:var(--app-accent-strong);border-radius:5px;padding:4px 7px;font-size:.68rem;position:absolute;top:8px;right:8px;color:var(--app-surface)!important}.income-calendar-grid small{color:var(--app-muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.income-calendar-grid strong{color:var(--app-ink);overflow-wrap:anywhere;font-size:.95rem}.income-calendar-note{color:var(--app-muted);margin:4px 0 0;font-size:.78rem}.income-period-detail{border:1px solid var(--app-faint);background:var(--app-surface);border-radius:8px;align-content:start;min-height:420px;padding:20px}.income-period-detail .card-heading h3{font-size:1.35rem}.income-period-label{color:var(--app-muted);font-size:.82rem}.income-period-total{color:var(--app-accent-strong);font-size:clamp(1.8rem,3.5vw,2.5rem)}.income-period-receipts{gap:10px;margin:0;padding:0;list-style:none;display:grid}.income-period-sources ul,.income-period-receipts{overscroll-behavior:contain;max-height:280px;overflow-y:auto}.income-period-receipts li{border-top:1px solid var(--app-faint);grid-template-columns:minmax(0,1fr) minmax(120px,auto);align-items:center;gap:12px;min-width:0;padding-top:10px;display:grid}.income-period-receipts span{color:var(--app-muted);font-size:.88rem}.income-period-receipts strong{color:var(--app-ink);overflow-wrap:anywhere}.income-period-sources{border-top:1px solid var(--app-faint);gap:10px;padding-top:14px;display:grid}.income-period-sources>strong{color:var(--app-ink);font-size:.9rem}.income-period-sources span{color:var(--app-muted);line-height:1.45}.income-period-sources ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.income-period-sources li{border-top:1px solid var(--app-faint);align-items:center;gap:10px;padding:10px 0;display:flex}.income-period-sources li:first-child{border-top:0}.income-period-sources .symbol-badge{width:32px;height:32px;font-size:.7rem}.income-detail-link{border:1px solid var(--app-faint);border-radius:6px;margin-top:auto;padding:10px 12px;text-decoration:none}.income-detail-disclosure{justify-self:start;width:auto;min-height:40px;padding:8px 12px}.income-calendar-list li{grid-template-columns:minmax(130px,.42fr) minmax(0,1fr) minmax(110px,auto)}.income-upcoming-sources{min-width:0;line-height:1.4}.income-upcoming-amount{text-align:right;justify-self:end}.income-empty-actions{flex-wrap:wrap;gap:10px;display:flex}.dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:22px;display:grid}.dashboard-home-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:stretch;gap:16px;margin-bottom:22px;display:grid}.dashboard-progress-story{background:radial-gradient(circle at 100% 0,#68e6ac4d,#0000 18rem),linear-gradient(145deg,#fff,#f3faf6);align-content:space-between;min-height:360px;display:grid}.dashboard-progress-story h2{overflow-wrap:anywhere;margin:12px 0 0;font-size:clamp(2.1rem,6vw,4.35rem);line-height:.96}.dashboard-progress-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.dashboard-progress-metrics div,.dashboard-snapshot-card{background:#ffffffb8;border-radius:8px}.dashboard-progress-metrics div{padding:14px}.dashboard-progress-metrics span,.dashboard-snapshot-card p{color:var(--app-muted);font-size:.86rem;font-weight:700}.dashboard-progress-metrics strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:5px;font-size:clamp(1.08rem,3vw,1.55rem);display:block}.dashboard-snapshot-card{min-height:172px;box-shadow:none;align-content:space-between;display:grid}.dashboard-snapshot-card h2{overflow-wrap:anywhere;margin:10px 0 0;font-size:clamp(1.95rem,4.5vw,3.35rem);line-height:1}.dividend-grid,.broker-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:22px;margin-bottom:22px;display:grid}.broker-overview{gap:22px;margin-bottom:28px;display:grid}.portfolio-summary-band,.portfolio-overview-layout,.portfolio-overview-main,.portfolio-overview-side{min-width:0}.portfolio-summary-band{box-shadow:var(--app-shadow);background:radial-gradient(circle at 100% 0,#68e6ac42,#0000 18rem),#ffffffe6;border:1px solid #07563f14;border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;padding:clamp(22px,4vw,42px);display:grid}.portfolio-summary-primary{align-content:center;gap:8px;display:grid}.portfolio-summary-primary span,.portfolio-summary-supporting dt{color:var(--app-muted);font-size:.82rem;font-weight:800}.portfolio-summary-primary strong{color:var(--app-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(2rem,8vw,4rem);line-height:.95}.portfolio-summary-supporting{gap:14px;margin:0;display:grid}.portfolio-summary-supporting div{border-left:1px solid var(--app-faint);gap:4px;padding-left:18px;display:grid}.portfolio-summary-supporting dd{color:var(--app-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-size:1.2rem;font-weight:900}.portfolio-overview-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:start;gap:22px;margin-top:22px;display:grid}.portfolio-overview-main,.portfolio-overview-side{gap:18px;display:grid}.portfolio-drilldown-panel{border-top:1px solid var(--app-faint);gap:12px;padding-top:18px;display:grid}.portfolio-drilldown-panel h3{margin:0;font-size:1rem}.portfolio-income-section{gap:16px;display:grid}.portfolio-income-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.portfolio-income-summary div{border:1px solid var(--app-faint);background:var(--app-card);border-radius:8px;gap:6px;min-width:0;padding:14px;display:grid}.portfolio-income-summary span{color:var(--app-muted);font-size:.82rem;font-weight:800}.portfolio-income-summary strong{color:var(--app-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:1.35rem;line-height:1.1}.portfolio-holdings-table-wrap{max-width:100%;overflow-x:auto}.portfolio-holdings-table{border-collapse:collapse;border:1px solid var(--app-faint);background:var(--app-card);border-radius:8px;width:100%;min-width:0;font-size:.92rem}.portfolio-holdings-table caption{width:1px;height:1px;position:absolute;overflow:hidden}.portfolio-holdings-table th,.portfolio-holdings-table td{border-bottom:1px solid var(--app-faint);text-align:left;vertical-align:top;padding:14px 12px}.portfolio-holdings-table th{color:var(--app-muted);text-transform:uppercase;font-size:.74rem;font-weight:900}.portfolio-holdings-table td{min-width:0}.portfolio-holdings-table td>span,.portfolio-holdings-table td>strong{overflow-wrap:anywhere;display:block}.portfolio-holdings-table td>span{color:var(--app-muted);margin-top:4px;font-size:.84rem}.holding-identity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.holding-identity>div{gap:2px;min-width:0;display:grid}.holding-identity strong,.holding-identity span,.portfolio-row .symbol-badge,.compact-list .symbol-badge{overflow-wrap:anywhere}.symbol-badge,.portfolio-row .symbol-badge,.compact-list .symbol-badge{border:1px solid var(--app-faint);background:var(--app-surface);width:48px;min-width:48px;height:48px;color:var(--app-accent-strong);letter-spacing:0;border-radius:8px;place-items:center;margin-bottom:0;font-size:.82rem;font-weight:900;display:inline-grid;box-shadow:0 10px 24px #142d200f}.broker-inline-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.broker-inline-list li{min-width:0;color:var(--app-muted);overflow-wrap:anywhere}.portfolio-surface{width:min(100%,1220px)}.portfolio-surface-hero{padding-bottom:18px}.holdings-summary-section{gap:12px;margin-bottom:24px;display:grid}.holdings-summary-heading{color:var(--app-muted);justify-content:flex-end;align-items:center;gap:10px;font-size:.82rem;font-weight:800;display:flex}.holdings-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:16px;display:grid}.holdings-metric-card{border:1px solid var(--app-faint);background:var(--app-surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:14px;min-width:0;padding:18px;display:grid;box-shadow:0 12px 34px #142d200f}.holdings-metric-card>div{gap:4px;min-width:0;display:grid}.holdings-metric-card span,.holdings-metric-card small{color:var(--app-muted);font-size:.82rem;font-weight:750}.holdings-metric-card strong{color:var(--app-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(1.2rem,2.4vw,1.8rem);line-height:1.1}.holdings-icon{background:var(--app-surface-soft);width:38px;height:38px;color:var(--app-accent-strong);border:1px solid #07563f24;border-radius:8px;flex:0 0 38px;justify-content:center;align-items:center;display:inline-flex}.holdings-section-kicker,.holdings-card-title{align-items:center;gap:10px;display:inline-flex}.holdings-section-kicker{margin-bottom:10px}.holdings-card-title{color:var(--app-ink);margin:0;font-weight:900}.portfolio-income-section{border-top:0;gap:18px;padding-top:8px}.portfolio-holdings-table-wrap{border:1px solid var(--app-faint);background:var(--app-surface);border-radius:8px;overflow:hidden;box-shadow:0 16px 42px #142d200f}.portfolio-holdings-table{background:var(--app-surface);border:0;border-radius:0}.portfolio-holdings-table th{text-transform:none}.portfolio-holdings-table tbody tr:last-child td{border-bottom:0}.portfolio-holdings-table td{vertical-align:middle}.portfolio-holdings-table td[data-label=Holding]{min-width:190px}.portfolio-holdings-table td[data-label=Broker\ accounts]{min-width:160px}.portfolio-holdings-table .share-track{background:var(--app-surface-soft);border-radius:999px;width:min(100%,140px);height:7px;margin-top:9px;display:block;overflow:hidden}.portfolio-holdings-table .share-track>span{border-radius:inherit;background:var(--app-accent-strong);height:100%;display:block}.portfolio-holdings-table .status-pill{width:fit-content;margin-top:0;display:inline-flex}.portfolio-holdings-table .status-pill.complete{background:var(--app-surface-soft);color:var(--app-accent-strong);border-color:#0f8f6538}.portfolio-holdings-table .status-pill.needs-assumption,.portfolio-holdings-table .status-pill.needs-payment-months{background:var(--app-warning-bg);color:var(--app-warning);border-color:#8a610b3d}.holdings-support-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;margin-top:22px;display:grid}.holdings-snapshot-card,.holdings-review-card{min-width:0}.holdings-snapshot-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:1px;min-width:0;margin:22px 0 0;display:grid}.holdings-snapshot-grid div{border:1px solid var(--app-faint);border-radius:8px;min-width:0;padding:14px}.holdings-snapshot-grid dt{color:var(--app-muted);font-size:.8rem;font-weight:800}.holdings-snapshot-grid dd{color:var(--app-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:7px 0 0;font-size:1.18rem;font-weight:900}.broker-holding-preview-row{grid-template-columns:minmax(0,1fr) minmax(120px,.45fr) minmax(140px,.5fr);align-items:center;gap:20px;display:grid}.broker-holding-preview-identity,.broker-holding-preview-quantity,.broker-holding-preview-cost{font-variant-numeric:tabular-nums;gap:3px;min-width:0;display:grid}.broker-holding-preview-cost{text-align:right;justify-items:end}.broker-holding-preview-row small{display:none}.holdings-review-links{gap:8px;margin-top:18px;display:grid}.holdings-review-links a{border:1px solid var(--app-faint);min-height:58px;color:var(--app-ink);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:grid}.holdings-review-links a:hover,.holdings-review-links a:focus-visible{border-color:var(--app-accent);background:var(--app-surface-soft)}.holdings-review-links a>span:nth-child(2){gap:2px;min-width:0;display:grid}.holdings-review-links strong,.holdings-review-links small{overflow-wrap:anywhere}.holdings-review-links small{color:var(--app-muted);font-size:.78rem}.holdings-review-links .holdings-icon{flex-basis:34px;width:34px;height:34px}.holdings-broker-section{margin-top:22px}.dividend-income-band,.dividend-maintenance-layout,.dividend-maintenance-side{min-width:0}.dividend-income-band{box-shadow:var(--app-shadow);background:radial-gradient(circle at 100% 0,#68e6ac47,#0000 18rem),#ffffffe6;border:1px solid #07563f14;border-radius:8px;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:20px;margin-bottom:22px;padding:clamp(22px,4vw,42px);display:grid}.dividend-income-primary{align-content:center;gap:8px;display:grid}.dividend-income-primary h2,.dividend-income-primary p{margin:0}.dividend-income-primary strong{color:var(--app-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(2rem,7vw,3.5rem);line-height:.95}.dividend-income-primary strong span{color:var(--app-muted);font-size:clamp(1rem,3vw,1.35rem);font-weight:800}.dividend-income-supporting{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.dividend-income-supporting div{border-left:1px solid var(--app-faint);gap:4px;padding-left:16px;display:grid}.dividend-income-supporting dt{color:var(--app-muted);font-size:.8rem;font-weight:800}.dividend-income-supporting dd{color:var(--app-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-weight:900}.dividend-maintenance-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:22px;display:grid}.dividend-maintenance-side{gap:18px;display:grid}.broker-overview>*,.broker-detail-sections>*{min-width:0}.summary-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;min-width:0;display:grid}.summary-metric-card{align-content:space-between;gap:10px;min-height:138px;padding:20px;display:grid}.summary-metric-card span{color:var(--app-muted);font-size:.82rem;font-weight:800}.summary-metric-card strong{color:var(--app-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:1.65rem;line-height:1}.guidance-card{border-left:4px solid var(--app-warning);gap:12px;display:grid}.guidance-card h3{margin:0;font-size:1.35rem}.guidance-list{gap:8px;margin:0;padding-left:20px;display:grid}.broker-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.broker-detail-sections{gap:18px;margin-top:28px;display:grid}.finance-card{box-shadow:var(--app-shadow);background:#ffffffe0;border:1px solid #07563f14;border-radius:8px;min-width:0;padding:clamp(20px,3vw,34px)}.hero-card{background:radial-gradient(circle at 100% 0,#68e6ac57,#0000 18rem),linear-gradient(145deg,#fff,#f2faf5);grid-row:span 2;min-height:350px}.income-hero-card,.broker-hero-card{background:radial-gradient(circle at 100% 0,#68e6ac47,#0000 16rem),#fff;grid-row:span 2}.hero-card h2,.income-hero-card h2,.broker-hero-card h2{letter-spacing:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:10px 0 0;font-size:clamp(2.15rem,6vw,4.6rem);line-height:.95}.metric-card h2{letter-spacing:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:10px 0 0;font-size:clamp(2rem,4.2vw,3.55rem);line-height:.98}.metric-card p,.hero-card p,.income-hero-card p,.broker-hero-card p{margin:10px 0 0}.card-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.status-pill{background:#f7faf7}.progress-track{background:var(--progress-neutral);border-radius:999px;height:12px;margin-top:28px;overflow:hidden}.progress-fill{background:var(--progress-active)}.progress-track--low .progress-fill{background:var(--progress-low)}.progress-track--healthy .progress-fill{background:var(--progress-healthy)}.progress-track--complete .progress-fill{background:var(--progress-complete)}.progress-state{color:var(--app-muted);align-items:center;gap:5px;font-size:.8rem;font-weight:900;display:inline-flex}.progress-state--low{color:#7c5408}.progress-state--healthy,.progress-state--complete{color:var(--app-accent-strong)}.mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.mini-metrics div{background:#ffffffad;border-radius:8px;min-width:0;padding:16px}.mini-metrics span,.app-list small,.soft-empty span{color:var(--app-muted);font-size:.86rem;font-weight:700;display:block}.mini-metrics strong,.app-list strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.attention-card,.list-card,.detail-card{grid-column:span 1}.detail-card{padding-block:18px}.finance-card .metric-rows{border-top:0;gap:10px;margin-top:18px}.finance-card .metric-row{background:#f7faf7;border-bottom:0;border-radius:8px;padding:13px 14px}.finance-card .metric-row strong{color:var(--app-ink);font-size:1.02rem}.finance-card .empty-state{background:#f7faf7;border:0;border-radius:8px}.app-list{gap:14px;margin:18px 0 0;padding:0;list-style:none;display:grid}.app-list li,.app-list .row-link{justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.app-list li{border-top:1px solid var(--app-faint);padding-top:14px}.app-list .row-link{width:100%}.avatar-token{width:42px;height:42px;color:var(--app-accent-strong);background:#dff4e8;border-radius:999px;font-size:.78rem}.soft-empty{background:#f7faf7;border-radius:8px;gap:4px;min-width:0;margin-top:18px;padding:16px;display:grid}.attention-list li{background:var(--app-warning-bg);border-left:0;border-radius:8px;padding:13px 14px}.sticky-action{display:none}.button-link,button{border-color:var(--app-accent-strong);background:var(--app-accent-strong);border-radius:14px}.text-link{color:var(--app-accent-strong)}@media (min-width:980px){body:has(.app-sidebar){padding-left:220px}.app-sidebar{border-right:1px solid var(--app-faint);border-bottom:0;flex-direction:column;align-items:stretch;width:220px;padding:20px 16px;position:fixed;inset:0 auto 0 0;overflow-y:auto}.app-sidebar-main{align-items:stretch;gap:28px;display:grid}.desktop-nav,.app-sidebar-footer form{align-items:stretch;display:grid}.desktop-nav a,.desktop-nav button{min-height:48px}.desktop-more-panel{min-width:0;right:0}.app-sidebar-footer{margin-top:auto}.compact-privacy-control{display:none}.desktop-privacy-control{border-bottom:1px solid var(--app-faint);align-items:center;gap:10px;margin-bottom:14px;padding-bottom:14px;display:flex}.portfolio-shell,.setup-shell,.page-shell{width:min(100%,1180px);margin-inline:auto;padding:46px 32px 80px}.dashboard-shell{width:min(100%,1180px);margin-inline:auto}.primary-surface{width:min(100%,1260px);padding:44px 40px 88px}.primary-surface .screen-hero,.primary-surface .dashboard-hero,.primary-surface .setup-hero{border-bottom:1px solid var(--app-faint);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-bottom:24px;padding:20px 0 26px;display:grid}.primary-surface .screen-hero h1,.primary-surface .dashboard-hero h1,.primary-surface .setup-hero h1{max-width:12ch;font-size:clamp(2.7rem,4.5vw,4rem);line-height:1}.primary-surface .setup-copy{max-width:64ch}.primary-surface .primary-action{align-self:center}.home-surface .screen-hero h1{max-width:18ch}.home-surface .dashboard-hero-action{display:none}.home-surface .income-command-center{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:22px;margin-bottom:24px}.home-surface .income-primary-panel{min-height:360px;padding:32px}.home-surface .income-primary-panel h2,.income-surface .income-overview-primary strong{font-size:clamp(3rem,5vw,4.55rem)}.income-surface .income-snapshot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.income-surface .screen-hero .primary-action{display:none}.home-surface .income-command-side{gap:16px}.home-surface .income-side-panel{padding:18px}.home-surface .income-support-strip{grid-template-columns:minmax(180px,.3fr) minmax(0,1fr);gap:24px;margin:24px 0;padding:22px 0}.home-surface .home-maintenance-layout{gap:22px;margin-top:24px}.income-surface .income-overview-panel{margin-bottom:24px}.income-surface .income-overview-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px}.income-surface .income-maintenance-strip{margin:20px 0 24px;padding:12px 0}.income-surface .income-section-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:22px}.income-surface .assumption-workbench,.income-surface .income-timing-card{grid-column:1/-1}.portfolio-surface .portfolio-surface-hero{grid-template-columns:1fr;align-items:start;gap:18px}.portfolio-surface .page-link-row{border-block:1px solid var(--app-faint);padding-block:12px}.portfolio-surface .portfolio-income-section{gap:18px;padding-top:28px}.portfolio-surface .portfolio-income-summary{grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(180px,.6fr)}.portfolio-surface .portfolio-holdings-table{table-layout:fixed}.portfolio-surface .portfolio-summary-band{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);padding:28px}.activity-surface{grid-template-columns:minmax(0,1fr) minmax(320px,.38fr);align-items:start;gap:22px;display:grid}.activity-surface .activity-hero,.activity-surface .activity-summary-module,.activity-surface .activity-filters,.activity-surface .activity-records-module,.activity-surface .sticky-action{grid-column:1/-1}.activity-surface .activity-summary-module,.activity-surface .activity-filters,.activity-surface .activity-records-module{margin-bottom:0}.activity-surface .activity-filter-form{grid-template-columns:1fr}.activity-surface .ledger-filter-toolbar{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);align-items:end}.activity-surface .ledger-search-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.activity-surface .ledger-search-form label{grid-column:1/-1}.activity-surface .ledger-search-form button{width:auto}.activity-surface .quick-filter-link{flex:auto;justify-content:center}.activity-surface .activity-record-list .portfolio-row{grid-template-columns:minmax(180px,1.25fr) minmax(150px,.8fr) minmax(96px,.45fr) minmax(140px,.65fr) minmax(120px,.55fr)}.maintenance-surface{width:min(100%,1180px);padding:44px 40px 88px}.maintenance-surface .screen-hero,.maintenance-surface .dashboard-hero,.maintenance-surface .setup-hero{border-bottom:1px solid var(--app-faint);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-bottom:24px;padding:20px 0 26px;display:grid}.maintenance-surface .screen-hero h1,.maintenance-surface .dashboard-hero h1,.maintenance-surface .setup-hero h1{max-width:16ch;font-size:clamp(2.45rem,4vw,3.45rem);line-height:1}.maintenance-surface .setup-copy{max-width:64ch}.setup-surface{max-width:1120px}.setup-surface .setup-hero{grid-template-columns:minmax(0,.9fr) minmax(360px,.55fr);align-items:start}.setup-surface .wizard-panel,.setup-surface .auth-alert,.setup-surface .auth-note{grid-column:2;margin-top:0}.setup-surface .setup-section{padding:30px 0}.setup-surface .form-panel{padding:18px}.setup-surface .setup-holding-account{grid-template-columns:minmax(190px,.34fr) minmax(0,1fr)}.data-health-surface{grid-template-columns:minmax(0,1fr) minmax(380px,.46fr);align-items:start;gap:22px;display:grid}.data-health-surface .dashboard-hero,.data-health-surface .data-health-affected{grid-column:1/-1}.data-health-surface .progress-module,.data-health-surface .summary-module{margin-bottom:0}.data-health-surface .progress-module{grid-area:2/1;min-height:100%}.data-health-surface .data-health-recent{border:1px solid var(--app-faint);background:var(--app-surface);border-radius:8px;grid-area:2/2;padding:18px}.data-health-surface .data-health-recent .metric-row{gap:6px;display:grid}.data-health-surface .data-health-recent .metric-row strong{text-align:left;max-width:100%}.broker-detail-surface{width:min(100%,1240px)}.broker-detail-surface .screen-hero{margin-bottom:26px}.broker-detail-surface .broker-overview{gap:24px}.broker-detail-surface .summary-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.broker-detail-surface .broker-overview-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}.broker-detail-surface .detail-card .segmented-control{padding-bottom:0}.broker-detail-surface .broker-detail-sections{gap:22px}}@media (min-width:980px) and (max-width:1279px){.assumption-workbench-header,.assumption-workbench-row{grid-template-columns:minmax(130px,1.2fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(100px,.8fr) minmax(70px,.5fr)}.assumption-workbench-header>span:nth-child(3),.assumption-workbench-header>span:nth-child(6),.assumption-workbench-header>span:nth-child(7),.assumption-workbench-row>div:nth-child(3),.assumption-workbench-row>div:nth-child(6),.assumption-workbench-row>div:nth-child(7){display:none}}@media (max-width:979px){.app-sidebar{-webkit-backdrop-filter:none;backdrop-filter:none}.app-sidebar-footer,.desktop-nav,.nav-primary-action{display:none}.mobile-bottom-nav{display:grid}.dashboard-grid{grid-template-columns:1fr}.holdings-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.holdings-support-grid,.income-command-center,.dashboard-topline,.dashboard-compact-grid,.income-support-strip,.home-maintenance-layout,.income-overview-grid,.assumption-workbench-summary,.assumption-impact-preview,.income-timing-layout,.income-section-grid{grid-template-columns:1fr}.income-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.income-snapshot-card:nth-of-type(2){display:none}.assumption-workbench-controls{z-index:20;background:var(--app-surface);width:100%;min-width:0;max-width:100%;padding-block:10px;position:sticky;top:67px}.assumption-workbench-header{display:none}.assumption-workbench-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px}.assumption-workbench-row>div:first-child,.assumption-workbench-row>div:last-child{grid-column:1/-1}.assumption-workbench-row>div:nth-child(3),.assumption-workbench-row>div:nth-child(6),.assumption-workbench-row>div:nth-child(7){display:none}.income-snapshot-card:nth-of-type(4){grid-column:1/-1}.income-support-grid,.income-calendar-workspace{grid-template-columns:1fr}.income-timing-card{padding:18px}.income-primary-panel,.dashboard-income-hero{min-height:0}.income-contributors-card{grid-row:auto}.income-contributor-list li{grid-template-columns:minmax(0,1fr);align-items:start;gap:8px}.portfolio-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-snapshot-grid div,.portfolio-snapshot-grid div:nth-child(3n+1),.portfolio-snapshot-grid div:nth-child(odd),.portfolio-snapshot-grid div:nth-child(n+3){border:1px solid var(--app-faint);padding:14px}.holdings-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.holdings-snapshot-grid div,.holdings-snapshot-grid div:first-child,.holdings-snapshot-grid div:last-child{border:1px solid var(--app-faint);padding:14px}.portfolio-holdings-table-wrap{box-shadow:none;background:0 0;border:0;overflow-x:visible}.portfolio-holdings-table,.portfolio-holdings-table thead,.portfolio-holdings-table tbody,.portfolio-holdings-table tr,.portfolio-holdings-table th,.portfolio-holdings-table td{display:block}.portfolio-holdings-table{background:0 0;border:0}.portfolio-holdings-table thead{width:1px;height:1px;position:absolute;overflow:hidden}.portfolio-holdings-table tbody{gap:12px;display:grid}.portfolio-holdings-table tr{border:1px solid var(--app-faint);background:var(--app-surface);border-radius:8px;padding:14px;box-shadow:0 12px 30px #142d200d}.portfolio-holdings-table td{border:0;min-width:0;padding:10px 0}.portfolio-holdings-table td+td{border-top:1px solid var(--app-faint)}.portfolio-holdings-table td:before{color:var(--app-muted);content:attr(data-label);text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:900;display:block}.portfolio-holdings-table td[data-label=Holding]:before{display:none}.income-support-strip dl{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-home-grid{grid-template-columns:1fr}.dashboard-progress-story{min-height:0}.dividend-grid,.broker-grid,.summary-card-grid,.portfolio-income-summary,.portfolio-summary-band,.portfolio-overview-layout,.dividend-income-band,.dividend-maintenance-layout,.broker-overview-grid{grid-template-columns:1fr}.portfolio-summary-supporting div{border-top:1px solid var(--app-faint);border-left:0;padding-top:12px;padding-left:0}.dividend-income-supporting{grid-template-columns:1fr}.dividend-income-supporting div{border-top:1px solid var(--app-faint);border-left:0;padding-top:12px;padding-left:0}.dividend-assumption-summary,.dividend-assumption-form{grid-template-columns:1fr}.month-checkbox-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-list li{grid-template-columns:1fr;justify-items:start;display:grid}.compact-list li>strong,.compact-list li>span{text-align:left}.hero-card,.income-hero-card,.broker-hero-card{min-height:0}.screen-hero,.dashboard-hero,.setup-hero{align-items:start}.maintenance-surface .setup-hero,.maintenance-surface .screen-hero,.maintenance-surface .dashboard-hero{gap:16px}.setup-surface .wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.setup-surface .wizard-step{justify-content:flex-start}.broker-detail-surface .detail-card .segmented-control{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:0;display:grid}.broker-detail-surface .detail-card .segmented-control a{justify-content:center;align-items:center;min-height:42px;display:inline-flex}}@media (max-width:640px){.app-sidebar{padding:16px}.portfolio-shell,.setup-shell,.page-shell,.auth-shell{padding-inline:16px}.screen-hero,.dashboard-hero,.setup-hero{display:grid}.portfolio-surface-hero{padding-bottom:12px}.holdings-summary-heading{justify-content:space-between}.holdings-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.holdings-metric-card{grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:center;padding:14px}.holdings-metric-card>div{grid-column:auto;grid-template-columns:1fr;margin-top:0}.holdings-metric-card strong{text-align:left;grid-area:auto/1;min-height:0;font-size:1.08rem}.holdings-metric-card small{display:none}.holdings-support-grid{gap:14px}.holdings-snapshot-grid{grid-template-columns:1fr}.holdings-snapshot-grid div,.holdings-snapshot-grid div:first-child,.holdings-snapshot-grid div:last-child,.holdings-snapshot-grid div:nth-child(2n){border:1px solid var(--app-faint);padding:14px}.holdings-snapshot-grid div:first-child{padding-top:14px}.broker-holding-preview-row{grid-template-columns:1fr;align-items:start;gap:10px}.broker-holding-preview-cost{text-align:left;justify-items:start}.broker-holding-preview-row small{color:var(--app-muted);text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.protected-sign-in-panel h1{font-size:clamp(2.25rem,10vw,3rem);line-height:1}.primary-action,.button-link,.setup-form button,.inline-form button,.form-panel button{width:100%}.metric-row{gap:6px;display:grid}.metric-row strong{text-align:left;max-width:100%}.metric-card h2,.hero-card h2,.income-hero-card h2,.broker-hero-card h2{font-size:clamp(2rem,13vw,3.25rem)}.mini-metrics,.dashboard-progress-metrics,.activity-filter-form{grid-template-columns:1fr}.quick-filter-link{flex:108px;justify-content:center}.dividend-maintenance-layout .segmented-control{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.app-list li,.app-list .row-link{justify-items:start;display:grid}.income-key-metrics,.income-support-strip dl,.income-overview-support{grid-template-columns:1fr}.dashboard-income-hero h2{font-size:2.75rem}.dashboard-side-stack,.dashboard-compact-grid{gap:14px}.dashboard-side-stack{grid-template-rows:auto;grid-template-columns:1fr}.received-ytd-card{grid-area:auto}.dashboard-compact-card,.dashboard-income-hero{padding:20px}.portfolio-snapshot-grid{grid-template-columns:1fr}.portfolio-snapshot-grid div,.portfolio-snapshot-grid div:nth-child(odd),.portfolio-snapshot-grid div:nth-child(3n+1){border:1px solid var(--app-faint);padding:14px}.portfolio-snapshot-grid div:first-child{padding-top:14px}.calendar-preview-list li{grid-template-columns:1fr;gap:6px}.income-maintenance-strip{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.income-maintenance-strip span{grid-column:1/-1}.income-support-card .card-heading{grid-template-columns:minmax(0,1fr);display:grid}.income-support-card .status-pill{justify-self:start}.income-support-card .income-summary-list{grid-template-columns:1fr}.income-support-card .income-summary-list div,.income-support-card .income-summary-list div:first-child{border-left:0;padding:10px 0}.income-support-card .income-summary-list div+div{border-top:1px solid var(--app-faint)}.assumption-filter-tabs,.assumption-sort-tabs{flex-wrap:wrap}.assumption-filter-tabs a,.assumption-sort-tabs a{text-align:center;flex:140px}.assumption-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.assumption-edit-actions{display:grid}.income-history-list li,.income-calendar-list li,.income-period-receipts li,.income-mini-list li{grid-template-columns:1fr}.income-calendar-list li{align-items:start;gap:6px}.income-upcoming-amount{text-align:left;justify-self:start}.income-receipt-amount{text-align:left;justify-items:start}.income-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.income-calendar-card{grid-template-columns:1fr}.income-calendar-card .sensitive-value{inline-size:auto;max-inline-size:100%}.market-value-primary,.market-value-support{grid-template-columns:1fr}.income-empty-actions{display:grid}.finance-card,.summary-metric-card,.dashboard-progress-story,.dashboard-snapshot-card,.portfolio-summary-band,.dividend-income-band{box-shadow:none}.portfolio-holdings-table-wrap{overflow-x:visible}.portfolio-holdings-table,.portfolio-holdings-table thead,.portfolio-holdings-table tbody,.portfolio-holdings-table tr,.portfolio-holdings-table th,.portfolio-holdings-table td{display:block}.portfolio-holdings-table{background:0 0;border:0}.portfolio-holdings-table thead{width:1px;height:1px;position:absolute;overflow:hidden}.portfolio-holdings-table tbody{gap:12px;display:grid}.portfolio-holdings-table tr{border:1px solid var(--app-faint);background:var(--app-card);border-radius:8px;padding:12px}.portfolio-holdings-table td{border:0;padding:10px 0}.portfolio-holdings-table td+td{border-top:1px solid var(--app-faint)}.portfolio-holdings-table td:before{color:var(--app-muted);content:attr(data-label);text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:900;display:block}}
