/* ============================================================
   Resto AI · Reviews Command Center
   Sibling of the Social Command Center: builds on the shared
   --seo-* theme tokens from seo-command-center.css (which map to
   the dashboard's light/dark variables — no literal page colors
   here beyond the shared semáforo accents). All selectors are
   scoped under .rai-reviews-cc / rcc-*.
   ============================================================ */

.rai-reviews-cc { color: var(--seo-fg2); }
.rcc-page { padding: 30px 36px 80px; max-width: 1320px; margin: 0 auto; }

/* ---------- header ---------- */
.rcc-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.rcc-eyebrow { font-size: 10.5px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--seo-mut); margin-bottom: 6px; }
.rcc-h1 { font-size: 26px; font-weight: 600; letter-spacing: -.02em; line-height: 1.1; color: var(--seo-fg); margin: 0; }
.rcc-sub { font-size: 12.5px; color: var(--seo-fg3); margin-top: 6px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rcc-head-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rcc-updated { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; color: var(--seo-mut); }

.rcc-btn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px;
  border-radius: 9px; border: 1px solid var(--seo-line); background: var(--seo-card);
  color: var(--seo-fg2); font: 500 12px Inter, sans-serif; cursor: pointer;
  transition: all .16s var(--seo-ease, ease); white-space: nowrap; }
.rcc-btn:hover { border-color: var(--border-strong, #5a4d3b); color: var(--seo-fg); }
.rcc-btn.ghost { border-color: transparent; background: transparent; }
.rcc-btn.ghost:hover { background: var(--seo-card-2); }
.rcc-btn.busy { cursor: default; color: var(--seo-fg3); }
.rcc-spin { width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--seo-line);
  border-top-color: var(--seo-fg3); animation: rcc-rot .8s linear infinite; flex: none; }
@keyframes rcc-rot { to { transform: rotate(360deg); } }

/* ---------- view tabs ---------- */
.rcc-tabs { display: flex; gap: 6px; margin-bottom: 16px; border-bottom: 1px solid var(--seo-line-soft); }
.rcc-tab { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 0; background: none;
  color: var(--seo-fg3); font: 500 12.5px Inter, sans-serif; cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -1px; }
.rcc-tab:hover { color: var(--seo-fg); }
.rcc-tab.active { color: var(--seo-fg); border-bottom-color: var(--accent, #d97848); }
.rcc-tab-badge { min-width: 18px; padding: 1px 6px; border-radius: 999px; background: var(--seo-card-2);
  border: 1px solid var(--seo-line); font-size: 10.5px; color: var(--seo-fg3); text-align: center; }

/* ---------- summary strip (chips are FILTERS since 2026-07-10) ---------- */
.rcc-summary { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.rcc-sum-cell { display: inline-flex; align-items: center; gap: 8px; background: var(--seo-card);
  border: 1px solid var(--seo-line); border-radius: 11px; padding: 9px 14px; }
/* button reset + interactive states for the filter chips */
.rcc-sum-cell.as-filter { cursor: pointer; font: inherit; color: inherit; text-align: left;
  transition: border-color .16s var(--seo-ease, ease), background .16s var(--seo-ease, ease); }
.rcc-sum-cell.as-filter:hover { border-color: var(--border-strong, #5a4d3b); }
.rcc-sum-cell.as-filter.active { border-color: var(--vc, var(--seo-fg)); background: var(--seo-card-2); }
.rcc-sum-cell.as-filter.active .rcc-sum-lbl { color: var(--seo-fg); font-weight: 600; }
.rcc-sum-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--vc); flex: none; }
.rcc-sum-ico { color: var(--seo-fg3); display: inline-flex; }
.rcc-sum-n { font: 600 17px var(--font-mono, monospace); color: var(--seo-fg); font-variant-numeric: tabular-nums; }
.rcc-sum-lbl { font-size: 11.5px; color: var(--seo-fg3); }

/* ---------- toolbar ---------- */
.rcc-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.rcc-search { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 12px;
  border: 1px solid var(--seo-line); border-radius: 10px; background: var(--seo-card); color: var(--seo-mut); min-width: 240px; }
.rcc-search input { border: 0; background: none; outline: none; color: var(--seo-fg); font: 500 12.5px Inter, sans-serif; width: 100%; }
.rcc-search input::placeholder { color: var(--seo-mut); }
.rcc-toolbar-note { font-size: 11.5px; color: var(--seo-mut); margin-left: auto; }
.rcc-select { height: 34px; background: var(--seo-card); border: 1px solid var(--seo-line); border-radius: 10px;
  color: var(--seo-fg2); font: 500 12px Inter, sans-serif; padding: 0 10px; cursor: pointer; max-width: 240px; }
.rcc-seg { display: inline-flex; border: 1px solid var(--seo-line); border-radius: 10px; overflow: hidden; }
.rcc-seg-btn { border: 0; background: var(--seo-card); color: var(--seo-fg3); font: 500 12px Inter, sans-serif;
  padding: 0 12px; height: 32px; cursor: pointer; }
.rcc-seg-btn + .rcc-seg-btn { border-left: 1px solid var(--seo-line-soft); }
.rcc-seg-btn.active { color: var(--vc, var(--seo-fg)); background: var(--seo-card-2); font-weight: 600; }
/* :not(.active) matters — the Actionables severity segmented control paints its
   ACTIVE pill with style="--vc:<verdict color>" and relies on the .active rule
   above. A bare :hover has the same specificity and comes later, so hovering the
   active "Red" pill repainted it from red to the plain foreground and it stayed
   wrong for as long as the cursor sat there. */
.rcc-seg-btn:not(.active):hover { color: var(--seo-fg); }

/* ---------- squad scope + squad health panel ---------- */
.rcc-squadbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.rcc-squadbar-lbl { font-size: 10.5px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--seo-mut); }
.rcc-squadpanel { background: var(--seo-card); border: 1px solid var(--seo-line); border-radius: 14px;
  padding: 16px 18px; margin-bottom: 16px; }
.rcc-squadpanel.empty { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--seo-mut); }
.rcc-sqp-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rcc-sqp-eyebrow { font-size: 10px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--seo-mut); }
.rcc-sqp-title { font-size: 15px; font-weight: 650; color: var(--seo-fg); letter-spacing: -.01em; margin-top: 3px; }
.rcc-sqp-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rcc-sqp-chips a.rcc-chip { text-decoration: none; }
.rcc-sqp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px;
  margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--seo-line-soft); }
.rcc-sqp-lbl { display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--seo-fg3); }
.rcc-sqp-val { font: 600 22px var(--font-mono, monospace); color: var(--seo-fg);
  font-variant-numeric: tabular-nums; line-height: 1.2; margin-top: 5px; }
/* "No data" is deliberately small + muted: it must never read as a value. */
.rcc-sqp-val.none { font-size: 13px; font-weight: 500; color: var(--seo-mut); font-family: Inter, sans-serif; }
.rcc-sqp-sub { font-size: 10.5px; color: var(--seo-mut); margin-top: 4px; line-height: 1.45; }
.rcc-sqp-note { display: flex; align-items: flex-start; gap: 6px; margin-top: 14px; padding-top: 12px;
  border-top: 1px solid var(--seo-line-soft); font-size: 10.5px; color: var(--seo-mut); line-height: 1.55; }
.rcc-sqp-note svg { flex: none; margin-top: 2px; }

/* ---------- portfolio grid + cards ---------- */
.rcc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.rcc-card { display: block; background: var(--seo-card); border: 1px solid var(--seo-line); border-radius: 14px;
  padding: 16px 18px; text-decoration: none; color: inherit; cursor: pointer;
  transition: border-color .16s var(--seo-ease, ease), transform .16s var(--seo-ease, ease); }
.rcc-card:hover { border-color: var(--border-strong, #5a4d3b); transform: translateY(-2px); }
.rcc-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.rcc-card-name { font-size: 14.5px; font-weight: 600; color: var(--seo-fg); letter-spacing: -.01em; }
.rcc-card-locs { font-size: 11px; color: var(--seo-mut); margin-top: 3px; }
.rcc-card-squad { margin-left: 5px; }
.rcc-card-score { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: none; }
.rcc-ring { width: 52px; height: 52px; border-radius: 50%; border: 3px solid var(--vc, var(--seo-line));
  display: flex; align-items: center; justify-content: center; }
.rcc-ring-n { font: 600 17px var(--font-mono, monospace); color: var(--seo-fg); font-variant-numeric: tabular-nums; }
.rcc-verdict { font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }

.rcc-split { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 12px; color: var(--seo-fg2); flex-wrap: wrap; }
.rcc-split strong { color: var(--seo-fg); font-variant-numeric: tabular-nums; }
.rcc-split-part.muted { color: var(--seo-mut); font-size: 11.5px; }
.rcc-split-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--seo-mut); flex: none; }

.rcc-ministats { display: flex; align-items: center; gap: 10px; margin-top: 9px; font-size: 11.5px; color: var(--seo-fg3); flex-wrap: wrap; }
.rcc-ministats.muted, .rcc-ministat.muted { color: var(--seo-mut); }
.rcc-ministat { display: inline-flex; align-items: center; gap: 4px; }
.rcc-card-foot { display: flex; align-items: center; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.rcc-covnote { display: flex; align-items: center; gap: 5px; margin-top: 9px; font-size: 10.5px; color: var(--seo-mut); }

/* ---------- chips ---------- */
.rcc-chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px;
  border: 1px solid var(--seo-line); background: var(--seo-card-2); color: var(--seo-fg3); font-size: 11px; font-weight: 500; }
.rcc-chip.sm { font-size: 10.5px; padding: 2px 8px; }
.rcc-chip.red { border-color: #F26B5C; color: #F26B5C; background: transparent; }
.rcc-chip.amber { border-color: #F4A93A; color: #F4A93A; background: transparent; }
.rcc-chip.ok { border-color: #4FB477; color: #4FB477; background: transparent; }
.rcc-chip.type { text-transform: none; }
.rcc-chip.as-btn { cursor: pointer; font: 500 10.5px Inter, sans-serif; }
.rcc-chip.as-btn:hover { border-color: var(--border-strong, #5a4d3b); }

/* ---------- drill ---------- */
.rcc-drill-head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px; flex-wrap: wrap; }
.rcc-drill-title { flex: 1; min-width: 200px; }
.rcc-drill-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.rcc-locs { display: flex; flex-direction: column; gap: 14px; }
.rcc-loc { background: var(--seo-card); border: 1px solid var(--seo-line); border-radius: 14px; padding: 16px 20px; }
.rcc-loc-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.rcc-loc-title { display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 600; color: var(--seo-fg); }
.rcc-loc-chips { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rcc-loc-body { display: flex; gap: 24px; margin-top: 14px; flex-wrap: wrap; }
.rcc-loc-strength { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 180px; }
/* Labels the big number as the PROFILE score — without it, it read as "the
   health with a different value" next to the board card (2026-07-09). */
.rcc-loc-score-label { font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--seo-mut); margin-bottom: -4px; }
.rcc-loc-score { font: 600 34px var(--font-mono, monospace); line-height: 1; color: var(--vc, var(--seo-fg));
  font-variant-numeric: tabular-nums; }
.rcc-loc-score.none { color: var(--seo-mut); }
.rcc-loc-strength-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 11px; }
.rcc-loc-strength-meta.muted { color: var(--seo-mut); max-width: 220px; line-height: 1.5; }
.rcc-spark-wrap { margin-top: 2px; }
.rcc-spark-wrap.muted { font-size: 10.5px; color: var(--seo-mut); }
.rcc-spark-wrap.skeleton { width: 150px; height: 36px; border-radius: 8px; background: var(--seo-card-2); animation: rcc-pulse 1.4s ease infinite; }
.rcc-loc-main { flex: 1; min-width: 260px; }
.rcc-loc-rep { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; font-size: 12px; color: var(--seo-fg2);
  padding-bottom: 10px; border-bottom: 1px solid var(--seo-line-soft); margin-bottom: 10px; }
.rcc-loc-rep.muted { color: var(--seo-mut); border-bottom: 0; margin-bottom: 0; }
.rcc-loc-rep-item { display: inline-flex; align-items: center; gap: 4px; }
.rcc-loc-rep-item strong { color: var(--seo-fg); }

/* fixes */
.rcc-fixes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.rcc-fix { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border: 1px solid var(--seo-line-soft);
  border-radius: 9px; background: var(--seo-card-2); }
.rcc-fix-pts { font: 600 11px var(--font-mono, monospace); color: #F4A93A; flex: none; min-width: 52px; }
.rcc-fix-label { flex: 1; font-size: 12px; color: var(--seo-fg2); line-height: 1.4; }
.rcc-fix-btn { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--seo-line); background: var(--seo-card);
  color: var(--seo-fg2); font: 500 11px Inter, sans-serif; border-radius: 8px; padding: 4px 10px; cursor: pointer; flex: none;
  transition: all .16s var(--seo-ease, ease); }
.rcc-fix-btn:hover { border-color: var(--border-strong, #5a4d3b); color: var(--seo-fg); }
.rcc-fixes-empty { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; color: #4FB477; }

/* ---------- actionables feed ---------- */
.rcc-act-list { display: flex; flex-direction: column; gap: 8px; }
.rcc-act-row { display: flex; align-items: center; gap: 12px; background: var(--seo-card); border: 1px solid var(--seo-line);
  border-radius: 11px; padding: 11px 14px; }
.rcc-sev-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--vc); flex: none; }
.rcc-act-main { flex: 1; min-width: 0; }
.rcc-act-client { font-size: 11px; font-weight: 600; color: var(--seo-fg3); text-transform: uppercase; letter-spacing: .05em; }
.rcc-act-label { font-size: 12.5px; color: var(--seo-fg); margin-top: 2px; line-height: 1.45; }

/* ---------- states ---------- */
.rcc-empty { text-align: center; padding: 56px 20px; color: var(--seo-fg3); font-size: 13px;
  display: flex; align-items: center; justify-content: center; gap: 8px; }
.rcc-excluded { display: flex; align-items: flex-start; gap: 7px; margin-top: 18px; font-size: 11px; color: var(--seo-mut); line-height: 1.5; }
.rcc-error { display: flex; align-items: center; gap: 10px; justify-content: center; padding: 46px 20px;
  color: #F26B5C; font-size: 13px; flex-wrap: wrap; }

@keyframes rcc-pulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
.rcc-skel-head { height: 68px; border-radius: 14px; background: var(--seo-card); border: 1px solid var(--seo-line-soft);
  margin-bottom: 18px; animation: rcc-pulse 1.4s ease infinite; }
.rcc-skel-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.rcc-skel-card { height: 170px; border-radius: 14px; background: var(--seo-card); border: 1px solid var(--seo-line-soft);
  animation: rcc-pulse 1.4s ease infinite; }
.rcc-skel-block { height: 120px; border-radius: 14px; background: var(--seo-card); border: 1px solid var(--seo-line-soft);
  margin-bottom: 14px; animation: rcc-pulse 1.4s ease infinite; }

/* ---------- buttons: small / active variants ---------- */
.rcc-btn.sm { height: 26px; padding: 0 10px; font-size: 11px; border-radius: 8px; }
.rcc-btn.active { border-color: var(--accent, #d97848); color: var(--seo-fg); }

/* ---------- "¿Por qué este health?" explainer ---------- */
.rcc-why-btn { flex: none; }
/* z-index 950: above the chat-widget FAB (900), below the GBP modal (1000). */
.rcc-why-overlay { position: fixed; inset: 0; z-index: 950; background: rgba(12, 10, 7, .45);
  display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; }
/* Body scroll-lock while the explainer overlay is open (toggled by init.js). */
body.rcc-explain-lock { overflow: hidden; }
.rcc-why-panel { width: 100%; max-width: 760px; background: var(--seo-bg, var(--seo-card)); border: 1px solid var(--seo-line);
  border-radius: 16px; box-shadow: 0 18px 60px rgba(0, 0, 0, .35); margin: auto 0; }
.rcc-why-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  padding: 20px 24px 0; }
.rcc-why-title { font-size: 19px; font-weight: 600; letter-spacing: -.02em; color: var(--seo-fg); margin: 2px 0 0; }
.rcc-why-body { padding: 6px 24px 24px; }
.rcc-why-sec { padding: 16px 0; border-top: 1px solid var(--seo-line-soft); }
.rcc-why-sec:first-child { border-top: 0; }
.rcc-why-h { font-size: 13px; font-weight: 600; color: var(--seo-fg); margin: 0 0 8px; }
.rcc-why-h strong { font-family: var(--font-mono, monospace); font-variant-numeric: tabular-nums; }
.rcc-why-line { font-size: 12.5px; color: var(--seo-fg2); line-height: 1.6; margin: 0 0 10px; }
.rcc-why-line strong { color: var(--seo-fg); }
.rcc-why-line.mut, .rcc-why-panel .mut { color: var(--seo-mut); }
.rcc-why-health { display: inline-flex; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.rcc-why-health-n { font: 600 40px var(--font-mono, monospace); line-height: 1; color: var(--vc, var(--seo-fg));
  font-variant-numeric: tabular-nums; }
.rcc-why-health-v { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--vc, var(--seo-fg3)); }
.rcc-why-math { font: 500 12px var(--font-mono, monospace); color: var(--seo-fg2); background: var(--seo-card-2);
  border: 1px solid var(--seo-line-soft); border-radius: 9px; padding: 8px 12px; margin: 4px 0 12px;
  font-variant-numeric: tabular-nums; overflow-x: auto; }
.rcc-why-pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rcc-why-pillar { background: var(--seo-card); border: 1px solid var(--seo-line); border-radius: 12px; padding: 12px 14px; }
.rcc-why-pillar-n { font: 600 22px var(--font-mono, monospace); color: var(--seo-fg); font-variant-numeric: tabular-nums; }
.rcc-why-pillar-n.mut { color: var(--seo-mut); }
.rcc-why-pillar-l { font-size: 12px; font-weight: 600; color: var(--seo-fg); margin-top: 2px; }
.rcc-why-pillar-s { font-size: 11px; color: var(--seo-fg3); line-height: 1.5; margin-top: 3px; }
.rcc-why-row { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border: 1px solid var(--seo-line-soft);
  border-radius: 10px; background: var(--seo-card-2); margin-bottom: 6px; }
.rcc-why-row-main { flex: 1; min-width: 0; }
.rcc-why-row-l { font-size: 12px; font-weight: 600; color: var(--seo-fg); }
.rcc-why-row-v { font-size: 11.5px; color: var(--seo-fg3); margin-top: 2px; line-height: 1.5; }
.rcc-why-row-score { font: 600 15px var(--font-mono, monospace); color: var(--seo-fg); flex: none;
  font-variant-numeric: tabular-nums; }
.rcc-why-row-score .of, .rcc-why-td-pts .of { font-size: 10px; color: var(--seo-mut); font-weight: 500; }
.rcc-why-row-w { font-size: 10.5px; color: var(--seo-mut); flex: none; min-width: 58px; text-align: right; }
.rcc-why-loc { border: 1px solid var(--seo-line-soft); border-radius: 10px; margin-bottom: 8px; background: var(--seo-card); }
.rcc-why-loc summary { display: flex; align-items: center; gap: 10px; padding: 9px 12px; cursor: pointer;
  font-size: 12px; list-style: none; flex-wrap: wrap; }
.rcc-why-loc summary::-webkit-details-marker { display: none; }
.rcc-why-loc summary::before { content: '›'; color: var(--seo-mut); transition: transform .15s ease; }
.rcc-why-loc[open] summary::before { transform: rotate(90deg); }
.rcc-why-loc-t { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--seo-fg); }
.rcc-why-loc-s { font: 600 12px var(--font-mono, monospace); font-variant-numeric: tabular-nums; }
.rcc-why-locnone { display: flex; align-items: center; gap: 7px; font-size: 11.5px; color: var(--seo-mut);
  padding: 9px 12px; border: 1px dashed var(--seo-line-soft); border-radius: 10px; margin-bottom: 8px; line-height: 1.5; }
.rcc-why-tablewrap { overflow-x: auto; padding: 0 12px 10px; }
.rcc-why-table { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.rcc-why-table th { text-align: left; font-size: 10px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: var(--seo-mut); padding: 6px 8px; border-bottom: 1px solid var(--seo-line-soft); }
.rcc-why-table td { padding: 6px 8px; border-bottom: 1px solid var(--seo-line-soft); vertical-align: top; color: var(--seo-fg2); }
.rcc-why-table tr:last-child td { border-bottom: 0; }
.rcc-why-td-l { font-weight: 600; color: var(--seo-fg); white-space: nowrap; }
.rcc-why-td-pts { font-family: var(--font-mono, monospace); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rcc-why-td-what { line-height: 1.5; min-width: 180px; }
.rcc-why-status { font-size: 10px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.rcc-why-status.ok { color: #4FB477; }
.rcc-why-status.amber { color: #F4A93A; }
.rcc-why-status.red { color: #F26B5C; }
.rcc-why-status.mut { color: var(--seo-mut); }

/* ---------- embedded Google Profile drawer ---------- */
.rcc-gbp-drawer { margin-top: 14px; border: 1px solid var(--seo-line); border-radius: 12px;
  background: var(--seo-card-2); overflow: hidden; }
.rcc-drill-actions + .rcc-gbp-drawer { margin: 0 0 18px; }
.rcc-gbp-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 10px 14px; border-bottom: 1px solid var(--seo-line-soft); }
.rcc-gbp-drawer-title { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--seo-fg); }
.rcc-gbp-mount { padding: 14px 16px 18px; }

/* The mounted #gbpProfileView keeps its own (style.css) look, but embedded
   it drops the page chrome: the WHOLE header (big title + client picker —
   the drill already fixed the client) is hidden, so the tabs row is the
   first thing in the drawer with no empty strip above it. The refresh
   button lives INSIDE the tabs row (index.html) since 2026-07-10. */
#gbpProfileView.gbp-embedded .gbp-header { display: none; }
#gbpProfileView.gbp-embedded { max-width: 100%; overflow-x: hidden; }
#gbpProfileView.gbp-embedded .gbp-tabs { flex-wrap: wrap; margin-top: 0; }
#gbpProfileView.gbp-embedded #gbpLocationTabs { margin-top: 0; margin-bottom: 10px; }

/* Refresh button aligned at the right end of the tabs row (both contexts). */
#gbpProfileView .gbp-tabs { align-items: center; }
#gbpProfileView .gbp-tabs .gbp-refresh-btn { margin-left: auto; margin-bottom: 6px; flex: 0 0 auto; }

/* ---------- Business Info composed sub-sections (2026-07-10) ---------- */
#gbpProfileView .gbp-info-sub { border: 1px solid var(--card-border, var(--seo-line)); border-radius: 12px;
  background: var(--card-bg, var(--seo-card)); margin-bottom: 12px; overflow: hidden; }
#gbpProfileView .gbp-info-sub-summary { display: flex; align-items: center; gap: 10px; padding: 11px 14px;
  cursor: pointer; list-style: none; user-select: none; }
#gbpProfileView .gbp-info-sub-summary::-webkit-details-marker { display: none; }
#gbpProfileView .gbp-info-sub-summary::before { content: '›'; color: var(--text-secondary, #8a8378);
  font-size: 15px; line-height: 1; transition: transform .15s ease; flex: 0 0 auto; }
#gbpProfileView .gbp-info-sub[open] > .gbp-info-sub-summary::before { transform: rotate(90deg); }
#gbpProfileView .gbp-info-sub-title { display: inline-flex; align-items: center; gap: 7px;
  font-size: 13px; font-weight: 700; color: var(--text-primary, inherit); }
#gbpProfileView .gbp-info-sub-hint { font-size: 11px; color: var(--text-secondary, #8a8378); margin-left: auto;
  text-align: right; }
#gbpProfileView .gbp-info-sub-body { padding: 2px 14px 14px; }
@media (max-width: 760px) { #gbpProfileView .gbp-info-sub-hint { display: none; } }

/* ---------- Nudges (Push List) ---------- */
.rcc-nudge-summary { display: flex; gap: 22px; margin: 4px 0 16px; padding: 12px 16px;
  background: var(--seo-card); border: 1px solid var(--seo-line); border-radius: 12px; }
.rcc-nudge-sumcell { display: inline-flex; align-items: center; gap: 8px; }
.rcc-nudge-list { display: flex; flex-direction: column; gap: 11px; }
.rcc-nudge-row { display: flex; align-items: flex-start; gap: 12px; background: var(--seo-card);
  border: 1px solid var(--seo-line); border-radius: 12px; padding: 13px 15px; }
.rcc-nudge-row .rcc-sev-dot { margin-top: 5px; }
.rcc-nudge-main { flex: 1; min-width: 0; }
.rcc-nudge-top { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.rcc-nudge-client { font-size: 13.5px; font-weight: 650; color: var(--seo-fg); }
.rcc-nudge-trend { display: inline-flex; align-items: center; gap: 3px; font: 600 11px var(--font-mono, monospace);
  font-variant-numeric: tabular-nums; padding: 1px 7px; border-radius: 999px; border: 1px solid transparent; }
.rcc-nudge-trend.down { color: #F26B5C; border-color: rgba(242,107,92,.32); background: rgba(242,107,92,.08); }
.rcc-nudge-trend.up { color: #4FB477; border-color: rgba(79,180,119,.30); background: rgba(79,180,119,.08); }
.rcc-nudge-value { font-size: 12.5px; color: var(--seo-fg); margin-top: 5px; line-height: 1.45; font-weight: 500; }
.rcc-nudge-reason { font-size: 11.5px; color: var(--seo-fg3); margin-top: 3px; line-height: 1.5; }
.rcc-nudge-action { display: flex; align-items: flex-start; gap: 6px; font-size: 12px; color: var(--seo-fg);
  margin-top: 8px; line-height: 1.5; padding: 8px 10px; border-radius: 9px;
  background: var(--brand-soft, rgba(217,120,72,.10)); border: 1px solid var(--brand-soft-hi, rgba(217,120,72,.22)); }
.rcc-nudge-action svg { color: var(--accent, #d97848); flex: none; margin-top: 2px; }
.rcc-nudge-meta { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 11px; color: var(--seo-mut); }
.rcc-nudge-dot { opacity: .55; }
.rcc-nudge-cta { display: flex; flex-direction: column; gap: 7px; flex: none; align-items: stretch; }
.rcc-nudge-btn { display: inline-flex; align-items: center; justify-content: center; gap: 5px; white-space: nowrap;
  height: 30px; padding: 0 12px; border-radius: 9px; border: 1px solid var(--seo-line); background: var(--seo-card);
  color: var(--seo-fg3); font: 500 11.5px Inter, sans-serif; cursor: pointer; transition: border-color .12s, color .12s; }
.rcc-nudge-btn:hover:not(:disabled) { border-color: var(--border-strong, #5a4d3b); color: var(--seo-fg); }
.rcc-nudge-btn.ghost { border-color: transparent; background: transparent; }
.rcc-nudge-btn.ghost:hover:not(:disabled) { background: var(--seo-card-2); }
.rcc-nudge-btn:disabled { opacity: .5; cursor: default; }

/* ---------- responsive ---------- */
@media (max-width: 760px) {
  .rcc-page { padding: 20px 16px 60px; }
  .rcc-loc-body { flex-direction: column; gap: 14px; }
  .rcc-toolbar-note { margin-left: 0; }
  .rcc-why-pillars { grid-template-columns: 1fr; }
  .rcc-why-overlay { padding: 16px 8px; }
  .rcc-why-row { flex-wrap: wrap; }
  .rcc-gbp-mount { padding: 10px 10px 14px; }
  .rcc-nudge-row { flex-wrap: wrap; }
  .rcc-nudge-cta { flex-direction: row; flex-wrap: wrap; width: 100%; margin-top: 4px; }
  .rcc-nudge-summary { gap: 16px; flex-wrap: wrap; }
  /* Squad pills wrap instead of overflowing the viewport on phones. */
  .rcc-squadbar .rcc-seg { flex-wrap: wrap; }
  .rcc-sqp-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
}
