/* office-operations.css — extracted BY SCRIPT from the design's office.css (COREIQ-Local, 2026-09-17):
   every rule whose selector names a class prefixed op-/ops-/qi-/qr-/qe-/qs-/qt-/qv-/pm-/vd-/comp-/cp-
   (Incidents & SLA, Compliance & training incl. QCPP/QSPP, PREMs & PROMs incl. Consumer panel, Document vault).
   Do not hand-edit; re-extract. */

.comp-asof {
  font-size: 11px;
  color: var(--text-subtle);
  font-family: var(--font-mono);
  white-space: nowrap;
}
.comp-rows { display: flex; flex-direction: column; }
.comp-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 0;
  border: none;
  border-bottom: 1px solid var(--border-subtle);
  background: transparent;
  font-family: inherit;
  font-size: 12.5px;
  text-align: left;
  cursor: pointer;
  color: var(--text);
  width: 100%;
}
.comp-row:last-child { border-bottom: none; }
.comp-row:hover .comp-label { color: var(--text-link); }
.comp-dot {
  width: 8px; height: 8px;
  border-radius: 999px;
  flex-shrink: 0;
  margin-top: 4px;
  align-self: flex-start;
}
.comp-dot--hold { background: var(--amber-500); }
.comp-dot--ok { background: var(--emerald-500); }
.comp-dot--bad { background: var(--rose-500); }
.comp-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex: 1;
  min-width: 0;
}
.comp-label { font-weight: 500; white-space: nowrap; transition: color var(--dur-fast) var(--ease-out); }
.comp-value {
  color: var(--text-muted);
  font-size: 11.5px;
  font-variant-numeric: tabular-nums;
  min-width: 0;
  text-wrap: pretty;
}
.ops-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px 12px;
  border-bottom: 1px solid var(--border-subtle);
}
.ops-card-head .off-card-title { margin: 0; }
.ops-table {
  display: grid;
  align-items: center;
}
.off-card:has(> .ops-table) { overflow-x: auto; }
.ops-table--sops { grid-template-columns: minmax(180px, 2.4fr) 1.1fr 0.6fr 1fr 1fr 1.3fr 1.1fr auto; min-width: 860px; }
.ops-table--training { grid-template-columns: minmax(170px, 2.4fr) 1fr 0.9fr 1.4fr 1fr auto; min-width: 640px; }
.ops-table--audits { grid-template-columns: minmax(180px, 2.6fr) 0.6fr 1.1fr 1fr 1.4fr 1.1fr; min-width: 720px; }
.ops-table--findings { grid-template-columns: minmax(200px, 2.8fr) 1.2fr 0.6fr 0.8fr 1fr 1fr; min-width: 720px; }
.ops-th {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 500;
  color: var(--text-subtle);
  padding: 12px 10px 8px;
  border-bottom: 1px solid var(--border-subtle);
  white-space: nowrap;
}
.ops-th:first-child, .ops-td:first-child { padding-left: 18px; }
.ops-th:last-child,  .ops-td:last-child { padding-right: 18px; }
.ops-tr { display: contents; }
.ops-tr:hover > .ops-td { background: var(--bg-subtle); }
.ops-tr--dim > .ops-td .ops-td-title { color: var(--text-muted); font-weight: 400; }
.ops-td {
  padding: 10px;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 13px;
  display: flex;
  flex-direction: column;
  gap: 1px;
  justify-content: center;
  min-width: 0;
  align-self: stretch;
}
.ops-table > .ops-tr:last-child > .ops-td { border-bottom: none; }
.ops-td-title { font-weight: 500; color: var(--text); text-wrap: pretty; }
.ops-td-muted { color: var(--text-muted); font-size: 12.5px; }
.ops-td-mono {
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--text-subtle);
  white-space: nowrap;
}
.ops-td--warn, .ops-td--warn .ops-td-mono { color: var(--hold-text); }
.ops-td--bad,  .ops-td--bad .ops-td-mono { color: var(--void-text); }
.ops-td-actions { flex-direction: row; gap: 6px; justify-content: flex-end; align-items: center; }
.ops-days { font-size: 11px; color: var(--text-subtle); font-variant-numeric: tabular-nums; }
.ops-mand {
  color: var(--brand);
  font-size: 8px;
  margin-left: 6px;
  vertical-align: 2px;
}
.ops-progress {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.ops-progress-track {
  flex: 1;
  max-width: 96px;
  height: 4px;
  border-radius: 2px;
  background: var(--bg-muted);
  overflow: hidden;
}
.ops-progress-track span { display: block; height: 100%; border-radius: 2px; }
.ops-progress-num {
  font-size: 11.5px;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
  min-width: 32px;
}
.ops-sev {
  display: inline-flex;
  align-self: flex-start;
  border-radius: var(--radius-full);
  padding: 1px 8px;
  font-size: 11px;
  font-weight: 500;
  text-transform: capitalize;
}
.ops-sev--high { background: var(--void-bg); color: var(--void-text); }
.ops-sev--medium { background: var(--hold-bg); color: var(--hold-text); }
.ops-sev--low { background: var(--bg-muted); color: var(--text-muted); }
.ops-split {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 12px;
  align-items: start;
}
.ops-certs { display: flex; flex-direction: column; }
.ops-cert {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border-subtle);
}
.ops-cert:last-child { border-bottom: none; }
.ops-cert-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.ops-cert-who { font-size: 13px; font-weight: 500; }
.ops-cert-what { font-size: 12px; color: var(--text-muted); }
.ops-cert-when { font-size: 11px; color: var(--text-subtle); font-family: var(--font-mono); }
.comp-dot--hold { background: var(--amber-500); }
.qr--gen {background:var(--emerald-500)}
.qr--log {background:var(--teal-500)}
.qr--vault {background:oklch(0.72 0.05 255)}
.qr--todo {background:var(--amber-500)}
.qr-head .comp-asof {white-space:normal;text-wrap:pretty}
.qr-head {display:flex;align-items:flex-end;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--border)}
.qr-head>*:first-child {min-width:min(100%,260px);flex:1 1 auto}
.qr-legend {display:flex;gap:14px;flex-wrap:wrap;flex:0 1 auto;min-width:max-content}
.qr-key {display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-muted)}
.qr-key i {width:9px;height:9px;border-radius:2px;display:inline-block}
.qr-bar {display:flex;width:150px;border-radius:4px;overflow:hidden;background:var(--bg-muted);flex:none}
.qr-bar i {display:block;height:100%}
.qr-bar i + i {margin-left:1px}
.qr-domain-head {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 8px;border-bottom:1px solid var(--border)}
.qr-domain-name {font-size:11.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-subtle)}
.qr-sec-row {display:grid;grid-template-columns:44px 1fr 150px 88px 20px;align-items:center;gap:12px;width:100%;padding:10px 16px;background:none;border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;font:inherit;color:inherit}
.qr-sec-row:hover {background:var(--bg-muted)}
.qr-sec-code {font-family:var(--font-mono);font-size:12px;color:var(--text-subtle)}
.qr-sec-name {font-size:13px;font-weight:600;min-width:0}
.qr-sec-count {font-size:11.5px;color:var(--text-subtle);text-align:right}
.qr-sec-count--todo {color:var(--hold-text);font-weight:600}
.qr-items {border-bottom:1px solid var(--border);background:var(--bg-muted);padding:4px 0}
.qr-item {display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:12px;padding:7px 16px 7px 72px}
.qr-item-body {display:flex;flex-direction:column;gap:1px;min-width:0}
.qr-item-title {font-size:12.5px}
.qr-item-mech {font-size:11px;color:var(--text-subtle)}
.qr-chip {display:inline-flex;justify-content:center;padding:2px 0;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:0.02em}
.qr-chip--gen {background:var(--paid-bg);color:var(--paid-text)}
.qr-chip--log {background:var(--teal-50);color:var(--teal-800)}
.qr-chip--vault {background:oklch(0.95 0.015 255);color:oklch(0.45 0.06 255)}
.qr-chip--todo {background:var(--hold-bg);color:var(--hold-text)}
.qr-foot {padding:10px 16px;font-size:11.5px;color:var(--text-subtle)}
.ops-table--vault {grid-template-columns:minmax(0,1fr) 64px minmax(84px,100px) 92px}
.qv-cal {display:flex;flex-direction:column}
.qv-cal-row {display:flex;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px solid var(--border)}
.qv-cal-top {display:flex;align-items:center;gap:8px}
.qv-cal-top .ops-td-mono {font-size:11.5px}
.qv-cal-top .qv-reg {margin-left:auto}
.qv-cal-row:last-child {border-bottom:none}
.qv-cal-date {display:none}
.qv-reg {display:inline-flex;justify-content:center;padding:2px 8px;border-radius:4px;font-size:10.5px;font-weight:700;letter-spacing:0.03em;background:var(--bg-muted);color:var(--text-muted)}
.qv-reg--qcpp {background:var(--teal-50);color:var(--teal-800)}
.qv-reg--ahpra {background:oklch(0.95 0.015 255);color:oklch(0.45 0.06 255)}
.qv-cal-item {font-size:12.5px;line-height:1.4;min-width:0;overflow-wrap:break-word}
.ops-split > .off-card {min-width:0}
.ops-table--incidents {grid-template-columns:minmax(0,2fr) 110px 56px 96px minmax(80px,120px) 100px}
.ops-table--incidents .ops-td-mono {white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qi-scrim {position:fixed;inset:0;background:rgba(15,23,42,0.4);z-index:60;animation:qiFade .15s ease-out}
.qi-panel {position:fixed;top:0;right:0;bottom:0;width:min(560px,94vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:-16px 0 40px rgba(15,23,42,0.18);z-index:61;display:flex;flex-direction:column;animation:qiSlide .2s ease-out}
.qi-panel-head {display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}
.qi-panel-eyebrow {font-size:10.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-subtle)}
.qi-panel-title {font-size:18px;font-weight:650;letter-spacing:-0.015em;margin:2px 0 0}
.qi-panel-body {flex:1;overflow-y:auto;padding:4px 20px 20px}
.qi-panel-foot {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg-subtle)}
.qi-foot-btns {display:flex;gap:8px}
.qi-signoff {font-size:11.5px;color:var(--text-subtle)}
.qi-sect {font-size:11.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-subtle);margin:18px 0 10px}
.qi-grid {display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qi-full {grid-column:1 / -1}
.qi-textarea {height:auto;min-height:72px;padding:10px 14px;resize:vertical;line-height:1.45}
.qi-sevs {display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.qi-sev {display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:inherit}
.qi-sev:hover {border-color:var(--text-subtle)}
.qi-sev.is-active {border-color:var(--brand);box-shadow:var(--ring)}
.qi-sev.is-harm {border-color:var(--hold);box-shadow:0 0 0 3px rgba(245,158,11,0.18)}
.qi-sev-label {font-size:13px;font-weight:600}
.qi-sev-hint {font-size:11px;color:var(--text-subtle)}
.qi-chips {display:flex;flex-wrap:wrap;gap:6px}
.qi-chip {padding:5px 11px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font-size:12px;cursor:pointer;font-family:inherit;color:var(--text-muted)}
.qi-chip:hover {border-color:var(--text-subtle)}
.qi-chip.is-on {background:var(--teal-50);border-color:var(--teal-400);color:var(--teal-800);font-weight:600}
.qi-esc {margin:14px 0 2px;border:1px solid var(--hold-border);background:var(--hold-bg);border-radius:10px;overflow:hidden}
.qi-esc-head {display:flex;align-items:center;gap:8px;padding:10px 14px;color:var(--hold-text)}
.qi-esc-title {font-size:12.5px;font-weight:700;flex:1}
.qi-esc-clause {font-family:var(--font-mono);font-size:10.5px;color:var(--hold-text);opacity:0.75}
.qi-esc-steps {display:flex;flex-direction:column;padding:0 14px 10px}
.qi-esc-step {display:flex;align-items:flex-start;gap:8px;padding:5px 0;font-size:12.5px;line-height:1.4;cursor:pointer}
.qi-esc-step input {margin-top:2px;accent-color:var(--hold)}
.qi-panel .qi-panel-title {line-height:1.3}
.qe-headmeta {display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--text-muted)}
.qe-headmeta>span:last-child {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qe-source {display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-subtle)}
.qe-source-ic {width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--brand-bg);color:var(--brand);flex-shrink:0}
.qe-source-label {font-size:13px;font-weight:650}
.qe-source-where {font-size:12px;color:var(--text-muted);margin-top:1px}
.qe-facts {display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.qe-facts>div {display:flex;flex-direction:column;gap:2px;min-width:0}
.qe-facts span {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle)}
.qe-facts b {font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qe-arts {display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.qe-art {display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-subtle)}
.qe-art:last-child {border-bottom:none}
.qe-art-body {flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.qe-art-name {font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qe-art-meta {font-size:11.5px;color:var(--text-subtle);font-family:var(--font-mono)}
.qe-art-tag {font-size:10.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--paid-text);background:var(--paid-bg);border-radius:999px;padding:3px 9px;flex-shrink:0}
.qe-art-tag--mute {color:var(--text-subtle);background:var(--bg-muted)}
.qe-note {font-size:13px;line-height:1.55;color:var(--text-muted);margin:0;text-wrap:pretty}
.qe-note b {color:var(--text);font-weight:600}
.qr--review {background:var(--void, #dc2626)}
.qr-chip--review {background:var(--void-bg);color:var(--void-text)}
.qs-bad {color:var(--void-text)}
.qs-warn {color:var(--hold-text)}
.qs-searchbar {display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);color:var(--text-subtle)}
.qs-searchbar .input {flex:1;height:32px;font-size:13px}
.qs-domain-reqs {font-size:11px;color:var(--text-subtle);font-family:var(--font-mono);margin-left:auto;margin-right:12px}
.qs-sec-row {grid-template-columns:44px minmax(0,1fr) 130px 92px 148px 20px}
.qs-sec-row .qr-sec-name {display:flex;flex-direction:column;gap:2px}
.qs-sec-sub {font-size:10.5px;font-weight:400;color:var(--text-subtle);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qs-sec-proven {font-size:11.5px;color:var(--text-subtle);text-align:right;white-space:nowrap}
.qs-sec-proven b {color:var(--paid-text);font-weight:700}
.qs-sec-flags {display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}
.qs-pill-ok,.qs-pill-warn,.qs-pill-bad {font-size:10px;font-weight:700;letter-spacing:0.03em;padding:2px 7px;border-radius:999px;white-space:nowrap}
.qs-pill-ok {background:var(--paid-bg);color:var(--paid-text)}
.qs-pill-warn {background:var(--hold-bg);color:var(--hold-text)}
.qs-pill-bad {background:var(--void-bg);color:var(--void-text)}
.qs-match {font-size:10px;font-weight:700;letter-spacing:0.03em;padding:2px 7px;border-radius:999px;white-space:nowrap}
.qs-match--full {background:var(--paid-bg);color:var(--paid-text)}
.qs-match--partial {background:var(--hold-bg);color:var(--hold-text)}
.qs-match--new {background:var(--void-bg);color:var(--void-text)}
.qs-sec-row--pending {opacity:0.72;cursor:default}
.qs-sec-row--pending:hover {background:none}
.qs-pending-bar {display:block;height:8px;border-radius:4px;background:repeating-linear-gradient(135deg,var(--bg-muted),var(--bg-muted) 4px,var(--border) 4px,var(--border) 8px)}
.qs-pending-tag {font-size:10px;font-weight:700;letter-spacing:0.03em;padding:2px 7px;border-radius:999px;background:var(--bg-muted);color:var(--text-subtle);white-space:nowrap;justify-self:end}
.qs-heaviest {margin-left:8px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--void-bg);color:var(--void-text)}
.qs-drawer {width:min(880px,96vw)}
.qs-drawer-stats {display:flex;align-items:center;gap:12px;margin-top:10px;font-size:11.5px;color:var(--text-muted)}
.qs-drawer-stats .qr-bar {width:120px}
.qs-drawer-stats b {color:var(--paid-text)}
.qs-numnote {display:flex;gap:8px;align-items:flex-start;margin:14px 0 4px;padding:10px 12px;border:1px solid var(--hold-border);background:var(--hold-bg);border-radius:9px;font-size:12px;line-height:1.45;color:var(--hold-text)}
.qs-numnote svg {flex-shrink:0;margin-top:1px}
.qs-group-head {font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-subtle);margin:20px 0 2px;font-family:var(--font-mono)}
.qs-sub {border:1px solid var(--border);border-radius:12px;margin-top:14px;padding:14px 16px;background:var(--surface)}
.qs-sub-head {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qs-sub-nums {display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.qs-sub-num {font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:-0.01em}
.qs-sub-art {font-family:var(--font-mono);font-size:11px;color:var(--text-subtle)}
.qs-sub-count {margin-left:auto;font-size:11.5px;color:var(--text-subtle)}
.qs-normative {margin:10px 0 0;padding:10px 14px;border-left:3px solid var(--navy-900,var(--text));background:var(--bg-subtle);font-family:var(--font-mono);font-size:12.5px;line-height:1.55;color:var(--text);text-wrap:pretty}
.qs-normative--sm {font-size:12px;margin-top:8px}
.qs-bullets {display:flex;flex-direction:column;gap:2px;margin-top:8px}
.qs-bullet {display:flex;align-items:flex-start;gap:9px;padding:5px 8px;border-radius:7px;font-size:12.5px;line-height:1.45;cursor:pointer;color:var(--text-muted)}
.qs-bullet:hover {background:var(--bg-muted)}
.qs-bullet input {margin-top:2px;accent-color:var(--brand);flex-shrink:0}
.qs-bullet--done {color:var(--text)}
.qs-changed {display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:9px 12px;border-radius:9px;background:var(--hold-bg);font-size:12px;line-height:1.45;color:var(--hold-text)}
.qs-changed-lab {font-size:10px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;flex-shrink:0;padding-top:1px}
.qs-slots {display:flex;flex-direction:column;gap:4px;margin-top:12px}
.qs-slot {border:1px solid var(--border);border-radius:9px;overflow:hidden}
.qs-slot-head {display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;font:inherit;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;text-align:left}
.qs-slot-head:hover {background:var(--bg-muted)}
.qs-slot-body {padding:2px 12px 12px 32px;font-size:12.5px;line-height:1.55;color:var(--text-muted);text-wrap:pretty}
.qs-links {display:flex;flex-direction:column;gap:6px}
.qs-link {display:flex;flex-direction:column;gap:1px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;text-decoration:none}
.qs-link:hover {border-color:var(--brand);background:var(--brand-bg)}
.qs-link-t {font-size:12.5px;font-weight:600;color:var(--brand)}
.qs-link-m {font-size:11px;color:var(--text-subtle);font-family:var(--font-mono)}
.qs-fresh {display:flex;align-items:center;gap:7px;margin-top:9px;font-size:11.5px;color:var(--hold-text)}
.qs-fresh-btn {margin-left:auto;background:none;border:none;font:inherit;font-size:11.5px;font-weight:600;color:var(--brand);cursor:pointer;padding:0}
.qs-sub-evhead {font-size:11px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);margin:16px 0 8px}
.qs-evs {display:flex;flex-direction:column;gap:6px}
.qs-ev {border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}
.qs-ev--gen {border-color:var(--paid-border,var(--paid));box-shadow:inset 3px 0 0 var(--paid)}
.qs-ev--todo {border-style:dashed}
.qs-ev-row {display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:none;border:none;font:inherit;text-align:left;cursor:pointer}
.qs-ev-row:hover {background:var(--bg-muted)}
.qs-ev-ic {width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--bg-muted);color:var(--text-muted);flex-shrink:0}
.qs-ev--gen .qs-ev-ic {background:var(--paid-bg);color:var(--paid-text)}
.qs-ev-body {flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.qs-ev-title {font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qs-ev-type {font-size:11px;color:var(--text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qs-ev-flag {font-size:10.5px;font-weight:600;color:var(--void-text);background:var(--void-bg);border-radius:999px;padding:2px 8px;white-space:nowrap}
.qs-ev-meta {padding:2px 12px 12px 50px;border-top:1px solid var(--border);background:var(--bg-subtle)}
.qs-ev-need {font-size:11.5px;color:var(--text-subtle);margin:10px 0 12px;font-style:italic}
.qs-meta-grid {display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.qs-meta-grid>div {display:flex;flex-direction:column;gap:2px;min-width:0}
.qs-meta-wide {grid-column:1 / -1}
.qs-meta-grid span {font-size:10px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle)}
.qs-meta-grid b {font-size:12.5px;font-weight:600;line-height:1.4}
.qs-cov {margin-top:14px;padding:10px 12px;border:1px solid var(--void-border,var(--void));border-radius:9px;background:var(--void-bg)}
.qs-cov-head {display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--void-text)}
.qs-cov-strip {display:flex;gap:3px;margin:8px 0 6px}
.qs-cov-strip i {flex:1;height:20px;border-radius:3px;background:var(--paid)}
.qs-cov-strip i.qs-cov--gap {background:var(--void)}
.qs-cov-note {font-size:11.5px;color:var(--void-text)}
.qs-ev-acts {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.qs-ev-clause {font-size:11.5px;color:var(--text-subtle)}
.qt-stack {display:flex;width:100%;height:8px;border-radius:4px;overflow:hidden;background:var(--bg-muted)}
.qt-stack i {display:block;height:100%}
.qt-stack i + i {margin-left:1px}
.qt--carry {background:var(--paid)}
.qt--rework {background:var(--amber-500,var(--hold))}
.qt--build {background:var(--void)}
.qt-c-carry {color:var(--paid-text)}
.qt-c-rework {color:var(--hold-text)}
.qt-c-build {color:var(--void-text)}
.qt-sort {display:flex;gap:6px;flex-wrap:wrap;flex:0 1 auto;min-width:max-content}
.qt-sort-btn {padding:5px 11px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font:inherit;font-size:12px;color:var(--text-muted);cursor:pointer;white-space:nowrap}
.qt-sort-btn:hover {border-color:var(--text-subtle)}
.qt-sort-btn.is-on {background:var(--navy-900,var(--text));border-color:var(--navy-900,var(--text));color:#fff;font-weight:600}
.qt-table {display:grid;grid-template-columns:minmax(0,1fr) 70px 100px 84px 92px 150px}
.qt-th {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);padding:10px 12px;border-bottom:1px solid var(--border)}
.qt-row {display:contents;cursor:pointer}
.qt-td {padding:11px 12px;border-bottom:1px solid var(--border);font-size:13px;display:flex;align-items:center}
.qt-row:hover .qt-td {background:var(--bg-muted)}
.qt-row--on .qt-td {background:var(--brand-bg)}
.qt-row--tot {cursor:default}
.qt-row--tot .qt-td {background:var(--bg-subtle);border-bottom:none}
.qt-num {justify-content:flex-end;text-align:right}
.qt-td-name {gap:8px;min-width:0}
.qt-callout {display:flex;gap:12px;align-items:flex-start;margin:14px 16px 16px;padding:12px 14px;border:1px solid var(--void-border,var(--void));background:var(--void-bg);border-radius:10px}
.qt-callout-ic {color:var(--void-text);flex-shrink:0;margin-top:1px}
.qt-callout-t {font-size:13px;font-weight:700;color:var(--void-text)}
.qt-callout-b {font-size:12.5px;line-height:1.5;color:var(--void-text);margin-top:2px;text-wrap:pretty}
.qt-list {display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px}
.qt-item {border:1px solid var(--border);border-radius:11px;padding:12px 14px}
.qt-item-head {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qt-item-art {font-size:12px;color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qt-item-dom {margin-left:auto;font-size:11px;font-family:var(--font-mono);color:var(--text-subtle)}
.qt-item-foot {display:flex;align-items:center;gap:12px;margin-top:10px;font-size:11.5px;color:var(--text-subtle)}
.qt-item-foot .qr-bar {width:110px}
.qt-item-foot .btn {margin-left:auto}
.qs-export {width:min(820px,96vw)}
.qs-packnote {display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:10px 12px;border-radius:9px;background:var(--brand-bg);color:var(--brand);font-size:12px;line-height:1.45}
.qs-packnote svg {flex-shrink:0;margin-top:1px}
.qs-exp {display:grid;grid-template-columns:88px minmax(0,1.5fr) minmax(0,1.1fr) 170px;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.qs-exp-th {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);padding:9px 10px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}
.qs-exp-row {display:contents}
.qs-exp-td {padding:9px 10px;border-bottom:1px solid var(--border);font-size:12px;line-height:1.4;display:flex;align-items:center;min-width:0}
.qs-exp-clause {font-weight:600}
.qs-exp-status {gap:8px;font-size:11px;color:var(--text-subtle)}
.qs-exp-row:last-child .qs-exp-td {border-bottom:none}
.pm-dist {display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--bg-muted)}
.pm-dist i {display:block;height:100%}
.pm-dist i + i {margin-left:1px}
.pm-dist--pos {background:var(--paid)}
.pm-dist--neu {background:oklch(0.78 0.03 255)}
.pm-dist--neg {background:var(--void)}
.pm-key--pos,.pm-key--neu,.pm-key--neg {width:9px;height:9px;border-radius:2px;display:inline-block}
.pm-key--pos {background:var(--paid)}
.pm-key--neu {background:oklch(0.78 0.03 255)}
.pm-key--neg {background:var(--void)}
.pm-qs {display:flex;flex-direction:column}
.pm-q {display:grid;grid-template-columns:minmax(180px,1fr) minmax(90px,140px) 44px 42px 56px;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid var(--border)}
.pm-q:last-child {border-bottom:none}
.pm-q-t {font-size:13px;min-width:0;text-wrap:pretty}
.pm-q-v {font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;text-align:right}
.pm-q-d {font-size:11.5px;font-weight:600;text-align:right;color:var(--text-subtle)}
.pm-q-d--up {color:var(--paid-text)}
.pm-q-d--down {color:var(--void-text)}
.pm-q-n {font-size:11px;color:var(--text-subtle);text-align:right}
.pm-note {padding:11px 16px;font-size:12px;color:var(--text-subtle);border-top:1px solid var(--border);text-wrap:pretty}
.pm-cond-tabs {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:14px 16px;border-bottom:1px solid var(--border)}
.pm-cond-tab {display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font:inherit;cursor:pointer;color:inherit}
.pm-cond-tab:hover {border-color:var(--text-subtle)}
.pm-cond-tab.is-on {border-color:var(--brand);box-shadow:var(--ring);background:var(--brand-bg)}
.pm-cond-tab-c {font-size:13px;font-weight:650;letter-spacing:-0.01em}
.pm-cond-tab-n {font-size:11px;color:var(--text-subtle);font-family:var(--font-mono)}
.pm-cond-head {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px 12px}
.pm-cond-title {font-size:15px;font-weight:650;letter-spacing:-0.015em}
.pm-cond-meta {font-size:12px;color:var(--text-subtle);margin-top:2px}
.pm-cohort {display:grid;grid-template-columns:minmax(120px,1.3fr) minmax(60px,90px) 42px 56px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-subtle,var(--border))}
.pm-cohort--prem {grid-template-columns:minmax(110px,1.2fr) minmax(50px,72px) 34px 46px minmax(100px,1fr)}
.pm-cohort:last-child {border-bottom:none}
.pm-cohort-gap {font-size:11.5px;color:var(--text-subtle);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-stores {display:flex;flex-direction:column;gap:2px}
.pm-store {display:grid;grid-template-columns:38px minmax(80px,1fr) minmax(60px,88px) 32px 38px 70px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-subtle,var(--border))}
.pm-store:last-child {border-bottom:none}
.pm-store-code {font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--text-subtle)}
.pm-store-name {font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-store-track {height:6px;border-radius:3px;background:var(--bg-muted);overflow:hidden}
.pm-store-track i {display:block;height:100%;background:var(--brand)}
.pm-store-score {font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;text-align:right}
.pm-store-n {font-size:11px;color:var(--text-subtle);text-align:right}
.pm-trend {display:flex;align-items:flex-end;gap:16px;height:150px;padding:8px 4px 0}
.pm-trend-col {flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}
.pm-trend-v {font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}
.pm-trend-bar {width:100%;max-width:56px;border-radius:5px 5px 0 0;background:var(--brand)}
.pm-trend-col:last-child .pm-trend-bar {background:var(--navy-900,var(--text))}
.pm-trend-l {font-size:11px;color:var(--text-subtle);font-family:var(--font-mono)}
.pm-evid {display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 12px;border-radius:9px;background:var(--paid-bg);color:var(--paid-text);font-size:12px;line-height:1.45}
.pm-evid svg {flex-shrink:0;margin-top:1px}
.pm-out {display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(80px,0.7fr) 70px 70px minmax(150px,1.1fr) 44px}
.pm-out-th {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center}
.pm-out-row {display:contents}
.pm-out-td {padding:11px 12px;border-bottom:1px solid var(--border);font-size:13px;display:flex;align-items:center;gap:10px;min-width:0}
.pm-out-row:last-child .pm-out-td {border-bottom:none}
.pm-out-m {flex-direction:column;align-items:flex-start;gap:2px}
.pm-out-m b {font-weight:600;text-wrap:pretty}
.pm-out-m span {font-size:11px;color:var(--text-subtle)}
.pm-out-now {font-weight:650}
.pm-out-track {flex:1 1 24px;height:6px;border-radius:3px;background:var(--bg-muted);overflow:hidden;min-width:24px}
.pm-out-track i {display:block;height:100%;background:var(--paid)}
.pm-out-track i.pm-out--bad {background:var(--hold)}
.pm-comments {display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px}
.pm-comment {border:1px solid var(--border);border-radius:11px;padding:12px 14px}
.pm-comment--neg {border-left:3px solid var(--void)}
.pm-comment--pos {border-left:3px solid var(--paid)}
.pm-comment--neu {border-left:3px solid var(--border-strong)}
.pm-comment-meta {display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--text-subtle)}
.pm-sent {font-size:10px;font-weight:700;letter-spacing:0.03em;padding:2px 8px;border-radius:999px}
.pm-sent--pos {background:var(--paid-bg);color:var(--paid-text)}
.pm-sent--neg {background:var(--void-bg);color:var(--void-text)}
.pm-sent--neu {background:var(--bg-muted);color:var(--text-muted)}
.pm-linked {margin-left:auto;font-size:10.5px;font-weight:600;color:var(--brand);background:var(--brand-bg);border-radius:999px;padding:2px 8px}
.pm-comment-t {margin:8px 0 0;font-size:13.5px;line-height:1.55;text-wrap:pretty}
.pm-comment-acts {display:flex;gap:8px;margin-top:10px}
.pm-acts {display:grid;grid-template-columns:auto minmax(110px,1.2fr) minmax(130px,1.5fr) auto auto auto}
.pm-acts-th {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);padding:10px 12px;border-bottom:1px solid var(--border)}
.pm-acts-row {display:contents}
.pm-acts-td {padding:11px 12px;border-bottom:1px solid var(--border);font-size:13px;display:flex;align-items:center;min-width:0}
.pm-acts-td.off-mono {padding-left:6px;padding-right:6px}
.pm-acts-row:last-child .pm-acts-td {border-bottom:none}
.pm-acts-id {font-weight:600}
.pm-acts-ins {flex-direction:column;align-items:flex-start;gap:2px}
.pm-acts-ins b {font-weight:600;text-wrap:pretty}
.pm-acts-ins span {font-size:11px;color:var(--text-subtle)}
.pm-ch {display:grid;grid-template-columns:minmax(190px,1.8fr) minmax(110px,1fr) 84px 82px 88px}
.pm-ch-th {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);padding:10px 12px;border-bottom:1px solid var(--border)}
.pm-ch-row {display:contents}
.pm-ch-td {padding:11px 12px;border-bottom:1px solid var(--border);font-size:13px;display:flex;align-items:center;min-width:0}
.pm-ch-row:last-child .pm-ch-td {border-bottom:none}
.pm-ch-row--off .pm-ch-td {opacity:0.55}
.pm-ch-name {flex-direction:column;align-items:flex-start;gap:2px}
.pm-ch-name b {font-weight:600}
.pm-ch-name span {font-size:11px;color:var(--text-subtle)}
.pm-inst {display:flex;flex-direction:column;gap:2px}
.pm-inst-row {display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-subtle,var(--border))}
.pm-inst-row:last-child {border-bottom:none}
.pm-inst-row>div {display:flex;flex-direction:column;gap:1px;min-width:0}
.pm-inst-row b {font-size:13px;font-weight:600}
.pm-inst-row span:last-child {font-size:11.5px;color:var(--text-subtle);text-wrap:pretty}
.pm-inst-tag {font-size:10px;font-weight:700;letter-spacing:0.03em;padding:2px 7px;border-radius:999px;flex-shrink:0;margin-top:1px}
.pm-inst-tag--prem {background:var(--brand-bg);color:var(--brand)}
.pm-inst-tag--prom {background:var(--teal-50);color:var(--teal-800)}
.pm-gov p {margin:0;font-size:13px;line-height:1.6;color:var(--text-muted);text-wrap:pretty}
.pm-gov ul {margin:10px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.pm-gov li {font-size:12.5px;line-height:1.5;color:var(--text-muted);text-wrap:pretty}
.op-panel,.op-detail {width:min(700px,96vw)}
.op-radius {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.op-radio {display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font:inherit;color:inherit;cursor:pointer}
.op-radio:hover {border-color:var(--text-subtle)}
.op-radio.is-active {border-color:var(--brand);box-shadow:var(--ring);background:var(--brand-bg)}
.op-radio-l {font-size:13px;font-weight:650}
.op-radio-h {font-size:11px;color:var(--text-subtle)}
.op-toggles {display:flex;flex-direction:column;gap:8px;margin-top:10px}
.op-toggle {display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer}
.op-toggle:hover {border-color:var(--text-subtle)}
.op-toggle.is-on {border-color:var(--brand);background:var(--brand-bg)}
.op-toggle input {margin-top:2px;accent-color:var(--brand);flex-shrink:0}
.op-toggle span {display:flex;flex-direction:column;gap:1px;font-size:11.5px;color:var(--text-subtle);line-height:1.4}
.op-toggle b {font-size:13px;font-weight:600;color:var(--text)}
.op-derive {border:1px solid var(--border);border-radius:11px;overflow:hidden}
.op-derive--empty {padding:14px;font-size:12.5px;color:var(--text-subtle);border-style:dashed;text-wrap:pretty}
.op-derive--P1 {border-color:var(--void)}
.op-derive--P2 {border-color:var(--hold)}
.op-derive-head {display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}
.op-derive-score {margin-left:auto;font-size:11px;font-family:var(--font-mono);color:var(--text-subtle)}
.op-derive-parts {padding:8px 14px;display:flex;flex-direction:column}
.op-derive-part {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;font-size:12.5px;color:var(--text-muted)}
.op-derive-part b {font-family:var(--font-mono);font-size:12px;color:var(--text)}
.op-derive-part b.op-neg {color:var(--paid-text)}
.op-derive-conseq {display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;padding:12px 14px;border-top:1px solid var(--border);background:var(--bg-subtle)}
.op-derive-conseq>div {display:flex;flex-direction:column;gap:2px;min-width:0}
.op-derive-conseq span {font-size:10px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle)}
.op-derive-conseq b {font-size:12.5px;font-weight:600;line-height:1.35}
.op-derive-warn,.op-derive-clin {display:flex;gap:8px;align-items:flex-start;padding:10px 14px;font-size:12px;line-height:1.45;border-top:1px solid var(--border)}
.op-derive-warn {background:var(--void-bg);color:var(--void-text)}
.op-derive-clin {background:var(--hold-bg);color:var(--hold-text)}
.op-derive-warn svg,.op-derive-clin svg {flex-shrink:0;margin-top:1px}
.op-tablewrap {overflow-x:auto}
.op-table {display:grid;grid-template-columns:minmax(200px,1fr) max-content max-content max-content max-content}
.op-th {white-space:nowrap}
.op-td-nw {white-space:nowrap}
.op-td-id {white-space:nowrap}
.op-th {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);padding:10px 12px;border-bottom:1px solid var(--border)}
.op-row {display:contents;cursor:pointer;color:inherit}
.op-td {padding:11px 12px;border-bottom:1px solid var(--border);font-size:13px;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;background:none;text-align:left}
.op-row:hover .op-td {background:var(--bg-muted)}
.op-td-id {font-weight:600}
.op-td-t {flex-direction:column;align-items:flex-start;gap:4px;font-weight:600;min-width:0}
.op-td-t b {font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.op-td-sub {display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-style:normal;font-size:11px;font-weight:400;color:var(--text-subtle)}
.op-tag {font-size:9.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:var(--brand-bg);color:var(--brand);flex-shrink:0;white-space:nowrap}
.op-tag--clin {background:var(--hold-bg);color:var(--hold-text)}
.op-detail-pills {display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}
.op-detail-when {font-size:11.5px;color:var(--text-subtle)}
.op-summary {margin:14px 0 0;font-size:13.5px;line-height:1.6;color:var(--text-muted);text-wrap:pretty}
.op-slabar {display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:14px}
.op-slabox {display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}
.op-slabox span {font-size:10px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle)}
.op-slabox b {font-size:15px;font-weight:650;letter-spacing:-0.01em}
.op-slabox i {font-size:11px;font-style:normal;color:var(--text-subtle)}
.op-slabox--ok {border-color:var(--paid);background:var(--paid-bg)}
.op-slabox--ok b {color:var(--paid-text)}
.op-slabox--bad {border-color:var(--void);background:var(--void-bg)}
.op-slabox--bad b {color:var(--void-text)}
.op-timeline {display:flex;flex-direction:column}
.op-tl {display:flex;gap:12px;position:relative;padding-bottom:14px}
.op-tl:not(:last-child)::before {content:"";position:absolute;left:5px;top:14px;bottom:0;width:2px;background:var(--border)}
.op-tl-dot {width:12px;height:12px;border-radius:50%;background:var(--paid);flex-shrink:0;margin-top:3px;z-index:1}
.op-tl--pending .op-tl-dot {background:var(--surface);border:2px solid var(--border)}
.op-tl--breach .op-tl-dot {background:var(--void)}
.op-tl-body {flex:1;min-width:0}
.op-tl-head {display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.op-tl-head b {font-weight:650}
.op-tl--pending .op-tl-head b {color:var(--text-subtle);font-weight:600}
.op-tl-head .off-mono {font-size:11.5px;color:var(--text-subtle)}
.op-tl-wait {font-size:11.5px;color:var(--text-subtle);font-style:italic}
.op-tl-by {font-size:11.5px;color:var(--text-muted)}
.op-tl-sla {font-size:10px;font-weight:700;letter-spacing:0.03em;padding:2px 7px;border-radius:999px}
.op-tl-sla--ok {background:var(--paid-bg);color:var(--paid-text)}
.op-tl-sla--bad {background:var(--void-bg);color:var(--void-text)}
.op-tl-note {font-size:12.5px;line-height:1.5;color:var(--text-muted);margin-top:3px;text-wrap:pretty}
.op-empty {font-size:12.5px;color:var(--text-subtle);padding:10px 0}
.op-comms {display:flex;flex-direction:column;gap:8px}
.op-comm {display:flex;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}
.op-comm-ch {font-size:10px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--bg-muted);color:var(--text-muted);height:fit-content;flex-shrink:0}
.op-comm-body {flex:1;min-width:0}
.op-comm-meta {display:flex;align-items:baseline;gap:8px;font-size:12px}
.op-comm-meta b {font-weight:600}
.op-comm-meta .off-mono {font-size:11px;color:var(--text-subtle)}
.op-comm-txt {font-size:12.5px;line-height:1.5;color:var(--text-muted);margin-top:2px;text-wrap:pretty}
.op-links {display:flex;flex-direction:column;gap:8px}
.op-link {display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font:inherit;text-align:left;color:var(--text-subtle);cursor:pointer}
button.op-link:hover {border-color:var(--brand);background:var(--brand-bg)}
.op-link span {flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:11.5px;color:var(--text-subtle)}
.op-link b {font-size:13px;font-weight:600;color:var(--text)}
.op-link--todo {border-style:dashed;color:var(--void-text)}
.op-link--todo b {color:var(--void-text)}
.op-link--clin {cursor:default;border-color:var(--hold-border);background:var(--hold-bg);color:var(--hold-text)}
.op-link--clin b {color:var(--hold-text)}
.op-pirs {display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px}
.op-pir {display:block;width:100%;text-align:left;border:1px solid var(--border);border-radius:11px;padding:12px 14px;background:var(--surface);font:inherit;color:inherit;cursor:pointer}
.op-pir:hover {border-color:var(--brand);background:var(--brand-bg)}
.op-pir-head {display:flex;align-items:center;gap:10px;color:var(--text-subtle)}
.op-pir-id {font-size:12px;font-weight:700;color:var(--text)}
.op-pir-title {flex:1;min-width:0;font-size:13.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.op-pir-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px 14px;margin-top:10px}
.op-pir-grid>div {display:flex;flex-direction:column;gap:2px;min-width:0}
.op-pir-grid span {font-size:10px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle)}
.op-pir-grid b {font-size:13px;font-weight:600}
.op-ok {color:var(--paid-text)}
.op-warn {color:var(--hold-text)}
.op-pir-facts {display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-top:14px}
.op-pir-facts>div {display:flex;flex-direction:column;gap:2px;min-width:0}
.op-pir-wide {grid-column:1 / -1}
.op-pir-facts span {font-size:10px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle)}
.op-pir-facts b {font-size:13px;font-weight:600}
.op-blameless {display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:10px 12px;border-radius:9px;background:var(--bg-subtle);color:var(--text-muted);font-size:12px;line-height:1.45}
.op-blameless svg {flex-shrink:0;margin-top:1px}
.op-twocol {display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:18px}
.op-col {border:1px solid var(--border);border-radius:11px;padding:12px 14px}
.op-col-head {display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:0.03em;text-transform:uppercase}
.op-col-head--good {color:var(--paid-text)}
.op-col-head--bad {color:var(--void-text)}
.op-list {margin:8px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:6px}
.op-list li {font-size:12.5px;line-height:1.5;color:var(--text-muted);text-wrap:pretty}
.op-lessons {display:flex;flex-direction:column;gap:8px}
.op-lesson {display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-left:3px solid var(--brand);background:var(--bg-subtle);border-radius:0 9px 9px 0;font-size:13px;line-height:1.5;text-wrap:pretty}
.op-lesson-n {width:18px;height:18px;border-radius:50%;background:var(--brand);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;flex-shrink:0;margin-top:1px}
.op-actions {display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.op-act-th {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);padding:9px 11px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}
.op-act-row {display:contents}
.op-act-td {padding:10px 11px;border-bottom:1px solid var(--border);font-size:12.5px;display:flex;align-items:center;min-width:0}
.op-act-row:last-child .op-act-td {border-bottom:none}
.op-act-a {line-height:1.45;text-wrap:pretty}
.op-rules {display:flex;flex-direction:column;gap:10px;padding:14px 16px}
.op-rule {border:1px solid var(--border);border-radius:11px;padding:12px 14px}
.op-rule--off {opacity:0.6}
.op-rule-head {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.op-rule-trig {flex:1;min-width:140px;font-size:12.5px;color:var(--text-muted);text-wrap:pretty}
.op-switch {position:relative;display:inline-flex;cursor:pointer;flex-shrink:0}
.op-switch input {position:absolute;opacity:0;width:0;height:0}
.op-switch i {width:34px;height:20px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .15s}
.op-switch i::after {content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.op-switch.is-on i {background:var(--paid)}
.op-switch.is-on i::after {transform:translateX(14px)}
.op-rule-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 14px;margin-top:11px}
.op-rule-grid>div {display:flex;flex-direction:column;gap:2px;min-width:0}
.op-rule-wide {grid-column:1 / -1}
.op-rule-grid span {font-size:10px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle)}
.op-rule-grid b {font-size:12.5px;font-weight:600}
.op-rule-edit {margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.op-edit-lab {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);margin:12px 0 7px}
.op-ruleswarn {display:flex;gap:8px;align-items:flex-start;margin:0 16px 16px;padding:11px 13px;border:1px solid var(--void);background:var(--void-bg);color:var(--void-text);border-radius:10px;font-size:12.5px;line-height:1.45}
.op-ruleswarn svg {flex-shrink:0;margin-top:1px}
.op-rota {display:flex;flex-direction:column}
.op-rota-row {display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) auto auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.op-rota-row:last-child {border-bottom:none}
.op-rota-row--now {font-weight:600}
.op-rota-role {font-size:12px;color:var(--text-subtle)}
.op-rota-who {font-size:13px;font-weight:600}
.op-rota-ph,.op-rota-when {font-size:11.5px;white-space:nowrap}
.op-sla {display:grid;grid-template-columns:minmax(150px,1.6fr) auto auto auto minmax(160px,1.1fr)}
.op-sla-th {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center}
.op-sla-row {display:contents}
.op-sla-td {padding:11px 12px;border-bottom:1px solid var(--border);font-size:13px;display:flex;align-items:center;gap:8px;min-width:0}
.op-sla-row:last-child .op-sla-td {border-bottom:none}
.op-sla-track {flex:1 1 30px;min-width:24px;height:6px;border-radius:3px;background:var(--bg-muted);overflow:hidden}
.op-sla-track i {display:block;height:100%;background:var(--paid)}
.op-sla-track i.op-sla--bad {background:var(--void)}
.op-sla-gap {font-family:var(--font-mono);font-size:11px;color:var(--paid-text);white-space:nowrap}
.op-sla-gap--bad {color:var(--void-text)}
.vd-panel,.vd-detail {width:min(680px,96vw)}
.vd-shell {display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:14px;align-items:start}
.vd-folders {display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px}
.vd-folder {display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:none;font:inherit;font-size:12.5px;color:var(--text-muted);cursor:pointer;text-align:left}
.vd-folder:hover {background:var(--bg-muted)}
.vd-folder.is-on {background:var(--brand-bg);color:var(--brand);font-weight:600}
.vd-folder svg {flex-shrink:0}
.vd-folder-l {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd-folder-n {font-size:11px;font-family:var(--font-mono);color:var(--text-subtle)}
.vd-folder.is-on .vd-folder-n {color:var(--brand)}
.vd-folder-att {font-size:9.5px;font-weight:700;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--void);color:#fff;display:grid;place-items:center}
.vd-storage {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:9px 10px;border-top:1px solid var(--border);font-size:11px;color:var(--text-subtle)}
.vd-main {display:flex;flex-direction:column;gap:10px;min-width:0}
.vd-bar {display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text-subtle)}
.vd-bar .input {flex:1;height:32px;font-size:13px;min-width:0}
.vd-dropzone {display:flex;align-items:center;justify-content:center;gap:9px;padding:14px;border:1.5px dashed var(--border-strong);border-radius:12px;background:var(--bg-subtle);font-size:12.5px;color:var(--text-subtle);cursor:pointer}
.vd-dropzone:hover {border-color:var(--brand);color:var(--brand)}
.vd-dropzone.is-over {border-color:var(--brand);background:var(--brand-bg);color:var(--brand);font-weight:600}
.vd-tablewrap {background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto}
.vd-table {display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(80px,auto) auto auto auto;min-width:520px}
.vd-th {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);padding:10px 11px;border-bottom:1px solid var(--border);background:var(--bg-subtle);white-space:nowrap}
.vd-row {display:contents;cursor:pointer;color:inherit}
.vd-td {padding:10px 11px;border-bottom:1px solid var(--border);font-size:12.5px;display:flex;align-items:center;gap:8px;min-width:0;background:none;text-align:left}
.vd-td-st {flex-direction:column;align-items:flex-start;gap:3px}
.vd-row:hover .vd-td {background:var(--bg-muted)}
.vd-row:last-child .vd-td {border-bottom:none}
.vd-td-n {flex-direction:column;align-items:flex-start;gap:1px}
.vd-td-n b {font-size:13px;font-weight:600;line-height:1.35;text-wrap:pretty}
.vd-td-n i {font-style:normal;font-size:10.5px;color:var(--text-subtle);font-family:var(--font-mono)}
.vd-unassigned {font-style:italic;color:var(--text-subtle)}
.vd-type {font-size:9.5px;font-weight:700;letter-spacing:0.04em;padding:3px 6px;border-radius:5px;flex-shrink:0}
.vd-type--red {background:var(--void-bg);color:var(--void-text)}
.vd-type--blue {background:var(--brand-bg);color:var(--brand)}
.vd-type--green {background:var(--paid-bg);color:var(--paid-text)}
.vd-type--amber {background:var(--hold-bg);color:var(--hold-text)}
.vd-type--grey {background:var(--bg-muted);color:var(--text-muted)}
.vd-ackmini {font-size:11px;font-family:var(--font-mono);font-weight:700;color:var(--hold-text);white-space:nowrap}
.vd-ackmini.is-done {color:var(--paid-text)}
.vd-clause {font-size:11px;font-family:var(--font-mono);color:var(--text-subtle)}
.vd-drop {display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px 16px;margin-top:14px;border:1.5px dashed var(--border-strong);border-radius:12px;background:var(--bg-subtle);color:var(--text-subtle);cursor:pointer;text-align:center}
.vd-drop:hover {border-color:var(--brand);color:var(--brand)}
.vd-drop.is-over {border-color:var(--brand);background:var(--brand-bg);color:var(--brand)}
.vd-drop-t {font-size:13.5px;font-weight:650;color:var(--text);margin-top:4px}
.vd-drop.is-over .vd-drop-t {color:var(--brand)}
.vd-drop-h {font-size:11.5px}
.vd-queue {display:flex;flex-direction:column;gap:6px}
.vd-qrow {display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--border);border-radius:9px}
.vd-qname {flex:1;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd-qsize {font-size:11px;color:var(--text-subtle)}
.vd-warn {display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:10px 12px;border-radius:9px;background:var(--hold-bg);color:var(--hold-text);font-size:12px;line-height:1.45}
.vd-warn svg {flex-shrink:0;margin-top:1px}
.vd-preview {display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--bg-subtle)}
.vd-preview-ic {width:44px;height:44px;border-radius:10px;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;color:var(--text-subtle);flex-shrink:0}
.vd-preview-body {flex:1;min-width:0}
.vd-preview-n {font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd-preview-m {font-size:11px;color:var(--text-subtle);margin-top:2px}
.vd-live {margin-top:14px;padding:13px 14px;border:1px solid var(--accent-border, var(--border-strong));border-radius:11px;background:var(--surface)}
.vd-live-h {display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px}
.vd-live-where {margin-top:4px;font-size:12.5px}
.vd-live-m {margin-top:3px;font-size:11.5px;color:var(--text-subtle)}
.vd-live-btns {display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.vd-live-note {margin-top:9px;font-size:11.5px;color:var(--text-subtle);line-height:1.45}
.vd-livebadge {display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:999px;border:1px solid var(--border-strong);color:var(--text);background:var(--bg-subtle);white-space:nowrap}
.vd-gap {display:flex;gap:11px;align-items:flex-start;margin-top:14px;padding:12px 14px;border:1px dashed var(--border-strong);border-radius:11px;background:var(--bg-subtle)}
.vd-gap svg {color:var(--text-subtle);flex-shrink:0;margin-top:1px}
.vd-gap-t {font-size:13px;font-weight:650}
.vd-gap-b {font-size:12.5px;color:var(--text-muted);line-height:1.45;margin-top:2px;text-wrap:pretty}
.vd-versions {display:flex;flex-direction:column;gap:6px}
.vd-version {display:flex;align-items:center;gap:11px;padding:9px 12px;border:1px solid var(--border);border-radius:9px}
.vd-version--now {border-color:var(--paid);background:var(--paid-bg)}
.vd-version-v {font-size:12px;font-weight:700;flex-shrink:0}
.vd-version-body {flex:1;min-width:0}
.vd-version-c {font-size:12.5px;line-height:1.4;text-wrap:pretty}
.vd-version-m {font-size:11px;color:var(--text-subtle);margin-top:1px}
.vd-current {font-size:10px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--paid-text);flex-shrink:0}
.vd-acktrack {height:6px;border-radius:3px;background:var(--bg-muted);overflow:hidden;min-width:40px}
.vd-acktrack i {display:block;height:100%}
.vd-acks {display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.vd-ack {display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 9px;border-radius:999px;background:var(--bg-muted);color:var(--text-subtle)}
.vd-ack.is-done {background:var(--paid-bg);color:var(--paid-text)}
.vd-clear {display:flex;align-items:center;gap:8px;padding:16px;font-size:12.5px;color:var(--paid-text)}
.vd-rev {display:flex;flex-direction:column}
.vd-revrow {display:grid;grid-template-columns:auto minmax(0,1fr) minmax(90px,auto) auto auto;align-items:center;gap:11px;padding:11px 16px;border-top:1px solid var(--border);background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}
.vd-revrow:hover {background:var(--bg-muted)}
.vd-revrow--bad {box-shadow:inset 3px 0 0 var(--void)}
.vd-revrow--warn {box-shadow:inset 3px 0 0 var(--hold)}
.vd-revbody {display:flex;flex-direction:column;gap:1px;min-width:0}
.vd-revbody b {font-size:13px;font-weight:600;text-wrap:pretty}
.vd-revbody i {font-style:normal;font-size:11px;color:var(--text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd-revowner {font-size:12px;color:var(--text-muted);white-space:nowrap}
.vd-revdue {font-size:11.5px;color:var(--text-subtle);white-space:nowrap}
.vd-ackdocs {display:flex;flex-direction:column}
.vd-ackdoc {display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,150px) auto auto;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--border);background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}
.vd-ackdoc:hover {background:var(--bg-muted)}
.vd-ackdoc-n {font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vd-ackstaff {display:flex;flex-direction:column;gap:2px}
.vd-ackstaff-row {display:grid;grid-template-columns:minmax(90px,1fr) minmax(70px,160px) auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}
.vd-ackstaff-row:last-child {border-bottom:none}
.vd-ackstaff-n {font-size:12.5px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1100px) {
.vd-shell {grid-template-columns:1fr}
.vd-folders {flex-direction:row;overflow-x:auto}
.vd-storage {display:none}
}
.pm-doc {max-width:1000px}
.pm-doc-head {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:2px solid var(--text)}
.pm-doc-eyebrow {font-size:11px;font-weight:700;letter-spacing:0.18em;color:var(--text-subtle)}
.pm-doc-title {font-size:26px;font-weight:650;letter-spacing:-0.025em;margin:6px 0 0;line-height:1.15}
.pm-doc-sub {font-size:14px;color:var(--text-muted);margin-top:3px}
.pm-doc-acts {display:flex;gap:8px;flex-wrap:wrap}
.pm-doc-h {font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-subtle);margin:26px 0 10px}
.pm-doc-p {margin:0 0 11px;font-size:14px;line-height:1.65;color:var(--text-muted);max-width:74ch;text-wrap:pretty}
.pm-doc-two {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px 32px}
.pm-doc-ul {margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.pm-doc-ul li {font-size:13.5px;line-height:1.6;color:var(--text-muted);text-wrap:pretty}
.pm-doc-foot {margin:28px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:12px;line-height:1.55;color:var(--text-subtle);text-wrap:pretty}
.pm-src {display:grid;grid-template-columns:minmax(90px,auto) minmax(160px,1.5fr) minmax(160px,1.5fr);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:14px}
.pm-src-th,.pm-trace-th {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);padding:9px 12px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}
.pm-src-row,.pm-trace-row {display:contents}
.pm-src-td,.pm-trace-td {padding:11px 12px;border-bottom:1px solid var(--border);font-size:12.5px;line-height:1.5;display:flex;align-items:flex-start;min-width:0;text-wrap:pretty}
.pm-src-row:last-child .pm-src-td,.pm-trace-row:last-child .pm-trace-td {border-bottom:none}
.pm-src-i {font-weight:700;font-family:var(--font-mono);font-size:12px}
.pm-trace {display:grid;grid-template-columns:minmax(62px,auto) minmax(140px,1.4fr) minmax(76px,auto) minmax(140px,1.4fr) minmax(130px,1.2fr);border:1px solid var(--border);border-radius:10px;overflow-x:auto}
.pm-trace-ref {font-weight:700}
.pm-inst-tag--gov {background:var(--bg-muted);color:var(--text-muted)}
.pm-reg {display:flex;flex-direction:column}
.pm-reg-row {display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(150px,1.2fr) minmax(150px,1.4fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--border)}
.pm-reg-row:last-child {border-bottom:none}
.pm-reg-q {font-size:13px;font-weight:600;text-wrap:pretty}
.pm-reg-o {font-size:12px;color:var(--text-muted);text-wrap:pretty}
.pm-reg-c {font-size:12px;color:var(--text-subtle);text-wrap:pretty}
.cp-subnav {display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.cp-subtab {padding:6px 13px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font:inherit;font-size:12.5px;color:var(--text-muted);cursor:pointer;white-space:nowrap}
.cp-subtab:hover {border-color:var(--text-subtle)}
.cp-subtab.is-on {background:var(--navy-900,var(--text));border-color:var(--navy-900,var(--text));color:#fff;font-weight:600}
.cp-key-c,.cp-key-p {width:9px;height:9px;border-radius:2px;display:inline-block}
.cp-key-c {background:var(--border-strong)}
.cp-key-p {background:var(--brand)}
.cp-rep {display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px 28px;padding:14px 16px}
.cp-rep-col {display:flex;flex-direction:column;gap:2px;min-width:0}
.cp-rep-h {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:6px}
.cp-rep-row {display:grid;grid-template-columns:minmax(70px,1fr) minmax(60px,110px) auto;align-items:center;gap:10px;padding:5px 0}
.cp-rep-l {font-size:12.5px;min-width:0;text-wrap:pretty}
.cp-rep-v {font-size:11px;color:var(--text-subtle);white-space:nowrap}
.cp-bars {position:relative;height:14px;display:block}
.cp-bars i {position:absolute;left:0;display:block;border-radius:2px}
.cp-bar-c {top:0;height:6px;background:var(--border-strong)}
.cp-bar-p {bottom:0;height:6px;background:var(--brand)}
.cp-bar-p--short {background:var(--void)}
.cp-gaps {margin:0 16px 16px;padding:12px 14px;border:1px solid var(--void);background:var(--void-bg);border-radius:11px}
.cp-gaps-h {display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;color:var(--void-text);margin-bottom:8px}
.cp-gap {display:grid;grid-template-columns:minmax(90px,auto) auto minmax(140px,1fr);align-items:baseline;gap:12px;padding:5px 0;font-size:12.5px;color:var(--void-text)}
.cp-gap-w {font-weight:650}
.cp-gap-u {font-size:11px;font-family:var(--font-mono);opacity:0.8;white-space:nowrap}
.cp-gap-f {opacity:0.9;text-wrap:pretty}
.cp-roster {display:grid;grid-template-columns:minmax(130px,1fr) max-content max-content max-content max-content max-content max-content;overflow-x:auto}
.cp-fmt {display:grid;grid-template-columns:minmax(150px,1.2fr) auto auto minmax(140px,1.3fr) minmax(140px,1.3fr) auto;overflow-x:auto}
.cp-th {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);padding:10px 11px;border-bottom:1px solid var(--border);white-space:nowrap}
.cp-row {display:contents}
.cp-td {padding:11px 11px;border-bottom:1px solid var(--border);font-size:12.5px;line-height:1.45;display:flex;align-items:center;min-width:0;overflow:hidden;text-wrap:pretty}
.cp-row:hover .cp-td {background:var(--bg-muted)}
.cp-row--unused .cp-td {opacity:0.62}
.cp-td-n {flex-direction:column;align-items:flex-start;gap:2px;font-weight:600}
.cp-atsi {font-size:10px;font-weight:600;color:var(--brand);background:var(--brand-bg);border-radius:999px;padding:2px 7px}
.cp-fmt-m {font-size:10.5px;font-weight:400;color:var(--text-subtle);font-family:var(--font-mono)}
.cp-att {font-size:11.5px;font-family:var(--font-mono);font-weight:700;color:var(--hold-text)}
.cp-att.is-full {color:var(--paid-text)}
.cp-used {font-size:11.5px;font-family:var(--font-mono);font-weight:700;color:var(--paid-text)}
.cp-dots {display:inline-flex;gap:3px}
.cp-dots i {width:7px;height:7px;border-radius:50%;background:var(--bg-muted)}
.cp-dots--reach i.is-on {background:var(--brand)}
.cp-dots--depth i.is-on {background:var(--teal-600,var(--paid))}
.cp-sessions {display:flex;flex-direction:column}
.cp-sess {border-top:1px solid var(--border)}
.cp-sess--planned {background:var(--bg-subtle)}
.cp-sess-head {display:grid;grid-template-columns:auto minmax(90px,auto) minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;padding:11px 16px;background:none;border:none;font:inherit;text-align:left;cursor:pointer;color:inherit}
.cp-sess-head:hover {background:var(--bg-muted)}
.cp-sess-date {font-size:11.5px;color:var(--text-subtle);white-space:nowrap}
.cp-sess-fmt {font-size:13px;font-weight:650;white-space:nowrap}
.cp-sess-venue {font-size:12px;color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-attn {font-size:12px;font-weight:600;color:var(--paid-text);white-space:nowrap}
.cp-sess-body {padding:2px 16px 14px 16px}
.cp-sess-note {font-size:12.5px;line-height:1.55;color:var(--text-muted);text-wrap:pretty}
.cp-sess-lab {font-size:10.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle);margin:12px 0 7px}
.cp-sess-foot {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:11.5px;color:var(--text-subtle)}
.cp-venues {display:flex;flex-direction:column;gap:2px}
.cp-venue {padding:10px 0;border-bottom:1px solid var(--border)}
.cp-venue:last-child {border-bottom:none}
.cp-venue-head {display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.cp-venue-n {font-size:13px;font-weight:600}
.cp-venue-t {font-size:10px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--bg-muted);color:var(--text-muted)}
.cp-venue-c {font-size:11px;color:var(--text-subtle)}
.cp-venue-u {margin-left:auto;font-size:11px;color:var(--text-subtle);font-family:var(--font-mono)}
.cp-venue-pc {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 18px;margin-top:5px}
.cp-pro,.cp-con {display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.45;text-wrap:pretty}
.cp-pro {color:var(--paid-text)}
.cp-con {color:var(--hold-text)}
.cp-pro svg,.cp-con svg {flex-shrink:0;margin-top:3px}
.cp-tgroup {border-top:1px solid var(--border)}
.cp-tgroup-h {display:flex;align-items:baseline;gap:9px;padding:10px 16px 6px;font-size:11px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle)}
.cp-tgroup-h span {font-size:11px;font-weight:400;letter-spacing:0;text-transform:none}
.cp-topic {display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--border)}
.cp-topic--brand {box-shadow:inset 3px 0 0 var(--brand)}
.cp-topic--paid {box-shadow:inset 3px 0 0 var(--paid)}
.cp-topic-main {display:flex;flex-direction:column;gap:2px;min-width:0}
.cp-topic-t {font-size:13px;font-weight:600;text-wrap:pretty}
.cp-topic-w {font-size:12px;color:var(--text-subtle);line-height:1.45;text-wrap:pretty}
.cp-topic-ref {font-size:11px;color:var(--text-subtle);white-space:nowrap}
.cp-topic-s {font-size:11px;font-family:var(--font-mono);font-weight:700;color:var(--brand);white-space:nowrap}
.cp-loop {display:flex;flex-direction:column}
.cp-loopitem {padding:14px 16px;border-top:1px solid var(--border)}
.cp-loop-said {display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.55;font-style:italic;color:var(--text);text-wrap:pretty}
.cp-loop-said svg {flex-shrink:0;margin-top:4px;color:var(--text-subtle)}
.cp-loop-meta {font-size:11px;color:var(--text-subtle);margin:4px 0 0 22px}
.cp-loop-chain {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 16px;margin:11px 0 0 22px}
.cp-step {display:flex;flex-direction:column;gap:3px;min-width:0}
.cp-step-l {font-size:10px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle)}
.cp-step-v {font-size:12.5px;line-height:1.45;color:var(--text-muted);text-wrap:pretty}

/* rules the screens use that live outside the prefixed set in the design (extracted by script) */
.off-grid-2 {display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}

/* live vault: uploads disabled until a bucket is configured */
.vd-dropzone.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}

/* ===== Document vault — drop a folder, Office reads and files it ===== */
.vi-lede {font-size:13px;line-height:1.5;color:var(--text-muted);margin:0 0 12px}
.vi-drop-actions {display:flex;gap:8px;margin-top:8px}
.vi-err {margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--void-bg);color:var(--void-text);font-size:12.5px}
.vi-note {display:flex;gap:8px;align-items:flex-start;margin:10px 0;padding:10px 12px;border-radius:10px;background:var(--hold-bg);color:var(--hold-text);font-size:12.5px;line-height:1.45}
.vi-waiting {display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin-bottom:12px;border:1px solid var(--amber-500);border-left-width:4px;border-radius:12px;background:var(--hold-bg);color:var(--hold-text);font-size:13.5px}
.vi-waiting svg {color:var(--hold)}
.vi-waiting span {flex:1;min-width:180px}
.vi-shell {display:flex;flex-direction:column;gap:12px;min-width:0}
.vi-loading {padding:24px;color:var(--text-subtle);font-size:13px}
.vi-head {display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.vi-back {display:inline-flex;align-items:center;gap:4px;padding:0;margin-bottom:6px;border:none;background:none;font:inherit;font-size:12px;color:var(--text-subtle);cursor:pointer}
.vi-back:hover {color:var(--brand)}
.vi-title {font-size:20px;font-weight:650;margin:0;color:var(--text)}
.vi-sub {font-size:12.5px;color:var(--text-subtle);margin-top:2px}
.vi-progress {height:4px;border-radius:999px;background:var(--bg-muted);overflow:hidden}
.vi-progress span {display:block;height:100%;background:var(--brand);transition:width .4s var(--ease-out, ease-out)}
.vi-tabs {display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--border)}
.vi-tab {display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;font:inherit;font-size:13px;color:var(--text-muted);cursor:pointer}
.vi-tab.is-on {color:var(--brand);border-bottom-color:var(--brand);font-weight:600}
.vi-tab-n {font-size:11px;font-family:var(--font-mono);color:var(--text-subtle)}
.vi-tab.is-on .vi-tab-n {color:var(--brand)}
.vi-table {display:grid;grid-template-columns:36px minmax(200px,1.1fr) minmax(200px,1.2fr) 96px minmax(200px,1.3fr);min-width:860px}
.vi-c-pick {justify-content:center}
.vi-row {display:contents}
.vi-td {padding:10px 11px;border-bottom:1px solid var(--border);font-size:12.5px;display:flex;align-items:center;gap:8px;min-width:0;background:none;text-align:left}
.vi-row:hover .vi-td, .vi-row.is-open .vi-td {background:var(--bg-muted)}
.vi-file {flex-direction:row;align-items:flex-start;gap:10px;text-align:left;border-left:none;border-right:none;border-top:none;font:inherit;cursor:pointer;color:inherit}
.vi-file:disabled {cursor:default}
.vi-file b {font-size:13px;font-weight:600;line-height:1.35;word-break:break-word}
.vi-file i {font-style:normal;font-size:10.5px;color:var(--text-subtle)}
.vi-where {flex-direction:column;align-items:flex-start;gap:4px;line-height:1.35}
.vi-reading {color:var(--text-subtle);font-style:italic}
.vi-labels {display:flex;gap:4px;flex-wrap:wrap}
.vi-label {font-size:10px;font-weight:700;letter-spacing:0.03em;padding:2px 6px;border-radius:5px;background:var(--bg-muted);color:var(--text-muted)}
.vi-label--expired {background:var(--void-bg);color:var(--void-text)}
.vi-label--duplicate {background:var(--hold-bg);color:var(--hold-text)}
.vi-date {font-family:var(--font-mono);font-size:11.5px;white-space:nowrap}
.vi-dash {color:var(--text-subtle)}
.vi-flags {flex-direction:column;align-items:flex-start;gap:4px}
.vi-flag {font-size:11.5px;line-height:1.4;color:var(--text-muted)}
.vi-flag--block {color:var(--hold-text);font-weight:600}
.vi-flag--red {color:var(--void-text)}
.vi-ok {font-size:11.5px;color:var(--paid-text)}
.vi-empty {grid-column:1 / -1;padding:24px;text-align:center;color:var(--text-subtle);font-size:13px}
.vi-reasons {margin:0 0 12px;padding-left:18px;font-size:12.5px;color:var(--text-muted);line-height:1.5}
.vi-flaglist {display:flex;flex-direction:column;gap:6px;margin-bottom:12px;padding:10px 12px;border-radius:10px;background:var(--bg-subtle)}

.vi-sect { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.vi-file .vd-type {flex:none;margin-top:1px}
.vi-file-l {display:flex;flex-direction:column;gap:1px;min-width:0}
.vi-head-actions {display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.vi-confirm {display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin:0 0 12px;border:1px solid var(--rose-200, var(--void));border-left:4px solid var(--void);border-radius:12px;background:var(--void-bg);color:var(--rose-800, var(--void));font-size:13.5px}
.vi-confirm span {flex:1;min-width:200px}
