/* ─────────────────────────────────────────────────────────────
   Brand Scan — shared styles
   Used by both /brand-scan (public page) and /ops/client/{id}
   Audit tab · Brand Visibility sub-tab. Single source of truth.
   ────────────────────────────────────────────────────────────── */

.sr-root { --sr-ink:#1e293b; --sr-ink-2:#64748b; --sr-ink-3:#94a3b8; --sr-brand:#1e3a5f; --sr-brand-soft:#e4ecf7; --sr-line:#e2e8f0; --sr-bg-2:#f5f7fb; --sr-fail:#ef4444; --sr-ok:#5b8fb9; --sr-warn:#f59e0b; font-size:14px; line-height:1.6; color:var(--sr-ink) }

/* Layout */
.sr-root .sr-form-group { margin-bottom:20px }
.sr-root label { display:block; font-size:13px; font-weight:600; color:var(--sr-ink-2); margin-bottom:6px }
.sr-root input, .sr-root select { width:100%; padding:12px 16px; border:1px solid var(--sr-line); border-radius:10px; font-size:15px; color:var(--sr-brand); outline:none; background:#fff }
.sr-root input:focus, .sr-root select:focus { border-color:var(--sr-ok) }
.sr-root input::placeholder { color:#cbd5e1 }
.sr-root .sr-btn { width:100%; padding:14px; background:var(--sr-brand); color:white; border:none; border-radius:10px; font-size:15px; font-weight:600; cursor:pointer; margin-top:8px }
.sr-root .sr-btn:hover { background:#2a4a6b }
.sr-root .sr-btn:disabled { background:#cbd5e1; cursor:not-allowed }
.sr-root .sr-btn-sm { padding:8px 16px; background:var(--sr-brand-soft); border:1px solid var(--sr-line); border-radius:10px; font-size:13px; font-weight:600; color:var(--sr-brand); cursor:pointer; white-space:nowrap }
.sr-root .sr-btn-sm:hover { background:#dce5f2 }

/* Query list */
.sr-root .sr-query-section { background:var(--sr-bg-2); border-radius:12px; padding:20px; margin-bottom:20px; display:none }
.sr-root .sr-query-section-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px }
.sr-root .sr-query-section-title { font-size:13px; font-weight:600; color:var(--sr-ink-2) }
.sr-root .sr-query-count { font-size:12px; color:var(--sr-ink-3) }
.sr-root .sr-query-item { display:flex; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid #e8ecf2; font-size:14px }
.sr-root .sr-query-item:last-child { border-bottom:none }
.sr-root .sr-query-item input[type=checkbox] { accent-color:var(--sr-brand); width:16px; height:16px }
.sr-root .sr-query-item .sr-q-text { flex:1 }
.sr-root .sr-query-item .sr-q-delete { color:var(--sr-ink-3); cursor:pointer; font-size:18px; padding:0 4px }
.sr-root .sr-query-item .sr-q-delete:hover { color:var(--sr-fail) }
.sr-root .sr-query-add { display:flex; gap:8px; margin-top:10px }
.sr-root .sr-query-add input { flex:1; padding:8px 12px; font-size:14px }
.sr-root .sr-upgrade-hint { background:var(--sr-brand-soft); border-radius:8px; padding:12px 16px; font-size:13px; color:var(--sr-brand); margin-top:12px; text-align:center }
.sr-root .sr-upgrade-hint a { color:var(--sr-brand); font-weight:700; text-decoration:underline }

/* Competitors chip */
.sr-root .sr-comp-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px }
.sr-root .sr-comp-tag { background:var(--sr-brand-soft); color:var(--sr-brand); padding:4px 12px; border-radius:16px; font-size:13px; font-weight:500; display:flex; align-items:center; gap:4px }
.sr-root .sr-comp-tag .sr-remove { cursor:pointer; color:var(--sr-ink-3); font-size:16px }
.sr-root .sr-comp-tag .sr-remove:hover { color:var(--sr-fail) }

/* Competitor source badge — tells user whether competitors come from
   curated library (trusted) or LLM fallback (verify before scanning). */
.sr-root .sr-source-badge { display:none; font-size:11px; font-weight:600; padding:2px 8px; border-radius:10px; margin-left:8px; vertical-align:middle; letter-spacing:0.2px }
.sr-root .sr-source-badge.sr-src-curated { display:inline-block; background:#e6f7ed; color:#0a7a3b }
.sr-root .sr-source-badge.sr-src-llm     { display:inline-block; background:#fff4d6; color:#8a5a00 }

/* Progress */
.sr-root .sr-progress-wrap { display:none; margin-top:32px; text-align:center }
.sr-root .sr-progress-bar { height:4px; background:var(--sr-line); border-radius:2px; overflow:hidden; margin:16px 0 }
.sr-root .sr-progress-fill { height:4px; background:var(--sr-brand); border-radius:2px; transition:width 0.3s; width:0% }
.sr-root .sr-progress-text { font-size:14px; color:var(--sr-ink-3) }

/* Result */
.sr-root .sr-result-wrap { display:none; margin-top:32px }
.sr-root .sr-result-score-card { background:var(--sr-brand-soft); border-radius:14px; padding:28px; text-align:center; margin-bottom:16px }
.sr-root .sr-result-brand { font-size:18px; font-weight:700; color:var(--sr-brand); margin-bottom:8px }
.sr-root .sr-result-score { font-size:56px; font-weight:700; margin-bottom:4px }
.sr-root .sr-result-label { font-size:15px; color:var(--sr-ink-2) }
.sr-root .sr-preview-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:16px 0 }
.sr-root .sr-preview-platform { background:var(--sr-bg-2); border-radius:8px; padding:12px; text-align:center }
.sr-root .sr-preview-platform .sr-p-name { font-size:11px; font-weight:600; color:var(--sr-ink-2); margin-bottom:4px }
.sr-root .sr-preview-platform .sr-p-pct { font-size:18px; font-weight:700 }
.sr-root .sr-preview-competitors { margin:16px 0; padding:16px; background:var(--sr-bg-2); border-radius:10px }
.sr-root .sr-preview-competitors .sr-title { font-size:12px; font-weight:600; color:var(--sr-ink-3); margin-bottom:8px }
.sr-root .sr-comp-row { display:flex; align-items:center; gap:10px; padding:6px 0; font-size:15px }
.sr-root .sr-comp-rank { font-weight:700; color:var(--sr-ink-3); width:24px }
.sr-root .sr-comp-bar { flex:1; height:5px; background:var(--sr-line); border-radius:3px; overflow:hidden }
.sr-root .sr-comp-bar-fill { height:5px; border-radius:3px; background:#334155 }
.sr-root .sr-comp-score { font-weight:700; min-width:28px; text-align:right }

/* Public-only: auth gate + unlocked + share + error */
.sr-root .sr-gate-wrap { display:none; margin-top:20px; padding:24px; background:var(--sr-bg-2); border-radius:14px; text-align:center }
.sr-root .sr-gate-wrap h3 { font-size:16px; font-weight:700; margin-bottom:6px }
.sr-root .sr-gate-wrap p { font-size:14px; color:var(--sr-ink-2); margin-bottom:16px }
.sr-root .sr-gate-row { display:flex; gap:8px; flex-direction:column }
.sr-root .sr-gate-btn { padding:12px 20px; background:var(--sr-brand); color:white; border:none; border-radius:10px; font-size:15px; font-weight:600; cursor:pointer; width:100% }
.sr-root .sr-unlocked-wrap { display:none; margin-top:16px; text-align:center }
.sr-root .sr-unlocked-btns { display:flex; gap:12px; justify-content:center }
.sr-root .sr-report-btn { display:inline-block; padding:12px 24px; border-radius:10px; font-size:15px; font-weight:600; text-decoration:none }
.sr-root .sr-report-btn-primary { background:var(--sr-brand); color:white }
.sr-root .sr-report-btn-secondary { background:white; color:var(--sr-brand); border:1px solid var(--sr-line) }
.sr-root .sr-error-wrap { display:none; margin-top:24px; padding:16px; background:#fef2f2; border-radius:10px; color:#dc2626; font-size:15px }
.sr-root .sr-playbook-cta-btn { display:block; text-align:center; padding:12px 24px; background:var(--sr-brand); color:#fff !important; border-radius:10px; font-weight:700; font-size:14px; text-decoration:none; margin-top:16px }
.sr-root .sr-playbook-cta-btn:hover { background:#162d4a }

/* Manual hint */
.sr-root .sr-manual-hint { background:#fff8e1; border-radius:10px; padding:16px; margin-bottom:16px; font-size:14px; color:#92600a }

/* Query research CTA */
.sr-root .sr-query-research-cta { margin-top:12px; padding:14px 18px; background:#f0fdf4; border:1px solid #d1fae5; border-radius:10px; font-size:13px; text-align:center }
.sr-root .sr-query-research-cta a { color:#0d9488; font-weight:700 }
