/* ProjectTelemetry — Document Control (RFIs & Submittals) */

.dc-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:56px 24px; color:var(--ink-faint); text-align:center; }
.dc-empty i { font-size:28px; }
.dc-empty h3 { margin:0; color:var(--ink); }
.dc-empty.sm { padding:32px 20px; }
.dc-empty.sm i { font-size:22px; }

.dc-head { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.dc-toggle { display:inline-flex; background:var(--bg2); border:1.5px solid var(--bd); border-radius:8px; padding:2px; gap:2px; }
.dc-tog { font-size:12.5px; font-weight:600; color:var(--ink-soft); background:none; border:none; border-radius:6px; padding:6px 16px; cursor:pointer; }
.dc-tog.on { background:var(--white); color:var(--ink); box-shadow:var(--shadow, 0 1px 2px rgba(0,0,0,.08)); }

.dc-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; margin-bottom:16px; }
.dc-kpi { background:var(--white); border:1.5px solid var(--bd); border-radius:10px; padding:12px 14px; }
.dc-kpi-val { font-size:24px; font-weight:750; color:var(--ink); font-variant-numeric:tabular-nums; line-height:1; }
.dc-kpi-lbl { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); margin-top:5px; }
.dc-kpi.bad  .dc-kpi-val { color:#DC2626; }
.dc-kpi.bad  { border-color:color-mix(in srgb,#DC2626 40%,var(--bd)); }
.dc-kpi.good .dc-kpi-val { color:#16A34A; }
.dc-kpi.warn .dc-kpi-val { color:#B45309; }

.dc-tbl-wrap { overflow-x:auto; background:var(--white); border:1.5px solid var(--bd); border-radius:10px; }
.dc-tbl { width:100%; border-collapse:collapse; font-size:12.5px; }
.dc-tbl th { text-align:left; font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint); padding:9px 12px; border-bottom:1.5px solid var(--bd); white-space:nowrap; }
.dc-tbl td { padding:9px 12px; border-bottom:1px solid var(--bd); color:var(--ink); vertical-align:top; }
.dc-tbl tbody tr:last-child td { border-bottom:none; }
.dc-tbl tbody tr:hover { background:var(--bg2); }
.dc-tbl .mono { font-family:'JetBrains Mono',monospace; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dc-sub { font-size:10.5px; color:var(--ink-faint); margin-top:2px; }
.dc-actions { white-space:nowrap; text-align:right; }
.dc-overdue { color:#DC2626; font-weight:600; white-space:nowrap; }
.dc-overdue i { font-size:11px; }

.dc-badge { font-size:10px; font-weight:700; padding:2px 8px; border-radius:20px; white-space:nowrap; }
.dc-badge.good { color:#16A34A; background:rgba(22,163,74,.14); }
.dc-badge.warn { color:#B45309; background:rgba(245,158,11,.16); }
.dc-badge.info { color:#0369A1; background:rgba(2,132,199,.13); }
.dc-badge.bad  { color:#DC2626; background:rgba(220,38,38,.13); }
.dc-badge.muted{ color:var(--ink-soft); background:var(--bg2); }

.dc-prio { font-size:10px; font-weight:700; padding:1px 7px; border-radius:20px; }
.dc-prio.high   { color:#B45309; background:rgba(245,158,11,.16); }
.dc-prio.urgent { color:#DC2626; background:rgba(220,38,38,.13); }
.dc-prio.low    { color:var(--ink-soft); background:var(--bg2); }

.dc-flag { font-size:9.5px; font-weight:700; color:#B45309; background:rgba(245,158,11,.16); border-radius:4px; padding:0 5px; }
.dc-rev { font-size:9.5px; font-weight:700; color:var(--ink-soft); background:var(--bg2); border-radius:4px; padding:0 5px; }

/* Doc-control portfolio dashboard (builds on .cd-* and .co-table) */
.dc-bic-row { display:grid; grid-template-columns:120px 1fr auto; align-items:center; gap:10px; padding:5px 0; }
.dc-bic-who { font-size:12.5px; font-weight:600; color:var(--ink); }
.dc-bic-bar { height:10px; background:var(--bg2); border-radius:6px; overflow:hidden; }
.dc-bic-fill { height:100%; background:var(--accent); border-radius:6px; }
.dc-bic-n { font-size:12.5px; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; min-width:24px; text-align:right; }
.dc-bic-cell { font-size:12px; color:var(--ink-soft); }
.dc-kind { font-size:9.5px; font-weight:800; letter-spacing:.03em; padding:2px 6px; border-radius:5px; }
.dc-kind.rfi { color:#2563EB; background:color-mix(in srgb,#2563EB 13%,transparent); }
.dc-kind.sub { color:#7C3AED; background:color-mix(in srgb,#7C3AED 13%,transparent); }
.tk-over { color:#DC2626; font-weight:700; }
.tk-over i { font-size:12px; vertical-align:-1px; }

/* ============================================================
   Portfolio command centre (doccontrol-dash.js)
   Layout comes from the shared .co-* family in change-orders.css —
   the two logs are read the same way, so they look the same way.
   Only the things that are specific to RFIs and submittals live here.
   ============================================================ */

.dc-kind { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.dc-kind i { font-size:12px; }

/* Flags that ride alongside a subject line. */
.dc-flag { display:inline-flex; align-items:center; gap:3px; margin-left:5px; padding:1px 5px; border-radius:4px;
  font-size:9.5px; font-weight:700; letter-spacing:.02em; white-space:nowrap; vertical-align:middle; }
.dc-flag i { font-size:11px; }
.dc-flag.prio  { color:#B91C1C; background:rgba(220,38,38,.11); }
.dc-flag.cost  { color:#B45309; background:rgba(245,158,11,.16); }
.dc-flag.sched { color:var(--accent); background:rgba(99,102,241,.12); }
.dc-flag.rev   { color:var(--ink-soft); background:var(--bg2); border:1px solid var(--bd); }

/* Status pills. Open statuses carry colour; resolved ones go quiet. */
.co-pill.dc-rfi-draft            { background:var(--bg2); color:var(--ink-faint); border-color:var(--bd); }
.co-pill.dc-rfi-open             { background:rgba(217,119,6,.12); color:#B45309; }
.co-pill.dc-rfi-answered         { background:rgba(14,165,233,.11); color:#0284C7; }
.co-pill.dc-rfi-closed           { background:rgba(22,163,74,.12); color:#15803D; }
.co-pill.dc-rfi-void             { background:var(--bg2); color:var(--ink-faint); border-color:var(--bd); text-decoration:line-through; }

.co-pill.dc-submittal-draft             { background:var(--bg2); color:var(--ink-faint); border-color:var(--bd); }
.co-pill.dc-submittal-submitted         { background:rgba(99,102,241,.10); color:var(--accent); }
.co-pill.dc-submittal-in_review         { background:rgba(217,119,6,.12); color:#B45309; }
.co-pill.dc-submittal-approved          { background:#16A34A; color:#fff; }
.co-pill.dc-submittal-approved_as_noted { background:rgba(22,163,74,.13); color:#15803D; }
.co-pill.dc-submittal-revise_resubmit   { background:rgba(245,158,11,.16); color:#B45309; }
.co-pill.dc-submittal-rejected          { background:rgba(220,38,38,.10); color:#B91C1C; }
.co-pill.dc-submittal-closed            { background:var(--bg2); color:var(--ink-soft); border-color:var(--bd); }

/* Checkbox that reads as a sentence, not a widget. */
.dc-check { display:flex; align-items:center; gap:8px; padding:7px 9px; border:1px solid var(--bd); border-radius:8px;
  background:var(--white); cursor:pointer; font-size:13px; color:var(--ink); }
.dc-check input { width:16px; height:16px; accent-color:var(--accent); cursor:pointer; }
.dc-check:hover { border-color:var(--accent); }
