/* Trading research workspace: restrained surfaces, meaningful data, clear hierarchy. */
.market-scanner .scanner-workspace { grid-template-columns:minmax(0,1fr) 320px; gap:24px; }
.market-scanner .scanner-upload .drop-zone { min-height:540px; }
.market-scanner .scanner-upload .has-preview { justify-content:center; }
.market-scanner .scanner-upload .chart-preview,.market-scanner .scanner-upload .has-preview>.sample-chart { max-height:420px; }
.scan-settings,.scan-progress { min-width:0; padding:22px; border:1px solid #ffffff0c; border-radius:18px; background:#13151a; }
.scan-settings-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.scan-settings-heading h3 { font-size:16px; font-weight:500; letter-spacing:-.3px; }
.scan-settings-heading>.icon { width:15px; height:15px; color:#697386; }
.scan-field { display:flex; flex-direction:column; gap:8px; margin-bottom:17px; font-size:10px; color:#8993a4; min-width:0; }
.noir .scan-field select,.noir .scan-money-input { width:100%; min-width:0; min-height:39px; padding:10px 11px; border:1px solid #ffffff0d; border-radius:9px; background:#0d0f13; color:#d1d7e1; font-size:11px; box-shadow:inset 0 1px 3px #0002; }
.scan-setting-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.noir .scan-money-input { display:flex; gap:8px; align-items:center; }
.scan-money-input>span { color:#5c687b; }
.scan-money-input input { width:100%; min-width:0; padding:0; border:0; background:transparent; outline:none; color:#e1e5ec; font-size:13px; font-weight:500; }
.scan-money-input:focus-within { outline:1px solid #9dbdff90; outline-offset:2px; }
.scan-money-input input:focus-visible { outline:0; }
.scan-risk-setting { padding:13px 12px 11px; border:1px solid #ffffff0b; border-radius:11px; margin-bottom:17px; background:#0e1015; }
.scan-risk-setting>div { display:flex; align-items:center; justify-content:space-between; gap:9px; font-size:10px; color:#a1aabb; }
.scan-risk-setting output { color:#d1ddf0; font-size:11px; }
.scan-risk-setting input[type=range] { width:100%; height:4px; margin:18px 0 13px; appearance:none; border-radius:5px; background:linear-gradient(to right,#a6bcde var(--risk-fill),#282d37 var(--risk-fill)); cursor:pointer; }
.scan-risk-setting input[type=range]::-webkit-slider-thumb { appearance:none; width:13px; height:13px; border:3px solid #b0c4e5; border-radius:50%; background:#161e2d; }
.scan-risk-setting input[type=range]::-moz-range-thumb { width:8px; height:8px; border:3px solid #b0c4e5; border-radius:50%; background:#161e2d; }
.scan-risk-setting .scan-risk-caption { color:#667287; font-size:8px; }
.scan-segments { display:flex; gap:3px; padding:3px; border:1px solid #ffffff0b; border-radius:9px; background:#0d0f13; }
.scan-segments button { flex:1; min-width:0; padding:7px 5px; font-size:10px; border-radius:6px; color:#7d889b; }
.scan-segments button.active { background:linear-gradient(180deg,#313641,#222731); box-shadow:inset 0 1px 0 #ffffff0d,0 2px 5px #0002; color:#e0e6f0; }
.noir .scan-run { width:100%; display:flex; justify-content:center; gap:9px; min-height:39px; border-radius:9px; font-size:11px; margin-top:4px; }
.scan-run>.icon { width:14px; height:14px; }
.scan-run>.icon:last-child { margin-left:auto; }
.scan-run>.icon:first-child { margin-right:auto; }
.scan-settings-note { display:block; text-align:center; color:#5e697b; font-size:8px; margin-top:11px; }
.scan-is-running .drop-zone { opacity:.8; }
.scan-progress { display:flex; flex-direction:column; justify-content:center; padding:24px; }
.scan-progress-top { display:flex; align-items:center; gap:7px; color:#a6bddc; font-size:9px; }
.scan-progress-top>span:last-child { margin-left:auto; color:#637188; }
.scan-pulse { width:5px; height:5px; border-radius:50%; background:#a6bddc; animation:scan-status-pulse 1.4s ease-in-out infinite; }
@keyframes scan-status-pulse { 50% { opacity:.3; } }
.scan-progress h3 { font-size:19px; font-weight:500; letter-spacing:-.5px; line-height:1.3; margin:22px 0 9px; }
.scan-progress>p { font-size:10px; line-height:1.8; color:#78859a; }
.scan-progress-track { height:3px; background:#ffffff08; border-radius:5px; margin:22px 0; overflow:hidden; }
.scan-progress-track>span { display:block; height:100%; background:#acc2e2; transition:width .4s; }
.scan-progress ol { padding:0; margin:0 0 25px; list-style:none; }
.scan-progress li { display:flex; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid #ffffff07; opacity:.4; }
.scan-progress li.current,.scan-progress li.done { opacity:1; }
.scan-progress li>span { width:27px; height:27px; display:grid; place-items:center; border:1px solid #ffffff12; border-radius:8px; font-size:9px; color:#8291a8; }
.scan-progress li.done>span { color:#6fb397; border-color:#6fb39722; background:#6fb39706; }
.scan-progress li>span>.icon { width:13px; height:13px; }
.scan-progress li strong { font-size:10px; font-weight:500; color:#b5c0d1; }
.scan-progress li small { display:block; color:#637188; font-size:8px; margin-top:4px; }
.scan-progress>.text-button { font-size:10px; color:#7f8b9f; align-self:flex-start; }
/* Completed report */
.market-scanner .scanner-results { margin-top:34px; padding-top:30px; border-top:1px solid #ffffff0c; scroll-margin-top:20px; }
.scan-analysis { scroll-margin-top:24px; }
.scan-analysis-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:24px; }
.scan-section-label { font-size:8px; letter-spacing:1.6px; color:#65738a; }
.scan-analysis-header h2 { font-size:27px; font-weight:500; letter-spacing:-.8px; margin:8px 0; }
.scan-analysis-header p { color:#778499; font-size:10px; line-height:1.8; }
.scan-analysis-header p>span { padding:0 4px; color:#47546a; }
.scan-report-actions { display:flex; gap:8px; }
.noir .scan-report-actions .button { min-height:32px; padding:7px 11px; border-radius:8px; font-size:9px; white-space:nowrap; gap:6px; }
.scan-report-actions .icon { width:12px; height:12px; }
.scan-report-summary { display:grid; grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr)); padding:22px; gap:22px; background:#151820; border:1px solid #ffffff0d; border-radius:14px; margin-bottom:20px; align-items:center; }
.scan-bias { display:inline-flex; align-items:center; gap:5px; font-size:9px; }
.scan-bias>.icon { width:12px; height:12px; }
.scan-report-summary h3 { font-size:17px; font-weight:500; letter-spacing:-.35px; margin:8px 0; }
.scan-report-summary p { color:#738198; font-size:9px; line-height:1.8; max-width:420px; }
.scan-summary-metric { padding-left:18px; border-left:1px solid #ffffff0a; min-width:0; }
.scan-summary-metric>span { display:block; color:#7f8ba0; font-size:9px; }
.scan-summary-metric strong { display:block; margin:12px 0 8px; font-weight:500; font-size:22px; letter-spacing:-.5px; overflow-wrap:anywhere; }
.scan-summary-metric strong>span { color:#718099; font-size:14px; }
.scan-summary-metric small { color:#637188; font-size:8px; line-height:1.6; display:block; }
.scan-chart-layout { display:grid; grid-template-columns:minmax(0,1fr) 255px; gap:18px; }
.scan-report-chart { min-width:0; border:1px solid #ffffff0d; border-radius:14px; background:#0e1015; overflow:hidden; }
.scan-chart-heading { display:flex; align-items:center; justify-content:space-between; padding:16px 17px; gap:12px; }
.scan-chart-identity { display:flex; align-items:center; gap:9px; min-width:0; }
.scan-chart-identity .asset-logo { width:29px; height:29px; border-radius:8px; }
.scan-chart-identity .asset-logo>svg { width:18px; height:18px; }
.scan-chart-identity .asset-info strong { font-size:11px; }
.scan-chart-identity .asset-info small { font-size:8px; max-width:90px; }
.scan-chart-identity>span:last-child { margin-left:5px; font-size:9px; color:#738198; }
.scan-chart-buttons { display:flex; align-items:center; gap:3px; flex-shrink:0; }
.scan-chart-buttons button { padding:6px 8px; font-size:9px; color:#707e94; border-radius:6px; }
.scan-chart-buttons button.active { color:#c7d3e7; background:#ffffff08; }
.scan-chart-buttons button>.icon { width:13px; height:13px; }
.scan-chart-legend { display:flex; align-items:center; gap:13px; border-block:1px solid #ffffff08; padding:10px 17px; font-size:8px; color:#7b8aa1; }
.scan-chart-legend>span { display:flex; align-items:center; gap:5px; }
.scan-chart-legend>span:before { content:''; width:5px; height:5px; border-radius:50%; background:#adc5ef; }
.scan-chart-legend .scan-stop-dot:before { background:#ef6471; }
.scan-chart-legend .scan-target-dot:before { background:#5dbd96; }
.scan-chart-legend>small { margin-left:auto; color:#4d5d75; font-size:7px; }
#scan-analysis-chart { height:400px; width:100%; }
.scan-price-plan { min-width:0; border:1px solid #ffffff0c; border-radius:14px; padding:20px 18px; background:#12151b; }
.scan-price-plan-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; }
.scan-price-plan-heading h3 { font-size:13px; font-weight:500; }
.scan-price-plan-heading>span { font-size:7px; letter-spacing:1px; color:#7f91ac; }
.scan-level-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 0; border-bottom:1px solid #ffffff08; }
.scan-level-row>span { display:flex; align-items:center; gap:7px; color:#929eb0; font-size:10px; }
.scan-level-row i { width:4px; height:4px; border-radius:50%; background:currentColor; }
.scan-level-row i.entry,.scan-level-row strong.entry { color:#adc5ef; }
.scan-level-row>div { text-align:right; }
.scan-level-row strong { font-size:14px; font-weight:500; display:block; }
.scan-level-row small { font-size:7px; display:block; color:#65758d; margin-top:5px; }
.scan-price-plan>p { color:#5d6d83; font-size:8px; line-height:1.8; margin-top:16px; }
.scan-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:18px; }
.scan-detail-card { padding:22px; border:1px solid #ffffff0c; border-radius:14px; background:#11141a; min-width:0; }
.scan-detail-card>h3 { font-size:14px; font-weight:500; letter-spacing:-.2px; margin-bottom:18px; }
.scan-data-row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:10px 0; border-bottom:1px solid #ffffff06; }
.scan-data-row>span { color:#728198; font-size:9px; }
.scan-data-row>strong { color:#bac6d9; font-size:10px; font-weight:500; text-align:right; overflow-wrap:anywhere; }
.scan-detail-card>p { font-size:8px; color:#586a84; line-height:1.9; margin-top:16px; }
.scan-goal-value { font-size:26px; font-weight:500; letter-spacing:-.8px; margin-bottom:12px; }
.scan-goal-value>span { display:block; font-size:8px; letter-spacing:0; margin-top:7px; font-weight:400; }
.scan-muted { color:#7c8ca5; }
.scan-scenario-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:18px; }
.scan-execution { list-style:none; padding:0; margin:0; }
.scan-execution li { display:flex; align-items:flex-start; gap:13px; padding:12px 0; }
.scan-execution li>span { color:#546985; font-size:9px; padding-top:2px; }
.scan-execution strong { color:#bac7db; font-size:10px; font-weight:500; }
.scan-execution p { font-size:9px; line-height:1.9; color:#6b7e99; margin-top:5px; }
.scan-alternative { padding:12px 0; border-bottom:1px solid #ffffff07; }
.scan-alternative:last-child { border:0; }
.scan-alternative>span { font-size:10px; }
.scan-alternative>p { font-size:9px; color:#6b7e99; line-height:1.9; margin-top:7px; }
.scan-report-provenance { display:flex; align-items:flex-start; gap:8px; font-size:8px; line-height:1.8; color:#62728a; margin-top:18px; }
.scan-report-provenance>.icon { width:12px; height:12px; flex-shrink:0; margin-top:1px; }
.scan-chart-error { display:grid; place-items:center; height:100%; padding:25px; color:#71839e; font-size:12px; }
@media(max-width:1100px) {
  .scan-report-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .scan-report-summary>div:first-child { grid-column:1/-1; }
  .scan-summary-metric { padding:0; border:0; }
  .scan-chart-layout { grid-template-columns:1fr; }
  .scan-price-plan { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
  .scan-price-plan-heading,.scan-price-plan>p { grid-column:1/-1; }
  .scan-level-row { flex-direction:column; align-items:flex-start; padding:10px 0; gap:12px; }
  .scan-level-row>div { text-align:left; }
  .scan-detail-grid { gap:12px; }
  .scan-detail-card { padding:18px; }
}
@media(max-width:850px) {
  .market-scanner .scanner-workspace { grid-template-columns:minmax(0,1fr) 280px; gap:18px; }
  .scan-settings,.scan-progress { padding:18px; }
  .scan-detail-grid { grid-template-columns:1fr 1fr; }
  .scan-detail-grid>section:last-child { grid-column:1/-1; }
}
@media(max-width:700px) {
  .market-scanner .scanner-workspace { grid-template-columns:1fr; gap:18px; }
  .market-scanner .scanner-upload .drop-zone { min-height:300px; }
  .scan-settings { padding:20px; }
  .scan-progress { min-height:450px; }
  .scan-analysis-header { flex-direction:column; align-items:flex-start; }
  .scan-analysis-header h2 { font-size:24px; }
  .scan-report-summary { padding:18px; gap:18px 12px; }
  .scan-summary-metric strong { font-size:18px; }
  .scan-summary-metric>span { font-size:8px; line-height:1.6; }
  .scan-summary-metric small { font-size:7px; }
  .scan-chart-heading { flex-wrap:wrap; padding:14px; }
  .scan-chart-buttons { margin-left:auto; }
  .scan-chart-buttons button { padding:6px; }
  .scan-chart-legend { padding-inline:14px; }
  .scan-chart-legend>small { display:none; }
  #scan-analysis-chart { height:360px; }
  .scan-price-plan { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px; }
  .scan-level-row { flex-direction:row; align-items:center; }
  .scan-level-row>div { text-align:right; }
  .scan-level-row:first-of-type { grid-column:1/-1; }
  .scan-detail-grid,.scan-scenario-grid { grid-template-columns:1fr; gap:14px; }
  .scan-detail-grid>section:last-child { grid-column:auto; }
  .scan-detail-card { padding:20px; }
  .scan-detail-card>h3 { font-size:15px; }
  .scan-data-row>span,.scan-data-row>strong { font-size:11px; }
  .scan-detail-card>p { font-size:10px; }
  .scan-execution strong,.scan-alternative>span { font-size:12px; }
  .scan-execution p,.scan-alternative>p { font-size:11px; }
  .scan-report-provenance { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) { .scan-pulse { animation:none; } .scan-progress-track>span { transition:none; } }

/* Keep research copy readable at standard desktop scaling. */
.scan-report-summary p { font-size:10px; }
.scan-summary-metric>span { font-size:10px; }
.scan-data-row>span,.scan-data-row>strong { font-size:11px; }
.scan-detail-card>p { font-size:10px; }
.scan-execution strong,.scan-alternative>span { font-size:12px; }
.scan-execution p,.scan-alternative>p { font-size:11px; }
.scan-level-row small,.scan-price-plan>p { font-size:9px; }
.scan-report-provenance { font-size:9px; }

@media(max-width:700px) {
  .scan-report-summary { grid-template-columns:1fr 1fr; }
  .scan-report-summary .scan-summary-metric:last-child { grid-column:1/-1; border-top:1px solid #ffffff09; padding-top:14px; }
  .scan-summary-metric strong { overflow-wrap:normal; white-space:nowrap; }
}
