/* 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; }
