:root {
  color-scheme: dark;
  --bg: #0d1117;
  --sidebar: #10151b;
  --surface: #151b22;
  --surface-2: #1b232c;
  --surface-3: #232d37;
  --line: #2d3844;
  --text: #edf2f7;
  --muted: #8f9ba8;
  --teal: #59d7c2;
  --cyan: #55b8df;
  --green: #70cf85;
  --amber: #e9b85c;
  --coral: #ec7b68;
  --pink: #e97eaf;
  --blue: #7596ed;
  --radius: 7px;
  --shadow: 0 20px 48px rgba(0, 0, 0, .32);
}

html[data-theme="light"] {
  color-scheme: light;
  --bg: #f7f8f5;
  --sidebar: #14211b;
  --surface: #ffffff;
  --surface-2: #f2f4ef;
  --surface-3: #e7ebe5;
  --line: #d9dfda;
  --text: #18221d;
  --muted: #69756f;
  --teal: #19634b;
  --cyan: #287a64;
  --green: #19634b;
  --amber: #b47d00;
  --coral: #d84e3d;
  --blue: #236c59;
  --shadow: 0 18px 42px rgba(24, 34, 29, .13);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--bg); color: var(--text); font-family: Inter, "Segoe UI", "Microsoft YaHei", sans-serif; font-size: 14px; line-height: 1.5; letter-spacing: 0; }
.import-review-actions { display:flex; justify-content:flex-end; gap:8px; padding:16px 0 0; }
#import-review-content { overflow-wrap:anywhere; }
#import-review-dialog { max-height:calc(100dvh - 32px); overflow:auto; }
button, input { font: inherit; letter-spacing: 0; }
button { color: inherit; }
button, label, th { -webkit-tap-highlight-color: transparent; }
svg { width: 17px; height: 17px; stroke-width: 1.8; }
.app-shell { min-height: 100vh; }

.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: 224px; display: flex; flex-direction: column; padding: 18px 13px; background: var(--sidebar); border-right: 1px solid #29313a; }
.brand { height: 46px; display: flex; align-items: center; gap: 11px; padding: 0 8px; }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 7px; background: var(--teal); color: #10201f; font-size: 19px; font-weight: 900; }
.brand strong, .brand small { display: block; }.brand strong { color: #f5f7f9; font-size: 15px; }.brand small { color: #8996a4; font-size: 10px; }
.main-nav { display: grid; gap: 5px; margin-top: 25px; }
.nav-item { min-height: 42px; display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 10px; padding: 8px 11px; border: 0; border-radius: 6px; background: transparent; color: #9eabb8; cursor: pointer; text-align: left; }
.nav-item:hover, .nav-item.active { background: #1d292d; color: var(--teal); }
.nav-item b { min-width: 20px; padding: 1px 6px; border-radius: 10px; background: #2b3742; color: #c8d0d8; font-size: 10px; text-align: center; }
.scope-card { margin-top: auto; padding: 13px; border: 1px solid #2d3a41; border-radius: var(--radius); background: #151d21; color: #b9c4ce; }
.scope-card > div { display: flex; align-items: center; gap: 8px; color: #f2f5f7; }.scope-card > div svg { color: var(--teal); }
.scope-card p { margin: 8px 0 12px; color: #81909c; font-size: 11px; }.scope-card > span { display: flex; align-items: center; gap: 6px; color: var(--green); font-size: 10px; }
.theme-button { width: 36px; height: 36px; display: grid; place-items: center; margin: 12px 0 0; border: 1px solid #34414b; border-radius: 6px; background: transparent; color: #a8b4c0; cursor: pointer; }

.workspace { min-height: 100vh; margin-left: 224px; }
.topbar { position: sticky; top: 0; z-index: 20; min-height: 74px; display: flex; align-items: center; gap: 20px; padding: 12px 24px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(14px); }
.page-title { flex: 1; min-width: 180px; }.page-title p, .view-header p, .dialog-head p { margin: 0; color: var(--teal); font-size: 10px; font-weight: 800; }.page-title h1 { margin: 2px 0 0; font-size: 20px; line-height: 1.2; }
.top-actions { display: flex; align-items: center; gap: 7px; }
.global-search { width: min(320px, 27vw); height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--muted); }
.global-search input, .input-wrap input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); }
.icon-button { width: 38px; height: 38px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--muted); cursor: pointer; }
.icon-button:hover { color: var(--teal); border-color: var(--teal); }
.command-button, .outline-button, .reset-button { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 7px 12px; border-radius: 6px; font-weight: 750; cursor: pointer; }
.command-button { border: 1px solid var(--teal); background: var(--teal); color: #10201f; }.outline-button { border: 1px solid var(--line); background: transparent; color: var(--text); }
.mobile-menu { display: none; }

.view { display: none; padding: 0 24px 30px; }.view.active { display: block; }
.status-strip { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 7px 0; border-bottom: 1px solid var(--line); }
.snapshot { display: flex; align-items: center; gap: 9px; }.snapshot strong, .snapshot small { display: block; }.snapshot small { color: var(--muted); font-size: 10px; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(112,207,133,.12); }
.status-note { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }

.kpi-grid { display: grid; grid-template-columns: repeat(6, 1fr); margin: 18px 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.kpi-grid article { min-width: 0; padding: 14px 17px; border-right: 1px solid var(--line); }.kpi-grid article:last-child { border-right: 0; }
.kpi-grid span, .kpi-grid small { display: block; color: var(--muted); }.kpi-grid span { font-size: 11px; }.kpi-grid strong { display: block; margin: 2px 0; font-size: 25px; line-height: 1.15; }.kpi-grid small { font-size: 10px; }

.explorer-layout { display: grid; grid-template-columns: 254px minmax(0, 1fr); gap: 14px; align-items: start; }
.filter-panel { position: sticky; top: 92px; max-height: calc(100vh - 108px); overflow-y: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); scrollbar-width: thin; }
.filter-head { min-height: 51px; display: flex; align-items: center; justify-content: space-between; padding: 9px 13px; border-bottom: 1px solid var(--line); }.filter-head strong, .filter-head span { display: block; }.filter-head span { color: var(--muted); font-size: 10px; }.filter-close { display: none; }
.filter-section { padding: 12px 13px; border-bottom: 1px solid var(--line); }
.field-label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.input-wrap { height: 35px; display: flex; align-items: center; gap: 7px; padding: 0 9px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface-2); color: var(--muted); }
.filter-section-title { width: 100%; min-height: 28px; display: flex; align-items: center; justify-content: space-between; padding: 0; border: 0; background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; text-transform: uppercase; }.filter-section-title svg { width: 14px; height: 14px; color: var(--muted); }
.filter-section-body.collapsed { display: none; }
.signal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 8px; }
.signal-grid button { min-width: 0; min-height: 55px; display: grid; grid-template-columns: 18px 1fr; align-items: center; gap: 2px 5px; padding: 7px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface-2); color: var(--muted); cursor: pointer; text-align: left; }.signal-grid button svg { width: 15px; height: 15px; }.signal-grid button span { overflow: hidden; font-size: 10px; white-space: nowrap; text-overflow: ellipsis; }.signal-grid button b { grid-column: 2; color: var(--text); font-size: 13px; }.signal-grid button.active { border-color: var(--teal); background: rgba(89,215,194,.09); color: var(--teal); }
.range-fields { display: grid; gap: 7px; margin-top: 7px; }.range-fields label { display: grid; grid-template-columns: 1fr 64px 31px; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; }.range-fields input { width: 64px; height: 30px; padding: 4px 6px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface-2); color: var(--text); text-align: right; }.range-fields small { color: var(--muted); }
.check-list { display: grid; gap: 7px; margin-top: 7px; }.check-list label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; cursor: pointer; }.check-list input { accent-color: var(--teal); }
.scope-toggle { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px; }.scope-toggle strong, .scope-toggle small { display: block; }.scope-toggle small { color: var(--muted); font-size: 10px; }
.switch { position: relative; flex: 0 0 auto; width: 36px; height: 20px; }.switch input { position: absolute; opacity: 0; }.switch span { position: absolute; inset: 0; border-radius: 20px; background: var(--surface-3); cursor: pointer; }.switch span::before { content: ""; position: absolute; width: 14px; height: 14px; top: 3px; left: 3px; border-radius: 50%; background: var(--muted); transition: transform .18s ease; }.switch input:checked + span { background: rgba(89,215,194,.28); }.switch input:checked + span::before { transform: translateX(16px); background: var(--teal); }
.reset-button { width: calc(100% - 26px); margin: 0 13px 13px; border: 1px solid var(--line); background: transparent; color: var(--muted); }

.results-panel { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.results-toolbar { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 7px 12px; border-bottom: 1px solid var(--line); }
.result-tabs { display: flex; align-items: center; gap: 3px; }.result-tabs button { min-height: 32px; padding: 6px 10px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); cursor: pointer; font-weight: 700; }.result-tabs button.active { background: var(--surface-3); color: var(--text); }
.result-actions { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 11px; }.filter-open { display: none; }
.view-mode { display: flex; padding: 2px; border: 1px solid var(--line); border-radius: 5px; }.view-mode button { width: 29px; height: 27px; display: grid; place-items: center; border: 0; border-radius: 3px; background: transparent; color: var(--muted); cursor: pointer; }.view-mode button.active { background: var(--surface-3); color: var(--teal); }.view-mode svg { width: 14px; height: 14px; }

.table-wrap { max-width: 100%; overflow: auto; scrollbar-width: thin; }
.niche-table { width: 100%; min-width: 1320px; border-collapse: collapse; font-size: 11px; }
.niche-table th { position: sticky; top: 0; z-index: 2; height: 39px; padding: 0 8px; border-bottom: 1px solid var(--line); background: var(--surface-2); color: var(--muted); text-align: right; white-space: nowrap; }.niche-table th:first-child { min-width: 268px; text-align: left; }.niche-table th:last-child { min-width: 80px; }.niche-table th button { display: inline-flex; align-items: center; gap: 3px; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; }.niche-table th:first-child button { width: 100%; }.niche-table th svg { width: 12px; height: 12px; }
.niche-table td { height: 67px; padding: 7px 8px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }.niche-table tbody tr { cursor: pointer; }.niche-table tbody tr:hover { background: var(--surface-2); }
.niche-table .sticky-col { position: sticky; left: 0; z-index: 1; background: var(--surface); box-shadow: 1px 0 var(--line); }.niche-table thead .sticky-col { z-index: 4; background: var(--surface-2); }
.niche-cell { display: grid; grid-template-columns: 38px minmax(150px, 1fr); align-items: center; gap: 9px; text-align: left; }.niche-cell img, .drawer-image { object-fit: contain; background: #fff; }.niche-cell img { width: 38px; height: 38px; border-radius: 4px; }.niche-cell strong, .niche-cell small { display: block; max-width: 198px; overflow: hidden; text-overflow: ellipsis; }.niche-cell strong { color: var(--text); font-size: 12px; text-transform: capitalize; }.niche-cell small { color: var(--muted); font-size: 9px; }
.inline-signals { display: flex; gap: 3px; margin-top: 3px; }.inline-signals i { width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); }.inline-signals i.trending { background: var(--green); }.inline-signals i.risk { background: var(--coral); }.inline-signals i.open { background: var(--teal); }
.opportunity-score { width: 38px; height: 38px; display: inline-grid; place-items: center; border: 3px solid var(--amber); border-radius: 50%; color: var(--amber); font-size: 12px; font-weight: 900; }.opportunity-score.high { color: var(--green); border-color: var(--green); }.opportunity-score.low { color: var(--muted); border-color: var(--line); }
.positive { color: var(--green); }.negative { color: var(--coral); }.soft { color: var(--muted); }
.risk-pills { display: flex; justify-content: flex-end; gap: 3px; }.risk-pill { padding: 2px 5px; border-radius: 3px; background: var(--surface-3); color: var(--muted); font-size: 9px; }.risk-pill.high { background: rgba(236,123,104,.12); color: var(--coral); }.risk-pill.medium { background: rgba(233,184,92,.12); color: var(--amber); }
.source-count { display: inline-flex; align-items: center; justify-content: center; min-width: 27px; height: 24px; padding: 0 6px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); font-weight: 850; }.source-count.hypothesis { border-color: var(--cyan); color: var(--cyan); }.source-count.actionable { border-color: var(--green); color: var(--green); background: rgba(112,207,133,.08); }
.row-actions { display: flex; justify-content: flex-end; gap: 4px; }.row-actions button { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); cursor: pointer; }.row-actions button:hover { border-color: var(--line); color: var(--teal); }.row-actions button.saved { color: var(--amber); }.row-actions button.selected { color: var(--teal); background: rgba(89,215,194,.1); }.row-actions svg { width: 14px; height: 14px; }
.empty-state { padding: 55px 20px; color: var(--muted); text-align: center; }.empty-state svg { width: 30px; height: 30px; margin-bottom: 8px; }
.niche-cards { display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 12px; }.niche-cards.active { display: grid; }.table-wrap.hidden { display: none; }
.niche-card { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-2); cursor: pointer; }.niche-card:hover { border-color: var(--teal); }.card-head { display: grid; grid-template-columns: 42px 1fr auto; gap: 9px; align-items: center; }.card-head img { width: 42px; height: 42px; object-fit: contain; border-radius: 4px; background: #fff; }.card-head strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-transform: capitalize; }.card-head small { color: var(--muted); }.card-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 12px; }.card-metrics div { padding: 7px; background: var(--surface); border-radius: 4px; }.card-metrics span, .card-metrics strong { display: block; }.card-metrics span { color: var(--muted); font-size: 9px; }.card-metrics strong { margin-top: 2px; font-size: 13px; }
.pagination { min-height: 47px; display: flex; align-items: center; justify-content: center; gap: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }.pagination button { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: inherit; cursor: pointer; }.pagination button:disabled { opacity: .35; cursor: default; }

.view-header { min-height: 106px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 26px 0 18px; border-bottom: 1px solid var(--line); }.view-header h2, .dialog-head h2 { margin: 3px 0; font-size: 27px; }.view-header span { color: var(--muted); }
.opportunity-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 16px 0; }.opportunity-summary article { padding: 13px; border-left: 3px solid var(--teal); background: var(--surface); }.opportunity-summary span, .opportunity-summary strong { display: block; }.opportunity-summary span { color: var(--muted); font-size: 10px; }.opportunity-summary strong { margin-top: 2px; font-size: 21px; }
.opportunity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }.opportunity-card { min-width: 0; padding: 15px; border: 1px solid var(--line); border-top: 3px solid var(--green); border-radius: var(--radius); background: var(--surface); cursor: pointer; }.opportunity-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }.opp-head { display: grid; grid-template-columns: 45px minmax(0,1fr) auto; align-items: center; gap: 10px; }.opp-head > div { min-width: 0; }.opp-head img { width: 45px; height: 45px; object-fit: contain; border-radius: 4px; background: #fff; }.opp-head h3 { margin: 0; overflow: hidden; font-size: 14px; text-overflow: ellipsis; text-transform: capitalize; white-space: nowrap; }.opp-head small { color: var(--muted); }.opp-score { font-size: 23px; font-weight: 900; color: var(--green); }.opp-score small { display: block; color: var(--muted); font-size: 9px; text-align: right; }
.dimension-bars { display: grid; gap: 6px; margin: 14px 0; }.dimension-bar { display: grid; grid-template-columns: 84px 1fr 14px; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; }.dimension-bar div { height: 4px; overflow: hidden; border-radius: 4px; background: var(--surface-3); }.dimension-bar i { display: block; height: 100%; background: var(--cyan); }.dimension-bar b { color: var(--text); }
.opp-footer { display: flex; justify-content: space-between; gap: 10px; padding-top: 10px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }.opp-footer strong { color: var(--text); }

.report-select { min-width: 230px; display: grid; gap: 5px; }.report-select span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }.report-select select { width: 100%; min-height: 38px; padding: 0 34px 0 10px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface); color: var(--text); }
.category-monitor-section { margin-top: 8px; }.category-monitor-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; padding: 11px 0 4px; }.category-monitor-card { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--text); text-align: left; cursor: pointer; }.category-monitor-card:hover, .category-monitor-card.selected { border-color: var(--cyan); background: var(--surface-2); }.category-monitor-card.pinned { border-left: 3px solid var(--green); }.category-monitor-card.active:not(.pinned) { border-left: 3px solid var(--cyan); }.category-monitor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }.category-monitor-head strong, .category-monitor-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.category-monitor-head strong { font-size: 12px; }.category-monitor-head small { margin-top: 2px; color: var(--muted); font-size: 8px; }.category-monitor-head > span { flex: none; padding: 3px 5px; border-radius: 3px; background: var(--surface-3); color: var(--muted); font-size: 8px; font-weight: 800; }.category-monitor-card.pinned .category-monitor-head > span { background: rgba(112,207,133,.14); color: var(--green); }.category-monitor-card.active .category-monitor-head > span { color: var(--cyan); }.category-monitor-card > p { height: 28px; margin: 8px 0; overflow: hidden; color: var(--muted); font-size: 9px; line-height: 1.45; }.category-monitor-facts { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; }.category-monitor-facts span { min-width: 0; padding: 5px; background: var(--surface-2); }.category-monitor-facts small, .category-monitor-facts b { display: block; }.category-monitor-facts small { color: var(--muted); font-size: 7px; }.category-monitor-facts b { margin-top: 1px; font-size: 11px; }.date-coverage { margin-top: 8px; }.date-coverage > span { display: block; margin-bottom: 4px; color: var(--muted); font-size: 8px; }.date-coverage > i { height: 3px; display: block; overflow: hidden; background: var(--surface-3); }.date-coverage > i > b { height: 100%; display: block; background: var(--cyan); }
.report-summary, .product-monitor-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 16px 0; }.report-summary article { padding: 14px; border-left: 3px solid var(--cyan); background: var(--surface); }.product-monitor-summary article { padding: 14px; border: 1px solid var(--line); background: var(--surface); }.product-monitor-summary article:first-child { border-color: color-mix(in srgb, var(--forest) 28%, var(--line)); background: color-mix(in srgb, var(--lime) 9%, var(--surface)); }.report-summary span, .report-summary strong, .report-summary small, .product-monitor-summary span, .product-monitor-summary strong, .product-monitor-summary small { display: block; }.report-summary span, .product-monitor-summary span { color: var(--muted); font-size: 10px; }.report-summary strong, .product-monitor-summary strong { margin: 2px 0; font-size: 23px; font-variant-numeric: tabular-nums; }.product-monitor-summary article:first-child strong { color: var(--forest); font-size: 28px; }.report-summary small, .product-monitor-summary small { color: var(--muted); font-size: 9px; }
.report-layout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); gap: 12px; }.report-panel { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }.report-metric-grid { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--line); }.report-metric-grid div { padding: 13px; border-right: 1px solid var(--line); }.report-metric-grid div:last-child { border-right: 0; }.report-metric-grid span, .report-metric-grid strong { display: block; }.report-metric-grid span { color: var(--muted); font-size: 9px; }.report-metric-grid strong { margin-top: 4px; font-size: 18px; }.report-notes { padding: 8px 15px 14px; }.report-notes p { display: grid; grid-template-columns: 70px 1fr; gap: 8px; margin: 10px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }.report-notes b { color: var(--text); }
.report-query-row { width: 100%; min-height: 57px; display: grid; grid-template-columns: minmax(0,1fr) 42px 16px; align-items: center; gap: 9px; padding: 8px 13px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; cursor: pointer; }.report-query-row:hover { background: var(--surface-2); }.report-query-row:last-child { border-bottom: 0; }.report-query-row strong, .report-query-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-transform: capitalize; }.report-query-row small { margin-top: 3px; color: var(--muted); font-size: 9px; }.report-query-row > span { color: var(--green); font-size: 16px; font-weight: 900; text-align: right; }.report-query-row svg { width: 14px; color: var(--muted); }
.report-product-section { margin-top: 16px; }.section-heading { min-height: 54px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }.section-heading h3, .section-heading p { margin: 0; }.section-heading p, .section-heading > span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.product-monitor-toolbar { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); }.product-monitor-meta { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 10px; white-space: nowrap; }
.product-insight-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 12px 0 28px; }.product-insight-grid > .empty-state { grid-column: 1 / -1; }.product-insight-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--text); text-decoration: none; content-visibility: auto; contain-intrinsic-size: 330px; }.product-insight-card:hover { border-color: var(--teal); box-shadow: var(--shadow); transform: translateY(-1px); }.product-image { position: relative; height: 128px; display: grid; place-items: center; padding: 8px; background: #fff; }.product-image img { width: min(160px,100%); height: 112px; object-fit: contain; }.product-status { position: absolute; top: 8px; left: 8px; padding: 3px 6px; border-radius: 3px; background: #26303a; color: #dfe7ed; font-size: 9px; font-weight: 900; }.product-status.new { background: #167d68; color: #fff; }.product-status.rising { background: #14769a; color: #fff; }.product-status.early { background: #8b6824; color: #fff; }.product-status.first-seen { background: #586474; color: #fff; }.product-card-body { padding: 11px; }.product-card-body > small { color: var(--teal); font-size: 9px; font-weight: 800; }.product-card-body h3 { min-height: 34px; margin: 5px 0; overflow: hidden; font-size: 12px; line-height: 1.4; }.product-card-body > p { margin: 0; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.product-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin: 10px 0; }.product-facts span { padding: 6px; background: var(--surface-2); }.product-facts small, .product-facts strong { display: block; }.product-facts small { color: var(--muted); font-size: 8px; }.product-facts strong { margin-top: 2px; font-size: 12px; }.product-card-foot { min-height: 38px; display: flex; align-items: flex-end; justify-content: space-between; gap: 7px; padding-top: 8px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; }.product-card-foot span { min-width: 0; overflow-wrap: anywhere; }.product-card-foot b { flex: none; color: var(--green); font-size: 8px; text-align: right; }

.watchlist-table { margin-top: 16px; }.watch-row { display: grid; grid-template-columns: minmax(210px, 2fr) repeat(5, minmax(80px, 1fr)) auto; align-items: center; gap: 10px; min-height: 61px; padding: 8px 12px; border-bottom: 1px solid var(--line); background: var(--surface); }.watch-row:hover { background: var(--surface-2); }.watch-row strong { text-transform: capitalize; }.watch-row span { color: var(--muted); }.watch-row button { border: 0; background: transparent; color: var(--coral); cursor: pointer; }
.coverage-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 16px 0; }.coverage-summary article { padding: 14px; border-left: 3px solid var(--cyan); background: var(--surface); }.coverage-summary span, .coverage-summary strong, .coverage-summary small { display: block; }.coverage-summary span { color: var(--muted); font-size: 10px; }.coverage-summary strong { margin: 2px 0; font-size: 23px; }.coverage-summary small { color: var(--muted); font-size: 9px; }
.coverage-layout { display: grid; grid-template-columns: minmax(340px,.85fr) minmax(0,1.35fr); gap: 12px; }.coverage-panel { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }.panel-heading { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; border-bottom: 1px solid var(--line); }.panel-heading h3, .panel-heading p { margin: 0; }.panel-heading p { margin-top: 3px; color: var(--muted); font-size: 10px; }.panel-heading > svg { color: var(--teal); }
.source-health-row { display: grid; grid-template-columns: minmax(116px,1fr) 54px 70px; align-items: center; gap: 10px; min-height: 58px; padding: 9px 14px; border-bottom: 1px solid var(--line); }.source-health-row:last-child { border-bottom: 0; }.source-health-row strong, .source-health-row small { display: block; }.source-health-row small { margin-top: 2px; color: var(--muted); font-size: 9px; }.source-health-row > span { color: var(--muted); text-align: right; }.health-meter { height: 5px; overflow: hidden; border-radius: 4px; background: var(--surface-3); }.health-meter i { display: block; height: 100%; background: var(--green); }
.backlog-row { display: grid; grid-template-columns: minmax(170px,1.6fr) minmax(100px,.8fr) 65px 75px; align-items: center; gap: 10px; min-height: 56px; padding: 8px 14px; border-bottom: 1px solid var(--line); }.backlog-row:last-child { border-bottom: 0; }.backlog-row strong, .backlog-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.backlog-row strong { text-transform: capitalize; }.backlog-row small { margin-top: 2px; color: var(--muted); font-size: 9px; }.backlog-row > span { color: var(--muted); }.fusion-badge { display: inline-flex; justify-content: center; padding: 3px 6px; border-radius: 3px; background: var(--surface-3); color: var(--muted); font-size: 9px; font-weight: 800; }.fusion-badge.hypothesis { background: rgba(85,184,223,.12); color: var(--cyan); }.fusion-badge.actionable { background: rgba(112,207,133,.12); color: var(--green); }
.source-chips { display: flex; flex-wrap: wrap; gap: 5px; }.source-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 6px; border: 1px solid var(--line); border-radius: 3px; color: var(--muted); font-size: 9px; text-decoration: none; }.source-chip:hover { border-color: var(--teal); color: var(--teal); }.source-chip svg { width: 11px; height: 11px; }
.method-flow { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 17px; border: 1px solid var(--line); background: var(--surface); }.method-flow article { display: grid; grid-template-columns: 30px 1fr; gap: 9px; padding: 16px; border-right: 1px solid var(--line); }.method-flow article:last-child { border-right: 0; }.method-flow article > span { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid var(--teal); border-radius: 50%; color: var(--teal); font-weight: 900; }.method-flow p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.method-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }.method-panel, .data-contract { padding: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }.method-panel h3, .data-contract h3 { margin: 0 0 13px; }.method-note, .data-contract p { color: var(--muted); font-size: 11px; }.method-dimension { display: grid; grid-template-columns: 130px 1fr 34px; align-items: center; gap: 10px; min-height: 37px; border-bottom: 1px solid var(--line); }.method-dimension i { height: 5px; border-radius: 4px; background: var(--surface-3); overflow: hidden; }.method-dimension i::after { content: ""; display: block; width: 80%; height: 100%; background: var(--teal); }.risk-dictionary { margin: 0; }.risk-dictionary div { padding: 10px 0; border-bottom: 1px solid var(--line); }.risk-dictionary dt { font-weight: 800; }.risk-dictionary dd { margin: 3px 0 0; color: var(--muted); font-size: 11px; }.data-contract { margin-top: 12px; }.data-contract code { display: block; padding: 12px; overflow-x: auto; background: #0b0f14; color: #b9c9d5; font-size: 11px; white-space: nowrap; }

.drawer-backdrop { position: fixed; inset: 0; z-index: 50; display: none; background: rgba(4,7,10,.62); }.drawer-backdrop.open { display: block; }
.detail-drawer { position: fixed; inset: 0 0 0 auto; z-index: 51; width: min(620px, 96vw); padding: 20px; overflow-y: auto; background: var(--surface); border-left: 1px solid var(--line); box-shadow: var(--shadow); transform: translateX(102%); transition: transform .22s ease; }.detail-drawer.open { transform: translateX(0); }.drawer-close { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 5px; background: var(--surface-2); color: var(--muted); cursor: pointer; }
.drawer-hero { display: grid; grid-template-columns: 82px 1fr; gap: 14px; padding: 23px 40px 16px 0; border-bottom: 1px solid var(--line); }.drawer-image { width: 82px; height: 82px; border-radius: 6px; }.drawer-hero h2 { margin: 3px 0 5px; font-size: 24px; line-height: 1.2; text-transform: capitalize; }.drawer-hero p { margin: 0; color: var(--muted); }.verdict { display: inline-block; padding: 3px 8px; border-radius: 3px; background: rgba(112,207,133,.12); color: var(--green); font-size: 10px; font-weight: 850; text-transform: uppercase; }.verdict.watch { background: rgba(233,184,92,.12); color: var(--amber); }.verdict.skip { background: rgba(236,123,104,.12); color: var(--coral); }
.evidence-meta { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 0; border-bottom: 1px solid var(--line); }.evidence-meta span { display: inline-flex; align-items: center; gap: 5px; padding: 3px 7px; border: 1px solid var(--line); border-radius: 3px; color: var(--muted); font-size: 10px; }.evidence-meta span:first-child { color: var(--teal); }.evidence-meta svg { width: 12px; height: 12px; }
.drawer-score { display: grid; grid-template-columns: 140px 1fr; gap: 16px; padding: 17px 0; border-bottom: 1px solid var(--line); }.score-ring { position: relative; width: 140px; height: 140px; }.score-ring canvas { width: 100% !important; height: 100% !important; }.score-ring span { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; font-size: 28px; font-weight: 900; }.score-ring small { display: block; color: var(--muted); font-size: 9px; font-weight: 500; }.drawer-dimensions { display: grid; align-content: center; gap: 6px; }
.drawer-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 14px 0; }.drawer-kpis div { padding: 10px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface-2); }.drawer-kpis span, .drawer-kpis strong { display: block; }.drawer-kpis span { color: var(--muted); font-size: 9px; }.drawer-kpis strong { margin-top: 2px; font-size: 15px; }
.drawer-section { padding: 15px 0; border-top: 1px solid var(--line); }.drawer-section h3 { margin: 0 0 9px; font-size: 14px; }.trend-canvas { height: 190px; }.trend-canvas canvas { width: 100% !important; height: 100% !important; }.drawer-risk-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }.drawer-risk-grid div { padding: 10px; border-left: 3px solid var(--green); background: var(--surface-2); }.drawer-risk-grid div.medium { border-left-color: var(--amber); }.drawer-risk-grid div.high { border-left-color: var(--coral); }.drawer-risk-grid span, .drawer-risk-grid strong { display: block; }.drawer-risk-grid span { color: var(--muted); font-size: 9px; }
.evidence-list { border-top: 1px solid var(--line); }.evidence-list a { min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 9px; min-height: 54px; padding: 7px 0; border-bottom: 1px solid var(--line); color: var(--text); text-decoration: none; }.evidence-list a:hover strong { color: var(--teal); }.evidence-list img { width: 38px; height: 38px; object-fit: contain; border-radius: 4px; background: #fff; }.evidence-list div { min-width: 0; }.evidence-list strong, .evidence-list small { display: block; }.evidence-list strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.evidence-list small { color: var(--muted); font-size: 9px; }.evidence-list > a > span { min-width: 62px; font-weight: 800; text-align: right; }
.drawer-actions { display: flex; gap: 7px; padding-top: 15px; }.drawer-actions button, .drawer-actions a { flex: 1; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border-radius: 5px; font-weight: 800; text-decoration: none; }

.compare-bar { position: fixed; z-index: 40; left: calc(224px + 24px); right: 24px; bottom: 18px; min-height: 58px; display: none; align-items: center; justify-content: space-between; gap: 18px; padding: 8px 12px; border: 1px solid var(--teal); border-radius: 7px; background: var(--surface-2); box-shadow: var(--shadow); }.compare-bar.open { display: flex; }.compare-bar > div { display: flex; align-items: center; gap: 9px; }.compare-bar span { color: var(--muted); font-size: 10px; }.compare-bar button:not(.command-button) { border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.compare-dialog { width: min(930px, 94vw); max-height: 86vh; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--text); box-shadow: var(--shadow); }.compare-dialog::backdrop { background: rgba(4,7,10,.7); }.dialog-head { display: flex; align-items: center; justify-content: space-between; padding: 17px; border-bottom: 1px solid var(--line); }.compare-table { width: 100%; border-collapse: collapse; }.compare-table th, .compare-table td { padding: 10px; border-bottom: 1px solid var(--line); text-align: center; }.compare-table th:first-child, .compare-table td:first-child { color: var(--muted); text-align: left; }.compare-table th { text-transform: capitalize; }
.toast { position: fixed; z-index: 100; left: 50%; bottom: 24px; display: none; transform: translateX(-50%); padding: 9px 13px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface-3); color: var(--text); box-shadow: var(--shadow); }.toast.show { display: block; }

/* Extended insight windows: breakout mechanics and strategic opportunity lenses. */
.insight-date { align-self: flex-start; padding: 6px 9px; border-left: 3px solid var(--lime); background: var(--surface-2); color: var(--muted); font-size: 10px; font-weight: 800; }
.breakout-hero { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); min-height: 420px; margin-top: 16px; border: 1px solid var(--line); background: var(--surface); }
.breakout-copy { align-content: center; padding: 38px; }.breakout-copy > span { color: var(--forest); font-size: 11px; font-weight: 900; }.breakout-copy h3 { margin: 13px 0 2px; font-size: 40px; line-height: 1.06; }.breakout-copy h4 { margin: 0; color: var(--forest); font-size: 24px; }.breakout-copy > p { max-width: 720px; margin: 20px 0 0; color: var(--muted); font-size: 14px; line-height: 1.8; }.rule-change { display: grid; grid-template-columns: 92px 1fr; gap: 12px; margin-top: 25px; padding: 15px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.rule-change b { color: var(--forest); }.rule-change span { line-height: 1.65; }
.breakout-hero figure { min-width: 0; margin: 0; background: #e5eae7; }.breakout-hero img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }.breakout-hero figcaption { padding: 8px 11px; color: var(--muted); background: var(--surface-2); font-size: 9px; }.image-empty { min-height: 380px; display: grid; place-items: center; color: var(--muted); }
.breakout-metrics { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); border-top: 0; background: var(--sidebar); color: #fff; }.breakout-metrics article { min-height: 92px; padding: 18px 20px; border-right: 1px solid #3a4a43; }.breakout-metrics article:last-child { border-right: 0; }.breakout-metrics strong, .breakout-metrics span { display: block; }.breakout-metrics strong { color: var(--lime); font-size: 23px; font-variant-numeric: tabular-nums; }.breakout-metrics span { margin-top: 6px; color: #bbc8c1; font-size: 10px; }
.breakout-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(270px,.7fr); gap: 12px; margin-top: 12px; }.insight-panel { border: 1px solid var(--line); background: var(--surface); }.insight-panel.compact + .insight-panel.compact { margin-top: 12px; }.factor-track article { display: grid; grid-template-columns: 58px 1fr; min-height: 158px; border-bottom: 1px solid var(--line); }.factor-track article:last-child { border-bottom: 0; }.factor-track article > span { display: grid; place-items: center; color: var(--forest); background: color-mix(in srgb,var(--lime) 24%,var(--surface)); font-size: 27px; font-weight: 900; }.factor-track article > div { padding: 18px; }.factor-track h4 { margin: 0; font-size: 17px; }.factor-track p { margin: 7px 0 13px; color: var(--muted); line-height: 1.65; }.factor-track dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }.factor-track dl div { padding-left: 10px; border-left: 2px solid var(--line); }.factor-track dt { color: var(--forest); font-size: 9px; font-weight: 900; }.factor-track dd { margin: 3px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.compact-list { padding: 8px 15px 14px; }.compact-list p { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 9px 0; border-bottom: 1px solid var(--line); color: var(--muted); line-height: 1.55; }.compact-list p:last-child { border-bottom: 0; }.compact-list p > i:not(svg) { width: 6px; height: 6px; flex: 0 0 auto; margin-top: 6px; border-radius: 50%; background: var(--lime); }.compact-list svg { width: 14px; height: 14px; flex: 0 0 auto; margin-top: 2px; color: var(--forest); }.warning-list svg { color: var(--coral); }.insight-copy { margin: 0; padding: 16px; color: var(--muted); line-height: 1.75; }
.replication-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 12px; }.source-band { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 12px; padding: 14px 16px; border: 1px solid var(--line); background: var(--surface); }.source-band strong, .source-band span { display: block; }.source-band span { margin-top: 2px; color: var(--muted); font-size: 9px; }
.strategic-lead { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr); margin-top: 16px; border: 1px solid var(--line); background: var(--surface); }.strategic-lead > div { padding: 27px; }.strategic-lead span { color: var(--forest); font-size: 10px; font-weight: 900; }.strategic-lead h3 { max-width: 930px; margin: 9px 0 0; font-size: 25px; line-height: 1.42; }.strategic-lead aside { padding: 25px; border-left: 1px solid var(--line); background: var(--sidebar); color: #fff; }.strategic-lead aside span { color: var(--lime); }.strategic-lead aside p { margin: 9px 0 0; color: #d2ddd7; line-height: 1.65; }
.lens-strip { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }.lens-strip span { padding: 5px 8px; border: 1px solid var(--line); background: var(--surface); color: var(--muted); font-size: 9px; font-weight: 800; }.strategic-queue { margin-top: 18px; }.strategic-list { border: 1px solid var(--line); background: var(--surface); }.strategic-row { display: grid; grid-template-columns: 76px minmax(0,1fr); border-bottom: 1px solid var(--line); }.strategic-row:last-child { border-bottom: 0; }.strategic-rank { min-height: 260px; display: grid; align-content: start; justify-items: center; padding-top: 20px; border-right: 1px solid var(--line); background: var(--surface-2); }.strategic-rank span { color: var(--forest); font-size: 11px; font-weight: 900; }.strategic-rank strong { margin-top: 8px; font-size: 27px; font-variant-numeric: tabular-nums; }.strategic-rank small { color: var(--muted); }.strategic-main { min-width: 0; padding: 18px; }.strategic-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }.strategic-title span { color: var(--forest); font-size: 9px; font-weight: 850; }.strategic-title h4 { margin: 4px 0 0; font-size: 18px; }.strategic-title img { width: 92px; height: 72px; flex: 0 0 auto; object-fit: contain; border: 1px solid var(--line); background: #fff; }.strategic-main > p { margin: 12px 0 0; color: var(--muted); line-height: 1.55; }.strategic-main p b { margin-right: 8px; color: var(--text); }.strategic-signal { padding-left: 10px; border-left: 3px solid var(--lime); }.strategic-meta { display: grid; grid-template-columns: 110px 110px 120px 1fr; margin-top: 13px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.strategic-meta span { min-height: 56px; padding: 9px 11px; border-right: 1px solid var(--line); color: var(--text); font-weight: 800; font-variant-numeric: tabular-nums; }.strategic-meta span:last-child { border-right: 0; }.strategic-meta b { display: block; margin-bottom: 3px; color: var(--muted); font-size: 8px; }.strategic-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }.strategic-actions p { margin: 12px 0 0; padding: 10px; background: var(--surface-2); color: var(--muted); line-height: 1.55; }.strategic-actions .risk-copy { border-left: 3px solid var(--coral); }
.main-nav { overflow-y: auto; scrollbar-width: none; }.main-nav::-webkit-scrollbar { display: none; }

@media (max-width: 1180px) {
  .sidebar { width: 76px; align-items: center; }.brand { padding: 0; }.brand div, .nav-item span, .nav-item b, .scope-card { display: none; }.main-nav { width: 100%; }.nav-item { grid-template-columns: 1fr; place-items: center; padding: 0; }.theme-button { margin-top: auto; }.workspace { margin-left: 76px; }.compare-bar { left: 100px; }
  .explorer-layout { grid-template-columns: 226px minmax(0,1fr); }.niche-cards { grid-template-columns: 1fr 1fr; }
  .category-monitor-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.opportunity-grid, .product-insight-grid { grid-template-columns: 1fr 1fr; }.coverage-layout, .report-layout { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .topbar { flex-wrap: wrap; }.page-title { flex: 1; }.top-actions { width: 100%; }.global-search { flex: 1; width: auto; }
  .kpi-grid { grid-template-columns: repeat(3, 1fr); }.kpi-grid article:nth-child(3) { border-right: 0; }.kpi-grid article:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .filter-panel { position: fixed; inset: 0 auto 0 76px; z-index: 45; width: min(310px, calc(100vw - 76px)); max-height: none; border-radius: 0; transform: translateX(-110%); transition: transform .2s ease; }.filter-panel.open { transform: translateX(0); }.filter-close, .filter-open { display: inline-grid; }
  .explorer-layout { grid-template-columns: 1fr; }.category-monitor-grid { grid-template-columns: 1fr 1fr; }.opportunity-summary, .coverage-summary, .report-summary, .product-monitor-summary { grid-template-columns: 1fr 1fr; }.method-flow { grid-template-columns: 1fr 1fr; }.method-flow article:nth-child(even) { border-right: 0; }.method-flow article { border-bottom: 1px solid var(--line); }.method-flow article:last-child { border-bottom: 0; }
  .breakout-hero, .breakout-layout, .strategic-lead { grid-template-columns: 1fr; }.breakout-hero figure { order: -1; }.breakout-hero img { min-height: 300px; max-height: 430px; }.replication-grid { grid-template-columns: 1fr 1fr; }.strategic-lead aside { border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 640px) {
  .sidebar { display: none; }.sidebar.open { width: min(82vw, 300px); display: flex; align-items: stretch; box-shadow: var(--shadow); }.sidebar.open .brand { padding: 0 8px; }.sidebar.open .brand div, .sidebar.open .nav-item span, .sidebar.open .nav-item b, .sidebar.open .scope-card { display: block; }.sidebar.open .main-nav { width: 100%; }.sidebar.open .nav-item { grid-template-columns: 20px 1fr auto; place-items: initial; align-items: center; padding: 8px 11px; }.sidebar.open .theme-button { margin-top: auto; }.workspace { margin-left: 0; }.topbar { padding: 10px 14px; }.mobile-menu { display: inline-grid; }.command-button span { display: none; }
  .view { padding: 0 14px 25px; }.status-strip { align-items: flex-start; flex-direction: column; gap: 6px; padding: 10px 0; }.status-note { align-items: flex-start; }
  .kpi-grid { grid-template-columns: 1fr 1fr; }.kpi-grid article, .kpi-grid article:nth-child(3) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.kpi-grid article:nth-child(even) { border-right: 0; }.kpi-grid article:nth-last-child(-n+2) { border-bottom: 0; }
  .results-toolbar, .view-header { align-items: flex-start; flex-direction: column; }.result-tabs { max-width: 100%; overflow-x: auto; }.result-actions, .report-select { width: 100%; }.result-actions { justify-content: space-between; }
  .filter-panel { left: 0; width: min(88vw, 330px); }.niche-cards { grid-template-columns: 1fr; }.category-monitor-grid, .opportunity-grid, .method-layout, .product-insight-grid { grid-template-columns: 1fr; }.opportunity-summary, .coverage-summary, .report-summary, .product-monitor-summary { grid-template-columns: 1fr 1fr; }.method-flow { grid-template-columns: 1fr; }.method-flow article { border-right: 0; border-bottom: 1px solid var(--line); }.method-flow article:last-child { border-bottom: 0; }.backlog-row { grid-template-columns: minmax(0,1fr) 60px; }.backlog-row > span { display: none; }.report-metric-grid { grid-template-columns: 1fr 1fr; }.report-metric-grid div:nth-child(2) { border-right: 0; }.report-metric-grid div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.report-notes p { grid-template-columns: 1fr; }.product-monitor-toolbar, .product-monitor-meta { align-items: flex-start; flex-direction: column; }
  .watch-row { grid-template-columns: 1fr 1fr 1fr; }.watch-row > strong { grid-column: 1 / -1; }.watch-row span:nth-of-type(n+3) { display: none; }
  .compare-bar { left: 14px; right: 14px; bottom: 12px; }.compare-bar span { display: none; }.compare-bar > div { gap: 5px; }
  .drawer-score { grid-template-columns: 1fr; }.score-ring { margin: 0 auto; }.drawer-kpis { grid-template-columns: 1fr 1fr; }.drawer-risk-grid { grid-template-columns: 1fr; }
  .breakout-copy { padding: 24px 18px; }.breakout-copy h3 { font-size: 31px; }.breakout-copy h4 { font-size: 20px; }.breakout-metrics { grid-template-columns: 1fr 1fr; }.breakout-metrics article:nth-child(2) { border-right: 0; }.breakout-metrics article:nth-child(-n+2) { border-bottom: 1px solid #3a4a43; }.factor-track dl, .replication-grid, .strategic-actions { grid-template-columns: 1fr; }.source-band { align-items: flex-start; flex-direction: column; }.strategic-lead h3 { font-size: 21px; }.strategic-row { grid-template-columns: 52px minmax(0,1fr); }.strategic-rank { min-height: 100%; }.strategic-title img { width: 72px; height: 58px; }.strategic-meta { grid-template-columns: 1fr 1fr; }.strategic-meta span:nth-child(2) { border-right: 0; }.strategic-meta span:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; } }
.product-status.candidate { background: #7b4f9d; color: #fff; }
.product-status.chart-entry { background: #0f766e; color: #fff; }
.product-status.chart-reentry { background: #3f6f54; color: #fff; }
.product-status.rank-gain { background: #146c94; color: #fff; }
.product-status.rank-loss { background: #8a6422; color: #fff; }
.product-status.chart-dropped { background: #8b3d48; color: #fff; }

/* Direction C: discovery-first opportunity signal stream. */
:root { --lime: #b8d93d; --forest: #19634b; }
body { background: var(--bg); font-family: "Segoe UI", "Microsoft YaHei", sans-serif; }

.sidebar { width: 78px; align-items: center; padding: 15px 0; background: var(--sidebar); border-right: 1px solid #26352e; }
.brand { width: 100%; height: 40px; justify-content: center; padding: 0; }
.brand-mark { width: 38px; height: 38px; border-radius: 6px; background: var(--lime); color: #18221d; }
.brand > div { display: none; }
.main-nav { width: 100%; gap: 11px; margin-top: 44px; }
.nav-item { position: relative; width: 44px; min-height: 44px; grid-template-columns: 1fr; place-items: center; gap: 0; margin: 0 auto; padding: 0; border-radius: 6px; color: #8ea097; }
.nav-item:hover, .nav-item.active { background: #304039; color: #fff; }
.nav-item svg { width: 18px; height: 18px; }
.nav-item span { position: absolute; left: 58px; z-index: 60; width: max-content; max-width: 180px; padding: 6px 9px; border: 1px solid #304039; border-radius: 4px; background: #14211b; color: #fff; font-size: 12px; opacity: 0; pointer-events: none; transform: translateX(-4px); transition: opacity .14s ease, transform .14s ease; }
.nav-item:hover span, .nav-item:focus-visible span { opacity: 1; transform: translateX(0); }
.nav-item b { position: absolute; top: -3px; right: -5px; min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border: 2px solid var(--sidebar); border-radius: 10px; background: var(--lime); color: #18221d; font-size: 8px; }
.scope-card { display: none; }
.theme-button { margin: auto auto 0; border-color: #304039; color: #8ea097; }

.workspace { margin-left: 78px; }
.topbar { min-height: 64px; padding: 9px 24px; border-bottom-color: var(--line); background: color-mix(in srgb, var(--surface) 96%, transparent); backdrop-filter: blur(10px); }
.page-title p { color: var(--forest); }
.page-title h1 { font-size: 19px; }
.global-search { width: min(310px, 28vw); border: 0; border-bottom: 1px solid var(--text); border-radius: 0; background: transparent; }
.global-search:focus-within { border-bottom-color: var(--forest); }
.icon-button { border-radius: 5px; }
.command-button { border-color: var(--forest); background: var(--forest); color: #fff; }
.command-button:hover { background: #124b39; }
.view { padding: 0 24px 30px; }

.signal-intro { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 28px; align-items: end; padding: 25px 0 18px; border-bottom: 1px solid var(--line); }
.signal-intro-copy > p { margin: 0 0 8px; color: var(--forest); font-size: 11px; font-weight: 900; }
.signal-intro h2 { max-width: 820px; margin: 0; font-family: Georgia, "Times New Roman", "SimSun", serif; font-size: 37px; font-weight: 500; line-height: 1.13; text-wrap: pretty; }
.signal-intro h2 span { color: var(--forest); }
.signal-intro .snapshot { margin-top: 17px; }
.signal-intro .status-note { margin-top: 7px; }
.live-dot { background: var(--lime); box-shadow: 0 0 0 4px rgba(184, 217, 61, .18); }
.signal-intro-stat { align-self: end; padding: 7px 0 7px 15px; border-left: 3px solid var(--lime); }
.signal-intro-stat span, .signal-intro-stat strong, .signal-intro-stat small { display: block; }
.signal-intro-stat span { color: var(--muted); font-size: 11px; }
.signal-intro-stat strong { margin: 1px 0; font-size: 32px; line-height: 1.1; }
.signal-intro-stat small { color: var(--forest); font-size: 11px; font-weight: 800; }

.kpi-grid { margin: 0 0 14px; border-width: 0 0 1px; border-radius: 0; background: transparent; }
.kpi-grid article { padding: 11px 14px; background: transparent; }
.kpi-grid strong { font-size: 21px; }
.kpi-grid small { font-size: 9px; }

.explorer-layout { grid-template-columns: minmax(0, 1fr) 318px; gap: 16px; }
.filter-panel { position: fixed; top: 64px; bottom: 0; left: 78px; z-index: 45; width: 330px; max-height: none; border-width: 0 1px 0 0; border-radius: 0; box-shadow: var(--shadow); transform: translateX(calc(-100% - 80px)); transition: transform .2s ease; }
.filter-panel.open { transform: translateX(0); }
.filter-close, .filter-open { display: inline-grid; }
.results-panel { min-width: 0; border: 0; border-radius: 0; background: transparent; }
.results-toolbar { min-height: 52px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.result-tabs { gap: 6px; overflow-x: auto; scrollbar-width: none; }
.result-tabs button { flex: none; min-height: 32px; padding: 5px 12px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); font-size: 12px; }
.result-tabs button.active { border-color: var(--text); background: var(--text); color: #fff; }
.result-actions { flex: none; }
.view-mode { background: var(--surface); }
.niche-cards { grid-template-columns: 1fr; gap: 8px; padding: 10px 0 0; }
.niche-cards > .empty-state { border: 1px solid var(--line); background: var(--surface); }

.signal-card { min-width: 0; min-height: 148px; display: grid; grid-template-columns: 84px minmax(0, 1fr) 225px; gap: 15px; align-items: center; padding: 13px 15px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); cursor: pointer; content-visibility: auto; contain-intrinsic-size: 148px; }
.signal-card:hover { border-color: var(--forest); box-shadow: 0 8px 24px rgba(24, 34, 29, .08); }
.signal-thumb { width: 72px; height: 72px; object-fit: contain; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.signal-body { min-width: 0; }
.signal-meta { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 10px; }
.signal-meta strong { color: var(--forest); }
.signal-dot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--lime); }
.signal-dot.opening { background: #4cad90; }
.signal-dot.early, .signal-dot.quality { background: #e0a313; }
.signal-dot.watch { background: #8a958f; }
.signal-card h3 { margin: 4px 0 4px; overflow: hidden; font-family: Georgia, "Times New Roman", serif; font-size: 20px; font-weight: 500; line-height: 1.25; text-overflow: ellipsis; text-transform: capitalize; white-space: nowrap; }
.signal-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; text-wrap: pretty; }
.signal-proof { display: grid; grid-template-columns: repeat(4, minmax(64px, 1fr)); gap: 8px; margin-top: 9px; }
.signal-proof span, .signal-proof b { display: block; }
.signal-proof span { color: var(--muted); font-size: 9px; }
.signal-proof b { margin-top: 1px; color: var(--text); font-size: 13px; }
.signal-profile { min-width: 0; align-self: stretch; display: grid; align-content: center; }
.signal-profile svg { width: 100%; height: 55px; overflow: visible; }
.signal-profile .profile-base { fill: none; stroke: var(--line); }
.signal-profile .profile-line { fill: none; stroke: var(--forest); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.signal-profile circle { fill: var(--lime); stroke: var(--forest); stroke-width: 1; }
.signal-profile > small { color: var(--muted); font-size: 9px; }
.signal-card-actions { min-height: 31px; display: flex; align-items: center; justify-content: flex-end; gap: 5px; margin-top: 2px; }
.signal-card-actions > strong { margin-right: auto; color: var(--forest); font-size: 12px; }
.signal-card-actions button { width: 29px; height: 29px; display: grid; place-items: center; padding: 0; border: 0; border-bottom: 1px solid transparent; background: transparent; color: var(--muted); cursor: pointer; }
.signal-card-actions button:hover, .signal-card-actions button.saved, .signal-card-actions button.selected { color: var(--forest); }
.signal-card-actions button.detail-action { width: auto; padding: 0 2px; border-bottom-color: var(--text); color: var(--text); font-size: 11px; font-weight: 800; }
.signal-card-actions svg { width: 14px; height: 14px; }
.pagination { border-top: 0; }

.validation-queue { position: sticky; top: 80px; max-height: calc(100vh - 96px); align-self: start; overflow: auto; padding-left: 16px; border-left: 1px solid var(--line); scrollbar-width: thin; }
.validation-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 2px 0 14px; border-bottom: 1px solid var(--line); }
.validation-head h2, .validation-head p { margin: 0; }
.validation-head h2 { font-size: 16px; }
.validation-head p { margin-top: 3px; color: var(--muted); font-size: 10px; }
.validation-head > span { flex: none; color: var(--muted); font-size: 10px; }
.validation-summary { display: grid; grid-template-columns: 1fr 1fr; margin: 12px 0 4px; border: 1px solid var(--line); background: var(--surface); }
.validation-summary div { padding: 9px; border-right: 1px solid var(--line); }
.validation-summary div:last-child { border-right: 0; }
.validation-summary span, .validation-summary strong { display: block; }
.validation-summary span { color: var(--muted); font-size: 9px; }
.validation-summary strong { margin-top: 1px; font-size: 18px; }
.validation-list { display: grid; }
.validation-item { width: 100%; min-height: 65px; display: grid; grid-template-columns: 38px minmax(0, 1fr) 30px; align-items: center; gap: 9px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); cursor: pointer; text-align: left; }
.validation-item:hover strong { color: var(--forest); }
.validation-item img { width: 38px; height: 38px; object-fit: contain; background: #fff; }
.validation-item span { min-width: 0; }
.validation-item strong, .validation-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.validation-item strong { font-size: 11px; text-transform: capitalize; }
.validation-item small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.validation-item > b { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid var(--forest); border-radius: 50%; color: var(--forest); font-size: 10px; }
.validation-method { margin-top: 15px; padding: 12px; border-radius: 5px; background: var(--surface-2); }
.validation-method strong { font-size: 12px; }
.validation-method p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.queue-start { width: 100%; height: 38px; margin-top: 12px; border: 0; border-radius: 5px; background: var(--text); color: #fff; font-weight: 800; cursor: pointer; }

.view-header h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.opportunity-summary article, .coverage-summary article { border-left: 0; border-bottom: 2px solid var(--forest); }
.category-monitor-card, .opportunity-card, .product-insight-card, .report-panel, .coverage-panel, .method-panel, .data-contract { border-radius: 6px; }
.compare-bar { left: 102px; }

@media (max-width: 1280px) {
  .explorer-layout { grid-template-columns: minmax(0, 1fr) 282px; }
  .signal-card { grid-template-columns: 76px minmax(0, 1fr) 190px; }
  .signal-thumb { width: 66px; height: 66px; }
  .signal-proof { grid-template-columns: 1fr 1fr; }
  .kpi-grid { grid-template-columns: repeat(3, 1fr); }
  .kpi-grid article:nth-child(3) { border-right: 0; }
  .kpi-grid article:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 1040px) {
  .explorer-layout { grid-template-columns: 1fr; }
  .validation-queue { position: static; max-height: none; padding: 17px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .validation-list { grid-template-columns: 1fr 1fr; column-gap: 16px; }
  .signal-intro { grid-template-columns: minmax(0, 1fr) 220px; }
}

@media (max-width: 760px) {
  .topbar { flex-wrap: wrap; }
  .top-actions { width: 100%; }
  .global-search { flex: 1; width: auto; }
  .signal-intro { grid-template-columns: 1fr; gap: 16px; }
  .signal-intro h2 { font-size: 32px; }
  .signal-card { grid-template-columns: 68px minmax(0, 1fr); }
  .signal-thumb { width: 60px; height: 60px; }
  .signal-profile { grid-column: 2; }
  .validation-list { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .sidebar { display: none; }
  .sidebar.open { width: min(82vw, 300px); display: flex; align-items: stretch; padding: 15px 13px; box-shadow: var(--shadow); }
  .sidebar.open .brand { justify-content: flex-start; padding: 0 8px; }
  .sidebar.open .brand > div { display: block; }
  .sidebar.open .main-nav { margin-top: 25px; }
  .sidebar.open .nav-item { width: 100%; grid-template-columns: 20px 1fr auto; place-items: initial; align-items: center; gap: 10px; margin: 0; padding: 8px 11px; }
  .sidebar.open .nav-item span { position: static; width: auto; padding: 0; border: 0; background: transparent; opacity: 1; transform: none; }
  .sidebar.open .nav-item b { position: static; min-width: 20px; height: auto; display: block; padding: 1px 6px; border: 0; background: #304039; color: #dfe8e3; }
  .sidebar.open .scope-card { display: block; }
  .workspace { margin-left: 0; }
  .topbar { padding: 10px 14px; }
  .mobile-menu { display: inline-grid; }
  .view { padding: 0 14px 24px; }
  .filter-panel { top: 0; left: 0; width: min(88vw, 330px); }
  .filter-panel:not(.open) { transform: translateX(-110%); }
  .signal-intro { padding-top: 19px; }
  .signal-intro h2 { font-size: 26px; line-height: 1.12; }
  .signal-intro-copy > p { font-size: 9px; }
  .signal-intro .snapshot { margin-top: 12px; }
  .signal-intro .status-note { display: none; }
  .signal-intro-stat { padding-left: 12px; }
  .signal-intro-stat strong { font-size: 28px; }
  .kpi-grid { grid-template-columns: repeat(6, 126px); overflow-x: auto; scrollbar-width: thin; }
  .kpi-grid article, .kpi-grid article:nth-child(3), .kpi-grid article:nth-child(even), .kpi-grid article:nth-last-child(-n+2) { border-right: 1px solid var(--line); border-bottom: 0; }
  .kpi-grid article:last-child { border-right: 0; }
  .results-toolbar { align-items: flex-start; flex-direction: column; }
  .result-actions { width: 100%; justify-content: space-between; }
  .signal-card { grid-template-columns: 56px minmax(0, 1fr); gap: 10px; padding: 12px; }
  .signal-thumb { width: 50px; height: 50px; }
  .signal-meta { flex-wrap: wrap; gap: 4px 7px; }
  .signal-card h3 { font-size: 18px; }
  .signal-card p { font-size: 11px; }
  .signal-proof { grid-template-columns: 1fr 1fr; }
  .signal-profile { grid-column: 1 / -1; }
  .validation-queue { padding-top: 14px; }
  .compare-bar { left: 14px; }
}

/* Keep product imagery visually proportional without returning to large source files. */
.product-insight-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.product-image { height: 132px; overflow: hidden; padding: 6px 8px; }
.product-image img { width: min(208px, 92%); height: 120px; object-fit: contain; }
.product-card-body { padding: 10px; }
.product-card-body h3 { margin-top: 4px; }

@media (max-width: 1320px) {
  .product-insight-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1040px) {
  .product-insight-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .product-insight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .product-insight-grid { grid-template-columns: 1fr; gap: 8px; }
  .product-insight-card { display: block; min-height: 0; }
  .product-image { height: 152px; min-height: 0; padding: 8px 12px; border-right: 0; border-bottom: 1px solid var(--line); }
  .product-image img { width: min(228px, 82%); height: 136px; }
  .product-status { top: 7px; left: 7px; }
  .product-card-body { min-width: 0; padding: 10px; }
}

/* Embedded six-node Amazon Automotive New Releases monitor. */
.special-watch-section { margin-top: 18px; }
.special-watch-heading { align-items: center; }
.special-watch-heading > span { font-variant-numeric: tabular-nums; }
.view-header-controls { display: flex; align-items: flex-end; gap: 10px; }
.comparison-window-control { margin: 0; padding: 0; border: 0; }
.comparison-window-control legend, .comparison-window-control + .report-select > span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 9px; font-weight: 750; }
.comparison-window-control > div { display: flex; height: 36px; padding: 3px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
.comparison-window-control button { min-width: 62px; min-height: 28px; padding: 4px 10px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); cursor: pointer; font-size: 10px; font-weight: 750; }
.comparison-window-control button:hover { color: var(--text); }
.comparison-window-control button.active { background: var(--forest); color: #fff; }
.comparison-window-control button:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.special-watch-summary { display: grid; grid-template-columns: minmax(210px, 1.5fr) repeat(4, minmax(112px, 1fr)); border-bottom: 1px solid var(--line); }
.special-watch-summary article { min-width: 0; padding: 14px 16px; border-right: 1px solid var(--line); background: var(--surface); }
.special-watch-summary article:last-child { border-right: 0; }
.special-watch-summary article.primary { background: color-mix(in srgb, var(--lime) 11%, var(--surface)); }
.special-watch-summary span, .special-watch-summary strong, .special-watch-summary small { display: block; }
.special-watch-summary span { color: var(--muted); font-size: 10px; }
.special-watch-summary strong { margin: 2px 0; font-size: 25px; font-variant-numeric: tabular-nums; }
.special-watch-summary article.primary strong { color: var(--forest); font-size: 31px; }
.special-watch-summary small { color: var(--muted); font-size: 9px; }
.special-watch-layout { min-height: 510px; display: grid; grid-template-columns: 232px minmax(0, 1fr); border-bottom: 1px solid var(--line); }
.special-watch-nodes { padding: 10px 12px 12px 0; border-right: 1px solid var(--line); }
.special-watch-node-list { display: grid; gap: 4px; }
.special-watch-node { width: 100%; min-height: 58px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 8px 9px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--text); cursor: pointer; text-align: left; }
.special-watch-node:hover, .special-watch-node.active { border-color: var(--line); background: var(--surface-2); }
.special-watch-node.active { box-shadow: inset 3px 0 var(--lime); }
.special-watch-node strong, .special-watch-node small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.special-watch-node strong { font-size: 11px; }
.special-watch-node small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.special-watch-node b { min-width: 34px; font-size: 14px; font-variant-numeric: tabular-nums; text-align: right; }
.special-watch-stream { min-width: 0; padding-left: 14px; }
.special-watch-toolbar { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.special-watch-toolbar > span { flex: none; color: var(--muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.special-watch-table-wrap { max-height: 560px; overflow: auto; scrollbar-width: thin; }
.special-watch-table { width: 100%; min-width: 920px; border-collapse: collapse; font-size: 11px; }
.special-watch-table th { position: sticky; top: 0; z-index: 2; height: 38px; padding: 0 10px; border-bottom: 1px solid var(--line); background: var(--surface-2); color: var(--muted); font-weight: 700; text-align: left; white-space: nowrap; }
.special-watch-table th:nth-child(3), .special-watch-table th:nth-child(4) { text-align: center; }
.special-watch-table th:last-child { text-align: right; }
.special-watch-table td { height: 58px; padding: 7px 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.special-watch-table tbody tr:hover { background: var(--surface-2); }
.special-event { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; white-space: nowrap; }
.special-event i { width: 15px; height: 15px; }
.special-event.new, .special-event.rise { color: var(--forest); }
.special-event.drop { color: var(--amber); }
.special-event.exit { color: var(--coral); }
.special-event.current { color: var(--muted); }
.special-product-cell { min-width: 240px; }
.special-product-cell strong, .special-product-cell small { display: block; }
.special-product-cell strong { max-width: 390px; overflow: hidden; color: var(--text); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.special-product-cell small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.rank-trajectory { position: relative; width: 156px; height: 20px; margin: 0 auto; }
.rank-trajectory::before { content: ""; position: absolute; top: 9px; right: 0; left: 0; height: 2px; background: var(--line); }
.rank-trajectory .rank-segment { position: absolute; top: 9px; left: var(--start); width: var(--width); min-width: 3px; height: 2px; background: var(--forest); }
.rank-trajectory.drop .rank-segment { background: var(--amber); }
.rank-trajectory.exit .rank-segment { background: var(--coral); }
.rank-marker { position: absolute; top: 5px; left: var(--position); width: 10px; height: 10px; border: 2px solid var(--surface); border-radius: 50%; background: var(--muted); transform: translateX(-50%); box-shadow: 0 0 0 1px var(--line); }
.rank-marker.current { background: var(--lime); box-shadow: 0 0 0 1px var(--forest); }
.rank-trajectory.drop .rank-marker.current { background: var(--amber); }
.rank-copy { text-align: center; white-space: nowrap; }
.rank-copy strong, .rank-copy small { display: block; font-variant-numeric: tabular-nums; }
.rank-copy strong { font-size: 12px; }
.rank-copy small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.trend-confidence-line { min-width: 96px; }
.trend-confidence-line span, .trend-confidence { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.trend-confidence-line span i, .trend-confidence i { width: 7px; height: 7px; flex: none; border-radius: 50%; background: currentColor; }
.trend-confidence-line small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; font-weight: 500; white-space: nowrap; }
.trend-confidence-line.high span, .trend-confidence.high { color: var(--forest); }
.trend-confidence-line.medium span, .trend-confidence.medium { color: var(--cyan); }
.trend-confidence-line.volatile span, .trend-confidence.volatile { color: var(--amber); }
.trend-confidence-line.short_term span, .trend-confidence.short_term { color: var(--muted); }
.trend-confidence-line.insufficient span, .trend-confidence.insufficient, .trend-confidence-line.current span { color: var(--muted); }
.trend-evidence { min-height: 34px; margin: 8px 0 1px; padding: 7px 8px; background: var(--surface-2); }
.trend-evidence small { display: block; margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.special-open-link { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-left: auto; border: 1px solid var(--line); border-radius: 5px; color: var(--text); }
.special-open-link:hover { border-color: var(--forest); color: var(--forest); }
.special-open-link svg { width: 14px; height: 14px; }
.special-watch-empty { padding: 46px 18px; color: var(--muted); text-align: center; }
.explorer-product-monitor { margin-top: 24px; }

/* Observation dates are a first-class part of the four-window workspace. */
.update-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:0; border-bottom:1px solid var(--line); margin:0 24px; }
.update-window { border:0; border-right:1px solid var(--line); background:transparent; text-align:left; padding:12px 16px; min-width:0; cursor:pointer; }
.update-window span,.update-window strong,.update-window small { display:block; }
.update-window span { color:var(--muted); font-size:12px; }
.update-window strong { font-size:14px; font-variant-numeric:tabular-nums; margin:3px 0; }
.update-window small { font-size:11px; color:var(--green); }
.update-window.stale small,.update-window.partial small { color:var(--amber); }
.update-window.missing small { color:var(--coral); }
.update-window:hover,.update-window.active { background:var(--surface-2); }
.quality-link { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; background:none; border:0; padding:12px; font-size:11px; cursor:pointer; }
.quality-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid var(--line); margin:20px 0; }
.quality-summary article { padding:20px 16px; border-right:1px solid var(--line); }
.quality-summary span,.quality-summary strong { display:block; }
.quality-summary span { color:var(--muted); font-size:12px; }
.quality-summary strong { font-size:24px; font-variant-numeric:tabular-nums; margin-top:6px; }
.quality-issues article { display:flex; gap:16px; justify-content:space-between; padding:16px 0; border-bottom:1px solid var(--line); }
.quality-issues p { margin:5px 0 0; color:var(--muted); }
.quality-issues button { background:var(--surface); border:1px solid var(--line); border-radius:6px; width:44px; height:44px; flex:none; cursor:pointer; }
.quality-dates { max-width:760px; margin-bottom:24px; }
.quality-dates>div { display:grid; grid-template-columns:100px minmax(40px,1fr) 60px; gap:16px; align-items:center; padding:8px 0; }
.quality-dates meter { width:100%; height:12px; accent-color:var(--green); }
#quality-view h3 { font-size:16px; margin-top:28px; }
#quality-failures details { padding:12px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
#quality-failures p { color:var(--muted); }
.monitor-search { width:210px; max-width:100%; min-height:36px; border:1px solid var(--line); border-radius:5px; padding:6px 10px; background:var(--surface); color:var(--text); font-size:12px; }
.load-more { display:block; margin:16px auto; min-height:44px; padding:8px 24px; border:1px solid var(--line); border-radius:5px; background:var(--surface); cursor:pointer; }
.evidence-audit { padding:12px 0; border-top:1px solid var(--line); margin-top:12px; font-size:12px; }
.evidence-audit summary { color:var(--amber); cursor:pointer; }
.evidence-audit p,.evidence-audit li,.evidence-note { color:var(--muted); line-height:1.7; }
.strategic-scan-audit { min-width:0; padding:20px 18px; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.strategic-scan-audit h3 { margin:0 0 10px; font-size:16px; line-height:1.5; }
.strategic-scan-audit > p { margin:0 0 16px; color:var(--muted); font-size:13px; line-height:1.7; }
.strategic-scan-audit .evidence-audit { font-size:13px; }
.strategic-scan-audit .evidence-audit summary { padding:5px 0; line-height:1.6; }
.strategic-scan-audit a,.breakout-hero figcaption a,.strategic-image-caption a { color:var(--green); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.strategic-scan-audit a { display:inline-block; min-height:36px; padding:8px 0; }
.strategic-scan-audit a:hover,.breakout-hero figcaption a:hover,.strategic-image-caption a:hover { color:var(--text); }
.strategic-main > .strategic-image-caption { margin:10px 0 14px; color:var(--muted); font-size:12px; line-height:1.7; }
.evidence-note { width:100%; font-size:12px; }
.economics-calculator { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.economics-calculator summary { font-size:12px; cursor:pointer; }
.economics-inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:16px 0; }
.economics-inputs label { font-size:12px; color:var(--muted); }
.economics-inputs input { display:block; width:100%; padding:8px; margin-top:6px; border:1px solid var(--line); border-radius:5px; background:var(--surface); color:var(--text); }
.economics-calculator output { display:block; font-size:12px; font-variant-numeric:tabular-nums; }
.source-check-line { font-size:12px; color:var(--green); }
.source-chips { flex-wrap:wrap; }
.signal-intro { min-height:0; padding-block:22px; }
.signal-intro h2 { font-family:inherit; font-size:26px; line-height:1.3; margin:8px 0 16px; }
.signal-intro-copy>p { display:none; }
.signal-meters { display:grid; gap:4px; padding:4px 0; }
.signal-meters label { display:grid; grid-template-columns:28px minmax(40px,1fr) 24px; align-items:center; gap:8px; font-size:10px; color:var(--muted); }
.signal-meters meter { width:100%; height:8px; accent-color:var(--green); }
.signal-meters b { text-align:right; font-variant-numeric:tabular-nums; font-weight:500; }
.strategic-lead { display:block; border:0; background:transparent; }
.strategic-lead>div { padding:14px 0; }
.strategic-lead h3 { font-size:16px; line-height:1.65; font-weight:600; margin:8px 0; }
.strategic-lead aside { padding:14px 16px; border:0; border-left:3px solid var(--green); background:var(--surface-2); color:var(--text); }
.strategic-lead aside p { color:var(--text); font-size:13px; line-height:1.65; }
.strategic-lead aside span { color:var(--green); }
.breakout-hero figure img { min-height:0; }
.breakout-copy h3 { overflow-wrap:anywhere; }
.breakout-hero figure img { width:100%; height:auto; max-height:320px; object-fit:contain; background:white; }
.strategic-row { min-width:0; }
.strategic-title img { width:112px; height:88px; flex:none; object-fit:contain; background:#fff; }
.strategic-main { min-width:0; overflow-wrap:anywhere; }
.strategic-meta { flex-wrap:wrap; }
.skip-link { position:fixed; left:12px; top:-70px; z-index:200; padding:12px 18px; background:var(--surface); color:var(--text); border:2px solid var(--green); }
.skip-link:focus { top:12px; }
.report-scope-controls { display:flex; flex-wrap:wrap; gap:4px; margin:16px 0 8px; }
.report-scope-controls button { min-height:44px; padding:8px 12px; border:1px solid transparent; border-radius:4px; color:var(--muted); background:transparent; cursor:pointer; font-weight:700; }
.report-scope-controls button:hover { color:var(--text); background:var(--surface-2); }
.report-scope-controls button.active { color:var(--teal); border-color:var(--line); background:var(--surface); box-shadow:inset 0 -2px var(--teal); }
.report-scope-note, .report-date-note { margin:6px 0; max-width:110ch; font-size:12px; line-height:1.6; color:var(--muted); }
.report-date-note { color:var(--text); }
.report-summary article { border:0; border-right:1px solid var(--line); border-radius:0; background:transparent; }
.report-summary article:first-child { background:var(--surface-2); border-radius:6px; border-right:0; }
.report-summary article:last-child { border-right:0; }
.report-query-panel { align-self:start; }
#report-query-list { max-height:760px; overflow-y:auto; scrollbar-width:thin; }
.report-query-row { min-height:82px; }
.report-query-row.selected { background:var(--surface-2); box-shadow:inset 3px 0 var(--teal); }
.report-query-row small { font-size:11px; text-transform:none; }
.report-query-row > span { color:var(--text); font-variant-numeric:tabular-nums; }
.report-query-row > span small { font-size:9px; font-weight:400; }
.report-evidence-head { padding:16px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.report-evidence-head > span { color:var(--muted); font-size:12px; }
.report-evidence-head h3 { margin:8px 0; font-size:20px; }
.report-evidence-head p, .report-evidence-claims p { margin:8px 0; font-size:12px; line-height:1.7; }
.report-evidence-claims { padding:0 16px 16px; overflow-wrap:anywhere; }
.report-evidence-claims article { padding:12px 0; border-bottom:1px solid var(--line); }
.report-evidence-claims h4 { margin:0 0 8px; font-size:14px; }
.report-evidence-claims details { margin:12px 0; color:var(--muted); }
.report-evidence-claims summary { min-height:32px; padding:5px 0; cursor:pointer; font-size:12px; }
.report-evidence-links { display:flex; flex-wrap:wrap; gap:4px; }
.report-evidence-claims a, .report-evidence-head a, .report-asin-card a { color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
.report-decision-actions { padding-top:16px; }
.report-decision-actions button { min-height:44px; }
.report-method-note { color:var(--muted); }
.report-asin-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding-top:12px; }
.report-asin-card { padding:16px; min-width:0; border:1px solid var(--line); border-radius:6px; background:var(--surface); overflow-wrap:anywhere; }
.report-asin-head { display:grid; grid-template-columns:80px minmax(0,1fr); gap:12px; align-items:center; }
.report-asin-head img { width:80px; height:72px; padding:4px; object-fit:contain; background:white; border-radius:4px; }
.report-asin-head h4 { margin:6px 0; font-size:13px; line-height:1.55; }
.report-asin-head span { color:var(--muted); font-size:11px; }
.report-asin-card p { margin:8px 0 0; color:var(--muted); font-size:11px; line-height:1.7; }
.report-asin-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:12px 0; margin:12px 0 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.report-asin-facts dt { font-size:10px; color:var(--muted); }
.report-asin-facts dd { margin:4px 0 0; font-size:15px; font-weight:700; font-variant-numeric:tabular-nums; }
.report-category-overview { margin:24px 0; padding-top:16px; border-top:1px solid var(--line); }
.report-category-overview > summary { min-height:44px; padding:8px 0; font-size:13px; cursor:pointer; }
@media (max-width:1100px) { .report-asin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
  #reports-view .report-layout { display:flex; flex-direction:column; }
  .report-query-panel { order:-1; width:100%; }
  #report-query-list { max-height:300px; }
  .report-scope-controls button { flex:1 1 auto; padding:8px; }
  .report-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-summary article { border-bottom:1px solid var(--line); }
  .report-asin-grid { grid-template-columns:minmax(0,1fr); }
  #reports-view .report-select select { font-size:16px; min-height:44px; }
}
:is(button,a,input,select,summary):focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.special-watch-toolbar { flex-wrap:wrap; }
.special-watch-table-wrap { overscroll-behavior:contain; }
.nav-item[aria-current="page"] { box-shadow:inset 3px 0 var(--green); }
@media (max-width:760px) {
  .update-strip { margin:0 14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .update-window { padding:6px 10px; min-height:52px; border-bottom:1px solid var(--line); }
  .update-window span { font-size:11px; }
  .update-window strong { display:inline-block; margin:2px 8px 0 0; font-size:12px; }
  .update-window small { display:inline; font-size:10px; }
  .quality-link { grid-column:1/-1; flex-direction:row; min-height:44px; padding:6px; }
  .quality-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quality-summary article { padding:14px 10px; border-bottom:1px solid var(--line); }
  .quality-summary strong { font-size:20px; }
  .signal-intro h2 { font-size:23px; }
  .monitor-search { font-size:16px; width:100%; min-height:44px; }
  .strategic-title img { width:88px; height:72px; }
  .strategic-lead h3 { font-size:15px; }
  .strategic-scan-audit { padding:18px 14px; }
  .strategic-scan-audit .evidence-audit summary { min-height:44px; padding:10px 0; }
  .strategic-scan-audit a { min-height:44px; padding:12px 0; }
  .economics-inputs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .economics-inputs input { font-size:16px; }
  .quality-dates>div { gap:8px; grid-template-columns:90px minmax(40px,1fr) 48px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:0.01ms!important; transition-duration:0.01ms!important; }
}

@media (max-width: 1040px) {
  .special-watch-summary { grid-template-columns: repeat(3, 1fr); }
  .special-watch-summary article { border-bottom: 1px solid var(--line); }
  .special-watch-summary article:nth-child(3) { border-right: 0; }
  .special-watch-summary article:nth-last-child(-n+2) { border-bottom: 0; }
  .special-watch-layout { grid-template-columns: 190px minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .view-header-controls { width: 100%; align-items: stretch; flex-direction: column; }
  .comparison-window-control > div { width: 100%; }
  .comparison-window-control button { flex: 1; min-height: 36px; }
  .special-watch-layout { display: block; min-height: 0; }
  .special-watch-nodes { padding: 10px 0; border-right: 0; border-bottom: 1px solid var(--line); overflow-x: auto; }
  .special-watch-node-list { display: flex; width: max-content; }
  .special-watch-node { width: 185px; flex: none; }
  .special-watch-stream { padding-left: 0; }
  .special-watch-toolbar { align-items: flex-start; flex-direction: column; padding: 9px 0; }
  .special-watch-table-wrap { max-height: 520px; }
}

@media (max-width: 640px) {
  .special-watch-summary { grid-template-columns: repeat(5, 132px); overflow-x: auto; scrollbar-width: thin; }
  .special-watch-summary article, .special-watch-summary article:nth-child(3), .special-watch-summary article:nth-last-child(-n+2) { border-right: 1px solid var(--line); border-bottom: 0; }
  .special-watch-summary article:last-child { border-right: 0; }
  .special-watch-heading { align-items: flex-start; }
  .special-watch-heading > span { max-width: 110px; text-align: right; }
}
