/* Search Term Insights — page-specific styles */

.custom-date-wrap.hidden { display: none; }

.sidebar-item.parent-open { background: #242424; color: #e8e6e0; }
.sidebar-item.parent-open .sidebar-icon { opacity: 0.7; }
.sidebar-sub-nav { padding: 2px 6px 4px 22px; }
.sidebar-sub-item { padding: 5px 8px 5px 14px; }
.sidebar-sub-item::before { content: ''; position: absolute; left: 5px; top: 50%; width: 5px; height: 1px; background: #4a4a46; }
.sidebar-sub-item.active::before { background: rgba(255,255,255,0.4); }

/* ── Table ─── */
.table-wrap tbody td:first-child { font-weight: 500; }
td.cost-high { color: var(--negative) !important; font-weight: 600; }

/* ── State messages ─── */
.loading-row td, .empty-row td, .error-row td { text-align: center; padding: 40px 24px; color: var(--ink-3); font-size: var(--text-base); }
.error-row td { color: var(--negative); }

/* ── Insight tabs ─── */
.insight-tabs { display: flex; gap: 0; border-bottom: 2px solid var(--border-subtle); margin-bottom: 24px; }
.insight-tab { padding: 10px 22px; font-size: var(--text-base); font-weight: 600; color: var(--ink-3); background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; cursor: pointer; font-family: var(--font-body); transition: color 150ms ease, border-color 150ms ease; white-space: nowrap; }
.insight-tab:hover { color: var(--ink); }
.insight-tab.active { color: var(--accent); border-bottom-color: var(--accent); }

/* ── Section header layout ─── */
.section-header-row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
.section-header-row .section-title { margin: 0; }
.section-header-status { font-size: var(--text-sm); color: var(--ink-3); white-space: nowrap; }
.section-header .section-note { margin-top: 6px; }

/* ── Suggested negatives sub-sections ─── */
.neg-subsection { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius); padding: 20px 22px 0; margin-bottom: 24px; overflow: hidden; }
.neg-subsection-header { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px; }
.neg-subsection-icon { flex-shrink: 0; width: 34px; height: 34px; border-radius: 8px; background: var(--bg-subtle); display: flex; align-items: center; justify-content: center; color: var(--ink-2); margin-top: 2px; }
.neg-subsection-title { font-size: var(--text-md); font-weight: 600; color: var(--ink); margin: 0 0 4px; }
.neg-subsection-desc { font-size: var(--text-sm); color: var(--ink-3); margin: 0; line-height: 1.5; }
.neg-subsection-desc em { font-style: normal; color: var(--ink-2); }
.neg-status { margin-left: auto; flex-shrink: 0; font-size: var(--text-sm); color: var(--ink-3); white-space: nowrap; padding-top: 6px; }
.neg-subsection .table-wrap { margin: 0 -22px; border-top: 1px solid var(--border-subtle); }
.neg-subsection .table-wrap table { border-radius: 0; }
.matched-word { display: inline-block; background: #fff3cd; color: #856404; font-size: var(--text-xs); font-weight: 500; padding: 1px 6px; border-radius: 4px; margin: 1px 2px 1px 0; border: 1px solid #fde68a; line-height: 1.5; font-family: var(--font-mono); }

/* ── Negative Finder ─── */
.nf-config { padding: 24px; }
.nf-config h3 { font-size: var(--text-lg); font-weight: 600; margin: 0 0 16px; color: var(--ink); }
.nf-config-desc { font-size: var(--text-base); color: var(--ink-2); margin: -10px 0 18px; line-height: 1.5; }
.nf-config-tip { font-size: var(--text-sm); color: var(--ink-3); margin: -10px 0 18px; line-height: 1.5; }
.nf-field { margin-bottom: 16px; }
.nf-field label { display: block; font-size: var(--text-sm); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-3); margin-bottom: 6px; }
.nf-field textarea { width: 100%; min-height: 60px; padding: 8px 10px; font-size: var(--text-base); font-family: var(--font-mono); background: var(--bg-subtle); border: 1px solid var(--border-subtle); border-radius: 7px; color: var(--ink); resize: vertical; }
.nf-depth-group { display: flex; gap: 10px; }
.nf-depth-group label { text-transform: none; font-weight: 500; font-size: var(--text-base); color: var(--ink-2); cursor: pointer; display: flex; align-items: center; gap: 5px; }
.nf-depth-group input[type="radio"] { accent-color: var(--accent); }
.nf-cost-note { font-size: var(--text-xs); color: var(--ink-3); margin-top: 4px; }
.nf-mode-selector { display: flex; gap: 0; margin-bottom: 20px; border: 1px solid var(--border-subtle); border-radius: 8px; overflow: hidden; width: fit-content; }
.nf-mode-btn { padding: 8px 18px; font-size: var(--text-base); font-weight: 500; border: none; cursor: pointer; font-family: var(--font-body); background: var(--bg-subtle); color: var(--ink-3); transition: background 150ms ease, color 150ms ease; }
.nf-mode-btn + .nf-mode-btn { border-left: 1px solid var(--border-subtle); }
.nf-mode-btn.active { background: var(--accent); color: #fff; font-weight: 600; }
.nf-mode-btn:not(.active):hover { background: var(--border-subtle); }
.nf-since-last-info { font-size: var(--text-base); color: var(--ink-2); line-height: 1.6; padding: 12px 16px; background: var(--bg-subtle); border: 1px solid var(--border-subtle); border-radius: 8px; margin-bottom: 4px; }
.nf-since-last-range { font-weight: 600; color: var(--ink); }
.nf-since-last-note { font-size: var(--text-sm); color: var(--ink-3); margin-top: 4px; }
.nf-actions { display: flex; gap: 12px; align-items: center; margin-top: 20px; }
.nf-btn { padding: 9px 22px; font-size: var(--text-base); font-weight: 600; border: none; border-radius: 7px; cursor: pointer; font-family: var(--font-body); transition: background 150ms ease, opacity 150ms ease; }
.nf-btn-primary { background: var(--accent); color: #fff; }
.nf-btn-primary:hover { opacity: .9; }
.nf-btn-primary:disabled { opacity: .5; cursor: not-allowed; }

.nf-prev-runs { margin-top: 28px; border-top: 1px solid var(--border-subtle); padding-top: 20px; }
.nf-prev-runs h4 { font-size: var(--text-base); font-weight: 600; color: var(--ink-3); margin: 0 0 10px; }
.nf-prev-runs-list { list-style: none; padding: 0; margin: 0; }
.nf-prev-runs-list li { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border-subtle); font-size: var(--text-sm); color: var(--ink-2); }
.nf-prev-runs-list li:last-child { border-bottom: none; }
.nf-run-view { color: var(--accent); cursor: pointer; font-weight: 500; background: none; border: none; font-family: var(--font-body); font-size: var(--text-sm); text-decoration: underline; }
.nf-run-view:hover { opacity: .8; }

.nf-loading { padding: 60px 24px; text-align: center; color: var(--ink-3); font-size: var(--text-md); }
.nf-loading .spinner { display: inline-block; width: 24px; height: 24px; border: 3px solid var(--border-subtle); border-top-color: var(--accent); border-radius: 50%; animation: nf-spin .7s linear infinite; margin-bottom: 12px; }
@keyframes nf-spin { to { transform: rotate(360deg); } }

.nf-results { padding: 24px; }

.nf-filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 16px; }
.nf-cat-pill { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; font-size: var(--text-xs); font-weight: 600; border-radius: 20px; cursor: pointer; border: 1.5px solid transparent; transition: opacity 150ms ease, border-color 150ms ease; user-select: none; }
.nf-cat-pill.active { border-color: currentColor; }
.nf-cat-pill.inactive { opacity: .4; }
.nf-cat-pill .nf-cat-count { font-weight: 400; opacity: .7; }
.nf-toggle-label { font-size: var(--text-sm); color: var(--ink-2); display: flex; align-items: center; gap: 5px; cursor: pointer; margin-left: 8px; }
.nf-toggle-label input { accent-color: var(--accent); }

.nf-copy-bar { display: flex; gap: 8px; align-items: center; margin-bottom: 12px; }
.nf-btn-sm { padding: 5px 12px; font-size: var(--text-xs); font-weight: 600; border: 1px solid var(--border-subtle); border-radius: 6px; cursor: pointer; font-family: var(--font-body); background: var(--bg-subtle); color: var(--ink-2); transition: background 120ms ease; }
.nf-btn-sm:hover { background: var(--border-subtle); }
.nf-toast { position: fixed; bottom: 24px; right: 24px; background: #1d9d70; color: #fff; padding: 10px 18px; border-radius: 8px; font-size: var(--text-base); font-weight: 500; z-index: 9999; opacity: 0; transition: opacity 200ms ease; pointer-events: none; }
.nf-toast.show { opacity: 1; }

.nf-table-wrap { overflow-x: auto; }
.nf-table-wrap table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.nf-table-wrap th { text-align: left; padding: 8px 10px; font-size: var(--text-sm); font-weight: 600; color: var(--text-label); text-transform: uppercase; letter-spacing: .04em; border-bottom: 2px solid var(--border-subtle); white-space: nowrap; }
.nf-table-wrap th.num { text-align: right; }
.nf-table-wrap td { padding: 7px 10px; border-bottom: 1px solid var(--border-subtle); color: var(--ink-2); }
.nf-table-wrap td.num { text-align: right; font-variant-numeric: tabular-nums; }
.nf-table-wrap tr:hover td { background: var(--bg-subtle); }
.nf-table-wrap .nf-neg-row td { color: var(--ink); }

.nf-cat-badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: var(--text-xs); font-weight: 600; letter-spacing: .02em; white-space: nowrap; }
.nf-cat-brand        { background: #f3f0ff; color: #7c3aed; }
.nf-cat-transactional { background: #ecfdf5; color: #059669; }
.nf-cat-informational { background: #fff7ed; color: #d97706; }
.nf-cat-competitor    { background: #fef2f2; color: #dc2626; }
.nf-cat-employment    { background: #fdf2f8; color: #be185d; }
.nf-cat-geographic    { background: #f0fdf4; color: #16a34a; }
.nf-cat-irrelevant    { background: #f4f4f5; color: #71717a; }
.nf-noteworthy-badge  { background: #fef9c3; color: #a16207; }
.nf-neg-flag { color: var(--negative); font-weight: 600; }
.nf-noteworthy-flag { color: #a16207; font-weight: 600; }

.nf-back-btn { margin-bottom: 16px; }
.nf-analyse-status { font-size: var(--text-sm); color: var(--ink-3); }
