.report-feedback{margin-top:24px;padding:20px;border:1px solid var(--border, #d6d8dc);border-radius:14px;background:var(--surface, #fff)}.report-feedback form,.report-feedback fieldset{display:grid;gap:10px}.report-feedback form{gap:16px}.report-feedback fieldset{border:0;padding:0;margin:0}.report-feedback legend,.report-feedback>h3,.report-feedback label{font-weight:650}.feedback-choices{display:flex;flex-wrap:wrap;gap:8px 16px}.feedback-choices label{display:inline-flex;align-items:center;gap:6px;font-weight:500}.report-feedback textarea{width:100%;min-height:88px;resize:vertical}.feedback-hint,.feedback-warning{margin:0}.feedback-hint{color:var(--muted, #5f6670)}.feedback-warning{font-weight:600}.legal-card{max-width:44rem}.legal-language,.legal-links,.legal-account-actions{display:flex;flex-wrap:wrap;gap:.75rem}.legal-language button[aria-pressed=true]{text-decoration:underline}.legal-links a{font-weight:700}.legal-versions,.legal-authority-notice{color:var(--color-text-muted, #53606d);font-size:.875rem}.legal-agreement{align-items:flex-start;display:flex;gap:.75rem;margin:1.25rem 0}.legal-agreement input{margin-top:.2rem}.legal-account-actions{margin-top:1rem}.legal-document{margin:0 auto;max-width:52rem;padding:2rem 1.25rem 5rem}.legal-document nav{display:flex;gap:1rem;margin:1rem 0 2rem}.legal-document section{margin-top:2rem}.legal-dialog-backdrop{align-items:center;background:#0f172a8c;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1rem;position:fixed;z-index:100}.legal-dialog{background:#fff;border-radius:1rem;box-shadow:0 1.25rem 4rem #0f172a40;max-width:36rem;padding:1.5rem}.legal-dialog-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}:root{--color-ink: #17221c;--color-evidence: #2f734d;--color-evidence-strong: #286944;--color-confirmed-surface: #e8f4eb;--color-canvas: #f7f8f5;--color-surface: #ffffff;--color-subtle-surface: #eff5f0;--color-border: #d8e0da;--color-muted: #68756d;--color-danger: #984343;--color-danger-surface: #fff0ef;--radius-control: 8px;--radius-surface: 14px;--shadow-surface: 0 12px 34px rgb(31 48 38 / 6%);--shadow-primary: 0 8px 20px rgb(47 115 77 / 20%);color:var(--color-ink);background:var(--color-canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:var(--color-canvas)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}input:disabled,select:disabled,textarea:disabled{border-color:var(--color-border);background:#e3e8e4;color:var(--color-muted);opacity:1}:where(button,a,input,select,textarea,summary):focus-visible{outline-width:3px;outline-style:solid;outline-color:var(--color-evidence);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh}.module-availability-notice{max-width:1200px;margin:16px auto 0;padding:12px 18px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-subtle-surface);color:var(--color-ink)}.session-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--color-canvas)}.session-card{display:grid;gap:18px;width:min(440px,100%);padding:clamp(28px,6vw,48px);border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);box-shadow:var(--shadow-surface)}.session-card h1,.session-card p{margin:0}.session-card h1{font-size:clamp(30px,6vw,44px);line-height:1.04}.session-card>p:not(.eyebrow){color:#5c6b60;line-height:1.55}.magic-link-form,.magic-link-form label{display:grid;gap:10px}.magic-link-form label span{color:#435047;font-size:13px;font-weight:800}.magic-link-form input,.portfolio-name-control input{width:100%;border:1px solid #c8d2c5;border-radius:8px;background:#fff;color:#17201d}.magic-link-form input{min-height:46px;padding:10px 12px}.google-sign-in,.magic-link-form .button{justify-content:center;min-height:46px}.session-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:#748078;font-size:12px;font-weight:800;text-transform:uppercase}.session-divider:before,.session-divider:after{height:1px;background:#dfe4da;content:""}.session-message{padding:10px 12px;border-radius:8px;background:#edf8ef;color:#235337!important}.session-privacy{font-size:12px}.topbar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(18px,4vw,48px);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.topbar h1,.section-head h2{margin:0;letter-spacing:0}.topbar h1{font-size:clamp(26px,3vw,34px);line-height:1.05}.topbar-brand{display:grid;gap:4px;min-width:0}.saved-reports-panel{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:12px clamp(18px,4vw,48px);border-bottom:1px solid var(--color-border);background:var(--color-subtle-surface)}.saved-reports-rail{display:grid;gap:10px;min-width:0}.saved-reports-panel .portfolio-name-control{width:100%;margin-top:0}.saved-reports-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.saved-reports-head h2,.saved-reports-panel p{margin:0}.saved-reports-head h2{font-size:14px}.saved-reports-list{display:flex;gap:8px;max-width:100%;margin:0;padding:0;overflow-x:auto;overscroll-behavior-inline:contain;list-style:none}.saved-report-item{display:flex;align-items:center;min-width:min(260px,82vw);gap:8px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.saved-report-item a{display:grid;flex:1;gap:2px;min-width:0;color:#1f5135;text-decoration:none}.saved-report-item a:hover{text-decoration:underline}.saved-report-item strong,.saved-report-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-report-item span,.saved-reports-loading,.saved-reports-empty,.saved-reports-error,.saved-reports-retention,.saved-reports-status{color:#667168;font-size:12px}.saved-reports-error{color:var(--color-danger)}.saved-reports-status{color:#1f5135;font-weight:700}.saved-report-delete-confirmation{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.saved-report-delete-confirmation .button{white-space:nowrap}.button.danger-button{border-color:transparent;background:transparent;color:var(--color-danger)}.account-action-error{margin:12px clamp(18px,4vw,48px) 0;color:var(--color-danger);font-size:13px;font-weight:700}.workspace-mutation-pending{pointer-events:none}.account-menu-shell{position:relative}.account-menu{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:grid;gap:4px;width:250px;max-width:calc(100vw - 32px);padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);box-shadow:var(--shadow-surface)}.account-menu-identity{margin:0;padding:8px 10px 10px;overflow-wrap:anywhere;color:var(--color-muted);font-size:12px;line-height:1.4}.account-menu .button{width:100%;justify-content:flex-start}.account-menu hr{width:100%;height:1px;margin:4px 0;border:0;background:var(--color-border)}.portfolio-name-control{display:grid;gap:3px;width:min(360px,70vw);margin-top:8px;color:#5a665e;font-size:11px;font-weight:800;text-transform:uppercase}.portfolio-name-control input{min-height:42px;padding:9px;font-size:14px;font-weight:750;text-transform:none}.signed-in-email{align-self:center;color:#5a665e;font-size:12px;font-weight:700}.topbar-mode{margin:0;color:#5c6b60;font-size:14px;font-weight:700;line-height:1.25}.eyebrow{margin:0 0 8px;color:#5c6b60;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.status-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.topbar-language{display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:3px 8px;border:1px solid #cfd8cc;border-radius:999px;background:#fff;color:#3f4b43;font-size:12px;font-weight:800}.topbar-language span{color:#5a665e;text-transform:uppercase}.topbar-language select{min-height:24px;border:0;background:transparent;color:#17201d;font-weight:800}.data-source-control{display:inline-flex;align-items:center;gap:2px;min-height:28px;margin:0;padding:2px;border:1px solid #cfd8cc;border-radius:999px;background:#fff}.data-source-control legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.data-source-control label{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:2px 8px;border-radius:999px;color:#5a665e;font-size:12px;font-weight:800;white-space:nowrap}.data-source-control label:has(input:checked){background:#21362a;color:#fff}.data-source-control input{width:0;height:0;margin:0;opacity:0}.status-chip{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid #cfd8cc;border-radius:999px;background:#fff;color:#3f4b43;font-size:12px;font-weight:700;white-space:nowrap}.status-chip.ready{border-color:#8eb89c;background:#edf8ef;color:#235337}.status-chip.danger{border-color:#d7a199;background:#fff1ee;color:#83352c}.diagnosis-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;width:100%;max-width:1200px;min-width:0;margin:0 auto;padding:24px clamp(18px,4vw,48px) 48px}.flow-panel{min-width:0}.stepper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.step-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);font-size:13px;line-height:18px;font-weight:700}.step-button span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#eef0e8;color:#576059;font-size:12px}.step-button.current{border-color:var(--color-evidence);background:var(--color-confirmed-surface);color:var(--color-ink)}.step-button.current span{background:var(--color-evidence);color:#fff}.step-button.completed{border-color:var(--color-border);background:var(--color-subtle-surface);color:var(--color-ink)}.step-button.completed span{background:var(--color-confirmed-surface);color:var(--color-evidence-strong)}.step-button:disabled{border-color:var(--color-border);background:#e3e8e4;color:var(--color-muted);cursor:not-allowed;opacity:1}.step-card{border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);box-shadow:var(--shadow-surface)}.step-card{padding:clamp(18px,3vw,28px)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.section-head h2{font-size:clamp(22px,3vw,30px);line-height:1.1}.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.goal-card,.product-row,.note-card,.allocation-row,.answer-card,.summary-block{border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.goal-card{display:flex;min-height:152px;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;text-align:left}.goal-card strong{font-size:20px}.goal-card span{color:#5c675f;line-height:1.45}.goal-card.selected{border-color:#4f8e65;background:#eff8f1}.product-list,.note-editor,.input-product-list,.allocation-table,.answer-list,.report-details,.selected-products{display:grid;gap:10px}.product-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px}.input-product-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(90px,.45fr) minmax(72px,.35fr) minmax(120px,.55fr) minmax(140px,.65fr);align-items:end;gap:12px;min-width:0;padding:12px 14px;border:1px solid #dfe4da;border-radius:8px;background:#fbfcf8}.input-product-row.selected{background:#fff}.input-product-row.quantity-row{grid-template-columns:minmax(220px,1.4fr) minmax(132px,.75fr) minmax(132px,.7fr) minmax(180px,.85fr);align-items:start}.input-row-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0}.input-row-main span span,.note-input-row span,.allocation-cell span{display:block;color:#626d65;font-size:13px;line-height:1.35}.position-quantity-group,.position-value-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quantity-stepper{display:grid;grid-template-columns:42px minmax(52px,1fr) 42px;gap:4px}.quantity-stepper button{min-width:42px;min-height:42px;padding:0;border:1px solid #c5d0c8;border-radius:var(--radius-control);background:var(--color-subtle-surface);color:var(--color-evidence-strong);font-size:20px;font-weight:800;line-height:1}.quantity-stepper button:hover:not(:disabled){border-color:#84a68f;background:var(--color-confirmed-surface)}.quantity-stepper button:disabled{border-color:var(--color-border);background:#e3e8e4;color:var(--color-muted)}.quantity-stepper input[type=number]{min-width:0;padding-inline:8px;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.quantity-stepper input[type=number]::-webkit-inner-spin-button,.quantity-stepper input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.allocation-cell{display:grid;gap:6px;min-width:0}.allocation-cell small,.position-metric small{color:#69726b;font-size:12px;line-height:1.25}.allocation-cell span{color:#55615a;font-size:12px;font-weight:700;text-transform:uppercase}.position-metric{display:grid;gap:5px;min-width:0}.position-metric span{color:#55615a;font-size:12px;font-weight:700;line-height:1.35;text-transform:uppercase}.position-metric strong{color:#16201c;font-size:15px;line-height:1.25;overflow-wrap:anywhere}.product-row span span,.allocation-row span{display:block;color:#626d65;font-size:13px;line-height:1.35}.muted{color:#69726b;font-size:13px}.note-card{display:grid;gap:12px;padding:14px}.inline-control{display:inline-flex;align-items:center;gap:8px;font-weight:700}.field-stack{display:grid;gap:6px}.field-stack span,.allocation-row label span{color:#55615a;font-size:12px;font-weight:700;text-transform:uppercase}.field-stack input,.field-stack select,.field-stack textarea,.allocation-cell input,.allocation-row input{width:100%;border:1px solid #cfd8cc;border-radius:8px;background:#fff;color:#17201d}.field-stack input,.field-stack select,.allocation-cell input,.allocation-row input{min-height:42px;padding:8px 10px}.field-stack textarea{min-height:110px;resize:vertical;padding:10px}.compact{max-width:240px}.allocation-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px}.segmented-control{display:flex;min-height:40px;align-items:center;gap:6px;margin:0;padding:4px;border:1px solid #cfd8cc;border-radius:8px;background:#f7f9f4}.segmented-control legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.segmented-control label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;font-weight:700}.allocation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,160px) minmax(140px,180px);align-items:end;gap:12px;padding:12px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:18px 0}.input-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin:18px 0}.summary-block{display:grid;align-content:start;gap:8px;min-width:0;min-height:116px;padding:16px;overflow-wrap:anywhere}.summary-block span{color:#5d685f;font-size:12px;font-weight:800;line-height:1.35;text-transform:uppercase}.summary-block strong{display:block;min-width:0;margin:0;font-size:clamp(18px,1.8vw,22px);line-height:1.22;overflow-wrap:anywhere}.summary-block p{margin:0;color:#626d65;line-height:1.55}.selected-products>div{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(220px,2fr) minmax(72px,.45fr);align-items:start;gap:12px;padding:12px 0;border-bottom:1px solid #e4e8df}.selected-products strong,.selected-products span{min-width:0;line-height:1.45}.selected-products strong{overflow-wrap:break-word}.selected-products span{overflow-wrap:anywhere}.selected-products span:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.input-status-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px;margin-top:16px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-subtle-surface);color:#48564d;font-size:13px;font-weight:700}.input-status-strip span{display:flex;align-items:center;min-height:40px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.real-fund-search{display:grid;gap:12px;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-subtle-surface)}.real-fund-search-head,.real-fund-search-controls{display:flex;align-items:end;justify-content:space-between;gap:12px}.real-fund-search-head h3{margin:0;font-size:19px;line-height:1.2}.real-fund-search-controls .field-stack{flex:1 1 260px}.real-product-search-field{position:relative}.real-product-autocomplete{position:absolute;z-index:20;top:calc(100% + 6px);right:0;left:0;display:grid;gap:4px;max-height:320px;padding:6px;overflow-y:auto;border:1px solid #ccd7c7;border-radius:8px;background:#fff;box-shadow:0 18px 40px #26362a24}.real-product-autocomplete-option{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:4px 10px;width:100%;min-height:58px;padding:9px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#17201a;cursor:pointer;font:inherit;text-align:left}.real-product-autocomplete-option:hover,.real-product-autocomplete-option.active{border-color:#9fbfa6;background:#f0f7f1}.real-product-autocomplete-option:disabled{cursor:default;opacity:.74}.real-product-autocomplete-option>span{display:grid;gap:2px;min-width:0}.real-product-autocomplete-option span,.real-product-autocomplete-option small,.real-product-autocomplete-option em{min-width:0;overflow-wrap:anywhere}.real-product-autocomplete-option small,.real-product-autocomplete-option em{grid-column:1 / 2;color:#667269;font-size:12px;font-style:normal}.real-product-autocomplete-option .status-chip{grid-row:1 / span 3;grid-column:2 / 3}.real-fund-results{display:grid;gap:8px}.real-fund-result{display:grid;grid-template-columns:minmax(0,1fr) max-content max-content;align-items:center;gap:10px;min-height:62px;padding:10px;border:1px solid #d7ddd2;border-radius:8px;background:#fff}.real-fund-result>div{display:grid;gap:3px;min-width:0}.real-fund-result span,.real-fund-result small,.real-fund-result em{min-width:0;overflow-wrap:anywhere}.real-fund-result small,.real-fund-result em{color:#667269;font-size:12px;font-style:normal}.real-fund-status-eligible_candidate,.real-fund-status-direct_stock{border-color:#b8d9be;background:#edf8ef;color:#235c35}.real-fund-status-needs_review,.real-fund-status-not_eligible,.real-fund-status-provider_unavailable{border-color:#ead1a6;background:#fff7e8;color:#79520f}.customize-panel{margin-top:18px;border:1px solid #dfe4da;border-radius:8px;background:#fbfcf8;padding:14px}.customize-panel summary{cursor:pointer;font-weight:800}.customize-body{display:grid;gap:12px;margin-top:12px}.module-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}.module-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;border:1px solid #dfe4da;border-radius:8px;background:#fff;padding:12px}.module-option.disabled{background:#f1f3ee}.module-option strong,.module-option small,.module-option em{display:block}.module-option small{margin:3px 0;color:#526057;font-weight:800}.module-option em{color:#626d65;font-style:normal;line-height:1.35}.compact-button{justify-self:start}.footer-actions,.report-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px}.report-surface-description{max-width:760px;margin:-8px 0 16px;color:#59665e;line-height:1.55}.button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);font-size:13px;font-weight:800;line-height:18px;text-decoration:none;transition:transform .14s ease,color .14s ease,background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.run-diagnosis-status{margin:16px 0 -8px;color:var(--color-muted);font-size:13px;font-weight:700;line-height:1.45;text-align:right}.button.primary{border-color:var(--color-evidence);background:var(--color-evidence);color:#fff}.button.secondary{background:var(--color-surface)}.button.ghost,.danger-quiet{border-color:transparent;background:transparent}.button.ghost{color:var(--color-ink)}.danger-quiet{color:var(--color-danger)}.button:hover:not(:disabled){border-color:var(--color-evidence);background:var(--color-subtle-surface)}.button.primary:hover:not(:disabled){border-color:var(--color-evidence-strong);background:var(--color-evidence-strong);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.button.secondary:hover:not(:disabled){background:var(--color-subtle-surface)}.button.ghost:hover:not(:disabled){border-color:transparent;background:var(--color-subtle-surface)}.danger-quiet:hover:not(:disabled){border-color:transparent;background:var(--color-danger-surface)}.danger-button:hover:not(:disabled){border-color:transparent;background:var(--color-danger-surface)}.button:active:not(:disabled){box-shadow:none;transform:translateY(0)}.button:disabled{border-color:var(--color-border);background:#e3e8e4;box-shadow:none;color:var(--color-muted);opacity:1;transform:none}.loading-box{display:flex;align-items:center;gap:16px;min-height:180px;padding:20px;border:1px solid #dfe4da;border-radius:8px;background:#fbfcf8}.spinner{width:34px;height:34px;border:4px solid #cdd8ca;border-top-color:#2f734d;border-radius:999px;animation:spin .9s linear infinite}.answer-list h3{margin:8px 0 0}.answer-card{padding:16px}.portfolio-snapshot{display:grid;gap:12px;margin-top:18px;padding:14px;border:1px solid #dfe4da;border-radius:8px;background:#fbfcf8}.snapshot-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,max-content));gap:10px}.snapshot-metrics div{display:grid;gap:3px;min-width:130px;padding:10px 12px;border-radius:8px;background:#eef2ea}.snapshot-metrics span,.snapshot-product-list span,.snapshot-product-list p{color:#5d685f;font-size:12px;font-weight:800;line-height:1.35;text-transform:uppercase}.snapshot-metrics strong{font-size:20px;line-height:1.15}.allocation-bar{display:flex;width:100%;height:14px;overflow:hidden;border-radius:999px;background:#e4e9df}.allocation-segment{display:block;min-width:2px;border-right:1px solid rgba(255,255,255,.75);background:#2f734d}.allocation-segment:nth-child(2n){background:#577f9d}.allocation-segment:nth-child(3n){background:#9a7045}.allocation-segment:nth-child(4n){background:#7b6f9c}.snapshot-product-list{display:grid;gap:6px}.snapshot-product-list div{display:grid;grid-template-columns:minmax(96px,.6fr) minmax(180px,1.7fr) minmax(72px,.45fr) minmax(92px,.55fr);align-items:center;gap:10px;min-width:0;padding:8px 0;border-top:1px solid #e1e6dd}.snapshot-product-list strong,.snapshot-product-list span{min-width:0;overflow-wrap:anywhere}.snapshot-product-list div span:nth-child(3),.snapshot-product-list div span:nth-child(4){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.snapshot-product-list p{margin:0}.report-layout-frame{position:relative;display:grid;grid-template-columns:clamp(150px,12vw,190px) minmax(0,1fr);align-items:start;gap:18px;margin-top:22px}.report-reader{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.report-floating-contents{position:sticky;top:24px;display:grid;gap:6px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.report-floating-contents p,.report-mobile-jump span,.section-kicker{margin:0;color:#5d685f;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.report-floating-contents a{display:block;padding:8px 10px;border-radius:6px;color:#27352f;font-size:13px;font-weight:800;line-height:1.25;text-decoration:none}.report-floating-contents a:hover,.report-floating-contents a[aria-current=true]{background:#eaf2eb;color:#1f4c32}.report-mobile-jump{display:none}.report-reader-body{display:grid;gap:18px;min-width:0}.reader-section{scroll-margin-top:24px;display:grid;gap:14px;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.reader-section-head{display:grid;max-width:760px;gap:8px}.reader-section-head h3{margin:0;font-size:clamp(21px,2.2vw,28px);line-height:1.16}.reader-section-head p{margin:0;color:#59665e;line-height:1.55}.module-card-grid{display:grid;gap:12px}.module-insight-card{display:grid;gap:12px;padding:15px;border:1px solid #e1e6dd;border-radius:8px;background:#fbfcf8}.module-card-head{display:grid;gap:8px}.module-card-head h4{margin:0;font-size:18px;line-height:1.25}.module-fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:8px;margin:0}.module-fact-grid div{padding:10px;border-radius:8px;background:#f1f4ee}.module-fact-grid dt{color:#5b675f;font-size:12px;font-weight:800;text-transform:uppercase}.module-fact-grid dd{margin:4px 0 0;color:#26342e;line-height:1.4;overflow-wrap:anywhere}.module-answer{display:grid;gap:6px;color:#3e4942;line-height:1.5}.module-answer p{margin:0}.product-claim-stack,.product-claims{display:grid;gap:10px}.module-analysis-stack{display:grid;gap:12px}.module-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:8px;margin:0}.module-metric-grid div{padding:12px;border-radius:8px;background:#eef3ea}.module-metric-grid dt,.fee-component-card dt{color:#5b675f;font-size:11px;font-weight:800;text-transform:uppercase}.module-metric-grid dd,.fee-component-card dd{margin:4px 0 0;color:#1e2b25;line-height:1.35;overflow-wrap:anywhere}.product-claim-group{display:grid;gap:8px;padding:12px;border:1px solid #e4e8df;border-radius:8px;background:#fff}.product-claim-group h5{margin:0;color:#1f2a25;font-size:14px;line-height:1.3}.product-claim-group ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.product-claim-group li{display:grid;grid-template-columns:minmax(72px,max-content) minmax(0,1fr);gap:10px;align-items:start}.product-claim-group li span{padding:3px 8px;border-radius:999px;background:#eef3ea;color:#4f5c55;font-size:11px;font-weight:800;text-transform:uppercase}.product-claim-group li p{margin:0;color:#3e4942;line-height:1.5;overflow-wrap:anywhere}.fee-component-section{display:grid;gap:8px}.fee-component-section h5{margin:0;color:#1f2a25;font-size:14px}.fee-component-list{display:grid;gap:8px}.fee-component-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;margin:0;padding:12px;border:1px solid #e4e8df;border-radius:8px;background:#fff}.answer-card h4{margin:10px 0 6px;font-size:18px}.answer-card p{color:#3e4942;line-height:1.55}.detail-list{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 12px}.detail-list dt{color:#546258;font-weight:800}.detail-list dd{margin:0;color:#34413a}.evidence-digest,.evidence-source-digest{display:grid;gap:8px}.evidence-digest strong{color:#1f2a25}.evidence-digest p,.evidence-source-digest p{margin:0;line-height:1.5}.evidence-basis{display:flex;flex-wrap:wrap;gap:6px}.evidence-basis span{padding:4px 8px;border-radius:999px;background:#eef3ea;color:#48554e;font-size:12px;font-weight:800}.evidence-basis span:first-child{background:transparent;padding-left:0;color:#1f2a25}.evidence-source-digest ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.evidence-source-digest li{display:grid;gap:3px;padding:10px;border-radius:8px;background:#f4f7f1}.evidence-source-digest li strong{color:#1f2a25}.evidence-source-digest li span{color:#4a574f;line-height:1.45}.report-details details{padding:14px}.report-details summary{cursor:pointer;font-weight:800}.error-box{padding:12px;border:1px solid #d7a199;border-radius:8px;background:#fff1ee;color:#82342c;font-weight:700}.empty-state{padding:14px;border:1px dashed #b9c4b8;border-radius:8px;color:#5d685f}.boot-shell{display:grid;min-height:100vh;place-items:center;padding:24px;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}.site-module-nav{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-subtle-surface)}.site-module-link{min-height:36px;padding:7px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-subtle-surface);color:var(--color-muted);font-size:13px;font-weight:800}.site-module-link:hover{color:var(--color-ink)}.site-module-link[aria-current=page]{border-color:var(--color-border);background:var(--color-surface);color:var(--color-evidence)}@media(max-width:1080px){.diagnosis-layout{grid-template-columns:1fr}}@media(max-width:900px){.report-layout-frame,.report-reader{grid-template-columns:1fr}.report-floating-contents{display:none}.report-mobile-jump{position:sticky;top:0;z-index:5;display:grid;gap:6px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.report-mobile-jump select{min-height:40px;width:100%;border:1px solid #cfd8cc;border-radius:8px;background:#fff;color:#17201d;padding:8px 10px;font-weight:800}}@media(max-width:760px){.site-module-nav{width:100%;overflow-x:auto}.site-module-link{flex:1 0 auto}.portfolio-name-control input,.field-stack input,.field-stack select,.allocation-cell input,.allocation-row input{min-height:42px}.topbar,.diagnosis-layout{padding-inline:16px}.topbar,.section-head{flex-direction:column;align-items:stretch}.topbar{flex-wrap:wrap}.saved-reports-panel{grid-template-columns:minmax(0,1fr)}.status-row{justify-content:flex-start}.goal-grid,.metric-grid,.input-summary-grid{grid-template-columns:1fr}.product-row,.allocation-row,.snapshot-product-list div,.selected-products>div{grid-template-columns:1fr}.input-product-row.quantity-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.input-row-main,.position-value-group{grid-column:1 / -1}.position-price-group,.position-quantity-group,.position-value-group{min-width:0}.snapshot-product-list div span:nth-child(3),.snapshot-product-list div span:nth-child(4){text-align:left;white-space:normal}.selected-products span:last-child{text-align:left;white-space:normal}.detail-list{grid-template-columns:1fr}.reader-section{padding:14px}}@media(max-width:360px){.position-quantity-group{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.button.primary:hover:not(:disabled){transform:none}}
