@media (max-width:900px){.sector-flow-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sector-flow-chart-panel{height:520px}}@media (max-width:640px){.sector-flow-page{padding:14px}.sector-flow-status{text-align:left;width:100%}.sector-flow-summary,.sector-flow-rankings{grid-template-columns:1fr}.sector-flow-selectors>select,.sector-flow-selectors>input[type=date],.sector-flow-toggle{width:100%}.sector-flow-toggle button{flex:1}.sector-flow-playback strong{width:100%;margin-left:0}.sector-flow-chart-panel{height:460px;padding:6px}}
.eod-signal-run-modal{width:min(520px,100%)}
.research-page{min-width:0}.research-notice{border:1px solid color-mix(in oklch, var(--info) 24%, var(--border));background:color-mix(in oklch, var(--info) 7%, var(--surface));color:var(--accent-ink);border-radius:10px;padding:10px 14px}.research-overview{grid-template-columns:minmax(0,1fr) 280px;gap:16px;display:grid}.research-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.research-stat-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-width:0;padding:18px;display:grid;box-shadow:0 8px 24px #171f2d0a}.research-stat-card svg,.research-stat-card span{color:var(--muted)}.research-stat-card strong{grid-column:1/-1;font-size:28px;line-height:1}.research-status-card{grid-template-columns:1fr 116px;align-items:center;padding:12px 16px;display:grid}.research-status-card>div:first-child{gap:7px;display:grid}.research-status-card span,.research-list-heading span{color:var(--muted);font-size:12px}.research-status-chart{height:96px}.research-status-legend{grid-template-columns:1fr 1fr;gap:4px 8px;display:grid}.research-status-legend span{align-items:center;gap:5px;display:inline-flex}.research-status-legend i{background:#94a3b8;border-radius:50%;width:7px;height:7px}.research-status-legend .legend-in_progress{background:#2563eb}.research-status-legend .legend-blocked{background:#f59e0b}.research-status-legend .legend-completed{background:#16a34a}.research-workspace{grid-template-columns:minmax(290px,350px) minmax(0,1fr);align-items:start;gap:16px;display:grid}
.research-list-panel{min-width:0;overflow:hidden}.research-upload{border-bottom:1px solid var(--border);padding:14px}.research-upload .dropzone{min-height:116px}.research-filters{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px;display:grid}.research-search{border:1px solid var(--border);min-width:0;height:38px;color:var(--muted);border-radius:8px;grid-column:1/-1;align-items:center;gap:8px;padding:0 10px;display:flex}.research-search input{background:0 0;border:0;outline:0;flex:1;min-width:0}.research-filters select,.research-version-actions select{border:1px solid var(--border);background:var(--surface);min-width:0;height:38px;color:var(--fg);border-radius:8px;padding:0 9px}.research-list-heading{justify-content:space-between;padding:13px 14px 8px;display:flex}.research-document-list{max-height:680px;padding:0 8px 10px;overflow-y:auto}.research-document-item{width:100%;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;gap:7px;padding:11px 10px;display:grid}.research-document-item:hover,.research-document-item.is-selected{border-color:var(--selected-border);background:var(--selected-bg)}.research-document-title,.research-document-foot,.research-document-meta{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.research-document-title strong,.research-document-foot span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.research-document-meta,.research-document-foot{color:var(--muted);font-size:12px}.research-document-foot b{color:var(--fg)}.research-progress-line{background:var(--surface-2);border-radius:999px;height:5px;overflow:hidden}.research-progress-line>i{border-radius:inherit;background:linear-gradient(90deg, var(--info), var(--green));height:100%;transition:width .24s;display:block}.research-status{background:var(--surface-2);color:var(--muted);border-radius:999px;flex:none;padding:3px 7px;font-size:11px;font-style:normal}.status-in_progress,.status-in-progress{background:color-mix(in oklch, var(--info) 12%, var(--surface));color:var(--info)}.status-blocked{background:color-mix(in oklch, var(--warn) 16%, var(--surface));color:#8e5300;color:lab(41.513% 25.5528 66.6778)}.status-completed{background:var(--green-bg);color:var(--green-ink)}.research-list-empty{color:var(--muted);text-align:center;padding:28px 12px}
.research-detail{gap:16px;min-width:0;transition:opacity .16s;display:grid}.research-detail.is-loading{opacity:.55;pointer-events:none}.research-detail-empty{min-height:360px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:8px;display:grid}.research-detail-head,.research-section-panel,.research-trend-panel,.research-preview-panel{padding:18px}.research-detail-title,.research-detail-meta,.research-version-actions,.research-card-title,.research-section-item>div{align-items:center;display:flex}.research-detail-title,.research-version-actions,.research-card-title,.research-section-item>div{justify-content:space-between;gap:12px}.research-detail-title h2{margin:4px 0 0;font-size:23px}.research-detail-meta{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px}.research-detail-meta span{align-items:center;gap:5px;display:inline-flex}.research-detail-progress{gap:7px;margin-top:16px;display:grid}.research-detail-progress>div{justify-content:space-between;display:flex}.research-detail-progress small{color:var(--muted)}.research-version-actions{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.research-version-actions label{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.research-version-actions .danger-btn{align-items:center;gap:6px;display:inline-flex}.research-detail-grid{grid-template-columns:minmax(260px,.85fr) minmax(320px,1.15fr);gap:16px;min-width:0;display:grid}.research-card-title{margin-bottom:14px}.research-card-title span{color:var(--muted);font-size:12px}.research-section-list{gap:12px;max-height:300px;display:grid;overflow-y:auto}.research-section-item{gap:7px;display:grid}.research-section-item strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.research-section-item span{color:var(--muted);flex:none;font-size:12px}.research-section-empty{min-height:150px;color:var(--muted);place-content:center;display:grid}.research-trend-chart{height:240px}
.research-markdown{overflow-wrap:anywhere;line-height:1.72}.research-markdown>:first-child,.research-markdown>:first-child>:first-child{margin-top:0}.research-markdown h1,.research-markdown h2,.research-markdown h3,.research-markdown h4,.research-markdown h5,.research-markdown h6{margin:1.5em 0 .55em;line-height:1.3}.research-markdown h1{border-bottom:1px solid var(--border);padding-bottom:.35em;font-size:1.8em}.research-markdown h2{border-bottom:1px solid var(--border);padding-bottom:.3em;font-size:1.45em}.research-markdown h3{font-size:1.2em}.research-markdown a{color:var(--info)}.research-markdown blockquote{border-left:3px solid var(--selected-border);background:var(--surface-2);color:var(--muted);margin-inline:0;padding:8px 14px}.research-markdown code{background:var(--surface-2);font:.9em/1.5 var(--font-mono);border-radius:5px;padding:2px 5px}.research-markdown pre{border:1px solid var(--border);color:#e6ecf2;color:lab(93.0436% -1.36667 -3.44628);background:#151e26;background:lab(10.665% -2.29327 -6.70487);border-radius:10px;padding:14px;overflow-x:auto}.research-markdown pre code{background:0 0;padding:0}.research-markdown table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.research-markdown th,.research-markdown td{border:1px solid var(--border);padding:7px 10px}.research-markdown th{background:var(--surface-2)}.research-markdown input[type=checkbox]{accent-color:var(--green);margin-right:6px}.research-markdown img{max-width:100%}
.research-reader-trigger{min-height:34px;color:var(--fg);align-items:center;gap:6px;display:inline-flex}.research-reader-modal{width:min(1180px,100vw - 56px);height:min(92vh,960px);max-height:min(92vh,960px)}.research-reader-body{background:color-mix(in oklch, var(--surface-2) 48%, var(--surface));padding:0;display:block}.research-reader-document{border-right:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface);width:min(860px,100%);min-height:100%;margin:0 auto;padding:42px 56px 80px;box-shadow:0 12px 36px #171f2d0d}.research-reader-file{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:7px;margin-bottom:28px;padding-bottom:14px;font-size:12px;display:flex}.research-reader-document .research-markdown{font-size:16px;line-height:1.82}@media (max-width:620px){.research-reader-modal{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.research-reader-document{border:0;padding:28px 18px 60px}.research-reader-document .research-markdown{font-size:15px}}
@media (max-width:1100px){.research-overview{grid-template-columns:1fr}.research-status-card{min-height:120px}}@media (max-width:900px){.research-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.research-workspace,.research-detail-grid{grid-template-columns:1fr}.research-document-list{max-height:460px}}@media (max-width:620px){.research-stat-card{padding:14px}.research-stat-card strong{font-size:23px}.research-status-card{grid-template-columns:1fr 100px}.research-detail-title,.research-version-actions{flex-direction:column;align-items:flex-start}.research-version-actions label,.research-version-actions select,.research-version-actions .danger-btn{width:100%}.research-version-actions label{flex-direction:column;align-items:stretch}.research-detail-head,.research-section-panel,.research-trend-panel,.research-preview-panel{padding:14px}}
.portfolio-page{gap:18px;min-width:0;display:grid}.portfolio-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.portfolio-summary article,.portfolio-metrics article{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:18px}.portfolio-summary span,.portfolio-metrics span{color:var(--muted);font-size:12px;display:block}.portfolio-summary strong,.portfolio-metrics strong{font:700 28px/1.2 var(--font-display);margin-top:4px;display:block}.portfolio-tabs{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:6px;width:max-content;padding:5px;display:flex}.portfolio-tabs button{color:var(--muted);background:0 0;border:0;border-radius:10px;padding:9px 14px}.portfolio-tabs button.is-active{background:var(--accent);color:#fff}.portfolio-panel{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:20px;padding:20px}.portfolio-panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.portfolio-panel h2,.portfolio-panel h3{font-family:var(--font-display);margin:0}.portfolio-panel p{color:var(--muted);margin:4px 0 0}.portfolio-inline-actions,.portfolio-check{align-items:center;gap:10px;display:flex}.portfolio-panel input,.portfolio-panel select{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--fg);border-radius:10px;padding:8px 10px}.portfolio-strategy-picker{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:18px;display:grid}.portfolio-strategy-picker label{border:1px solid var(--border);cursor:pointer;border-radius:12px;gap:10px;padding:12px;display:flex}.portfolio-strategy-picker label.is-selected{border-color:var(--accent);background:var(--selected-bg)}.portfolio-strategy-picker span,.portfolio-member-list span{display:grid}.portfolio-strategy-picker small,.portfolio-member-list small,.portfolio-table small{color:var(--muted);display:block}.portfolio-concentration-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:16px;display:grid}.portfolio-concentration-grid article{border:1px solid var(--border);border-radius:14px;padding:14px}.portfolio-concentration-grid h3{margin-bottom:10px}.portfolio-concentration-grid strong{color:var(--muted);margin:12px 0 6px;font-size:12px;display:block}.portfolio-concentration-grid div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.portfolio-concentration-grid span{min-width:0}.portfolio-concentration-grid em{font-style:normal}.portfolio-table-wrap{border:1px solid var(--border);border-radius:14px;max-width:100%;overflow:auto}.portfolio-table-wrap h3{background:var(--surface);padding:14px;position:sticky;left:0}.portfolio-table{border-collapse:collapse;white-space:nowrap;width:100%}.portfolio-table th{z-index:1;background:var(--surface-2);color:var(--muted);text-align:left;position:sticky;top:0}.portfolio-table th,.portfolio-table td{border-bottom:1px solid var(--border);padding:11px 13px}
.portfolio-config-grid,.portfolio-run-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:18px;display:grid}.portfolio-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.portfolio-form-grid label{color:var(--muted);gap:5px;font-size:12px;display:grid}.portfolio-member-list{gap:7px;max-height:320px;margin:12px 0 16px;display:grid;overflow:auto}.portfolio-member-list label{border-bottom:1px solid var(--border);grid-template-columns:1fr 90px 52px;align-items:center;gap:10px;padding:9px 0;display:grid}.portfolio-member-list em{color:var(--muted);text-align:right;font-style:normal}.portfolio-notice,.portfolio-error{background:var(--surface-2);border-radius:10px;margin-top:12px;padding:10px 12px}.portfolio-error{color:var(--danger)}.portfolio-empty{color:var(--muted);text-align:center;padding:36px 16px}.portfolio-run-list{gap:8px;max-height:360px;display:grid;overflow:auto}.portfolio-run-list button{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:11px;display:flex}.portfolio-run-list button.is-selected{border-color:var(--accent);background:var(--selected-bg)}.portfolio-run-list span{display:grid}.run-status{background:var(--surface-2);border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal}.run-status.is-succeeded{color:var(--green-ink);background:var(--green-bg)}.run-status.is-failed{color:var(--danger)}.portfolio-run-detail{grid-column:1/-1}.portfolio-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.portfolio-metrics article{box-shadow:none;padding:13px}.portfolio-metrics strong{font-size:19px}.portfolio-chart{height:360px;margin:18px 0}.portfolio-shadow{border:1px solid color-mix(in srgb, var(--info) 35%, var(--border));background:color-mix(in srgb, var(--info) 5%, var(--surface));border-radius:16px;margin-top:16px;padding:16px}.portfolio-shadow h3{margin-bottom:12px}.portfolio-chart .echarts-canvas{height:100%}.portfolio-detail-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.portfolio-diagnostic-grid{margin-top:14px}.portfolio-audit{border:1px solid var(--border);border-radius:12px;margin-top:14px;padding:12px}.portfolio-risk-budget{border:1px solid var(--border);border-radius:16px;margin-top:14px;padding:16px}.portfolio-budget-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.portfolio-budget-grid article{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:4px;padding:12px;display:grid}.portfolio-budget-grid span{color:var(--accent);font-weight:700}.portfolio-budget-grid small{color:var(--muted)}@media (max-width:900px){.portfolio-summary,.portfolio-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-config-grid,.portfolio-run-layout,.portfolio-detail-grid,.portfolio-form-grid{grid-template-columns:1fr}.portfolio-tabs{width:100%;overflow:auto}.portfolio-tabs button{flex:none}}
