/* Research agents admin — sits on locker.css; colours come from tokens.css */
.ra-sec { margin: 0 0 30px; padding: 0; }
.ra-sec .pe-sec-head { flex-wrap: wrap; gap: 10px; }
.ra-sec .pe-h2 { margin: 0; }
.ra-meta { font: 600 11.5px var(--mono, "JetBrains Mono", monospace); color: var(--muted); letter-spacing: .03em; }
.ra-note { font: 400 12.5px/1.6 "DM Sans", sans-serif; color: var(--muted); margin: 10px 0 0; }
.ra-note code { font: 500 11.5px var(--mono, "JetBrains Mono", monospace); background: var(--paper-deep); border-radius: 4px; padding: 1px 5px; }

/* --- agents ------------------------------------------------------------- */
.ra-agents { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 14px; }
.ra-agent { background: #fff; border: 1.5px solid var(--rule); border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.ra-agent-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ra-agent-head h3 { font: 800 17px "Archivo", sans-serif; letter-spacing: -.01em; margin: 0; color: var(--charcoal); }
.ra-agent-what { font: 400 13px/1.55 "DM Sans", sans-serif; color: #3f474d; margin: 0; }
.ra-counts { display: flex; flex-wrap: wrap; gap: 6px 14px; font: 500 12px "DM Sans", sans-serif; color: var(--muted); }
.ra-counts b { font: 700 12.5px var(--mono, "JetBrains Mono", monospace); color: var(--charcoal); }
.ra-counts .is-live b { color: var(--orange-deep); }
.ra-agent-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding-top: 6px; border-top: 1px dashed var(--rule); }
.ra-agent-actions .pe-input { width: 84px; padding: 7px 9px; font-size: 13px; }
.ra-progress { font: 500 12.5px "DM Sans", sans-serif; color: var(--charcoal-3); min-height: 18px; }
.ra-progress.is-err { color: var(--tier-1); }

/* --- badges ------------------------------------------------------------- */
.ra-tag { display: inline-block; font: 700 10px var(--mono, "JetBrains Mono", monospace); letter-spacing: .08em; text-transform: uppercase; border-radius: 999px; padding: 3px 9px; white-space: nowrap; }
.ra-tag--free { background: #eef4e8; color: #3f6b28; }
.ra-tag--model { background: #fdf6e8; color: #8a6d1f; }
.ra-tag--src { background: var(--paper-deep); color: var(--charcoal-3); }
.ra-conf { display: inline-block; font: 700 10px var(--mono, "JetBrains Mono", monospace); letter-spacing: .08em; text-transform: uppercase; border-radius: 999px; padding: 3px 9px; }
.ra-conf--high { background: #eef4e8; color: #3f6b28; }
.ra-conf--medium { background: #fdf6e8; color: #8a6d1f; }
.ra-conf--low { background: #fbeee8; color: var(--tier-1); }

/* --- review queue --------------------------------------------------------- */
.ra-filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; width: 100%; }
.ra-filters .pe-select { width: auto; }
.ra-filters .pe-input { max-width: 240px; padding: 8px 10px; }
.ra-bulk { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; background: var(--paper-warm); border: 1.5px solid var(--rule); border-radius: 12px; padding: 10px 14px; margin: 0 0 12px; font: 600 13px "DM Sans", sans-serif; color: var(--charcoal); }
.ra-bulk .ra-bulk-n { font: 700 13px var(--mono, "JetBrains Mono", monospace); color: var(--orange-deep); }
.ra-bulk .grow { flex: 1; }

.ra-records { display: flex; flex-direction: column; gap: 12px; }
.ra-rec { background: #fff; border: 1.5px solid var(--rule); border-radius: 14px; padding: 14px 16px 12px; display: grid; grid-template-columns: 22px 1fr; gap: 6px 12px; }
.ra-rec.is-picked { border-color: var(--orange); box-shadow: 0 0 0 3px rgb(var(--orange-rgb) / .12); }
.ra-rec.is-gone { opacity: .45; }
.ra-rec input[type="checkbox"] { accent-color: var(--orange); width: 16px; height: 16px; margin-top: 3px; }
.ra-rec-head { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.ra-rec-head h4 { font: 800 16px "Archivo", sans-serif; letter-spacing: -.01em; margin: 0; color: var(--charcoal); }
.ra-rec-head h4 a { color: inherit; text-decoration: none; border-bottom: 1.5px solid var(--rule-2); }
.ra-rec-head h4 a:hover { color: var(--orange-deep); border-color: var(--orange); }
.ra-rec-head .ra-slug { font: 500 11px var(--mono, "JetBrains Mono", monospace); color: var(--muted); }
.ra-rec-where { grid-column: 2; font: 400 12.5px "DM Sans", sans-serif; color: var(--charcoal-3); margin: 0; }
.ra-diff { grid-column: 2; width: 100%; border-collapse: collapse; margin: 4px 0 2px; font: 500 13px "DM Sans", sans-serif; }
.ra-diff th { text-align: left; font: 700 10.5px var(--mono, "JetBrains Mono", monospace); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 4px 8px 4px 0; border-bottom: 1px solid var(--rule); }
.ra-diff td { padding: 5px 8px 5px 0; border-bottom: 1px solid var(--paper-deep); vertical-align: top; }
.ra-diff td.ra-f { font: 600 12.5px var(--mono, "JetBrains Mono", monospace); color: var(--charcoal-3); width: 110px; }
.ra-diff td.ra-old { color: var(--muted); }
.ra-diff td.ra-new { color: var(--charcoal); font-weight: 700; }
.ra-diff td.ra-new .ra-conf { margin-left: 8px; vertical-align: 1px; }
.ra-diff .ra-q { font: 600 10.5px var(--mono, "JetBrains Mono", monospace); color: var(--muted); margin-left: 6px; }
.ra-evidence { grid-column: 2; font: 400 12.5px/1.5 "DM Sans", sans-serif; color: #3f474d; margin: 2px 0 0; }
.ra-evidence b { font-weight: 700; color: var(--charcoal-3); }
.ra-move { font: 700 12px var(--mono, "JetBrains Mono", monospace); color: var(--orange-deep); }
.ra-rec-foot { grid-column: 2; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
.ra-rec-foot .grow { flex: 1; }
.ra-maplink { font: 600 12px "DM Sans", sans-serif; color: var(--charcoal-3); text-decoration: underline; text-underline-offset: 2px; }
.ra-maplink:hover { color: var(--orange-deep); }
.ra-decided { font: 500 12px "DM Sans", sans-serif; color: var(--muted); }
.ra-empty { text-align: center; color: var(--muted); padding: 28px; font: 400 14px "DM Sans", sans-serif; background: #fff; border: 1.5px dashed var(--rule); border-radius: 14px; }

@media (max-width: 640px) {
  .ra-agents { grid-template-columns: 1fr; }
  .ra-diff td.ra-f { width: 80px; }
}

/* Stat sub-labels sit under the label, not run into it */
.pe-stat-l .ra-meta { display: block; text-transform: none; letter-spacing: 0; font: 500 11.5px "DM Sans", sans-serif; margin-top: 3px; }
/* The bar stays visible so "Select all on page" is reachable; its actions disable instead */
.ra-bulk .pe-btn:disabled { opacity: .45; cursor: default; }

/* --- publish control ------------------------------------------------------
   Publishing is the one action here that changes the PUBLIC site, so it gets
   its own band rather than sitting among the agent cards. */
.ra-pub { display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
  background: #fff; border: 1.5px solid var(--rule); border-left: 4px solid var(--rule-2);
  border-radius: 14px; padding: 16px 18px; }
.ra-pub.is-ready { border-left-color: var(--orange); }
.ra-pub.is-working { border-left-color: var(--tier-3); }
.ra-pub.is-done { border-left-color: var(--tier-4); }
.ra-pub.is-failed { border-left-color: var(--tier-1); }
.ra-pub-main { flex: 1; min-width: 260px; }
.ra-pub-main .pe-h2 { margin: 0 0 4px; }
.ra-pub-state { font: 600 13.5px/1.5 "DM Sans", sans-serif; color: var(--charcoal); margin: 0; }
.ra-pub-note { font: 400 12.5px/1.55 "DM Sans", sans-serif; color: var(--muted); margin: 4px 0 0; }
.ra-pub-note a { color: var(--charcoal-3); text-decoration: underline; text-underline-offset: 2px; }
.ra-pub-note a:hover { color: var(--orange-deep); }
.ra-pub.is-failed .ra-pub-state { color: var(--tier-1); }
.ra-pub-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ra-pub-actions .pe-btn:disabled { opacity: .45; cursor: default; }
/* ⚠️ `[hidden]` is only the UA stylesheet's display:none, and .pe-btn sets
   display:inline-flex — an author rule, so it wins and the button stays
   visible. Same trap that bit .wx-mini and the bulk bar. */
.ra-pub-actions .pe-btn[hidden] { display: none; }
