/* ═══════════════════════════════════════════════════════════════
   CONE DESIGN SYSTEM — Dante Title Examination Platform
   Always-dark editorial aesthetic. No theme coupling.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --c-bg:     #0b0d13;
  --c-s1:     #11141c;
  --c-s2:     #171a24;
  --c-s3:     #1e2230;
  --c-bd:     rgba(255,255,255,0.065);
  --c-bd2:    rgba(255,255,255,0.12);
  --c-bd3:    rgba(255,255,255,0.22);
  --c-ink:    rgba(255,255,255,0.88);
  --c-ink2:   rgba(255,255,255,0.52);
  --c-ink3:   rgba(255,255,255,0.28);
  --c-ink4:   rgba(255,255,255,0.14);
  --c-orange: #f97316;
  --c-green:  #22c55e;
  --c-red:    #ef4444;
  --c-amber:  #f59e0b;
  --c-blue:   #3b82f6;
  --c-indigo: #818cf8;
  --c-cyan:   #22d3ee;
  --c-mono:   'JetBrains Mono','Fira Code',ui-monospace,'Courier New',monospace;
}

/* ── Full-page dark wrapper ──────────────────────────────────── */
.c-page {
  background: var(--c-bg);
  min-height: 100%;
  color: var(--c-ink);
  font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* ── Top breadcrumb bar ──────────────────────────────────────── */
.c-topbar {
  padding: 11px 32px;
  border-bottom: 1px solid var(--c-bd);
  font-size: 10.5px;
  font-family: var(--c-mono);
  color: var(--c-ink3);
  letter-spacing: .6px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px;
}
.c-topbar a { color: var(--c-ink3); text-decoration: none; }
.c-topbar a:hover { color: var(--c-ink2); }
.c-topbar-sep { color: var(--c-ink4); }

/* ── Main content containers ─────────────────────────────────── */
.c-main { max-width: 1240px; margin: 0 auto; padding: 0 32px 60px; }

/* ── Page header ─────────────────────────────────────────────── */
.c-header { padding: 26px 0 20px; }
.c-header-eyebrow {
  font-size: 10px;
  font-family: var(--c-mono);
  letter-spacing: 1.6px;
  color: var(--c-ink3);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.c-header-title {
  font-size: 28px;
  font-weight: 700;
  color: var(--c-ink);
  line-height: 1.1;
  margin: 0 0 6px;
  letter-spacing: -.4px;
}
.c-header-sub { font-size: 13px; color: var(--c-ink3); margin: 0; line-height: 1.5; }
.c-header-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.c-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding-top: 4px;
}

/* ── Buttons ─────────────────────────────────────────────────── */
.c-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 13px;
  border-radius: 5px;
  border: 1px solid var(--c-bd2);
  font-size: 12.5px;
  font-weight: 500;
  cursor: pointer;
  background: transparent;
  color: var(--c-ink2);
  transition: background .1s, border-color .1s, color .1s;
  text-decoration: none;
  font-family: inherit;
  line-height: 1;
  white-space: nowrap;
}
.c-btn:hover { background: rgba(255,255,255,0.05); color: var(--c-ink); border-color: var(--c-bd3); }
.c-btn-primary { background: var(--c-orange); border-color: var(--c-orange); color: #fff; }
.c-btn-primary:hover { background: #ea6c09; border-color: #ea6c09; color: #fff; }
.c-btn-sm { padding: 5px 10px; font-size: 11.5px; }
.c-btn-ghost { border-color: transparent; }
.c-btn-ghost:hover { border-color: var(--c-bd); }
.c-btn-danger { border-color: rgba(239,68,68,0.3); color: var(--c-red); }
.c-btn-danger:hover { background: rgba(239,68,68,0.08); }

/* ── Stat cards ──────────────────────────────────────────────── */
.c-stats { display: grid; gap: 10px; margin-bottom: 24px; }
.c-stats-5 { grid-template-columns: repeat(5,1fr); }
.c-stats-4 { grid-template-columns: repeat(4,1fr); }
.c-stat {
  border: 1px solid var(--c-bd);
  border-radius: 6px;
  padding: 16px 18px;
  background: var(--c-s1);
}
.c-stat-label {
  font-size: 9px;
  font-family: var(--c-mono);
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--c-ink3);
  margin-bottom: 10px;
}
.c-stat-value { font-size: 32px; font-weight: 700; color: var(--c-ink); line-height: 1; margin-bottom: 5px; }
.c-stat-sub   { font-size: 11.5px; color: var(--c-ink3); }
.c-stat--accent .c-stat-label { color: var(--c-orange); }
.c-stat--accent .c-stat-value { color: var(--c-orange); }

/* ── Section sigil headers ───────────────────────────────────── */
.c-sec {
  font-size: 9.5px;
  font-family: var(--c-mono);
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--c-ink3);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px;
}
.c-sec-sigil { color: var(--c-ink4); }
.c-sec-right { margin-left: auto; color: var(--c-ink4); font-size: 9px; }

/* ── Panels ──────────────────────────────────────────────────── */
.c-panel {
  border: 1px solid var(--c-bd);
  border-radius: 6px;
  padding: 16px 20px;
  background: var(--c-s1);
}
.c-panel--flush { padding: 0; overflow: hidden; }

/* ── Layout grids ────────────────────────────────────────────── */
.c-2col     { display: grid; grid-template-columns: 1fr 320px; gap: 14px; align-items: start; }
.c-col      { display: flex; flex-direction: column; gap: 12px; }
.c-dash-grid { display: grid; grid-template-columns: 1fr 290px; gap: 12px; }

/* ── Status badges ───────────────────────────────────────────── */
.c-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 9.5px;
  font-family: var(--c-mono);
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 3px;
  border: 1px solid currentColor;
  white-space: nowrap;
}
.c-badge--examined   { color: var(--c-green);  border-color: rgba(34,197,94,0.4);  }
.c-badge--review     { color: var(--c-indigo); border-color: rgba(129,140,248,0.4); }
.c-badge--drafting   { color: var(--c-cyan);   border-color: rgba(34,211,238,0.4); }
.c-badge--ocr        { color: var(--c-amber);  border-color: rgba(245,158,11,0.4); }
.c-badge--processing { color: var(--c-amber);  border-color: rgba(245,158,11,0.4); }
.c-badge--building   { color: var(--c-amber);  border-color: rgba(245,158,11,0.4); }
.c-badge--issues     { color: var(--c-red);    border-color: rgba(239,68,68,0.4);  }
.c-badge--pending    { color: var(--c-ink3);   border-color: var(--c-bd2); }
.c-badge--error      { color: var(--c-red);    border-color: rgba(239,68,68,0.4);  }
.c-badge--cancelled  { color: var(--c-ink3);   border-color: var(--c-bd2); }
.c-badge--certified  { color: var(--c-ink3);   border-color: var(--c-bd2); font-size: 9px; }

/* ── Tab navigation ──────────────────────────────────────────── */
.c-tabs {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--c-bd);
  margin-bottom: 20px;
  gap: 0;
}
.c-tab {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 10px 16px;
  font-size: 12.5px;
  cursor: pointer;
  color: var(--c-ink3);
  border: none;
  background: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .1s;
  white-space: nowrap;
  font-family: inherit;
  letter-spacing: .2px;
}
.c-tab:hover { color: var(--c-ink2); }
.c-tab.active { color: var(--c-ink); border-bottom-color: var(--c-orange); }
.c-tab-num { font-family: var(--c-mono); font-size: 10px; color: var(--c-ink4); }
.c-tab-count {
  font-family: var(--c-mono);
  font-size: 9.5px;
  font-weight: 700;
  background: rgba(255,255,255,0.07);
  color: var(--c-ink3);
  padding: 1px 5px;
  border-radius: 3px;
}
.c-tab.active .c-tab-count { background: rgba(249,115,22,0.15); color: var(--c-orange); }

/* ── Case banner ─────────────────────────────────────────────── */
.c-case-banner {
  border: 1px solid var(--c-bd);
  border-radius: 6px;
  background: var(--c-s1);
  padding: 20px 24px 18px;
  margin: 20px 0 18px;
}
.c-case-eyebrow {
  font-size: 9.5px;
  font-family: var(--c-mono);
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--c-ink3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.c-case-title {
  font-size: 22px;
  color: var(--c-ink);
  margin: 0 0 16px;
  font-style: italic;
  font-weight: 300;
  font-family: Georgia,'Times New Roman',serif;
  letter-spacing: -.1px;
}
.c-case-title strong { font-weight: 700; font-style: normal; }
.c-case-meta { display: flex; align-items: flex-start; gap: 28px; flex-wrap: wrap; }
.c-case-meta-label {
  font-size: 9px;
  font-family: var(--c-mono);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--c-ink4);
  margin-bottom: 3px;
}
.c-case-meta-value { font-size: 12.5px; color: var(--c-ink); }
.c-banner-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.c-banner-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.c-status-row { display: flex; align-items: center; gap: 8px; }

/* ── Pipeline track ──────────────────────────────────────────── */
.c-pipeline {
  display: flex;
  align-items: flex-start;
  position: relative;
}
.c-pipeline::before {
  content: '';
  position: absolute;
  top: 11px;
  left: 0; right: 0;
  height: 1px;
  background: var(--c-bd2);
  z-index: 0;
}
.c-pipeline-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex: 1;
}
.c-pipeline-node {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid var(--c-bd2);
  background: var(--c-s2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  z-index: 1;
  position: relative;
  color: var(--c-ink3);
}
.c-pipeline-node--done   { border-color: var(--c-green);  background: rgba(34,197,94,0.12);  color: var(--c-green);  }
.c-pipeline-node--active { border-color: var(--c-orange); background: rgba(249,115,22,0.12); color: var(--c-orange); }
.c-pipeline-node--error  { border-color: var(--c-red);    background: rgba(239,68,68,0.12);  color: var(--c-red);    }
.c-pipeline-label {
  font-size: 9.5px;
  font-family: var(--c-mono);
  color: var(--c-ink3);
  text-align: center;
  letter-spacing: .2px;
}
.c-pipeline-label--done { color: var(--c-ink2); }

/* ── Risk gauge ──────────────────────────────────────────────── */
.c-risk-wrap { display: flex; align-items: center; gap: 24px; }
.c-risk-gauge { position: relative; width: 80px; height: 80px; flex-shrink: 0; }
.c-risk-center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.c-risk-num   { font-size: 22px; font-weight: 700; color: var(--c-ink); line-height: 1; }
.c-risk-denom { font-size: 9px; font-family: var(--c-mono); color: var(--c-ink3); }
.c-risk-label { font-size: 14px; font-style: italic; color: var(--c-ink2); margin-bottom: 10px; }
.c-risk-breakdown { display: flex; gap: 20px; }
.c-risk-item-val { font-size: 20px; font-weight: 700; line-height: 1; }
.c-risk-item-lbl { font-size: 9px; font-family: var(--c-mono); color: var(--c-ink3); letter-spacing: .5px; margin-top: 2px; }
.c-risk-item--crit .c-risk-item-val { color: var(--c-red); }
.c-risk-item--warn .c-risk-item-val { color: var(--c-amber); }

/* ── Page coverage grid ──────────────────────────────────────── */
.c-coverage { display: flex; flex-wrap: wrap; gap: 2px; }
.c-cov-cell { width: 10px; height: 10px; border-radius: 1px; }
.c-cov--ok      { background: var(--c-green); opacity: .6; }
.c-cov--reading { background: var(--c-blue);  opacity: .5; }
.c-cov--pending { background: var(--c-bd2); }
.c-cov--error   { background: var(--c-red);   opacity: .7; }
.c-coverage-legend { display: flex; gap: 14px; margin-top: 8px; }
.c-cov-legend-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
  font-family: var(--c-mono);
  color: var(--c-ink3);
}
.c-cov-dot { width: 8px; height: 8px; border-radius: 1px; }

/* ── Docket table ────────────────────────────────────────────── */
.c-docket { width: 100%; border-collapse: collapse; }
.c-docket-head th {
  font-size: 9px;
  font-family: var(--c-mono);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--c-ink3);
  font-weight: 500;
  padding: 8px 12px;
  text-align: left;
  border-bottom: 1px solid var(--c-bd);
}
.c-docket-body tr {
  border-bottom: 1px solid var(--c-bd);
  cursor: pointer;
  transition: background .08s;
}
.c-docket-body tr:hover { background: rgba(255,255,255,0.025); }
.c-docket-body td { padding: 12px 12px; vertical-align: middle; }
.c-docket-num { font-family: var(--c-mono); font-size: 10.5px; color: var(--c-ink3); white-space: nowrap; }
.c-docket-gf  { font-size: 13.5px; font-weight: 600; color: var(--c-ink); }
.c-docket-sub {
  font-size: 11px;
  color: var(--c-ink3);
  margin-top: 2px;
  max-width: 260px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-docket-arrow { color: var(--c-ink4); font-size: 14px; text-align: right; width: 24px; }

/* ── Findings dots ───────────────────────────────────────────── */
.c-findings { display: flex; align-items: center; gap: 5px; }
.c-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; flex-shrink: 0; }
.c-dot--crit { background: var(--c-red); }
.c-dot--warn { background: var(--c-amber); }
.c-dot--info { background: var(--c-blue); }
.c-findings-num { font-family: var(--c-mono); font-size: 11px; color: var(--c-ink2); }
.c-findings-pg  { font-family: var(--c-mono); font-size: 11px; color: var(--c-ink4); }

/* ── Filter row (tab pills) ──────────────────────────────────── */
.c-filter-row { display: flex; align-items: center; gap: 6px; margin-bottom: 16px; flex-wrap: wrap; }
.c-ftab {
  font-size: 11.5px;
  padding: 4px 10px;
  border-radius: 4px;
  border: 1px solid var(--c-bd);
  background: transparent;
  color: var(--c-ink3);
  cursor: pointer;
  transition: all .1s;
  font-family: inherit;
}
.c-ftab:hover { border-color: var(--c-bd2); color: var(--c-ink2); }
.c-ftab.active { border-color: var(--c-bd2); background: rgba(255,255,255,0.05); color: var(--c-ink); }
.c-ftab-n { font-family: var(--c-mono); opacity: .6; margin-left: 3px; font-size: 10px; }

/* ── Chain of title ──────────────────────────────────────────── */
.c-chain { display: flex; flex-direction: column; }
.c-chain-entry { display: grid; grid-template-columns: 60px 1fr; }
.c-chain-year  { font-size: 14px; font-weight: 700; font-family: var(--c-mono); color: var(--c-ink); }
.c-chain-month { font-size: 10px; font-family: var(--c-mono); color: var(--c-ink3); margin-top: 1px; }
.c-chain-year-col { padding: 0 16px 0 0; text-align: right; padding-top: 3px; }
.c-chain-body {
  padding: 0 0 28px 20px;
  border-left: 1px solid var(--c-bd2);
  position: relative;
}
.c-chain-body::before {
  content: '';
  position: absolute;
  left: -5px; top: 5px;
  width: 9px; height: 9px;
  border-radius: 50%;
  border: 1px solid var(--c-bd2);
  background: var(--c-bg);
}
.c-chain-body--grounded::before { border-color: var(--c-green); background: rgba(34,197,94,0.2); }
.c-chain-body--encumb::before { border-color: var(--c-amber); background: rgba(245,158,11,0.1); }
.c-chain-body--last::before { background: var(--c-orange); border-color: var(--c-orange); }
.c-chain-instr {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--c-ink);
}
.c-chain-conf {
  font-size: 9px;
  font-family: var(--c-mono);
  padding: 1px 6px;
  border-radius: 3px;
  letter-spacing: .8px;
  font-weight: 700;
}
.c-chain-conf--high { background: rgba(34,197,94,0.15);  color: var(--c-green); }
.c-chain-conf--med  { background: rgba(245,158,11,0.15); color: var(--c-amber); }
.c-chain-conf--low  { background: rgba(239,68,68,0.12);  color: var(--c-red);   }
.c-chain-ref  { font-size: 10.5px; font-family: var(--c-mono); color: var(--c-ink3); margin-bottom: 6px; }
.c-chain-parties { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.c-chain-from { color: var(--c-ink2); }
.c-chain-arr  { color: var(--c-ink4); font-size: 12px; }
.c-chain-to   { color: var(--c-ink); font-weight: 600; }
.c-chain-encumb-label {
  font-size: 9px;
  font-family: var(--c-mono);
  color: var(--c-amber);
  letter-spacing: 1px;
  text-transform: uppercase;
  background: rgba(245,158,11,0.1);
  border: 1px solid rgba(245,158,11,0.25);
  padding: 1px 6px;
  border-radius: 3px;
}

/* ── Continuity sidebar ──────────────────────────────────────── */
.c-continuity-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--c-bd);
}
.c-continuity-row:last-child { border-bottom: none; }
.c-continuity-key { font-size: 12px; color: var(--c-ink3); }
.c-continuity-val { font-size: 12px; font-family: var(--c-mono); font-weight: 600; color: var(--c-ink); }
.c-continuity-val--ok   { color: var(--c-green); }
.c-continuity-val--warn { color: var(--c-amber); }
.c-continuity-val--crit { color: var(--c-red); }
.c-owner-block { margin-top: 16px; }
.c-owner-label {
  font-size: 9px;
  font-family: var(--c-mono);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--c-ink3);
  margin-bottom: 4px;
}
.c-owner-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--c-ink);
  text-transform: uppercase;
  letter-spacing: .3px;
}

/* ── Issues panel ────────────────────────────────────────────── */
.c-sev-pills { display: flex; gap: 6px; margin-bottom: 14px; flex-wrap: wrap; }
.c-sev-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
  font-family: var(--c-mono);
  font-weight: 700;
  letter-spacing: .5px;
  padding: 3px 9px;
  border-radius: 3px;
  border: 1px solid;
  cursor: pointer;
  transition: opacity .1s;
}
.c-sev-pill--crit { color: var(--c-red);   border-color: rgba(239,68,68,0.35); background: rgba(239,68,68,0.07);   }
.c-sev-pill--warn { color: var(--c-amber); border-color: rgba(245,158,11,0.35); background: rgba(245,158,11,0.07); }
.c-sev-pill--info { color: var(--c-blue);  border-color: rgba(59,130,246,0.35); background: rgba(59,130,246,0.07); }

.c-issues-layout { display: grid; grid-template-columns: 300px 1fr; gap: 14px; align-items: start; }
.c-issues-list   { display: flex; flex-direction: column; }
.c-issue-grp-label {
  font-size: 9.5px;
  font-family: var(--c-mono);
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--c-ink3);
  padding: 8px 0 5px;
}
.c-issue-row {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 8px;
  padding: 10px 10px;
  border-radius: 5px;
  cursor: pointer;
  border: 1px solid transparent;
  margin-bottom: 2px;
  transition: background .1s;
}
.c-issue-row:hover { background: rgba(255,255,255,0.03); }
.c-issue-row.active { background: var(--c-s2); border-color: var(--c-bd2); }
.c-issue-idx  { font-size: 10px; font-family: var(--c-mono); color: var(--c-ink4); padding-top: 2px; }
.c-issue-name { font-size: 13px; font-weight: 500; color: var(--c-ink); margin-bottom: 2px; }
.c-issue-cite { font-size: 11px; font-family: var(--c-mono); color: var(--c-ink3); }

.c-issue-detail {
  background: var(--c-s1);
  border: 1px solid var(--c-bd);
  border-radius: 6px;
  padding: 20px;
}
.c-issue-detail-title {
  font-size: 19px;
  font-style: italic;
  font-weight: 300;
  color: var(--c-ink);
  font-family: Georgia,serif;
  margin-bottom: 16px;
}
.c-issue-detail-meta {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 16px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--c-bd);
}
.c-detail-label {
  font-size: 9px;
  font-family: var(--c-mono);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--c-ink3);
  margin-bottom: 4px;
}
.c-detail-value { font-size: 12.5px; color: var(--c-ink); }
.c-issue-evidence {
  border-left: 2px solid var(--c-bd2);
  padding: 10px 14px;
  font-size: 12.5px;
  font-style: italic;
  line-height: 1.65;
  color: var(--c-ink2);
  background: var(--c-s2);
  border-radius: 0 4px 4px 0;
  margin-bottom: 14px;
}
.c-issue-evidence-cite {
  font-style: normal;
  font-family: var(--c-mono);
  font-size: 10px;
  color: var(--c-ink3);
  margin-top: 6px;
  display: block;
}
.c-issue-block-label {
  font-size: 9px;
  font-family: var(--c-mono);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--c-ink3);
  margin-bottom: 5px;
}
.c-issue-block-text { font-size: 13px; color: var(--c-ink2); line-height: 1.6; margin-bottom: 16px; }
.c-issue-actions { display: flex; gap: 8px; padding-top: 4px; }
.c-issue-detail-empty {
  font-size: 13px;
  color: var(--c-ink3);
  font-style: italic;
  text-align: center;
  padding: 40px 20px;
}

/* ── Documents ───────────────────────────────────────────────── */
.c-doc-pills { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 18px; }
.c-doc-pill {
  font-size: 11px;
  font-family: var(--c-mono);
  padding: 3px 10px;
  border-radius: 12px;
  border: 1px solid var(--c-bd);
  background: transparent;
  color: var(--c-ink3);
  cursor: pointer;
  transition: all .1s;
}
.c-doc-pill:hover { border-color: var(--c-bd2); color: var(--c-ink2); }
.c-doc-pill.active { border-color: var(--c-bd2); background: rgba(255,255,255,0.06); color: var(--c-ink); }

.c-doc-table { width: 100%; border-collapse: collapse; }
.c-doc-table th {
  font-size: 9px;
  font-family: var(--c-mono);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--c-ink3);
  font-weight: 500;
  padding: 8px 12px;
  text-align: left;
  border-bottom: 1px solid var(--c-bd);
}
.c-doc-table td { padding: 11px 12px; border-bottom: 1px solid var(--c-bd); vertical-align: middle; }
.c-doc-table tr:last-child td { border-bottom: none; }
.c-doc-name { font-size: 13px; color: var(--c-ink); font-weight: 500; }
.c-doc-type-tag {
  font-size: 10px;
  font-family: var(--c-mono);
  color: var(--c-ink3);
  background: var(--c-s2);
  padding: 1px 6px;
  border-radius: 3px;
  border: 1px solid var(--c-bd);
  display: inline-block;
}
.c-doc-meta { font-family: var(--c-mono); font-size: 11px; color: var(--c-ink3); }
.c-doc-parties { font-size: 12px; color: var(--c-ink2); }

/* ── Parties ─────────────────────────────────────────────────── */
.c-parties-table { width: 100%; border-collapse: collapse; }
.c-parties-table td { padding: 12px 0; border-bottom: 1px solid var(--c-bd); vertical-align: top; }
.c-parties-table tr:last-child td { border-bottom: none; }
.c-party-role {
  font-size: 9px;
  font-family: var(--c-mono);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--c-ink3);
  padding-right: 20px;
  white-space: nowrap;
  width: 120px;
}
.c-party-name { font-size: 13.5px; font-weight: 600; color: var(--c-ink); text-transform: uppercase; letter-spacing: .2px; }
.c-ref-table { width: 100%; border-collapse: collapse; }
.c-ref-table td { padding: 8px 0; border-bottom: 1px solid var(--c-bd); }
.c-ref-table tr:last-child td { border-bottom: none; }
.c-ref-key { font-size: 12px; color: var(--c-ink3); }
.c-ref-val { font-size: 12px; color: var(--c-ink); font-weight: 500; text-align: right; font-family: var(--c-mono); }

/* ── Dashboard activity + desk ───────────────────────────────── */
.c-desk-section { padding: 12px 0; border-bottom: 1px solid var(--c-bd); }
.c-desk-section:last-child { border-bottom: none; padding-bottom: 0; }
.c-reading-row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px; }
.c-reading-num { font-size: 38px; font-weight: 700; color: var(--c-ink); }
.c-activity-row { display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--c-bd); }
.c-activity-row:last-child { border-bottom: none; }
.c-activity-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--c-orange); flex-shrink: 0; margin-top: 5px; }
.c-activity-text { font-size: 12.5px; color: var(--c-ink2); line-height: 1.45; }
.c-activity-when { font-size: 11px; font-family: var(--c-mono); color: var(--c-ink3); margin-top: 2px; }
.c-see-all {
  font-size: 12px;
  color: var(--c-ink3);
  text-decoration: none;
  display: block;
  padding-top: 12px;
  transition: color .1s;
}
.c-see-all:hover { color: var(--c-ink2); }

/* ── Subject property + detail labels ───────────────────────── */
.c-prop-label {
  font-size: 9px;
  font-family: var(--c-mono);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--c-ink3);
  margin-bottom: 4px;
  margin-top: 14px;
}
.c-prop-label:first-child { margin-top: 0; }
.c-prop-value { font-size: 12.5px; color: var(--c-ink); line-height: 1.4; }

/* ── Draft placeholder ───────────────────────────────────────── */
.c-draft-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
  border: 1px dashed var(--c-bd2);
  border-radius: 6px;
}
.c-draft-icon { font-size: 32px; color: var(--c-ink4); margin-bottom: 14px; }
.c-draft-title { font-size: 15px; font-style: italic; color: var(--c-ink3); margin-bottom: 6px; }
.c-draft-sub { font-size: 13px; color: var(--c-ink4); max-width: 360px; line-height: 1.5; }

/* ── Misc utilities ──────────────────────────────────────────── */
.c-divider { border: none; border-top: 1px solid var(--c-bd); margin: 16px 0; }
.c-empty { text-align: center; padding: 36px 20px; font-size: 13px; color: var(--c-ink3); font-style: italic; }
.c-mono-text { font-family: var(--c-mono); }
.c-ink3-text { color: var(--c-ink3); }
.c-mt8  { margin-top: 8px; }
.c-mt12 { margin-top: 12px; }
.c-mt16 { margin-top: 16px; }
.c-mt20 { margin-top: 20px; }
