/* Reports & Verdicts Registry — front-end styles.
 *
 * Mounted by static/js/registry-client.js. Uses Midnight Command design
 * tokens (--card-bg, --border-color, --text-white, --text-muted,
 * --accent-emerald, --accent-amber, --accent-red, --mc-blue, …) so the
 * component matches the rest of the dashboard in both dark and light
 * themes without inline hex literals (keeps the colour-palette lint
 * clean — see Phase5_Regression_Report.md).
 */

/* ---- shared atoms ----------------------------------------------------- */

.rg-muted   { color: var(--text-muted); }
.rg-bad     { color: var(--accent-red); }

.rg-input {
  background: var(--primary-bg);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  color: var(--text-white);
  padding: 6px 8px;
  font-size: 12px;
  font-family: var(--mc-font-mono, 'JetBrains Mono', monospace);
  min-width: 0;
}
.rg-input:focus { outline: 1px solid var(--mc-blue); outline-offset: 0; }
.rg-input-sm { max-width: 160px; }

.rg-btn {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  color: var(--text-white);
  padding: 4px 10px;
  font-size: 11px;
  font-family: var(--mc-font-mono, 'JetBrains Mono', monospace);
  letter-spacing: 0.04em;
  cursor: pointer;
  border-radius: 3px;
  text-transform: uppercase;
}
.rg-btn:hover:not(:disabled) {
  border-color: var(--mc-blue);
  color: var(--mc-blue);
}
.rg-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.rg-btn-primary {
  background: var(--mc-blue-dim);
  border-color: var(--mc-blue);
  color: var(--text-white);
}
.rg-link {
  background: none; border: none; color: var(--mc-blue); cursor: pointer;
  padding: 0; font-size: 11px; text-decoration: underline;
  font-family: var(--mc-font-mono, 'JetBrains Mono', monospace);
}

.rg-checkbox-wrap {
  font-size: 11px; color: var(--text-muted);
  display: inline-flex; align-items: center; gap: 6px;
}
.rg-checkbox-wrap input { accent-color: var(--mc-blue); }

.rg-pre {
  background: var(--primary-bg);
  border: 1px solid var(--border-color);
  padding: 8px 10px;
  font-size: 11px;
  max-height: 240px; overflow: auto;
  color: var(--text-white);
  white-space: pre-wrap; word-break: break-word;
}

/* ---- pills & mini indicators ----------------------------------------- */

.rg-pill {
  display: inline-block;
  padding: 1px 7px;
  font-size: 10px;
  font-family: var(--mc-font-mono, 'JetBrains Mono', monospace);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid var(--border-color);
  border-radius: 2px;
  font-weight: 700;
  white-space: nowrap;
  background: var(--card-bg);
  color: var(--text-white);
  vertical-align: middle;
}
.rg-pill-rev {
  font-weight: 600; opacity: 0.85; margin-left: 4px;
  padding-left: 4px; border-left: 1px solid currentColor;
}
.rg-pill--ok      { background: var(--mc-green-dim);  border-color: var(--accent-emerald); color: var(--accent-emerald); }
.rg-pill--warn    { background: var(--mc-amber-dim);  border-color: var(--accent-amber);   color: var(--accent-amber); }
.rg-pill--bad     { background: var(--mc-red-dim);    border-color: var(--accent-red);     color: var(--accent-red); }
.rg-pill--blue    { background: var(--mc-blue-dim);   border-color: var(--mc-blue);        color: var(--mc-blue); }
.rg-pill--neutral { background: transparent;          border-color: var(--mc-steel);       color: var(--mc-steel); }
.rg-pill--pending { background: transparent;          border-color: var(--mc-blue);        color: var(--mc-blue); }
.rg-pill--muted   { background: transparent;          border-color: var(--border-color);   color: var(--text-muted); }

.rg-mini {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 10px;
  font-family: var(--mc-font-mono, 'JetBrains Mono', monospace);
  color: var(--text-muted);
  padding: 1px 5px;
  border: 1px solid var(--border-color);
  border-radius: 2px;
  background: var(--card-bg);
}
.rg-mini.rg-pill--ok      { color: var(--accent-emerald); border-color: var(--accent-emerald); }
.rg-mini.rg-pill--warn    { color: var(--accent-amber);   border-color: var(--accent-amber); }
.rg-mini.rg-pill--bad     { color: var(--accent-red);     border-color: var(--accent-red); }
.rg-mini.rg-pill--blue    { color: var(--mc-blue);        border-color: var(--mc-blue); }
.rg-mini.rg-pill--pending { color: var(--mc-blue);        border-color: var(--mc-blue); }
.rg-mini.rg-pill--neutral { color: var(--mc-steel);       border-color: var(--mc-steel); }
.rg-mini-dot {
  display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: currentColor;
}
.rg-mini-rev { opacity: 0.85; }

/* ---- Command Center registry table ----------------------------------- */

.rg-cc-toolbar {
  display: flex; flex-wrap: wrap; gap: 8px;
  align-items: center;
  padding: 8px 0 12px 0;
}
.rg-cc-toolbar .rg-input { flex: 1 1 200px; }
.rg-cc-toolbar .rg-input-sm { flex: 0 0 auto; }

.rg-live-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--mc-steel); border: 1px solid var(--border-color);
  margin-left: auto;
}
.rg-live-dot--on { background: var(--accent-emerald); border-color: var(--accent-emerald); }

.rg-cc-table-wrap {
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background: var(--card-bg);
  overflow: auto;
  max-height: 60vh;
}
.rg-table {
  width: 100%; border-collapse: collapse;
  font-size: 11px;
  font-family: var(--mc-font-mono, 'JetBrains Mono', monospace);
}
.rg-table th, .rg-table td {
  padding: 6px 8px;
  border-bottom: 1px solid var(--border-color);
  text-align: left;
  color: var(--text-white);
  vertical-align: middle;
}
.rg-table th {
  position: sticky; top: 0;
  background: var(--card-bg);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  z-index: 1;
}
.rg-row:hover { background: var(--mc-blue-dim); }
.rg-col-ticker  { font-weight: 700; }
.rg-col-id code { color: var(--text-muted); font-size: 10px; }
.rg-col-actions { white-space: nowrap; }
.rg-col-actions .rg-btn { margin-right: 4px; padding: 2px 6px; font-size: 10px; }
.rg-col-time, .rg-col-lat, .rg-col-author { color: var(--text-muted); font-size: 10px; }

.rg-cc-pager {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 0 4px 0;
}
.rg-cc-count { margin-left: auto; font-size: 10px; }

/* ---- Timeline (Audit + History modal) -------------------------------- */

.rg-tl {
  list-style: none; padding: 0; margin: 0;
  border-left: 1px solid var(--border-color);
  padding-left: 14px;
}
.rg-tl-item {
  position: relative;
  padding: 6px 0 6px 0;
  display: flex; gap: 8px; align-items: flex-start;
}
.rg-tl-item + .rg-tl-item { border-top: 1px dashed var(--border-color); }
.rg-tl-icon {
  position: absolute; left: -22px;
  width: 16px; height: 16px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 50%;
  font-size: 10px;
  color: var(--text-muted);
}
.rg-tl-verdict_received   .rg-tl-icon,
.rg-tl-run_completed      .rg-tl-icon { color: var(--accent-emerald); border-color: var(--accent-emerald); }
.rg-tl-verdict_revision   .rg-tl-icon { color: var(--accent-amber);   border-color: var(--accent-amber); }
.rg-tl-verdict_overridden .rg-tl-icon { color: var(--mc-blue);        border-color: var(--mc-blue); }
.rg-tl-verdict_expired    .rg-tl-icon,
.rg-tl-run_failed         .rg-tl-icon { color: var(--accent-red);     border-color: var(--accent-red); }
.rg-tl-body { flex: 1; min-width: 0; }
.rg-tl-head {
  display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap;
  font-size: 11px;
}
.rg-tl-kind {
  font-family: var(--mc-font-mono, 'JetBrains Mono', monospace);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 10px;
  color: var(--text-white);
}
.rg-tl-time   { color: var(--text-muted); font-size: 10px; }
.rg-tl-author { color: var(--mc-blue); font-size: 10px; }
.rg-tl-detail {
  color: var(--text-muted);
  font-size: 11px;
  margin-top: 2px;
  word-break: break-word;
}

/* ---- Modal ----------------------------------------------------------- */

.rg-modal-root {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(0, 0, 0, 0.5);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
}
.rg-modal-root[hidden] { display: none; }
.rg-modal {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  width: min(720px, 100%);
  max-height: 80vh;
  display: flex; flex-direction: column;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
}
.rg-modal-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border-color);
}
.rg-modal-title {
  font-family: var(--mc-font-mono, 'JetBrains Mono', monospace);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-white);
}
.rg-modal-title code {
  font-weight: 400; color: var(--text-muted); font-size: 11px;
}
.rg-modal-close {
  background: none; border: none; color: var(--text-muted);
  font-size: 22px; line-height: 1; cursor: pointer; padding: 0 4px;
}
.rg-modal-close:hover { color: var(--text-white); }
.rg-modal-body {
  padding: 14px;
  overflow: auto;
  font-size: 12px;
  color: var(--text-white);
}

/* Verdict tooltip card inside modal */
.rg-verdict-card .rg-verdict-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.rg-verdict-meta { font-size: 11px; color: var(--text-muted); }
.rg-verdict-comment {
  margin: 10px 0;
  padding: 8px 12px;
  border-left: 2px solid var(--mc-blue);
  background: var(--mc-blue-dim);
  color: var(--text-white);
  font-style: italic;
}
.rg-verdict-details summary {
  cursor: pointer; color: var(--mc-blue); font-size: 11px;
  margin-top: 8px; padding: 4px 0;
}

/* ---- Alerts feed ----------------------------------------------------- */

.rg-alerts-feed { display: block; }
.rg-alerts-list { list-style: none; padding: 0; margin: 0; }
.rg-alerts-item {
  padding: 6px 0;
  border-bottom: 1px solid var(--border-color);
  font-size: 11px;
  display: flex; flex-direction: column; gap: 2px;
}
.rg-alerts-item:last-child { border-bottom: none; }
.rg-alerts-row {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.rg-alerts-kind {
  font-family: var(--mc-font-mono, 'JetBrains Mono', monospace);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}
.rg-alerts-time { font-size: 10px; color: var(--text-muted); margin-left: auto; }
.rg-alerts-id { font-size: 10px; color: var(--text-muted); }
.rg-alerts-verdict_received   { border-left: 2px solid var(--accent-emerald); padding-left: 6px; }
.rg-alerts-verdict_revision   { border-left: 2px solid var(--accent-amber);   padding-left: 6px; }
.rg-alerts-verdict_overridden { border-left: 2px solid var(--mc-blue);        padding-left: 6px; }
.rg-alerts-verdict_expired,
.rg-alerts-run_failed         { border-left: 2px solid var(--accent-red);     padding-left: 6px; }

/* ---- Audit panel ----------------------------------------------------- */

.rg-audit-toolbar {
  display: flex; gap: 8px; align-items: center; padding: 0 0 8px 0;
}
.rg-audit-toolbar .rg-input { flex: 1; }
.rg-audit-meta {
  font-size: 11px; color: var(--text-muted);
  padding: 4px 0 10px 0;
  display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
}

/* ---- Analytics panel ------------------------------------------------- */

.rg-analytics { display: flex; flex-direction: column; gap: 10px; }
.rg-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 8px;
}
.rg-kpi {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 3px;
  padding: 8px 10px;
}
.rg-kpi-label {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 4px;
}
.rg-kpi-value {
  font-family: var(--mc-font-mono, 'JetBrains Mono', monospace);
  font-size: 16px;
  font-weight: 700;
  color: var(--text-white);
}
.rg-analytics-row {
  display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap;
  font-size: 11px;
}
.rg-analytics-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  min-width: 110px;
}
.rg-analytics-counters { color: var(--text-white); }
.rg-counter {
  display: inline-block;
  background: var(--primary-bg);
  border: 1px solid var(--border-color);
  padding: 2px 6px;
  margin-right: 4px;
  border-radius: 2px;
  font-size: 10px;
  font-family: var(--mc-font-mono, 'JetBrains Mono', monospace);
}
.rg-analytics-foot { font-size: 10px; color: var(--text-muted); }
