:root{color:#172022;background:#f4f6f5;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{margin:0;min-width:320px}button,select,input{font:inherit}button{align-items:center;border:1px solid #bdc7c2;background:#fff;border-radius:6px;color:#172022;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:36px;padding:8px 12px}.icon-button{flex:0 0 36px;height:36px;min-height:36px;min-width:36px;padding:8px;width:36px}button svg{flex:0 0 18px;height:18px;pointer-events:none;width:18px}.tooltip-button{position:relative}.tooltip-button:after{background:#172022;border-radius:4px;color:#fff;content:attr(data-tooltip);font-size:12px;font-weight:600;left:50%;line-height:1;opacity:0;padding:7px 8px;pointer-events:none;position:absolute;top:calc(100% + 8px);transform:translate(-50%) translateY(-2px);transition:opacity .12s ease,transform .12s ease;white-space:nowrap;z-index:30}.tooltip-button:hover:after,.tooltip-button:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}button:hover{background:#eef3f0}button:disabled{color:#9da9a5;cursor:not-allowed;opacity:.55}button:disabled:hover{background:#fff}select,input[type=range]{width:100%}select{border:1px solid #bdc7c2;border-radius:6px;background:#fff;min-height:36px;padding:7px 9px}label{display:grid;gap:7px;color:#41504c;font-size:13px;font-weight:650}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid #d7dedb;padding:9px 8px;text-align:left;white-space:nowrap}th{color:#52625e;font-size:12px;font-weight:700}.app-shell{min-height:100vh}.topbar{align-items:center;background:#fff;border-bottom:1px solid #d7dedb;display:flex;justify-content:space-between;min-height:64px;padding:12px 24px}.topbar h1{font-size:20px;letter-spacing:0;line-height:1.1;margin:0}.topbar p{color:#64736f;font-size:13px;margin:4px 0 0}.topbar-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.topbar-menu{position:relative}.topbar-menu-popover{background:#fff;border:1px solid #9eaaa6;border-radius:6px;box-shadow:0 8px 18px #17202229;display:grid;gap:2px;min-width:210px;padding:5px;position:absolute;right:0;top:calc(100% + 6px);z-index:50}.topbar-menu-item{align-items:center;border-radius:4px;color:#172022;display:flex;gap:9px;min-height:34px;padding:8px 9px;text-decoration:none;white-space:nowrap}.topbar-menu-item:hover,.topbar-menu-item:focus-visible{background:#eef3f0;outline:none}.topbar-menu-item[aria-current=page]{background:#dfeee9;font-weight:750}.topbar-menu-item svg{flex:0 0 16px;height:16px;width:16px}.primary-button{background:#0b6f6a;border-color:#0b6f6a;color:#fff}.primary-button:hover{background:#095c58}.notice{background:#fff0dd;border-bottom:1px solid #e6c89d;color:#694009;padding:11px 24px}.workspace{display:grid;gap:16px;grid-template-columns:320px minmax(0,1fr) 280px;padding:16px}.methodology-page{display:grid;gap:18px;margin:0 auto;max-width:min(1120px,calc(100vw - 32px));min-width:0;padding:24px clamp(12px,2vw,24px) 48px;width:100%}.methodology-hero{background:#fff;border:1px solid #d7dedb;border-radius:8px;padding:22px}.methodology-hero h1{font-size:28px;letter-spacing:0;line-height:1.1;margin:0}.methodology-lede,.methodology-section p,.methodology-section li{color:#41504c;line-height:1.55}.methodology-lede{margin:8px 0 0;max-width:850px}.methodology-section{background:#fff;border:1px solid #d7dedb;border-radius:8px;min-width:0;padding:20px}.methodology-section h2{font-size:20px;letter-spacing:0;line-height:1.2;margin:0}.methodology-section p{margin:8px 0 0}.methodology-section ul{margin:10px 0 0;padding-left:22px}.methodology-section code{background:#eef3f0;border-radius:4px;color:#172022;padding:2px 5px}.methodology-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:14px}.methodology-tabs{align-items:center;background:#fff;border:1px solid #d7dedb;border-radius:8px;display:flex;gap:8px;min-width:0;overflow-x:auto;padding:8px}.methodology-tab{flex:0 0 auto;min-height:34px}.methodology-tab-active{background:#0b6f6a;border-color:#0b6f6a;color:#fff}.methodology-tab-active:hover{background:#095c58}.methodology-tab-panel{display:grid;gap:18px;min-width:0}.methodology-metric{background:#f7f9f8;border:1px solid #d7dedb;border-radius:8px;color:#41504c;padding:14px}.methodology-metric strong{color:#172022;display:block;font-size:22px;letter-spacing:0;line-height:1.15;margin-top:4px}.methodology-table-wrap{margin-top:12px;max-width:100%;min-width:0;overflow-x:hidden}.methodology-table-wrap table{font-size:14px;table-layout:fixed}.methodology-table-wrap th,.methodology-table-wrap td{overflow-wrap:anywhere;vertical-align:top;white-space:normal}.methodology-note{background:#fff7e8;border-color:#e7c98c}.side-panel,.main-panel,.holdings-panel,.auth-panel{background:#fff;border:1px solid #d7dedb;border-radius:8px}.side-panel{display:grid;align-content:start;gap:18px;padding:16px}.main-panel{display:grid;gap:14px;min-width:0;padding:16px}.holdings-panel{border-color:#bcc8c3;box-shadow:0 1px #1720220a;max-height:calc(100vh - 104px);overflow:auto;padding:16px}.holdings-panel table{margin-top:10px}.panel-title-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.panel-title-row h3{font-size:14px;letter-spacing:0;margin:0}.holdings-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.strategy-menu{flex:0 1 154px;min-width:128px;position:relative}.strategy-menu-button{align-items:center;display:inline-flex;gap:8px;justify-content:space-between;min-width:128px;padding:7px 9px;width:100%}.strategy-menu-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strategy-menu-popover{background:#fff;border:1px solid #9eaaa6;border-radius:6px;box-shadow:0 8px 18px #17202229;display:grid;gap:2px;left:0;padding:5px;position:absolute;right:0;top:calc(100% + 4px);z-index:40}.strategy-menu-option{border:0;border-radius:4px;justify-content:flex-start;min-height:32px;padding:7px 8px;width:100%}.strategy-menu-option[aria-selected=true]{background:#dfeee9;font-weight:700}.strategy-menu-empty{color:#52625e;font-size:12px;padding:8px}.holdings-panel h2,.chart-header h2,.table-panel h2{font-size:15px;letter-spacing:0;margin:0}.control-stack{display:grid;gap:12px}.transport{display:grid;gap:8px;grid-template-columns:repeat(4,36px);justify-content:start}.summary-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.metric-panel{border:1px solid #d7dedb;border-radius:8px;display:grid;flex:0 0 164px;gap:5px;min-height:84px;padding:12px}.metric-panel-winning{background:#edf7f4;border-color:#a8d2c6}.metric-title{align-items:center;display:flex;gap:6px;justify-content:space-between;min-width:0}.metric-title-label{min-width:0;overflow-wrap:anywhere}.metric-panel span,.metric-panel small,.muted{color:#64736f}.metric-panel strong{font-size:24px;letter-spacing:0}.metric-panel-winning .metric-title-label,.metric-panel-winning strong{color:#172022;font-weight:800}.horizon-stats-panel{border-top:1px solid #d7dedb;display:grid;gap:14px;max-height:clamp(220px,calc(100vh - 350px),520px);min-width:0;overflow-y:auto;padding-top:4px;scrollbar-width:thin}.horizon-stats-header{display:grid;gap:4px}.horizon-stats-header h2,.horizon-stat-block h3{font-size:14px;letter-spacing:0;margin:0}.horizon-stats-header p{color:#64736f;font-size:12px;line-height:1.35;margin:0}.horizon-stat-block{display:grid;gap:7px;min-width:0}.horizon-stats-table-wrap{border:1px solid #d7dedb;border-radius:6px;max-width:100%;min-width:0;overflow-x:auto;scrollbar-width:thin;width:100%}.horizon-stats-table-wrap table{font-size:12px;min-width:500px}.horizon-stats-table-wrap th,.horizon-stats-table-wrap td{padding:7px 8px}.horizon-stats-winning td{background:#edf7f4;color:#172022;font-weight:800}.chart-panel,.table-panel{border:1px solid #d7dedb;border-radius:8px;overflow-x:auto;padding:14px}.chart-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:10px}.legend{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:flex-end}.legend-item{align-items:center;color:#41504c;display:inline-flex;font-size:12px;gap:6px;min-height:24px}.strategy-line-sample{flex:0 0 30px;height:8px;width:30px}.portfolio-chart-svg{cursor:pointer;display:block;min-width:560px;width:100%}.axis,.axis-tick{stroke:#c9d1ce;stroke-width:1}.axis-label{fill:#52625e;font-size:12px;font-weight:650}.x-axis-label{fill:#41504c}.grid-line{stroke:#e7ece9;stroke-width:1}.cursor-line{stroke:#1c292b;stroke-dasharray:5 5;stroke-width:1.5}.chart-line-full{opacity:.9;pointer-events:none}.chart-line-active{opacity:1;pointer-events:none}.chart-hitbox{fill:transparent;pointer-events:all}.chart-marker,.liquidation-marker{pointer-events:none;stroke:#fff;stroke-width:1.5}.tax-marker{cursor:help;pointer-events:all}.tax-marker-ring{fill:#fff7ed;stroke:#b45309;stroke-width:1.75}.tax-marker-stem{stroke:#b45309;stroke-linecap:round;stroke-width:1.25}.tax-marker-text{fill:#9a3412;font-size:10px;font-weight:800;pointer-events:none;text-anchor:middle}.tax-marker:hover .tax-marker-ring{fill:#ffedd5;stroke:#7c2d12;stroke-width:2.25}.tax-tooltip{background:#172022;border:1px solid rgba(255,255,255,.16);border-radius:8px;box-shadow:0 12px 30px #1720223d;color:#fff;font-size:12px;line-height:1.45;max-width:300px;padding:9px 10px;pointer-events:none;position:fixed;z-index:200}.tax-tooltip strong,.tax-tooltip span{display:block}.tax-tooltip strong{font-size:13px;margin-bottom:4px}.tax-tooltip span{color:#dbe4e1}.chart-note{color:#52625e;font-size:12px;margin:8px 0 0}.table-note{color:#64736f;font-size:12px;margin:6px 0 10px;max-width:860px}.strategy-cell{align-items:center;display:inline-flex;gap:7px}.inline-info-button{background:#fff;border-color:#bdc7c2;flex:0 0 24px;height:24px;min-height:24px;min-width:24px;padding:4px;width:24px}.inline-info-button:hover{background:#eef3f0}.inline-info-button svg{flex-basis:14px;height:14px;width:14px}.floating-info-backdrop{align-items:flex-start;background:#1720223d;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:92px 16px 24px;position:fixed;z-index:100}.floating-info{background:#fff;border:1px solid #bdc7c2;border-radius:8px;box-shadow:0 18px 46px #17202238;max-width:560px;width:min(560px,100%)}.floating-info-wide{max-width:880px}.floating-info-header{align-items:center;border-bottom:1px solid #d7dedb;display:flex;justify-content:space-between;padding:12px 14px}.floating-info-header h2{font-size:16px;letter-spacing:0;margin:0}.floating-info-body{color:#41504c;font-size:14px;line-height:1.5;padding:14px 16px 16px}.floating-info-body p{margin:0}.dialog-note{color:#64736f;font-size:13px}.dialog-error{color:#9d3016;font-size:13px;padding-top:8px}.holdings-loading{color:#64736f;font-size:12px;padding-top:8px}.decision-panel{border-top:1px solid #d7dedb;display:grid;gap:10px;margin-top:16px;min-width:0;padding-top:14px}.decision-summary-grid{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.decision-summary-item{background:#f4f8f6;border:1px solid #d7dedb;border-radius:6px;display:grid;gap:2px;padding:7px 8px}.decision-summary-item small{color:#64736f;font-size:11px;font-weight:700}.decision-summary-item strong{font-size:15px}.decision-table-wrap{border:1px solid #d7dedb;border-radius:6px;max-height:320px;max-width:100%;min-width:0;overflow:auto}.decision-table-wrap table{font-size:12px;min-width:650px}.decision-table-wrap th,.decision-table-wrap td{padding:7px 8px}.decision-pill{border-radius:999px;display:inline-block;font-size:11px;font-weight:800;line-height:1;padding:5px 7px}.decision-buy{background:#dff3ea;color:#07523e}.decision-sell{background:#ffe2df;color:#8b1f15}.decision-skip{background:#fff0cc;color:#765000}.decision-hold{background:#e7edff;color:#243e8f}.decision-selected{background:#e9f1f0;color:#304946}.decision-not_selected{background:#eceff1;color:#52625e}.decision-empty{min-height:72px}.all-holdings-table-wrap{max-height:58vh;overflow:auto;padding-top:10px}.all-holdings-table-wrap table{min-width:620px}.floating-info-body ul{margin:0;padding-left:18px}.floating-info-body li+li{margin-top:8px}.empty-state{align-items:center;color:#64736f;display:flex;min-height:120px}.auth-panel{margin:48px auto;max-width:360px;padding:24px}.portfolio-page{display:grid;gap:16px;grid-template-columns:320px minmax(0,1fr);height:calc(100dvh - 72px);min-height:0;overflow:hidden;padding:16px}.portfolio-list-panel,.portfolio-editor-panel{background:#fff;border:1px solid #d7dedb;border-radius:8px;min-width:0;padding:16px}.portfolio-list-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.portfolio-list{display:grid;gap:8px;margin-top:12px;min-height:0;overflow:auto;padding-right:2px;align-content:start}.portfolio-list-item{align-items:flex-start;display:grid;gap:3px;justify-content:stretch;text-align:left;width:100%}.portfolio-list-item[aria-current=page]{background:#dfeee9;border-color:#6d9d8a}.portfolio-list-meta{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.role-badge{background:#0b6f6a;border-radius:999px;color:#fff;display:inline-flex;font-size:11px;font-weight:750;line-height:1;padding:4px 7px}.portfolio-list-item span,.portfolio-editor-header p{color:#64736f;font-size:12px}.portfolio-list-item .role-badge{color:#fff;font-size:11px}.portfolio-editor-panel{display:flex;flex-direction:column;gap:16px;min-height:0;overflow:hidden;position:relative}.portfolio-editor-header{align-items:center;border-bottom:1px solid #d7dedb;display:grid;flex:0 0 auto;gap:12px;grid-template-columns:minmax(210px,1fr) minmax(340px,1.6fr) auto;padding-bottom:12px}.portfolio-title-block{min-width:0}.portfolio-title-block h2{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-editor-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.danger-icon-button{border-color:#d7a4a4;color:#a63a3a}.danger-icon-button:hover{background:#fff2f2}.portfolio-editor-header h2,.recommendation-panel h2,.holdings-editor h2,.portfolio-list-panel h2{font-size:16px;letter-spacing:0;margin:0}.portfolio-primary-grid,.portfolio-form-grid,.portfolio-settings-grid,.holding-entry-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(150px,1fr))}.portfolio-primary-grid{grid-template-columns:minmax(240px,420px)}.portfolio-form-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.portfolio-primary-grid input,.portfolio-form-grid input,.holding-entry-grid input,.portfolio-settings-grid input,.portfolio-settings-grid select{border:1px solid #bdc7c2;border-radius:6px;min-height:36px;padding:7px 9px;width:100%}.readonly-field{align-items:center;background:#eef2f0;border:1px solid #bdc7c2;border-radius:6px;color:#172022;display:flex;min-height:36px;padding:7px 9px;width:100%}.checkbox-row{align-items:center;display:flex;gap:8px}.checkbox-row input{width:auto}.checkbox-label-copy{display:inline-flex}.setting-label-row{align-items:center;display:inline-flex;gap:6px;min-width:0}.setting-label-row>span{min-width:0}.setting-label-text{flex:0 1 auto}.setting-info-wrap{display:inline-flex;flex:0 0 20px;height:20px;position:relative;width:20px}.setting-info-button{border:0;color:#52625e;display:inline-flex;flex:0 0 20px;height:20px;min-height:20px;min-width:20px;padding:2px;width:20px}.setting-info-button:focus-visible{outline:2px solid #0b6f6a;outline-offset:2px}.setting-info-button:hover{background:#eef3f0;color:#0b6f6a}.setting-info-tooltip{background:#172022;border-radius:5px;color:#fff;font-size:12px;font-weight:600;left:50%;line-height:1.25;max-width:260px;opacity:0;padding:7px 8px;pointer-events:none;position:absolute;text-align:left;top:calc(100% + 8px);transform:translate(-50%) translateY(-2px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;visibility:hidden;white-space:normal;width:max-content;z-index:60}.setting-info-wrap:hover .setting-info-tooltip,.setting-info-button:focus-visible+.setting-info-tooltip{opacity:1;transform:translate(-50%) translateY(0);visibility:visible}.portfolio-settings-popover{background:#fff;border:1px solid #9eaaa6;border-radius:8px;box-shadow:0 12px 28px #1720222e;display:grid;gap:14px;max-height:min(70dvh,620px);overflow:auto;padding:16px;position:absolute;right:16px;top:86px;width:min(920px,calc(100% - 32px));z-index:25}.portfolio-settings-heading{align-items:center;border-bottom:1px solid #d7dedb;display:flex;gap:12px;justify-content:space-between;padding-bottom:12px}.portfolio-settings-heading h3{font-size:15px;letter-spacing:0;margin:0}.portfolio-settings-heading p{color:#64736f;font-size:12px;margin:3px 0 0}.collapsible-title-button{align-items:center;background:transparent;border:0;display:flex;gap:8px;justify-content:flex-start;min-height:0;padding:0;text-align:left}.collapsible-title-button:hover{background:transparent;color:#0b6f6a}.collapsible-title-copy{display:grid;gap:2px}.collapsible-title-copy strong{font-size:14px}.collapsible-title-copy small{color:#64736f;font-size:12px;font-weight:500}.portfolio-settings-content{display:grid;gap:14px}.recommendation-panel{display:grid;gap:12px}.recommendation-panel .panel-title-row{align-items:flex-start;flex-wrap:wrap}.recommendation-panel .collapsible-title-button{flex:1 1 320px;min-width:0}.recommendation-title-actions{align-items:center;display:flex;flex:0 0 auto;gap:8px}.recommendation-preview-toggle{align-items:center;color:#34433f;cursor:pointer;display:inline-flex;font-size:12px;font-weight:650;gap:6px;white-space:nowrap}.recommendation-preview-toggle input{margin:0;width:auto}.recommendation-preview-toggle:has(input:disabled){cursor:default;opacity:.55}.portfolio-main-scroll{display:flex;flex:1 1 auto;flex-direction:column;gap:16px;min-height:0;overflow:hidden}.portfolio-tabs{align-items:flex-start;border-bottom:1px solid #d7dedb;display:flex;gap:6px;min-height:40px;min-width:0;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.portfolio-tab-content{align-content:start;display:grid;flex:1 1 auto;gap:16px;min-height:0;overflow:auto;padding:8px 2px 0 0}.portfolio-tab{background:transparent;border:0;border-radius:4px;color:#52625e;flex:0 0 auto;font-size:13px;font-weight:750;height:33px;min-height:33px;padding:6px 9px}.portfolio-tab:hover{background:#eef3f0}.portfolio-tab[aria-selected=true]{background:#dfeee9;color:#172022}.portfolio-valuation-panel{display:grid;gap:5px;min-width:0}.portfolio-valuation-panel p{color:#64736f;font-size:12px;margin:0}.target-freshness-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.freshness-pill{background:#eef3f0;border:1px solid #cbd6d1;border-radius:999px;color:#34433f;display:inline-flex;font-size:10px;font-weight:750;padding:1px 6px}.freshness-pill.fresh{background:#e4f7ec;border-color:#a8dfbd;color:#087443}.freshness-pill.stale,.freshness-pill.missing_as_of_date,.freshness-pill.future_as_of_date{background:#fff0ed;border-color:#ffc9c1;color:#b42318}.portfolio-value-strip{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(120px,1fr))}.recommendation-summary-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.portfolio-value-strip>div,.recommendation-summary-grid>div{background:#f6f8f7;border:1px solid #d7dedb;border-radius:6px;display:grid;gap:1px;padding:5px 8px}.portfolio-value-strip span,.recommendation-summary-grid span{color:#64736f;font-size:11px}.portfolio-value-strip strong,.recommendation-summary-grid strong{font-size:12px}.portfolio-value-strip small,.recommendation-summary-grid small{color:#64736f;font-size:11px}.performance-summary-wrap{border:1px solid #d7dedb;border-radius:6px;max-width:100%;min-width:0;overflow:auto;width:100%}.loading-progress{background:#f6f8f7;border:1px solid #d7dedb;border-radius:6px;display:grid;gap:8px;margin-bottom:12px;overflow:hidden;padding:10px 12px}.loading-progress strong{color:#1f2a27;display:block;font-size:13px}.loading-progress span{color:#64736f;display:block;font-size:12px;margin-top:2px}.loading-progress-track{background:#d7dedb;border-radius:999px;height:4px;overflow:hidden;position:relative}.loading-progress-track i{animation:loading-progress-slide 1.1s ease-in-out infinite;background:#0b6f6a;border-radius:999px;display:block;height:100%;position:absolute;width:35%}@keyframes loading-progress-slide{0%{left:-35%}to{left:100%}}.performance-summary-table{border-collapse:collapse;min-width:640px;width:100%}.performance-summary-table th,.performance-summary-table td{border-bottom:1px solid #e3e8e6;font-size:13px;padding:9px 12px;text-align:right;white-space:nowrap}.performance-summary-table th{background:#f6f8f7;color:#64736f;font-weight:700}.performance-summary-table th:first-child,.performance-summary-table td:first-child{text-align:left;width:1%}.performance-summary-table tbody th{background:#fff;color:#1f2a27}.performance-scenario-cell{align-items:center;display:inline-flex;gap:5px;white-space:nowrap}.inline-info-wrap{display:inline-flex;position:relative}.inline-info-button{align-items:center;background:transparent;border:0;color:#64736f;cursor:help;display:inline-flex;height:18px;justify-content:center;padding:0;width:18px}.inline-info-button:focus-visible{outline:2px solid #0b6f6a;outline-offset:2px}.inline-info-tooltip{background:#1f2a27;border-radius:4px;bottom:calc(100% + 6px);box-shadow:0 8px 24px #1f2a272e;color:#fff;font-size:12px;font-weight:600;left:0;line-height:1.35;max-width:260px;opacity:0;padding:7px 9px;pointer-events:none;position:absolute;text-align:left;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease;visibility:hidden;white-space:normal;width:max-content;z-index:30}.inline-info-wrap:hover .inline-info-tooltip,.inline-info-wrap:focus-within .inline-info-tooltip{opacity:1;transform:translateY(0);visibility:visible}.performance-summary-table tr:last-child th,.performance-summary-table tr:last-child td{border-bottom:0}.performance-cash-flow-summary{align-items:center;background:#f6f8f7;border-top:1px solid #d7dedb;display:flex;flex-wrap:wrap;gap:16px;padding:9px 12px}.performance-cash-flow-summary span{color:#64736f;font-size:12px}.performance-cash-flow-summary strong{color:#1f2a27;font-size:13px}.metric-positive strong,.gain-positive{color:#087443}.metric-negative strong,.gain-negative{color:#b42318}.holdings-editor,.portfolio-detail-panel,.recommendation-execution-panel{display:grid;gap:12px}.trade-panel{align-content:start;min-height:0}.trade-control-panel{background:#fff;border-bottom:1px solid #d7dedb;display:grid;gap:12px;padding-bottom:12px;position:sticky;top:0;z-index:10}.portfolio-detail-panel h2,.recommendation-execution-panel h3{font-size:16px;letter-spacing:0;margin:0}.portfolio-detail-panel p{color:#64736f;font-size:12px;margin:0}.holding-entry-grid,.trade-entry-grid{align-items:end}.trade-entry-grid{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(120px,1fr))}.trade-entry-grid input,.trade-entry-grid select{border:1px solid #bdc7c2;border-radius:6px;min-height:36px;padding:7px 9px;width:100%}.trade-entry-grid button{min-width:150px}.trade-panel .recommendation-execution-panel{min-height:0}.trade-panel .portfolio-table-wrap{max-height:min(440px,calc(100dvh - 430px))}.inline-select-label{align-items:center;display:flex;gap:8px;grid-auto-flow:column}.inline-select-label select{min-width:132px}.inline-select-label input{border:1px solid #bdc7c2;border-radius:6px;min-height:34px;padding:6px 8px}.cash-flow-panel{border:1px solid #d7dedb;border-radius:6px;display:grid;gap:10px;padding:12px}.performance-timeline-panel{border:1px solid #d7dedb;border-radius:6px;display:grid;gap:10px;min-width:0;padding:12px}.performance-chart-panel{display:grid;gap:10px;min-width:0}.performance-chart-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px 14px}.performance-chart-controls label{align-items:center;color:#34433f;display:inline-flex;font-size:11px;font-weight:750;gap:6px;min-height:24px}.performance-chart-controls input{accent-color:#0b6f6a}.series-swatch{border-radius:999px;display:inline-block;height:9px;width:9px}.performance-chart-wrap{background:#fbfcfb;border:1px solid #d7dedb;border-radius:6px;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden}.performance-chart{display:block;height:auto;max-width:none}.performance-axis-title{fill:#34433f;font-size:11px;font-weight:750}.performance-axis-label,.performance-chart-period-label{fill:#64736f;font-size:11px;font-weight:700}.performance-chart-grid{stroke:#e3e8e6;stroke-width:1}.performance-chart-axis,.performance-chart-return-tick{stroke:#8ea09a;stroke-width:1}.performance-chart-hit{cursor:crosshair;fill:transparent;outline:none;stroke:transparent}.performance-chart-hit:focus{stroke:#172022;stroke-dasharray:3 3;stroke-width:1}.performance-chart-bar{opacity:.86;outline:none;pointer-events:none}.performance-chart-tooltip{background:#172022;border:1px solid rgba(255,255,255,.14);border-radius:6px;box-shadow:0 10px 28px #1720223d;color:#fff;display:grid;font-size:12px;gap:3px;line-height:1.3;max-width:240px;padding:8px 10px;pointer-events:none;position:fixed;transform:translateZ(0);z-index:1000}.performance-chart-tooltip strong{font-size:12px}.performance-chart-tooltip span{color:#dce5e2}.series-actual{fill:#0b6f6a;stroke:#0b6f6a}.series-volume{fill:#c75b12;stroke:#c75b12}.series-nasdaq100{fill:#dc2626;stroke:#dc2626}.series-nasdaq-composite{fill:#0891b2;stroke:#0891b2}.series-spy{fill:#7c3aed;stroke:#7c3aed}.series-inception-hold{fill:#64748b;stroke:#64748b}.performance-note{color:#52625e;font-size:12px;line-height:1.4;margin:0}.portfolio-table-wrap{border:1px solid #d7dedb;border-radius:6px;max-width:100%;min-width:0;overflow:auto}.portfolio-table-wrap table{min-width:980px}.activity-row-today td{background:#f2fbf6}.activity-row-buy td:first-child,.activity-row-sell td:first-child{border-left:3px solid #0b6f6a}.activity-row-sell td:first-child{border-left-color:#c75b12}.tax-panel{min-width:0}.tax-scope-notice{line-height:1.45}.tax-rate-note{color:#52625e;font-size:12px}.tax-detail-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.tax-detail-grid>section,.tax-payment-panel{border:1px solid #d7dedb;border-radius:6px;display:grid;gap:10px;min-width:0;padding:12px}.tax-income-list{display:grid;gap:7px 12px;grid-template-columns:minmax(140px,1fr) auto;margin:0}.tax-income-list dt{color:#52625e}.tax-income-list dd{font-weight:750;margin:0;text-align:right}.tax-payment-grid{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(130px,.8fr) minmax(100px,.6fr) minmax(120px,.8fr) minmax(150px,.9fr) minmax(180px,1.4fr) auto}.tax-payment-grid input,.tax-payment-grid select{border:1px solid #bdc7c2;border-radius:6px;min-height:36px;padding:7px 9px;width:100%}.tax-payment-grid button{min-width:132px}.tax-panel .portfolio-table-wrap table{min-width:620px}.tax-summary-table{min-width:840px!important}.tax-due-table{min-width:100%!important}.table-sort-button{background:transparent;border:0;color:inherit;font-size:inherit;font-weight:inherit;justify-content:flex-start;min-height:0;padding:0}.table-sort-button:hover{background:transparent;color:#0b6f6a}.table-sort-button span{display:inline-block;font-size:10px;min-width:10px}.lot-toggle-button{background:transparent;border:0;color:#172022;font-size:12px;font-weight:750;gap:4px;justify-content:flex-start;min-height:24px;padding:0}.lot-toggle-button:hover{background:transparent;color:#0b6f6a}.ticker-cell{align-items:center;display:inline-flex;gap:4px}.ticker-note{background:#8d9a96;border-radius:999px;cursor:help;display:inline-block;height:6px;margin-top:-7px;opacity:.55;position:relative;width:6px}.ticker-note.unsupported,.ticker-note.manual_price{background:#9a6b1f}.ticker-note.seasoning{background:#327286}.ticker-note:hover,.ticker-note:focus-visible{opacity:.9;outline:0}.ticker-note:after{background:#172022;border-radius:4px;bottom:calc(100% + 7px);color:#fff;content:attr(data-tooltip);font-size:12px;font-weight:600;left:-2px;line-height:1.25;max-width:260px;opacity:0;padding:7px 8px;pointer-events:none;position:absolute;text-align:left;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease;white-space:normal;width:max-content;z-index:40}.ticker-note:hover:after,.ticker-note:focus-visible:after{opacity:1;transform:translateY(0)}.lot-editor-row td{background:#f7f9f8;padding:0}.lot-editor-panel{display:grid;gap:10px;padding:12px}.lot-editor-panel h3{font-size:13px;letter-spacing:0;margin:0}.manual-price-grid{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(120px,160px) minmax(140px,180px) minmax(180px,1fr)}.manual-price-grid input{border:1px solid #bdc7c2;border-radius:6px;min-height:32px;padding:6px 8px;width:100%}.trade-lot-selector{border:1px solid #d7dedb;border-radius:6px;display:grid;gap:6px;grid-column:1 / -1;padding:8px}.trade-lot-selector-title{color:#243531;font-size:12px;font-weight:700}.trade-lot-selector-rows{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.trade-lot-selector-rows label{align-items:center;display:grid;gap:4px;grid-template-columns:minmax(0,1fr) minmax(90px,120px)}.trade-lot-selector-rows label span{color:#4c5d58;font-size:11px;overflow-wrap:anywhere}.fidelity-trade-import{border:1px solid #d7dedb;border-radius:6px;display:block;padding:10px}.fidelity-trade-import summary{color:#243531;cursor:pointer;font-size:13px;font-weight:750}.fidelity-trade-import[open] summary{margin-bottom:6px}.fidelity-trade-import>p{margin-bottom:10px}.fidelity-trade-import-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.fidelity-trade-import-grid label{color:#243531;display:grid;font-size:12px;font-weight:750;gap:5px}.fidelity-trade-import-grid textarea{border:1px solid #bdc7c2;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.4;min-height:118px;padding:8px;resize:vertical;width:100%}.fidelity-trade-import-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.fidelity-trade-import-actions .lot-paste-error,.fidelity-trade-import-actions .lot-paste-message{margin-right:auto}.lot-paste-panel{background:#fff;border:1px solid #d7dedb;border-radius:6px;display:grid;gap:8px;padding:10px}.lot-paste-panel label{color:#243531;font-size:12px;font-weight:750}.lot-paste-panel textarea{border:1px solid #bdc7c2;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.4;min-height:86px;padding:8px;resize:vertical;width:100%}.lot-paste-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.lot-paste-error,.lot-paste-message{font-size:12px;margin-right:auto}.lot-paste-error{color:#9b2c2c}.lot-paste-message{color:#0f6b43}.lot-editor-table-wrap{border:1px solid #d7dedb;border-radius:6px;max-width:100%;overflow-x:auto}.lot-editor-table-wrap table{min-width:620px}.lot-editor-table-wrap input{border:1px solid #bdc7c2;border-radius:6px;min-height:32px;padding:6px 8px;width:100%}.lot-editor-table-wrap th,.lot-editor-table-wrap td{background:#fff;padding:7px 8px}.row-actions{display:flex;gap:8px;justify-content:flex-end}.compact-action-button{min-height:32px;padding:6px 10px}.recommendation-action-button{font-weight:750;min-width:64px}.status-pill{background:#eef3f0;border:1px solid #cbd6d1;border-radius:999px;color:#34433f;display:inline-flex;font-size:11px;font-weight:750;justify-content:center;min-width:68px;padding:3px 8px}.status-pill.partial{background:#fff7e6;border-color:#ffd27a;color:#7a4b00}.status-pill.executed{background:#e4f7ec;border-color:#a8dfbd;color:#087443}@media(max-width:1100px){.workspace{grid-template-columns:300px minmax(0,1fr)}.holdings-panel{grid-column:1 / -1}.portfolio-page{grid-template-columns:1fr;grid-template-rows:minmax(150px,220px) minmax(0,1fr)}.portfolio-editor-header{align-items:start;grid-template-columns:1fr}.portfolio-editor-actions{justify-content:flex-start}.portfolio-settings-popover{left:16px;right:16px;top:170px;width:auto}}@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column;gap:12px;padding:12px 18px}.topbar-actions{justify-content:flex-start;width:100%}.topbar-menu-popover{left:0;min-width:0;right:auto;width:min(210px,calc(100vw - 36px))}.workspace{grid-template-columns:1fr;padding:10px}.portfolio-page{gap:12px;grid-template-rows:auto;height:auto;min-height:0;overflow:visible;padding:10px}.portfolio-list-panel,.portfolio-editor-panel{padding:12px}.portfolio-list{max-height:168px}.portfolio-editor-panel,.portfolio-main-scroll,.portfolio-tab-content{overflow:visible}.portfolio-editor-panel{gap:12px}.portfolio-editor-header{gap:10px}.portfolio-tab-content{padding-right:0}.portfolio-detail-panel,.recommendation-execution-panel,.trade-panel,.cash-flow-panel{min-width:0}.trade-control-panel{position:static}.portfolio-detail-panel>.panel-title-row{align-items:stretch;flex-wrap:wrap;justify-content:flex-start}.portfolio-detail-panel>.panel-title-row>h2{flex:1 1 100%}.recommendation-title-actions{justify-content:space-between;width:100%}.inline-select-label{display:grid;gap:6px;grid-template-columns:minmax(86px,auto) minmax(0,1fr);width:100%}.inline-select-label input,.inline-select-label select{min-width:0;width:100%}.portfolio-settings-popover{left:10px;max-height:min(76dvh,620px);right:10px;top:190px}.portfolio-form-grid,.portfolio-settings-grid,.portfolio-primary-grid,.portfolio-value-strip,.recommendation-summary-grid,.holding-entry-grid,.trade-entry-grid,.tax-detail-grid,.tax-payment-grid,.fidelity-trade-import-grid{grid-template-columns:1fr}.fidelity-trade-import-actions{align-items:stretch;flex-direction:column}.fidelity-trade-import-actions .lot-paste-error,.fidelity-trade-import-actions .lot-paste-message{margin-right:0}.chart-header{align-items:flex-start;flex-direction:column}.legend{justify-content:flex-start}}@media(hover:none),(pointer:coarse){.tooltip-button:after{display:none}}
