:root {
  --background: #fff;
  --text: #26262d;
  --text-secondary: #686873;
  --muted: #91919c;
  --border: #e9e9ef;
  --success: #21856b;
  --down: #b66964;
  --selection: #eeedf6;
  background: #fff;
}

html, body { background: #fff; }
[hidden] { display: none !important; }
button, input, select { letter-spacing: 0; }
.ui-icon { width: 17px; height: 17px; flex-shrink: 0; vertical-align: middle; }
.app-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 35; width: 184px; display: flex; flex-direction: column; padding: 28px 14px 20px; background: #f7f7f9; border-right: 1px solid var(--border); overflow-y: auto; }
.workspace-brand { padding: 0 9px; font-size: 17px; font-weight: 650; color: var(--text); white-space: nowrap; }
.workspace-caption { padding: 8px 9px 32px; font-size: 10px; color: #9797a0; }
.workspace-nav { display: flex; flex-direction: column; gap: 6px; }
.workspace-link { display: flex; align-items: center; gap: 11px; padding: 12px 13px; border: 0; border-radius: 5px; background: none; color: #6d6d79; font-size: 14px; text-align: left; cursor: pointer; }
.workspace-link:hover { background: #efeff4; }
.workspace-link.active { background: #eae9f3; color: var(--primary); font-weight: 600; }
.discovery-heading { display:flex; justify-content:space-between; align-items:flex-end; padding: 8px 0 24px; border-bottom:1px solid var(--border); }
.discovery-heading h1 { margin:4px 0 8px; font-size:24px; font-weight:650; }
.discovery-heading p { margin:0; color:var(--text-secondary); }
.discovery-heading .eyebrow { color:var(--muted); font-size:10px; letter-spacing:1.2px; }
.demo-note { color:#8d7656; background:#faf7ef; padding:6px 9px; border-radius:3px; font-size:11px; }
.discovery-toolbar { display:flex; justify-content:space-between; align-items:center; padding:18px 0 12px; }
.discovery-tabs { display:flex; gap:4px; }
.discovery-tabs button { border:0; background:transparent; color:var(--text-secondary); padding:7px 13px; border-radius:4px; cursor:pointer; }
.discovery-tabs button.active { color:var(--primary); background:var(--selection); font-weight:600; }
.discovery-tabs small { margin-left:6px; color:var(--muted); font-size:10px; }
.discovery-window { color:var(--muted); font-size:11px; }
.discovery-window select { margin-left:8px; border:0; color:var(--text-secondary); background:transparent; }
.discovery-summary { display:flex; gap:12px; align-items:baseline; padding:10px 0; border-bottom:1px solid var(--border); }
.discovery-summary span { color:var(--muted); font-size:11px; }
.discovery-list { display:grid; gap:10px; padding-top:14px; }
.discovery-list { display:none; }
.discovery-table { margin-top:14px; border-top:1px solid var(--border); background:#fff; overflow:auto; }
.discovery-table-header, .discovery-table-row { display:grid; grid-template-columns: minmax(210px, 2.2fr) 80px 112px minmax(100px, 1fr) 88px 80px 94px minmax(150px, 1.2fr); min-width:960px; }
.discovery-table-header { padding:10px 12px; border-bottom:1px solid var(--border); background:#f8f8fa; color:var(--muted); font-size:10px; }
.discovery-table-row { min-height:78px; align-items:center; border-bottom:1px solid var(--border); }
.discovery-table-row > * { min-width:0; height:100%; padding:12px 10px 12px 0; display:flex; flex-direction:column; justify-content:center; gap:5px; color:var(--text-secondary); font-size:11px; overflow-wrap:anywhere; }
.discovery-table-row small { color:var(--muted); font-size:10px; line-height:1.35; }
.discovery-event-name { border:0; background:#fff; text-align:left; cursor:pointer; }
.discovery-event-name strong { color:var(--text); font-size:13px; font-weight:600; }
.discovery-event-name:hover strong { color:var(--primary); }
.discovery-platform-value { color:#8d7656 !important; font-weight:600; }
.discovery-platform-value small { color:var(--muted); font-weight:400; }
.discovery-row-actions { flex-direction:row !important; flex-wrap:wrap; align-content:center; gap:4px !important; }
.discovery-row-actions button { display:inline-flex; align-items:center; gap:4px; padding:5px 6px; border:0; border-radius:4px; background:transparent; color:var(--text-secondary); cursor:pointer; font-size:10px; }
.discovery-row-actions button:hover { background:#f5f5f8; }
.discovery-row-actions button:disabled { opacity:.45; cursor:default; }
.discovery-table .discovery-term-form { max-width:none; margin-top:4px; }
.discovery-table .discovery-term-form input { min-width:0; width:100%; }
.discovery-table .discovery-term-form button { flex-shrink:0; }
.discovery-card { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:12px 24px; padding:18px 20px; border:1px solid var(--border); border-radius:6px; background:#fff; }
.discovery-card-title { display:flex; align-items:center; gap:9px; }
.discovery-card-title h2 { margin:0; font-size:15px; font-weight:600; }
.discovery-card-main p { margin:10px 0; color:var(--text-secondary); }
.discovery-type,.discovery-status { padding:4px 7px; border-radius:3px; font-size:10px; white-space:nowrap; }
.discovery-type.event { color:#765b24; background:#fbf4df; }.discovery-type.emerge { color:#7e3d5a; background:#f9eaf1; }
.discovery-category { padding:4px 7px; border-radius:3px; font-size:10px; color:#4f5e76; background:#eef2f8; white-space:nowrap; }
.discovery-status { margin-left:auto; color:var(--muted); background:#f3f3f5; }.discovery-status.observing { color:#765b24; background:#fbf4df; }.discovery-status.confirmed { color:var(--success); background:#eaf6f0; }
.discovery-meta { display:flex; gap:18px; color:var(--muted); font-size:11px; }
.discovery-topics { margin-top:14px; padding-top:12px; border-top:1px solid #f0f0f4; }
.discovery-section-label { display:flex; align-items:baseline; gap:8px; color:var(--text-secondary); font-size:12px; }
.discovery-section-label span { color:var(--muted); font-size:10px; }
.discovery-term-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.discovery-term { display:inline-flex; align-items:center; max-width:100%; padding:4px 7px; border:1px solid #e8e8ef; border-radius:12px; color:#55556b; background:#fafafd; font-size:11px; overflow-wrap:anywhere; }
.discovery-term.candidate { color:#8d7656; border-color:#eee2c7; background:#fffaf0; }
.discovery-term-list details { display:contents; }
.discovery-term-list summary { align-self:center; color:var(--primary); font-size:11px; cursor:pointer; list-style:none; }
.discovery-term-list summary::-webkit-details-marker { display:none; }
.discovery-term-form { display:flex; gap:6px; margin-top:10px; max-width:360px; }
.discovery-term-form input { min-width:0; flex:1; padding:6px 8px; border:1px solid var(--border); border-radius:4px; background:#fff; font:inherit; font-size:11px; }
.discovery-term-form button { border:1px solid var(--border); border-radius:4px; padding:5px 9px; background:#fff; color:var(--text-secondary); font-size:11px; cursor:pointer; }
.discovery-term-form button:hover { background:#f5f5f8; }
.discovery-signal { border-left:1px solid var(--border); padding-left:18px; display:flex; flex-direction:column; justify-content:center; gap:6px; }.discovery-signal strong { color:var(--success); font-size:18px; }.discovery-signal small { color:var(--muted); }
.discovery-heat-row { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:11px; }
.discovery-heat-row b { color:#8d7656; font-weight:500; }
.discovery-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:7px; border-top:1px solid #f0f0f4; padding-top:12px; }.discovery-actions button { border:0; background:transparent; color:var(--text-secondary); padding:6px 9px; border-radius:4px; cursor:pointer; }.discovery-actions button:hover { background:#f5f5f8; }.discovery-actions .primary-button { background:var(--primary); color:#fff; }
.filter-pending { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:12px 0 0; padding:9px 12px; border:1px solid #e7e2d4; border-radius:4px; background:#fffaf0; color:#765b24; font-size:12px; }
.filter-pending button { border:1px solid #d8c79e; border-radius:4px; padding:6px 11px; background:#fff; color:#765b24; font-size:12px; cursor:pointer; }
.filter-pending button:hover { background:#fdf4df; }
.discovery-evidence-modal h2 { margin:16px 0 8px; font-size:18px; }.evidence-grid { display:grid; grid-template-columns:90px 1fr; gap:10px; margin:18px 0; font-size:12px; }.evidence-grid span { color:var(--muted); }
.discovery-heading { align-items:center; }
.nav-group { display:block; }
.nav-parent { width:100%; }
.discovery-nav-heading { display:flex; align-items:center; border-radius:5px; }
.discovery-nav-heading.active { background:#eae9f3; color:var(--primary); }
.discovery-nav-heading.active .nav-parent { color:var(--primary); font-weight:600; }
.discovery-nav-heading .nav-parent { min-width:0; flex:1; padding-right:4px; }
.discovery-nav-toggle { width:30px; height:36px; flex-shrink:0; display:grid; place-items:center; border:0; border-radius:4px; background:transparent; color:var(--text-secondary); cursor:pointer; }
.discovery-nav-toggle:hover { background:#e3e2ec; }
.discovery-nav-toggle:focus-visible, .nav-child:focus-visible { outline:2px solid var(--primary); outline-offset:1px; }
.discovery-table .discovery-type { align-self:flex-start; background:#eaf3ef; color:#306957; }
.discovery-row-actions { display:flex; align-items:flex-end; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.discovery-row-actions .action-group { display:flex; align-items:center; gap:3px; flex-wrap:wrap; padding-left:7px; border-left:1px solid #ededf1; }
.discovery-row-actions .action-group:first-child { border-left:0; padding-left:0; }
.discovery-row-actions .action-group > small { width:100%; color:var(--muted); font-size:10px; line-height:1; margin-bottom:1px; }
.discovery-row-actions .action-group button { white-space:nowrap; }
.discovery-theme-context { display:flex; align-items:center; flex-wrap:wrap; gap:18px; padding:0 0 18px; font-size:12px; color:var(--text-secondary); }
.discovery-theme-context > span { flex:1; min-width:0; overflow-wrap:anywhere; }
.discovery-theme-context button { display:inline-flex; align-items:center; gap:5px; }
.discovery-overview { max-width:1660px; }
.discovery-overview .u-search { border:0; border-bottom:1px solid var(--border); border-radius:0; padding:18px 0; background:#fff; }
.overview-summary { padding:20px 0 24px; border-bottom:1px solid var(--border); }
.overview-summary h2, .overview-section h2 { margin:0; font-size:16px; font-weight:600; }
.overview-summary p { margin:12px 0 16px; max-width:1050px; color:var(--text-secondary); line-height:1.8; font-size:13px; }
.overview-entry-links, .overview-counts { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; }
.overview-entry-links button, .overview-counts button, .overview-evidence button, .overview-signal button, .overview-more { display:inline-flex; align-items:center; gap:6px; font-size:12px; }
.overview-entry-links svg, .overview-counts svg, .overview-evidence svg, .overview-signal svg { width:13px; height:13px; }
.overview-section { padding-top:26px; }
.overview-section > header { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding-bottom:14px; border-bottom:1px solid var(--border); }
.overview-section > header span, .overview-section h2 small { color:var(--muted); font-size:11px; font-weight:400; }
.overview-section h2 small { margin-left:8px; }
.overview-themes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; }
.overview-theme { min-width:0; padding:18px 0; border-bottom:1px solid var(--border); }
.overview-theme > div:first-child { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.overview-theme h3, .overview-evidence h3, .overview-signal h3 { margin:0; color:var(--text); font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.overview-theme small { color:var(--muted); font-size:10px; margin-left:auto; }
.overview-kind { color:#426e62; background:#edf5f1; border-radius:3px; padding:3px 5px; font-size:10px; }
.overview-theme p { margin:10px 0 14px; color:var(--text-secondary); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.overview-more { margin-top:14px; }
.overview-evidence > article { padding:18px 0; border-bottom:1px solid var(--border); }
.overview-evidence-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:14px; }
.overview-evidence-columns > div { min-width:0; }
.overview-evidence-columns small { color:var(--muted); font-size:11px; }
.overview-evidence-columns p { min-height:38px; margin:7px 0; color:var(--text-secondary); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.overview-signal { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:18px 0; border-bottom:1px solid var(--border); }
.overview-signal > div { min-width:0; }
.overview-signal > button { flex-shrink:0; }
.overview-signal p { margin:8px 0 0; color:var(--text-secondary); font-size:12px; overflow-wrap:anywhere; }
.overview-empty { padding:38px 0; color:var(--muted); font-size:13px; }
.overview-content-search { display:flex; gap:10px; margin:20px 0; }
.overview-content-search label { display:flex; align-items:center; gap:8px; padding:8px 12px; width:min(460px,70%); border:1px solid var(--border); border-radius:4px; }
.overview-content-search input { width:100%; min-width:0; border:0; outline:0; font-size:13px; }
.overview-content-search button { display:flex; align-items:center; gap:5px; }
.overview-content-summary { display:flex; gap:16px; align-items:center; padding:0 0 18px; font-size:12px; }
.overview-content-summary span { color:var(--muted); }
.content-discovery-page .creator-video-grid { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
.content-platform-tabs { display:flex; gap:4px; border-bottom:1px solid var(--border); padding-top:12px; }
.content-platform-tabs button { min-width:90px; height:40px; padding:0 14px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--text-secondary); font-size:13px; cursor:pointer; }
.content-platform-tabs button:hover { color:var(--text); background:#f8f8fa; }
.content-platform-tabs button.active { color:var(--text); border-bottom-color:var(--success); font-weight:600; }
.content-rank-toolbar { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:18px 0 14px; }
.content-rank-toolbar .overview-content-search { margin:0; flex:1; }
.content-rank-toolbar .overview-content-search label { width:min(460px,100%); }
.content-rank-sort { display:flex; align-items:center; gap:8px; white-space:nowrap; color:var(--text-secondary); font-size:12px; }
.content-rank-sort select { height:36px; min-width:118px; padding:0 9px; border:1px solid var(--border); border-radius:4px; background:#fff; color:var(--text); font-size:12px; }
.content-discovery-page .overview-content-summary { padding-bottom:12px; border-bottom:1px solid var(--border); }
.content-rank-section { padding:22px 0 12px; }
.content-rank-heading { display:flex; align-items:baseline; gap:14px; margin-bottom:12px; }
.content-rank-heading h2 { margin:0; font-size:16px; font-weight:600; }
.content-rank-heading span { color:var(--muted); font-size:11px; }
.content-rank-table-wrap { overflow-x:auto; border-top:1px solid var(--border); }
.content-rank-table { width:100%; min-width:890px; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.content-rank-table th { height:34px; padding:7px 10px; background:#f8f8fa; color:var(--muted); font-size:11px; font-weight:500; text-align:left; }
.content-rank-table th:first-child { width:62px; }
.content-rank-table th:nth-child(2) { width:37%; }
.content-rank-table th:nth-child(3) { width:18%; }
.content-rank-table th:nth-child(n+4) { width:11%; text-align:right; }
.content-rank-table td { height:68px; padding:7px 10px; border-bottom:1px solid var(--border); vertical-align:middle; }
.content-rank-table tbody tr:hover { background:#fafafb; }
.content-rank-number { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:3px; color:var(--text-secondary); font-variant-numeric:tabular-nums; }
.content-rank-number.top { background:#eaf3ef; color:#286a54; font-weight:650; }
.content-rank-title { display:flex; align-items:center; gap:12px; width:100%; min-width:0; padding:0; border:0; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.content-rank-title img { width:42px; height:52px; flex-shrink:0; border-radius:3px; object-fit:cover; background:#f1f1f4; }
.content-rank-title span { min-width:0; }
.content-rank-title strong, .content-rank-title small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.content-rank-title strong { font-size:12px; font-weight:600; }
.content-rank-title:hover strong { color:var(--success); }
.content-rank-title small, .content-rank-table td small { margin-top:5px; color:var(--muted); font-size:10px; }
.content-rank-handle { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:500; }
.content-rank-metric { text-align:right; font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap; }
.content-platform-tabs button:focus-visible, .content-rank-title:focus-visible, .content-rank-sort select:focus-visible { outline:2px solid var(--success); outline-offset:2px; }
.content-discovery-page .overview-content-summary, .content-discovery-page .content-rank-heading { flex-wrap:wrap; }
.content-scope { display:flex; flex-wrap:wrap; gap:16px 32px; margin:16px 0 0; font-size:12px; }
.content-scope div { display:flex; gap:8px; }
.content-scope dt { color:var(--muted); }
.content-scope dd { margin:0; }
.content-discovery-page .content-rank-table th:first-child { width:5%; }
.content-discovery-page .content-rank-table th:nth-child(2) { width:34%; }
.content-discovery-page .content-rank-table th:nth-child(3) { width:18%; }
.content-discovery-page .content-rank-table th:nth-child(4), .content-discovery-page .content-rank-table th:nth-child(5) { width:12%; }
.content-discovery-page .content-rank-table th:nth-child(6) { width:19%; text-align:left; }
.content-discovery-page .content-rank-table td small { display:block; white-space:normal; overflow-wrap:anywhere; }
.content-record-status { color:var(--text-secondary); font-size:11px; }
.content-record-id { overflow-wrap:anywhere; }
.content-discovery-page .overview-empty .secondary-button { display:inline-flex; align-items:center; gap:6px; margin-top:12px; }
.discovery-theme-context + .u-return { margin:0; }
.nav-children { margin: -2px 0 8px 42px; padding-left: 6px; display:grid; gap:1px; }
.nav-child { position:relative; border:0; background:transparent; color:var(--text-secondary); text-align:left; padding:7px 10px; border-radius:4px; cursor:pointer; font-size:13px; }
.nav-child:hover { background:transparent; color:var(--text); }
.nav-child.active { color:var(--primary); background:transparent; font-weight:600; }
.nav-child.active::before { content:""; position:absolute; left:0; top:9px; bottom:9px; width:2px; border-radius:2px; background:var(--primary); }
.content-empty { margin-top:18px; min-height:260px; display:flex; align-items:center; justify-content:center; }
.content-empty .empty-state { max-width:520px; text-align:center; }
.content-empty .empty-state strong { display:block; margin-bottom:8px; font-size:16px; }
.event-calendar { margin: 18px 0 12px; padding: 16px 18px 18px; }
.event-calendar-weekdays, .event-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.event-calendar-weekdays { color:var(--muted); font-size:11px; text-align:center; border-bottom:1px solid var(--border); padding:10px 0; }
.event-calendar-day { min-height:62px; padding:8px; border-right:1px solid #f0f0f4; border-bottom:1px solid #f0f0f4; font-size:11px; }
.event-calendar-day:nth-child(7n) { border-right:0; }
.event-calendar-day.today > span { display:inline-flex; width:22px; height:22px; align-items:center; justify-content:center; border-radius:50%; background:var(--primary); color:#fff; }
.event-calendar-item { display:block; width:100%; margin-top:6px; padding:4px 5px; border:0; border-radius:3px; background:#fbf4df; color:#765b24; text-align:left; font-size:10px; cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.content-filters, .content-weekly { margin-top:18px; padding:16px 18px; }
.content-filter-row { display:flex; gap:12px; flex-wrap:wrap; }
.content-filter-row label { display:grid; gap:6px; color:var(--text-secondary); font-size:11px; }
.content-filter-row input, .content-filter-row select { min-width:150px; padding:8px; border:1px solid var(--border); border-radius:4px; background:#f7f7f9; color:var(--muted); }
.content-weekly .empty-state { padding:30px 10px; text-align:center; }
.topic-page-label { color:var(--primary); font-size:13px; font-weight:600; white-space:nowrap; }
.topic-group-summary { margin-top:14px; padding-top:14px; border-top:1px solid var(--border); }
.topic-group-summary > div:first-child { display:flex; flex-direction:column; gap:4px; }
.topic-group-summary > div:first-child strong { font-size:12px; }
.topic-group-summary > div:first-child small, .topic-group-summary > small { color:var(--muted); font-size:11px; }
.topic-group-summary-rows { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.topic-group-summary-rows span { display:inline-flex; align-items:center; gap:6px; padding:5px 7px; border:1px solid var(--border); border-radius:3px; background:#fafafb; }
.topic-group-summary-rows b { font-size:11px; font-weight:600; }
.topic-group-summary-rows em { color:var(--muted); font-size:10px; font-style:normal; }
.discovery-heading h1 { margin:0; }
.discovery-toolbar { gap:14px; flex-wrap:wrap; }
.overview-opportunity { margin:22px 0 26px; padding:18px 20px 20px; border:1px solid var(--border); background:#fbfbfc; }
.overview-dashboard,.overview-monitor { margin:22px 0 26px; padding:18px 20px 20px; border:1px solid var(--border); background:#fff; }
.overview-dashboard > header,.overview-opportunity > header,.overview-monitor > header { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:16px; }
.overview-dashboard h2,.overview-monitor h2 { margin:0; font-size:18px; }
.overview-dashboard header p,.overview-monitor header p { margin:6px 0 0; color:var(--muted); font-size:11px; }
.overview-dashboard header > span,.overview-monitor header > span { color:var(--muted); font-size:11px; white-space:nowrap; }
.overview-metric-control { display:flex; align-items:center; gap:7px; margin-left:auto; color:var(--muted); font-size:11px; }
.overview-metric-control select { padding:5px 7px; border:1px solid var(--border); border-radius:4px; background:#fff; color:var(--text-secondary); font-size:11px; }
.overview-trend-layout { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,2fr); gap:18px; }
.overview-timeline { border-right:1px solid var(--border); padding-right:18px; }
.overview-timeline h3 { margin:0 0 8px; font-size:12px; }
.overview-timeline-item { display:grid; grid-template-columns:42px 1fr; gap:2px 8px; width:100%; padding:9px 0; border:0; border-bottom:1px solid #f0f0f4; background:transparent; text-align:left; cursor:pointer; }
.overview-timeline-item:hover { background:#f7f6fb; }
.overview-timeline-item time { grid-row:span 2; color:var(--muted); font-size:10px; }
.overview-timeline-item strong { font-size:11px; }
.overview-timeline-item span { color:var(--muted); font-size:10px; }
.overview-trend-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.overview-trend-card { padding:12px; border:1px solid var(--border); background:#fbfbfc; }
.overview-trend-card header,.overview-trend-card footer { display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.overview-trend-card h3 { margin:0; font-size:12px; }
.overview-trend-card header span,.overview-trend-card footer { color:var(--muted); font-size:10px; }
.overview-trend-chart { margin:14px 0 8px; }
.overview-trend-chart svg { display:block; width:100%; height:86px; }
.overview-trend-card footer { justify-content:space-between; }
.overview-trend-card header small { display:block; margin-top:4px; color:var(--muted); font-size:10px; font-weight:400; }
.overview-trend-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 8px; margin:12px 0 0; padding-top:9px; border-top:1px solid #ededf1; }
.overview-trend-meta div { min-width:0; }
.overview-trend-meta dt { color:var(--muted); font-size:9px; }
.overview-trend-meta dd { margin:2px 0 0; overflow-wrap:anywhere; color:var(--text-secondary); font-size:10px; }
.overview-trend-note { margin:9px 0 0; color:#8d7656; font-size:10px; line-height:1.45; }
.chart-empty-label { fill:var(--muted); font-size:11px; }
.overview-opportunity-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.overview-opportunity-card { padding:13px; border:1px solid var(--border); background:#fff; }
.overview-opportunity-card header { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.overview-opportunity-card h3 { margin:0; font-size:14px; }
.overview-opportunity-card header span,.overview-opportunity-card header b { color:var(--muted); font-size:10px; font-weight:400; }
.overview-opportunity-card p { min-height:34px; margin:12px 0; color:var(--text-secondary); font-size:11px; line-height:1.55; }
.opportunity-evidence-chain { display:flex; align-items:center; gap:6px; color:#326157; font-size:10px; }
.opportunity-evidence-chain i { color:var(--muted); font-style:normal; }
.opportunity-card-actions { display:flex; gap:12px; margin-top:13px; }
.opportunity-card-actions .text-button { font-size:11px; }
.overview-monitor-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.overview-monitor-column { min-height:112px; padding:12px; border:1px solid var(--border); background:#fbfbfc; }
.overview-monitor-column h3 { display:flex; justify-content:space-between; margin:0 0 8px; font-size:12px; }
.overview-monitor-column h3 small { color:var(--muted); font-size:10px; font-weight:400; }
.overview-monitor-column button { display:flex; flex-direction:column; width:100%; gap:3px; padding:6px 0; border:0; border-bottom:1px solid #ededf1; background:transparent; text-align:left; cursor:pointer; }
.overview-monitor-column button:hover { color:var(--primary); }
.overview-monitor-column button strong { font-size:11px; }
.overview-monitor-column button span,.overview-monitor-column em { color:var(--muted); font-size:10px; font-style:normal; }
.overview-opportunity > header { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:16px; }
.overview-opportunity h2 { margin:0; font-size:18px; }
.overview-opportunity header p { margin:6px 0 0; color:var(--muted); font-size:11px; }
.overview-opportunity header > span { color:var(--muted); font-size:11px; white-space:nowrap; }
.opportunity-grid { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 0 22px 22px; }
.opportunity-zone { min-height:126px; padding:12px; border:1px solid #e4e4ea; background:#fff; }
.opportunity-zone h3 { display:flex; justify-content:space-between; margin:0 0 9px; font-size:13px; }
.opportunity-zone h3 small { color:var(--muted); font-size:10px; font-weight:400; }
.opportunity-zone em { color:var(--muted); font-size:11px; font-style:normal; }
.opportunity-theme { display:flex; flex-direction:column; width:100%; gap:3px; padding:6px 7px; border:0; border-left:2px solid #d9d8e7; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.opportunity-theme:hover { background:#f3f2f8; border-left-color:var(--primary); }
.opportunity-theme strong { font-size:12px; }
.opportunity-theme span { color:var(--muted); font-size:10px; }
.opportunity-y-label { position:absolute; left:0; top:50%; transform:rotate(-90deg) translateX(50%); transform-origin:left top; color:var(--muted); font-size:10px; }
.opportunity-x-label { position:absolute; left:22px; right:0; bottom:0; color:var(--muted); font-size:10px; text-align:center; }
.opportunity-x-label span { margin-left:8px; color:#9c9ba8; }
.discovery-filters { display:flex; gap:12px; flex-wrap:wrap; }
.discovery-filters label { display:flex; align-items:center; gap:6px; font-size:11px; color:var(--text-secondary); }
.discovery-filters select { padding:6px; border:1px solid var(--border); border-radius:4px; background:#fff; font-size:12px; }
.discovery-card-title { flex-wrap:wrap; }
.discovery-card-title h2 { overflow-wrap:anywhere; min-width:0; }
.discovery-meta { flex-wrap:wrap; gap:6px 18px; }
.discovery-signal strong { font-size:14px; color:var(--text-secondary); }
.discovery-actions button { display:inline-flex; align-items:center; gap:5px; }
.discovery-actions button svg { width:14px; height:14px; }
.discovery-actions button:disabled { opacity:.45; cursor:default; }
.discovery-status.intent { color:#326157; background:#eaf6f0; }
.discovery-feedback { padding:10px 12px; background:#edf6f2; color:#326157; border-radius:4px; font-size:12px; overflow-wrap:anywhere; }
.discovery-feedback.error { color:#a43843; background:#fff0f1; }
.discovery-empty { padding:48px; text-align:center; color:var(--text-secondary); }
.discovery-empty button { display:block; margin:14px auto; border:0; color:var(--primary); background:transparent; cursor:pointer; }
.discovery-evidence-modal { width:min(760px,calc(100vw - 64px)); padding:20px 24px; max-height:82vh; }
.discovery-evidence-modal .modal-header { padding:0 0 14px; }
.discovery-evidence-modal h3 { font-size:13px; margin:0 0 12px; }
.discovery-evidence-modal h3 small { font-size:11px; color:var(--muted); font-weight:400; margin-left:8px; }
.discovery-detail-section { border-top:1px solid var(--border); padding-top:16px; margin-top:18px; }
.discovery-evidence-row { padding:12px 0; border-bottom:1px solid #f0f0f4; font-size:12px; }
.discovery-evidence-row > div { display:flex; justify-content:space-between; gap:12px; }
.discovery-evidence-row p { margin:8px 0; }
.discovery-evidence-row span,.discovery-evidence-row small,.evidence-dates { color:var(--muted); }
.discovery-monitor-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px; }
.discovery-monitor-fields > label { display:flex; flex-direction:column; gap:7px; font-size:12px; min-width:0; }
.discovery-monitor-fields > label[hidden] { display:none; }
.discovery-monitor-fields select,.discovery-monitor-fields textarea,.discovery-monitor-fields input:not([type=checkbox]) { width:100%; box-sizing:border-box; border:1px solid var(--border); border-radius:4px; background:white; padding:8px; font:inherit; }
.discovery-monitor-fields textarea { resize:vertical; min-height:80px; }
.discovery-monitor-fields fieldset { border:1px solid var(--border); border-radius:4px; padding:9px 12px; margin:0; display:flex; flex-wrap:wrap; gap:12px; font-size:12px; }
.discovery-monitor-fields fieldset label { display:flex; align-items:center; gap:5px; }
.discovery-coverage { width:100%; table-layout:fixed; font-size:11px; border-collapse:collapse; }
.discovery-coverage th,.discovery-coverage td { text-align:left; padding:9px 6px; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.discovery-coverage th { font-weight:500; color:var(--muted); }
.discovery-intents { padding-left:18px; font-size:12px; line-height:1.8; }
.discovery-intents small { color:var(--muted); }
.discovery-evidence-modal .evidence-grid strong { font-weight:500; overflow-wrap:anywhere; }
.discovery-platform-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.discovery-platform-card { border:1px solid var(--border); border-radius:4px; padding:12px; background:#fff; }
.discovery-platform-heading { display:flex; justify-content:space-between; gap:12px; align-items:baseline; }
.discovery-platform-heading span { color:var(--muted); font-size:10px; }
.discovery-chart { position:relative; margin:10px 0 8px; min-height:92px; background:#fbfbfc; border:1px dashed #e6e6ec; }
.discovery-chart svg { display:block; width:100%; height:92px; }
.discovery-chart span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:11px; }
.chart-grid { fill:none; stroke:#ededf2; stroke-width:1; }
.chart-axis { fill:none; stroke:#dfe0e7; stroke-width:1; }
.chart-placeholder { fill:none; stroke:#c9c9d4; stroke-width:2; stroke-dasharray:5 5; }
.discovery-platform-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 10px; color:var(--muted); font-size:10px; }
.discovery-terms-details summary { color:var(--primary); cursor:pointer; font-size:11px; }
.discovery-term-table { margin-top:10px; border-top:1px solid var(--border); }
.discovery-term-table-row { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(120px,1fr) minmax(120px,1fr); gap:10px; padding:8px 0; border-bottom:1px solid #f0f0f4; font-size:11px; }
.discovery-term-table-row.header { color:var(--muted); font-size:10px; }
.discovery-term-table-row.candidate { color:#8d7656; background:#fffaf0; }
.discovery-evidence-modal .modal-actions { position:sticky; bottom:-20px; background:#fff; border-top:1px solid var(--border); padding:12px 0; gap:10px; z-index:1; }
.discovery-evidence-modal .modal-actions > button:not(.primary-button) { padding:8px 12px; border:1px solid var(--border); border-radius:4px; background:#fff; color:var(--text-secondary); cursor:pointer; }
.sidebar-bottom { margin-top: auto; padding-top: 36px; }
.selection-research-page { max-width: 1480px; }
.research-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:8px 0 22px; border-bottom:1px solid var(--border); }
.research-page-heading h1 { margin:0 0 7px; font-size:24px; font-weight:650; }
.research-page-heading p { margin:0; color:var(--text-secondary); font-size:12px; }
.research-status-tabs { display:flex; gap:28px; padding:18px 0; border-bottom:1px solid var(--border); }
.research-status-tab { display:flex; align-items:center; gap:7px; color:var(--text-secondary); font-size:12px; }
.research-status-tab small { color:var(--muted); }
.selection-research-list { display:grid; gap:0; }
.selection-research-row { display:grid; grid-template-columns:28px minmax(260px,1.35fr) minmax(180px,1fr) 130px 100px; align-items:center; gap:18px; padding:20px 0; border-bottom:1px solid var(--border); }
.research-list-heading { display:flex; justify-content:space-between; padding:18px 0 8px; color:var(--text-secondary); font-size:12px; }
.research-list-heading span { color:var(--muted); font-size:11px; }
.research-select { display:grid; place-items:center; }
.research-select input { width:16px; height:16px; accent-color:#286a54; }
.research-overall { margin:20px 0 6px; padding:18px; border:1px solid var(--border); background:#fafafb; }
.research-notice { margin:-2px -2px 14px; padding:9px 11px; border:1px solid #d8e9df; border-radius:4px; background:#f2faf5; color:#286a54; font-size:11px; }
.research-overall-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.research-overall-heading h2 { margin:0; font-size:16px; }
.research-overall-heading p, .research-overall-heading > span { margin:5px 0 0; color:var(--muted); font-size:11px; }
.research-compare-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px; }
.research-compare-grid article { min-width:0; padding:12px; border:1px solid var(--border); background:#fff; }
.research-compare-grid header { display:flex; gap:7px; align-items:flex-start; }
.research-compare-grid header strong { font-size:12px; overflow-wrap:anywhere; }
.research-compare-grid dl { margin:12px 0; }
.research-compare-grid dl div { padding:7px 0; border-top:1px solid #f0f0f4; }
.research-compare-grid dt { color:var(--muted); font-size:10px; }
.research-compare-grid dd { margin:4px 0 0; color:var(--text-secondary); font-size:11px; line-height:1.5; }
.research-evidence-links { display:flex; gap:8px; flex-wrap:wrap; }
.research-evidence-links button { padding:0; font-size:10px; }
.research-decision { display:flex; align-items:flex-end; gap:12px; margin-top:16px; padding-top:14px; border-top:1px solid var(--border); }
.research-decision label { display:flex; flex-direction:column; gap:6px; color:var(--muted); font-size:10px; }
.research-decision select, .research-decision textarea { border:1px solid var(--border); border-radius:4px; background:#fff; color:var(--text); font:inherit; font-size:12px; }
.research-decision select { min-width:112px; height:34px; padding:0 8px; }
.research-decision-note { flex:1; }
.research-decision textarea { min-height:34px; padding:8px; resize:vertical; }
.research-overall-empty { display:flex; align-items:baseline; gap:12px; color:var(--muted); }
.research-overall-empty strong { color:var(--text-secondary); font-size:12px; }
.research-overall-empty span { font-size:11px; }
.selection-research-main { min-width:0; }
.selection-research-main > div { display:flex; align-items:center; gap:8px; }
.selection-research-main strong { font-size:14px; overflow-wrap:anywhere; }
.research-demo-label { padding:2px 5px; border-radius:3px; background:#faf7ef; color:#8d7656; font-size:9px; white-space:nowrap; }
.selection-research-main p { margin:10px 0 4px; color:var(--text-secondary); font-size:12px; }
.selection-research-main small, .selection-research-evidence span, .selection-research-state small { display:block; color:var(--muted); font-size:10px; line-height:1.5; }
.selection-research-evidence { display:grid; grid-template-columns:90px minmax(0,1fr); gap:5px 10px; min-width:0; }
.selection-research-evidence b { overflow-wrap:anywhere; color:var(--text-secondary); font-size:11px; font-weight:500; }
.selection-research-state { display:flex; flex-direction:column; gap:7px; }
.selection-research-row > .text-button { display:inline-flex; align-items:center; gap:5px; justify-self:end; white-space:nowrap; }
.selection-research-row > .text-button svg { width:14px; height:14px; }
.selection-research-empty { padding:86px 20px; text-align:center; color:var(--muted); }
.selection-research-empty strong { display:block; margin-bottom:10px; color:var(--text-secondary); font-size:15px; }
.selection-research-empty p { margin:0; font-size:12px; }
.selection-widget { position:fixed; z-index:40; right:24px; bottom:24px; }
.selection-widget-toggle { display:flex; align-items:center; gap:8px; min-height:42px; padding:0 12px; border:1px solid #d9d9e1; border-radius:5px; background:#fff; color:var(--text); box-shadow:0 4px 14px #23232b18; cursor:pointer; font-size:12px; font-weight:600; }
.selection-widget-toggle:hover { border-color:#c5c5cf; background:#fafafb; }
.selection-widget-toggle b { min-width:20px; height:20px; padding:0 5px; display:grid; place-items:center; border-radius:10px; background:#286a54; color:#fff; font-size:10px; font-variant-numeric:tabular-nums; }
.selection-widget-toggle svg { width:16px; height:16px; color:#286a54; }
.selection-widget-drawer { position:absolute; right:0; bottom:calc(100% + 10px); width:360px; max-height:min(540px,calc(100vh - 100px)); display:flex; flex-direction:column; overflow:hidden; border:1px solid #dedee5; border-radius:6px; background:#fff; box-shadow:0 12px 32px #23232b24; }
.selection-widget-drawer header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:15px 16px 13px; border-bottom:1px solid var(--border); }
.selection-widget-drawer header strong, .selection-widget-drawer header small { display:block; }
.selection-widget-drawer header strong { font-size:14px; }
.selection-widget-drawer header small { margin-top:4px; color:var(--muted); font-size:10px; }
.selection-widget-list { min-height:0; overflow-y:auto; }
.selection-widget-drawer article { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:1px solid #f0f0f4; }
.selection-widget-drawer article:hover { background:#fafafb; }
.selection-widget-item { min-width:0; flex:1; }
.selection-widget-item > div { display:flex; align-items:center; gap:6px; margin-bottom:6px; }
.selection-widget-item .tag, .selection-widget-item .status-tag { padding:2px 5px; font-size:9px; }
.selection-widget-item strong, .selection-widget-item small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.selection-widget-item strong { color:var(--text); font-size:12px; }
.selection-widget-item small { margin-top:4px; color:var(--muted); font-size:10px; }
.selection-widget-drawer article > .icon-command { width:28px; height:28px; flex-shrink:0; }
.selection-widget-drawer article > .icon-command svg { width:14px; height:14px; }
.selection-widget-open { margin:12px 16px 16px; width:calc(100% - 32px); flex-shrink:0; }
.selection-widget-empty { padding:22px 4px; color:var(--muted); font-size:11px; line-height:1.7; }
.selection-widget-toggle:focus-visible, .selection-widget-drawer button:focus-visible { outline:2px solid #286a54; outline-offset:2px; }
.admin-placeholder { display: flex; gap: 10px; width: 100%; align-items: center; background: none; border: 0; color: #9999a4; padding: 12px; }
.admin-placeholder small { font-size: 10px; margin-left: auto; }
.management-link { width: 100%; }
.management-heading { display: flex; align-items: baseline; gap: 16px; padding: 0 0 18px; }
.management-heading h1 { margin: 0; font-size: 20px; font-weight: 600; }
.management-heading > span { font-size: 12px; }
.management-tabs { display: grid; grid-template-columns: repeat(6, minmax(0, 164px)); border: 1px solid #dfe1e6; background: #f4f5f7; }
.management-tabs button { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 50px; padding: 10px 12px; border: 0; border-top: 2px solid transparent; border-right: 1px solid #e4e5e9; background: none; color: var(--text-secondary); font-size: 13px; font-weight: 500; letter-spacing: 0; }
.management-tabs button.active { color: var(--text); background: #fff; border-top-color: var(--primary); font-weight: 600; }
.management-tabs button:disabled { color: #7e808a; opacity: 1; cursor: not-allowed; }
.management-tabs small { flex-shrink: 0; padding: 2px 4px; border-radius: 3px; background: #eaebee; color: #898c96; font-size: 9px; font-weight: 400; line-height: 1.3; }
.application-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0 14px; }
.application-toolbar > button { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; }
.application-filters { display: flex; flex-wrap: wrap; gap: 4px; }
.application-filters button { min-height: 30px; border: 0; border-radius: 3px; padding: 6px 10px; background: none; color: var(--text-secondary); font-size: 12px; cursor: pointer; }
.application-filters button.active { background: #f0f1f4; color: var(--text); font-weight: 500; }
.application-filters small { margin-left: 6px; color: var(--muted); font-size: 10px; font-weight: 400; font-variant-numeric: tabular-nums; }
.application-search { display: flex; align-items: center; gap: 16px; padding: 0 0 16px; color: var(--muted); font-size: 12px; }
.application-search .search-box { width: min(380px, 65%); }
.application-table { table-layout: fixed; width: 100%; }
.application-table td, .application-table th { white-space: normal; overflow-wrap: anywhere; }
.application-table th:first-child { width: 25%; }
.application-table th:nth-child(2) { width: 23%; }
.application-table th:nth-child(5), .application-table th:nth-child(6) { width: 9%; }
.application-table small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.management-issues { margin-top: 28px; border-top: 1px solid var(--border); }
.management-issues > summary { padding: 18px 0; cursor: pointer; font-size: 14px; }
.management-issues > summary span { margin-left: 12px; color: var(--muted); }
.management-issues > .panel { border: 0; border-radius: 0; box-shadow: none; }
.application-modal { width: min(760px, calc(100% - 48px)); max-height: 78vh; }
.application-body { padding: 20px; }
.application-body h2 { margin: 0 0 10px; font-size: 18px; overflow-wrap: anywhere; }
.application-topic { display: grid; gap: 8px; }
.application-topic select, .application-reason textarea { width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--border); border-radius: 4px; background: white; font: inherit; }
.application-body .topic-review { margin-top: 18px; }
.application-body .review-labels { grid-column: 1 / -1; }
.application-facts { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 12px 16px; margin: 22px 0; font-size: 13px; }
.application-facts dt { color: var(--text-secondary); }
.application-facts dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.application-history { border-top: 1px solid var(--border); padding: 14px 0; }
.application-history summary { cursor: pointer; font-size: 13px; }
.application-history p { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 12px; }
.application-history p span { color: var(--muted); }
.application-history p small { width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
.application-reason { display: grid; gap: 8px; font-size: 13px; }
.application-feedback { color: var(--text-secondary); white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
.application-body .modal-actions { padding: 16px 0 0; }
.app-sidebar .role-switch { height: auto; margin: 15px 0 0; padding-top: 16px; border: 0; border-top: 1px solid #e3e3e9; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 3px; }
.app-sidebar .role-switch > span { width: 100%; padding: 0 7px 9px; font-size: 10px; color: #9a9aa4; }
.app-sidebar .role-switch button { border: 0; height: 28px; border-radius: 4px; color: #93939e; }
.app-sidebar .role-switch button.active { background: #eae9f3; color: var(--primary); }
.page-shell { width: auto; margin: 0 0 0 184px; padding: 28px 36px 50px; }
.topic-workspace { padding-top: 0; }
.topic-page-heading { display: flex; align-items: center; gap: 20px; min-height: 88px; border-bottom: 1px solid var(--border); }
.topic-page-heading h1 { font-size: 20px; margin: 0 10px 0 0; font-weight: 600; }
.library-search { display: flex; align-items: center; gap: 10px; width: min(580px, 60%); height: 40px; background: #fafafb; border: 1px solid #dfdfe7; border-radius: 5px; padding: 0 11px; }
.library-search > svg { color: #9898a1; }
.library-search input { flex: 1; width: 0; min-width: 0; border: 0; background: transparent; color: var(--text); outline: 0; }
.library-search input::placeholder { color: #9999a3; }
.library-search input::-webkit-search-cancel-button { display: none; }
.library-search button { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 28px; background: none; border: 0; border-radius: 3px; cursor: pointer; }
.library-search button:hover { background: #ededf3; }
.workspace-data-note { margin-left: auto; font-size: 10px; color: #8d7e65; background: #faf7ef; padding: 5px 8px; border-radius: 3px; white-space: nowrap; }
.topic-page-heading > .icon-command { color: #92929d; }
.topic-import-notice { padding: 12px 0; font-size: 12px; color: #8d7656; }
.topic-filters { padding: 16px 0; border-bottom: 1px solid var(--border); }
.topic-facet { display: flex; flex-wrap: wrap; align-items: center; min-height: 39px; gap: 7px; }
.facet-label { color: #8a8a96; width: 47px; font-size: 12px; flex-shrink: 0; }
.topic-facet button, .facet-options button { background: none; border: 0; border-radius: 4px; padding: 6px 11px; font-size: 12px; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.topic-facet button:hover, .facet-options button:hover { background: #f5f5f8; }
.topic-facet button.active, .facet-options button.active { background: var(--selection); color: var(--primary); font-weight: 550; }
.topic-facet .facet-more { display: flex; align-items: center; gap: 5px; color: #9898a2; font-size: 11px; }
.facet-more svg { width: 13px; }
.facet-unavailable { color: #aaaab2; font-size: 11px; }
.topic-context { display: flex; align-items: center; gap: 14px; margin-left: auto; flex-shrink: 0; }
.topic-context .segmented { border: 0; gap: 3px; background: none; }
.topic-context .segmented button { min-height: 31px; border: 1px solid transparent; border-radius: 4px; font-size: 12px; padding: 6px 11px; color: #72727e; }
.topic-context .segmented button.active { background: #f5f4fa; color: var(--primary); }
.topic-market, .topic-platform { display: flex; align-items: center; }
.topic-market select, .topic-platform select { height: 32px; padding: 4px 0; border: 0; background: white; font-size: 12px; color: #777782; }
.topic-market select { max-width: 100px; }
.topic-platform { padding-left: 14px; border-left: 1px solid var(--border); }
.topic-platform select { width: 124px; color: var(--primary); }
.reset-topic-filters { display: flex; align-items: center; gap: 6px; background: none; border: 0; padding: 6px 0; color: #9999a4; font-size: 11px; cursor: pointer; }
.reset-topic-filters svg { width: 13px; }
.search-scope { display: flex; align-items: center; gap: 9px; min-height: 58px; color: #8b8b98; border-bottom: 1px solid var(--border); }
.search-scope strong { color: #565564; font-size: 13px; font-weight: 550; overflow-wrap: anywhere; }
.search-scope button { margin-left: auto; flex-shrink: 0; border: 0; color: var(--primary); background: none; font-size: 12px; cursor: pointer; }
.topic-results-layout { display: flex; align-items: flex-start; }
.topic-results { flex: 1; min-width: 0; }
.topic-results-toolbar { display: flex; align-items: center; gap: 18px; min-height: 64px; padding: 12px 0; }
.topic-results-toolbar > .segmented { flex-shrink: 0; }
.topic-view-switch { background: #f3f3f6; border: 0; padding: 3px; gap: 3px; border-radius: 5px; }
.topic-view-switch button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 3px; padding: 6px 10px; min-height: 29px; font-size: 12px; color: #73737e; }
.topic-view-switch button.active { background: white; color: var(--primary); box-shadow: 0 1px 3px #2020200b; }
.topic-view-switch svg { width: 14px; height: 14px; }
.topic-sort-label { color: #9898a4; font-size: 11px; display: flex; gap: 7px; align-items: center; flex-shrink: 0; }
.topic-sort-label select { font-size: 12px; color: #72717f; background: white; border: 0; padding: 6px 0; max-width: 138px; }
.topic-word-row { display: grid; grid-template-columns: minmax(165px, 1fr) 94px 90px 96px 88px 116px; align-items: center; gap: 12px; padding: 0 16px; min-height: 52px; border-bottom: 1px solid #f0f0f4; cursor: pointer; }
.topic-word-row:not(.topic-word-head):hover { background: #fafafd; }
.topic-word-row.selected { background: #f3f2fa; }
.topic-word-head { height: 34px; min-height: 34px; font-size: 11px; color: #9797a2; background: #fafafb; cursor: default; }
.topic-word-head > span:not(:first-child) { text-align: right; }
.topic-group-heading { display: flex; align-items: baseline; gap: 9px; min-height: 40px; padding: 16px 16px 6px; }
.topic-group-heading strong { font-size: 12px; font-weight: 550; color: #747380; overflow-wrap: anywhere; }
.topic-group-heading small { font-size: 10px; color: #a3a3ad; flex-shrink: 0; }
.topic-word-cell { position: relative; display: flex; align-items: center; gap: 6px; min-width: 0; padding: 12px 0; }
.indented .topic-word-cell { padding-left: 2em; }
.topic-word-name { font-size: 13px; font-weight: 500; line-height: 1.6; overflow-wrap: anywhere; }
.topic-word-name small { display: block; font-size: 10px; color: #a0a0aa; font-weight: 400; }
.topic-word-content { min-width: 0; }
.topic-word-labels { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.topic-media-chip { display: inline-block; padding: 1px 5px; border-radius: 3px; background: #edf4f1; color: #536e62; font-size: 10px; font-weight: 400; line-height: 1.6; overflow-wrap: anywhere; }
.topic-label-summary { display: flex; align-items: flex-start; gap: 10px; padding: 12px 0; }
.topic-label-summary > div { display: flex; flex-wrap: wrap; gap: 5px; flex: 1; min-width: 0; }
.topic-label-summary button { display: flex; align-items: center; gap: 4px; flex-shrink: 0; font-size: 11px; }
.topic-label-summary svg { width: 12px; height: 12px; }
.media-filter-groups { display: grid; gap: 8px; min-width: 0; }
.media-group-name { display: block; margin-bottom: 2px; color: #96969f; font-size: 10px; }
.topic-label-modal { width: min(560px, 90vw); max-height: 85dvh; overflow-y: auto; }
.label-term-name { margin: 16px; overflow-wrap: anywhere; font-size: 14px; }
.topic-label-fields { padding: 0 16px; }
.topic-label-modal > .form-error { margin: 0 16px; }
.topic-label-group { margin: 0 0 12px; padding: 0; border: 0; min-width: 0; }
.topic-label-group legend { padding: 0 0 6px; color: #858591; font-size: 11px; }
.topic-label-group > div { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.topic-label-group label { display: inline-flex; align-items: center; gap: 6px; margin: 0; cursor: pointer; }
.topic-label-group label > span { margin: 0; font-size: 12px; color: #55555f; }
.topic-label-group input { width: 14px; height: 14px; margin: 0; accent-color: var(--primary); }
.review-labels > span { display: block; margin-bottom: 10px; font-size: 12px; color: #858591; }
.media-modal { max-height: 85dvh; overflow-y: auto; }
.storage-status { padding: 8px 12px; color: #6d7972; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.storage-unavailable { margin: 80px auto; padding: 24px; max-width: 520px; }
.storage-unavailable h1 { font-size: 22px; }
.word-pin { position: absolute; left: -16px; top: 50%; transform: translateY(-50%); width: 18px; height: 25px; display: grid; place-items: center; border: 0; background: none; color: #aaaab4; opacity: 0; cursor: pointer; }
.indented .word-pin { left: 2px; }
.word-pin svg { width: 12px; height: 12px; }
.topic-word-row:hover .word-pin, .word-pin:focus-visible, .word-pin.active { opacity: 1; }
.word-pin.active { color: var(--primary); }
.word-relation { font-size: 11px; color: #9898a2; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.word-value { font-size: 13px; font-weight: 550; text-align: right; }
.word-change { font-size: 12px; text-align: right; }
.word-status { text-align: right; }
.word-status .status-tag { font-size: 10px; padding: 3px 5px; border: 0; background: none; color: #aaaab1; }
.word-status .status-tag.sample { background: #faf6ed; color: #9a8665; }
.word-status .status-tag.success { color: var(--success); }
.word-status .status-tag.error { color: #b56662; }
.word-status .status-tag.stale { color: #a38b60; }
.word-trend { display: flex; justify-content: flex-end; }
.word-trend .spark { width: 108px; height: 28px; }
.missing-value { color: #c2c2ca; font-weight: 400; }
.topic-list-footer { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 21px 0; color: #a0a0a9; font-size: 10px; }
.topic-list-footer .text-button { display: flex; gap: 5px; align-items: center; flex-shrink: 0; font-size: 11px; }
.topic-list-footer svg { width: 13px; }
.topic-workspace .free-topic-bar { border: 0; border-top: 1px solid var(--border); border-radius: 0; padding: 14px 0; background: none; margin-top: 0; }
.topic-workspace .empty-state { display: flex; flex-direction: column; gap: 20px; align-items: center; padding: 64px 20px; }
.topic-inspector { width: 342px; flex-shrink: 0; border-left: 1px solid var(--border); margin-left: 24px; padding: 22px 0 12px 24px; position: sticky; top: 20px; max-height: calc(100dvh - 40px); overflow-y: auto; scrollbar-width: thin; }
.inspector-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }
.inspector-heading > div { min-width: 0; }
.inspector-heading small, .inspector-heading span { font-size: 11px; color: #9a9aa5; }
.inspector-heading h2 { margin: 7px 0; font-size: 17px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.inspector-heading .icon-command { flex-shrink: 0; }
.inspector-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 29px 0; }
.inspector-metrics span { display: block; font-size: 11px; color: #9595a0; margin-bottom: 9px; }
.inspector-metrics strong { font-size: 25px; font-weight: 550; }
.inspector-metrics strong > .metric-growth { font-size: 21px; }
.inspector-metrics strong > .muted { font-size: 17px; }
.inspector-chart-label { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; color: #858591; margin-bottom: 12px; }
.topic-inspector .detail-chart-wrap { margin: 0 0 21px; min-height: 165px; padding: 0; background: none; border: 0; }
.topic-inspector .detail-chart { height: 166px; }
.topic-inspector .signal-empty { min-height: 166px; padding: 15px; background: #fafafb; }
.topic-inspector .signal-empty strong { font-size: 13px; }
.topic-inspector .signal-empty span { font-size: 11px; }
.inspector-fact { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; padding: 15px 0; border-top: 1px solid var(--border); font-size: 11px; color: #92929c; }
.inspector-fact > b { text-align: right; font-weight: 400; max-width: 68%; overflow-wrap: anywhere; color: #7e7e8b; }
.inspector-fact .status-tag { font-size: 10px; }
.inspector-disclosure { border-top: 1px solid var(--border); padding: 16px 0; color: #8b8b98; font-size: 11px; }
.inspector-disclosure > summary { cursor: pointer; }
.inspector-disclosure .entity-relationship { border: 0; margin-top: 14px; padding: 0; background: none; }
.inspector-disclosure .relationship-heading { align-items: flex-start; gap: 10px; }
.inspector-disclosure .relationship-heading span { line-height: 1.6; }
.inspector-disclosure .entity-path { flex-wrap: wrap; gap: 7px; }
.inspector-disclosure .linked-skus { display: flex; flex-direction: column; }
.inspector-disclosure .linked-skus > * { border: 0; padding: 7px 0; }
.inspector-disclosure .topic-review { border: 0; padding: 18px 0 0; }
.inspector-disclosure .review-heading { align-items: flex-start; gap: 8px; }
.inspector-disclosure .review-heading > div:first-child span { line-height: 1.6; }
.inspector-disclosure .review-form { display: flex; flex-direction: column; }
.inspector-disclosure .review-submit { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.inspector-disclosure .topic-provenance { display: flex; flex-direction: column; gap: 12px; padding: 15px 0 0; }
.inspector-disclosure .topic-provenance span { overflow-wrap: anywhere; line-height: 1.7; }
.inspector-disclosure .topic-provenance b { display: block; }
.inspector-disclosure .platform-snapshot { margin-top: 14px; }
.has-inspector .topic-word-row { grid-template-columns: minmax(130px, 1fr) 72px 74px 80px 72px 92px; gap: 8px; padding-right: 10px; }
.has-inspector .word-trend .spark { width: 88px; }
.has-inspector .topic-sort-label > span { display: none; }
.topic-facet-modal { width: min(660px, 75vw); max-height: 80dvh; overflow-y: auto; }
.topic-facet-modal > input { width: 100%; height: 36px; border: 1px solid var(--border); border-radius: 4px; padding: 8px 10px; }
.facet-options { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; padding-top: 20px; max-height: 45dvh; overflow-y: auto; }
.facet-options button { max-width: 100%; white-space: normal; text-align: left; overflow-wrap: anywhere; }
.topic-data-modal { width: min(720px, 80vw); }
.topic-data-modal .import-bar { flex-wrap: wrap; border: 0; margin: 0; padding-top: 12px; justify-content: flex-start; }
.topic-data-modal .import-source { flex: 0 0 100%; flex-wrap: wrap; margin-bottom: 20px; }
.topic-data-modal .import-source span { white-space: normal; overflow-wrap: anywhere; line-height: 1.8; }
.topic-data-modal .import-source strong { display: none; }
.topic-page-heading { gap: 12px; flex-wrap: wrap; min-height: 72px; padding: 16px 0; }
.topic-page-heading .library-search { width: min(320px, 42%); height: 36px; flex-shrink: 1; }
.advanced-toggle { display: inline-flex; align-items: center; gap: 7px; padding: 9px 0; border: 0; background: none; color: #72717f; cursor: pointer; white-space: nowrap; font-size: 12px; }
.advanced-toggle.active { color: var(--primary); }
.advanced-toggle svg { width: 14px; height: 14px; }
.advanced-toggle.active svg, .advanced-collapse svg { transform: rotate(180deg); }
.advanced-topic-query { border-bottom: 1px solid #dcdce6; }
.advanced-fields { padding: 4px 0 0; }
.advanced-field { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid #f0f0f4; align-items: start; }
.advanced-field-label { padding-top: 9px; color: #777783; font-size: 12px; }
.advanced-field-content { min-width: 0; max-width: 920px; }
.ip-picker-heading { display: flex; align-items: center; gap: 12px; }
.ip-picker-heading input { width: 240px; max-width: 75%; height: 32px; padding: 6px 9px; border: 1px solid #dfdfe7; border-radius: 4px; background: #fff; font-size: 12px; }
.ip-picker-heading > span { color: #9999a3; font-size: 11px; }
.ip-alphabet { display: flex; flex-wrap: wrap; gap: 2px; margin: 8px 0 6px; }
.ip-alphabet button { display: inline-flex; justify-content: center; align-items: center; min-width: 22px; height: 25px; padding: 0 6px; border: 0; border-radius: 3px; background: none; font-size: 11px; color: #7b7b88; cursor: pointer; }
.ip-alphabet button.active { background: var(--selection); color: var(--primary); }
.ip-alphabet button:disabled { opacity: .3; cursor: default; }
.ip-directory { max-height: 168px; overflow-y: auto; scrollbar-width: thin; padding-right: 10px; }
.ip-letter-group { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px; padding: 3px 0; }
.ip-letter-group > strong { font-size: 11px; font-weight: 550; color: #9999a3; padding-top: 6px; }
.ip-letter-group .query-options { grid-template-columns: repeat(auto-fill, minmax(120px, 144px)); gap: 2px 10px; min-height: 26px; }
.ip-letter-group .query-option { padding: 4px 0; }
.query-options { display: grid; grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)); gap: 4px 16px; align-items: start; min-height: 34px; }
.query-option { display: flex; align-items: flex-start; gap: 8px; padding: 7px 0; font-size: 12px; line-height: 1.5; color: #656573; min-width: 0; cursor: pointer; }
.query-option input { width: 13px; height: 13px; margin: 3px 0 0; accent-color: var(--primary); flex-shrink: 0; }
.query-option span { overflow-wrap: anywhere; }
.query-option:has(input:checked) { color: var(--primary); }
.advanced-field .facet-unavailable { padding: 9px 0; display: block; }
.advanced-secondary-fields { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 460px); gap: 24px; border-bottom: 1px solid #f0f0f4; }
.advanced-secondary-fields > .advanced-field { border-bottom: 0; min-width: 0; }
.advanced-secondary-fields .query-options { display: flex; flex-wrap: wrap; gap: 2px 14px; }
.series-picker { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; min-width: 0; }
.series-search { display: flex; align-items: center; gap: 9px; min-height: 32px; width: 240px; max-width: 100%; padding: 6px 9px; border: 1px solid #dfdfe7; border-radius: 4px; color: #8b8b96; background: #fff; text-align: left; font-size: 12px; cursor: pointer; }
.series-search svg { width: 14px; height: 14px; }
.series-search svg:last-child { margin-left: auto; }
.series-picker .query-option { max-width: 300px; }
.advanced-query-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; padding: 10px 0; }
.query-selection { display: flex; flex-wrap: wrap; flex: 1; min-width: 0; gap: 6px; }
.query-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 5px 8px; border: 0; border-radius: 3px; background: #f4f3f8; color: #777484; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
button.query-chip { cursor: pointer; text-align: left; }
.query-chip svg { width: 12px; height: 12px; }
.advanced-query-actions .text-button, .advanced-query-actions .primary-button { display: flex; align-items: center; gap: 7px; flex-shrink: 0; }
.advanced-query-actions .primary-button { min-height: 34px; border-radius: 4px; font-size: 12px; }
.advanced-query-actions .text-button { font-size: 12px; }
.advanced-query-actions .ui-icon { width: 14px; height: 14px; }
.submitted-query { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--border); color: #9595a0; font-size: 11px; }
.submitted-query .query-chip { background: #f6f6f8; color: #777783; }
.query-pending { color: #997a49; }
.clear-topic-query { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; font-size: 11px; white-space: nowrap; }
.clear-topic-query svg { width: 13px; height: 13px; }
.advanced-collapse { display: flex; align-items: center; justify-content: center; gap: 5px; margin: 0 auto; padding: 9px 24px; border: 0; background: none; color: #9999a5; font-size: 11px; cursor: pointer; }
.advanced-collapse svg { width: 12px; height: 12px; }
.topic-category-tabs { display: flex; flex-wrap: wrap; gap: 26px; padding: 10px 0 0; border-bottom: 1px solid var(--border); }
.topic-category-tabs button { display: inline-flex; align-items: center; gap: 9px; min-width: 65px; min-height: 48px; padding: 0 6px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: #858591; font-size: 14px; cursor: pointer; }
.topic-category-tabs button.active { color: var(--primary); border-bottom-color: var(--primary); font-weight: 550; }
.topic-category-tabs small { font-size: 10px; font-weight: 400; color: #a0a0ab; }
.advanced-topic-query button:focus-visible, .topic-category-tabs button:focus-visible, .advanced-toggle:focus-visible { outline: 2px solid #908bad; outline-offset: 2px; }
@media (min-width: 1700px) {
  .page-shell { padding-left: 48px; padding-right: 48px; }
  .topic-inspector { width: 380px; }
}

/* Topic research: a compact workbench which keeps the library management UI separate. */
.topic-mode-tabs { display: inline-flex; align-self: stretch; align-items: stretch; gap: 4px; margin: 0 4px; }
.topic-mode-tabs button { border: 0; border-bottom: 2px solid transparent; background: transparent; padding: 0 9px; color: #858591; font-size: 12px; cursor: pointer; }
.topic-mode-tabs button.active { border-bottom-color: var(--primary); color: var(--primary); font-weight: 600; }
.topic-research-page { width: min(calc(100% - 184px), 1520px); margin-left: max(184px, calc((100% - 1520px + 184px) / 2)); padding: 0 28px 50px; }
.topic-research-page .topic-page-heading { min-height: 72px; }
.topic-research-toolbar { padding: 14px 0 12px; border-bottom: 1px solid var(--border); }
.topic-research-command, .topic-research-more-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.topic-research-command form { display: flex; align-items: center; gap: 8px; width: min(420px, 34vw); min-width: 280px; height: 36px; padding: 0 8px 0 10px; border: 1px solid #dfdfe7; border-radius: 5px; background: #fff; color: #9898a1; }
.topic-research-command form input { width: 0; min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--text); }
.topic-research-command form .primary-button { min-height: 27px; padding: 0 10px; border-radius: 3px; font-size: 11px; }
.topic-research-select { display: inline-flex; align-items: center; height: 34px; border: 1px solid #e2e2e9; border-radius: 4px; background: #fff; }
.topic-research-select > span { display: none; }
.topic-research-select select { max-width: 190px; height: 100%; border: 0; padding: 0 8px; background: transparent; color: #666674; font-size: 11px; outline: 0; }
.topic-research-more { display: inline-flex; align-items: center; gap: 4px; padding: 7px 5px; font-size: 11px; color: #777784; }
.topic-research-more.active { color: var(--primary); }
.topic-research-more svg { width: 13px; height: 13px; }
.topic-research-more.active svg { transform: rotate(180deg); }
.topic-research-more-row { min-height: 38px; padding-top: 9px; }
.topic-research-more-row > span { color: #9696a1; font-size: 11px; }
.topic-research-list { min-width: 0; }
.topic-research-head, .topic-research-row { display: grid; grid-template-columns: minmax(240px, 1.25fr) 120px 84px 96px minmax(180px, .85fr) 140px 44px; align-items: center; gap: 14px; padding: 0 14px; }
.topic-research-head { position: sticky; z-index: 2; top: 0; min-height: 34px; background: #fafafb; border-bottom: 1px solid #ececf1; color: #9696a1; font-size: 11px; }
.topic-research-head > span:not(:first-child) { text-align: right; }
.topic-research-head > span:nth-child(5), .topic-research-head > span:nth-child(6) { text-align: left; }
.research-group > header { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 17px 14px 7px; color: #9696a1; }
.research-group > header > div { display: flex; gap: 9px; align-items: baseline; min-width: 0; }
.research-group > header strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #5f5e6b; font-size: 12px; font-weight: 600; }
.research-group > header small, .research-group > header > span { font-size: 10px; }
.research-group > header > span { flex-shrink: 0; white-space: nowrap; }
.research-group > header small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topic-research-row { min-height: 60px; border-bottom: 1px solid #f0f0f4; background: #fff; cursor: pointer; }
.topic-research-row:hover { background: #fafafd; }
.research-name { min-width: 0; padding: 9px 0; }
.research-name strong { display: -webkit-box; overflow: hidden; overflow-wrap: anywhere; font-size: 13px; line-height: 1.45; font-weight: 550; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.research-name span { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
.research-name i { border-radius: 3px; background: #f1f0f6; padding: 1px 4px; color: #77738a; font-size: 10px; font-style: normal; }
.research-name small { overflow: hidden; color: #9c9ca6; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.research-metric, .research-change, .research-trend, .research-object, .research-state { min-width: 0; text-align: right; }
.research-metric b { display: block; font-size: 13px; font-weight: 600; }
.research-metric small, .research-state small { display: block; overflow: hidden; margin-top: 3px; color: #9d9da6; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.research-change { font-size: 12px; }
.research-trend { display: flex; justify-content: flex-end; }
.research-trend .spark { width: 80px; height: 25px; }
.research-object { overflow: hidden; color: #777784; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; text-align: left; }
.research-state { text-align: left; }
.research-state .status-tag { font-size: 10px; }
.research-open { justify-self: end; font-size: 11px; color: var(--primary); }
.topic-research-backdrop { padding: 0; align-items: stretch; justify-content: flex-end; }
.topic-research-preview { display: flex; flex-direction: column; flex: 0 0 auto; width: min(480px, 92vw); margin: 0; height: 100dvh; max-height: 100dvh; overflow: hidden; border-radius: 0; border-width: 0 0 0 1px; }
.topic-research-preview > .modal-header { flex-shrink: 0; min-height: 68px; gap: 16px; padding: 16px 20px; }
.topic-research-preview .icon-command { flex-shrink: 0; }
.topic-preview-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 4px 20px; }
.topic-research-preview > .modal-actions { flex-shrink: 0; padding: 16px 20px; border-top: 1px solid var(--border); background: #fff; }
.topic-research-preview .modal-header > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
.topic-research-preview .modal-header strong { overflow-wrap: anywhere; font-size: 16px; }
.topic-preview-body > p { margin: 16px; overflow-wrap: anywhere; color: #777784; font-size: 12px; line-height: 1.6; }
.preview-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 16px; }
.preview-metrics span, .preview-fact span { display: block; color: #92929d; font-size: 11px; }
.preview-metrics b { display: block; margin-top: 7px; font-size: 21px; font-weight: 600; }
.preview-fact { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 16px; padding: 14px 0; border-top: 1px solid var(--border); font-size: 11px; }
.preview-fact span { flex-shrink: 0; }
.preview-fact b { color: #73727e; text-align: right; font-weight: 500; }
.topic-research-detail-page { max-width: 1420px; }
.research-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; margin: 14px 0 18px; padding: 20px 0; border-bottom: 1px solid var(--border); }
.research-detail-header > div:first-child { min-width: 0; }
.research-detail-header > div:first-child > span { color: #85818e; font-size: 11px; }
.research-detail-header h1 { margin: 7px 0 5px; font-size: 24px; line-height: 1.32; font-weight: 620; overflow-wrap: anywhere; }
.research-detail-header p { margin: 0; color: #90909b; font-size: 11px; }
.topic-research-summary { display: grid; grid-template-columns: repeat(2, minmax(145px, 1fr)); gap: 12px 22px; min-width: min(520px, 46%); }
.topic-research-summary > div > span { display: block; margin-bottom: 5px; color: #9797a1; font-size: 10px; }
.topic-research-summary b { display: block; color: #666572; font-size: 11px; font-weight: 550; line-height: 1.5; }
.topic-research-summary > small { grid-column: 1 / -1; color: #92929c; font-size: 10px; }
.research-detail-tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--border); }
.research-detail-tabs button { min-height: 43px; padding: 0 3px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #858591; font-size: 12px; cursor: pointer; }
.research-detail-tabs button.active { border-bottom-color: var(--primary); color: var(--primary); font-weight: 600; }
.topic-research-detail-section { padding: 24px 0; }
.research-detail-metrics { display: grid; grid-template-columns: repeat(2, minmax(150px, 230px)); gap: 14px; margin-bottom: 22px; }
.research-detail-metrics span { display: block; color: #90909c; font-size: 11px; }
.research-detail-metrics b { display: block; margin-top: 7px; font-size: 24px; font-weight: 600; }
.research-detail-chart { min-height: 220px; padding: 18px; border: 1px solid var(--border); border-radius: 6px; background: #fff; }
.research-detail-chart .detail-chart { height: 210px; }
.research-compact-missing { display: flex; flex-direction: column; gap: 7px; padding: 16px; border: 1px solid #e8e6db; border-radius: 5px; background: #fbfaf6; color: #777680; }
.research-compact-missing strong { font-size: 13px; }
.research-compact-missing span { font-size: 11px; line-height: 1.6; }
.research-member-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.research-member-summary > div { margin-right: 8px; }
.research-member-summary > div strong, .research-member-summary > div small { display: block; }
.research-member-summary > div strong { font-size: 12px; }
.research-member-summary > div small { color: #9999a4; font-size: 10px; }
.research-member-summary > span { display: inline-flex; gap: 5px; align-items: center; padding: 4px 7px; border-radius: 3px; background: #f5f4f8; color: #6f6e7c; font-size: 11px; }
.research-member-summary em { color: #9998a4; font-style: normal; }
.research-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.research-section-heading strong, .research-section-heading small { display: block; }
.research-section-heading strong { font-size: 14px; }
.research-section-heading small { margin-top: 5px; color: #9696a0; font-size: 11px; }
.research-video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 12px; }
.research-video-card { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 12px; padding: 10px; border: 1px solid var(--border); border-radius: 6px; background: #fff; }
.research-video-card img { width: 118px; height: 98px; border-radius: 4px; object-fit: cover; }
.research-video-card span, .research-video-card small, .research-video-card p { display: block; margin: 0; color: #9696a0; font-size: 10px; line-height: 1.55; }
.research-video-card strong { display: -webkit-box; overflow: hidden; margin: 4px 0; font-size: 12px; line-height: 1.5; font-weight: 550; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.research-video-card p { margin-top: 5px; }
.research-video-card button { margin-top: 5px; color: var(--primary); font-size: 11px; }
.research-product-list { display: grid; gap: 0; border-top: 1px solid var(--border); }
.research-product-list article { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 66px; border-bottom: 1px solid var(--border); }
.research-product-list article > div { min-width: 0; }
.research-product-list .tag { margin-right: 7px; }
.research-product-list strong { font-size: 13px; font-weight: 550; }
.research-product-list small { display: block; overflow: hidden; margin-top: 5px; color: #9999a2; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.research-monitor-form { display: grid; grid-template-columns: repeat(2, minmax(0, 330px)); gap: 10px 18px; }
.research-monitor-form label { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-width: 0; padding: 9px 0; border-bottom: 1px solid #f0f0f4; }
.research-monitor-form label > span { overflow: hidden; color: #676674; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.research-monitor-form select { height: 28px; max-width: 132px; border: 1px solid #e2e2e9; border-radius: 3px; background: #fff; color: #73727f; font-size: 11px; }
.research-monitor-form .form-note, .research-monitor-form .primary-button { grid-column: 1 / -1; }
.research-monitor-form .primary-button { justify-self: start; margin-top: 5px; }
.topic-research-return { display: flex; align-items: center; gap: 10px; margin-bottom: 0; }
.topic-research-return > span { color: #8f8f9a; font-size: 11px; }
.topic-research-more-list { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 14px; color: #9696a1; font-size: 11px; }

@media (max-width: 1440px) {
  .topic-research-head, .topic-research-row { grid-template-columns: minmax(210px, 1.25fr) 108px 76px minmax(150px, .85fr) 120px 40px; gap: 10px; padding: 0 10px; }
  .topic-research-head > span:nth-child(4), .research-trend { display: none; }
  .topic-research-command form { flex: 1; width: auto; min-width: 240px; max-width: 420px; }
}

@media (max-width: 1320px) {
  .research-group > header small { display: none; }
}

/* Product destinations share the existing sidebar's active treatment. */
.workspace-nav-group { min-width: 0; }
.workspace-products-toggle { width: 100%; }
.workspace-products-toggle > span { flex: 1; }
.workspace-products-toggle > .ui-icon:last-child { width: 14px; height: 14px; transform: rotate(-90deg); }
.workspace-products-toggle[aria-expanded="true"] > .ui-icon:last-child { transform: rotate(0); }
.workspace-subnav { display: grid; gap: 4px; padding: 6px 0 6px 30px; }
.workspace-subnav[hidden] { display: none; }
.workspace-sublink { display: flex; align-items: center; min-height: 36px; padding: 8px 14px; border-radius: 4px; color: var(--text-secondary); text-decoration: none; font-size: 13px; }
.workspace-sublink:hover { background: #efeff4; color: var(--primary); }
.workspace-sublink.active { color: var(--primary); background: #eae9f3; font-weight: 600; }
.workspace-products-toggle:focus-visible, .workspace-sublink:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
