/* ═══════════════════════════════════════════════════════════════════════
   SOQUPOOL — Foundry admin control room
   Operator surface on the foundry system (extends foundry.css + reuses the
   console rail/panel/table primitives from foundry-console.css). Copper = live
   / action; metals = LTC/DOGE/SOQ; violet accents the vetting surfaces.
   ═══════════════════════════════════════════════════════════════════════ */

/* KPI strip */
.kpis { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--seam); margin-bottom: 24px; }
.kpi { padding: 20px 22px; border-right: 1px solid var(--seam); }
.kpi:last-child { border-right: 0; }
.kpi .k-label { display: block; }
.kpi .k-value { font-family: var(--font-mono); font-weight: 600; color: var(--text-hi); font-size: clamp(20px, 2.1vw, 28px); margin-top: 8px; }
.kpi .k-sub { font-family: var(--font-mono); font-size: 11px; color: var(--text-lo); margin-top: 4px; }
.kpi.alert .k-value { color: var(--copper-hot); }

/* rail badge on the approvals tab */
.rail-nav button .badge.hot { color: var(--copper-hot); border-color: var(--copper); }

/* filter chips */
.chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.chip {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em;
  padding: 7px 13px; border: 1px solid var(--seam); color: var(--text-lo);
  background: none; cursor: pointer;
}
.chip.on { border-color: var(--copper); color: var(--copper-hot); background: var(--iron-850); }

/* tier badges (reuse metal-ish encoding by tier) */
.tier-badge {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase;
  padding: 3px 8px; border: 1px solid var(--seam-hi); color: var(--text-mid);
}
.tier-standard { color: var(--text-lo); }
.tier-verified { color: var(--ltc); border-color: color-mix(in srgb, var(--ltc) 35%, transparent); }
.tier-partner  { color: var(--doge); border-color: color-mix(in srgb, var(--doge) 40%, transparent); }
.tier-genesis  { color: var(--soq); border-color: color-mix(in srgb, var(--soq) 45%, transparent); }

/* status dots */
.st { font-family: var(--font-mono); font-size: 12px; }
.st-passed { color: var(--ok); }
.st-pending { color: var(--warn); }
.st-failed, .st-flagged { color: var(--down); }

/* approvals cards (dual control) */
.approvals { display: flex; flex-direction: column; gap: 0; border: 1px solid var(--seam); }
.appr {
  display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center;
  padding: 18px 22px; border-bottom: 1px solid var(--seam);
}
.appr:last-child { border-bottom: 0; }
.appr .a-what { color: var(--text-hi); font-size: 14.5px; }
.appr .a-what .who { color: var(--soq); font-weight: 600; }
.appr .a-meta { font-family: var(--font-mono); font-size: 11px; color: var(--text-lo); margin-top: 6px; letter-spacing: .04em; }
.appr .a-actions { display: flex; gap: 8px; }
.appr-btn {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
  padding: 8px 14px; border: 1px solid var(--seam-hi); background: none; color: var(--text-hi); cursor: pointer;
}
.appr-approve:hover { border-color: var(--ok); color: var(--ok); }
.appr-decline:hover { border-color: var(--down); color: var(--down); }

/* duplicate-identity flag row */
.dup-flag {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--down); border: 1px solid color-mix(in srgb, var(--down) 40%, transparent); padding: 3px 8px;
}

/* tier config cards */
.tier-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tier-card { border: 1px solid var(--seam); padding: 20px; position: relative; }
.tier-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--tc-c, var(--seam-hi)); }
.tier-card.tier-standard { --tc-c: var(--text-lo); }
.tier-card.tier-verified { --tc-c: var(--ltc); }
.tier-card.tier-partner  { --tc-c: var(--doge); }
.tier-card.tier-genesis  { --tc-c: var(--soq); }
.tier-card h3 { font-family: var(--font-display); font-variation-settings: "wdth" 114; text-transform: uppercase; font-size: 16px; color: var(--text-hi); margin-bottom: 14px; }
.tier-card .trow { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--seam); font-family: var(--font-mono); font-size: 11.5px; }
.tier-card .trow:last-child { border-bottom: 0; }
.tier-card .trow span:first-child { color: var(--text-lo); }
.tier-card .trow span:last-child { color: var(--text-hi); }

/* audit log */
.audit { border: 1px solid var(--seam); }
.audit-row {
  display: grid; grid-template-columns: 150px 1fr 160px; gap: 16px;
  padding: 12px 20px; border-bottom: 1px solid var(--seam);
  font-family: var(--font-mono); font-size: 12px;
}
.audit-row:last-child { border-bottom: 0; }
.audit-row .a-time { color: var(--text-lo); }
.audit-row .a-act { color: var(--text-mid); }
.audit-row .a-act strong { color: var(--text-hi); }
.audit-row .a-by { color: var(--copper-hot); text-align: right; }

@media (max-width: 900px) {
  .kpis { grid-template-columns: 1fr 1fr; }
  .kpi:nth-child(2) { border-right: 0; }
  .kpi:nth-child(n+3) { border-top: 1px solid var(--seam); }
  .tier-grid { grid-template-columns: 1fr; }
  .appr { grid-template-columns: 1fr; }
  .audit-row { grid-template-columns: 1fr; gap: 4px; }
  .audit-row .a-by { text-align: left; }
}

.tier-card .trow span:last-child { text-align: right; overflow-wrap: anywhere; }

/* ── Operator-drill feedback (2026-08-22): indicator-led directory ──
   The eye finds state by POSITION and MARKER, not by decoding font
   weights or shades of white: a copper edge marks rows under
   enforcement and the row the operator has open; body text stays one
   tone. */
.dtable tr.row-enforced > td:first-child { box-shadow: inset 3px 0 0 var(--copper); }
.dtable tr.row-open > td { background: var(--iron-900); }
.dtable tr.row-open > td:first-child,
tr.miner-detail > td { box-shadow: inset 3px 0 0 var(--copper); }
.op-group { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; padding: 11px 0; border-top: 1px solid var(--seam); }
.op-group-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--copper); min-width: 132px; display: inline-flex; align-items: center; gap: 8px; }
.op-group-label::before { content: ''; width: 12px; height: 1px; background: var(--copper); opacity: .6; }
.op-state { font-family: var(--font-mono); font-size: 11.5px; color: var(--text-mid); }
