:root {
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --canvas: oklch(0.963 0.007 82);
  --surface: oklch(0.987 0.004 82);
  --surface-subtle: oklch(0.939 0.008 82);
  --surface-cool: oklch(0.945 0.012 238);
  --ink: oklch(0.225 0.018 245);
  --muted: oklch(0.48 0.02 245);
  --quiet: oklch(0.61 0.015 245);
  --line: oklch(0.835 0.012 245);
  --line-strong: oklch(0.7 0.018 245);
  --accent: oklch(0.49 0.12 238);
  --accent-dark: oklch(0.39 0.105 238);
  --accent-soft: oklch(0.91 0.035 238);
  --critical: oklch(0.49 0.18 25);
  --critical-soft: oklch(0.93 0.035 25);
  --high: oklch(0.56 0.145 45);
  --high-soft: oklch(0.94 0.035 48);
  --medium: oklch(0.57 0.105 78);
  --medium-soft: oklch(0.94 0.038 78);
  --success: oklch(0.46 0.095 155);
  --success-soft: oklch(0.93 0.03 155);
  --info: oklch(0.47 0.085 238);
  --info-soft: oklch(0.92 0.026 238);
  --shadow: 0 10px 28px oklch(0.22 0.018 245 / 0.1);
  --shadow-small: 0 2px 8px oklch(0.22 0.018 245 / 0.08);
  --radius-small: 2px;
  --radius: 4px;
  --radius-large: 6px;
  --ease: 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; font: inherit; }
button, select { cursor: pointer; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, strong { letter-spacing: -0.012em; }
h1 { margin-bottom: 0.7rem; font-size: 1.8rem; line-height: 1.12; font-weight: 720; }
h2 { margin-bottom: 0.6rem; font-size: 1.15rem; line-height: 1.25; font-weight: 700; }
h3 { margin-bottom: 0.4rem; font-size: 1rem; line-height: 1.3; }
p { color: var(--muted); }
code {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.79rem;
  overflow-wrap: anywhere;
}
::selection { color: var(--accent-dark); background: var(--accent-soft); }
:focus-visible { outline: 3px solid oklch(0.63 0.12 238 / 0.62); outline-offset: 3px; }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 0.65rem;
  left: 0.65rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--ink);
  background: var(--surface);
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
  transform: translateY(calc(-100% - 1rem));
  transition: transform 120ms ease-out;
}

.skip-link:focus {
  transform: translateY(0);
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.brand { display: inline-flex; align-items: center; gap: 0.66rem; font-size: 1rem; }
.brand strong { font-size: 1rem; font-weight: 760; }
.brand-mark {
  position: relative;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--ink);
  border-radius: var(--radius-small);
}
.brand-mark::before, .brand-mark::after, .brand-mark span {
  position: absolute;
  content: "";
  background: var(--ink);
}
.brand-mark::before { width: 14px; height: 1px; }
.brand-mark::after { width: 1px; height: 14px; }
.brand-mark span { width: 4px; height: 4px; border-radius: 0; background: var(--accent); }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 0.46rem;
  margin-bottom: 0.5rem;
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: none;
}
.status-dot { display: inline-block; flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: var(--quiet); }
.status-dot-ok { background: var(--success); box-shadow: 0 0 0 3px var(--success-soft); }
.status-dot-live { background: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.status-dot-warn { background: var(--high); box-shadow: 0 0 0 3px var(--high-soft); }

.button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.62rem 0.94rem;
  border: 1px solid transparent;
  border-radius: var(--radius-small);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  transition: background-color var(--ease), border-color var(--ease), color var(--ease), box-shadow var(--ease);
}
.button:hover { box-shadow: 0 1px 0 oklch(0.22 0.018 245 / 0.16); }
.button:active { box-shadow: inset 0 1px 2px oklch(0.22 0.018 245 / 0.14); }
.button:disabled { cursor: wait; opacity: 0.62; box-shadow: none; }
.button-primary { color: oklch(0.985 0.004 238); background: var(--accent); border-color: var(--accent); }
.button-primary:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
.button-secondary { color: var(--ink); background: var(--surface); border-color: var(--line-strong); }
.button-secondary:hover { border-color: var(--accent); color: var(--accent-dark); }
.button-quiet { color: var(--muted); background: transparent; border-color: var(--line); }
.button-quiet:hover { color: var(--ink); background: var(--surface); }
.button-danger { color: oklch(0.985 0.006 25); background: var(--critical); border-color: var(--critical); }
.button-danger:hover { background: oklch(0.42 0.17 25); border-color: oklch(0.42 0.17 25); }
.button-large { min-height: 48px; padding: 0.82rem 1.18rem; font-size: 0.88rem; }
.button-small { min-height: 36px; padding: 0.55rem 0.8rem; }
.button-full { width: 100%; }
.text-link { color: var(--muted); font-size: 0.84rem; font-weight: 650; }
.text-link:hover { color: var(--accent-dark); }

.badge, .status-label, .change-kind {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 0.4rem;
  padding: 0.28rem 0.5rem;
  border: 1px solid transparent;
  border-radius: var(--radius-small);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.025em;
  line-height: 1;
  white-space: nowrap;
}
.badge-critical { color: oklch(0.4 0.17 25); background: var(--critical-soft); border-color: oklch(0.84 0.08 25); }
.badge-high { color: oklch(0.43 0.14 38); background: var(--high-soft); border-color: oklch(0.85 0.07 42); }
.badge-medium { color: oklch(0.43 0.1 70); background: var(--medium-soft); border-color: oklch(0.84 0.07 75); }
.badge-low, .badge-informational { color: var(--info); background: var(--info-soft); border-color: oklch(0.84 0.045 245); }
.badge-neutral, .badge-confidence { color: var(--muted); background: var(--surface-subtle); border-color: var(--line); }
.badge-approved { color: var(--success); background: var(--success-soft); border-color: oklch(0.83 0.055 155); }
.status-open, .status-unread { color: var(--high); background: var(--high-soft); }
.status-expected, .status-accepted, .status-read { color: var(--info); background: var(--info-soft); }
.status-suppressed, .status-remediated { color: var(--muted); background: var(--surface-subtle); }

/* Public surface */
.public-header {
  display: flex;
  width: min(1240px, calc(100% - 48px));
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  border-bottom: 1px solid var(--line);
}
.public-header nav { display: flex; align-items: center; gap: 1.25rem; }
.hero {
  display: grid;
  width: min(1240px, calc(100% - 48px));
  min-height: 630px;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: clamp(3rem, 7vw, 7rem);
  margin: 0 auto;
  padding: 5rem 0 5.6rem;
}
.hero-copy h1 { max-width: 13ch; font-size: clamp(2.8rem, 5vw, 4.85rem); font-weight: 760; line-height: 0.99; letter-spacing: -0.052em; }
.hero-lead { max-width: 60ch; margin: 1.5rem 0 2rem; font-size: 1.08rem; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.trust-list { display: flex; flex-wrap: wrap; gap: 1.25rem; margin: 1.7rem 0 0; padding: 0; color: var(--muted); font-size: 0.75rem; list-style: none; }
.trust-list li { display: flex; align-items: center; gap: 0.45rem; }
.trust-list li::before { content: "✓"; color: var(--success); font-weight: 800; }
.hero-visual { overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-large); background: var(--surface); box-shadow: var(--shadow); }
.sample-heading, .sample-footer { display: flex; align-items: center; justify-content: space-between; }
.sample-heading { padding: 1.2rem 1.3rem; border-bottom: 1px solid var(--line); }
.sample-heading > div { display: grid; }
.sample-heading .eyebrow { margin-bottom: 0.2rem; }
.sample-footer { padding: 0.78rem 1.3rem; color: var(--quiet); background: var(--surface-subtle); font-size: 0.7rem; }
.sample-path { display: grid; grid-template-columns: 105px 1fr; align-items: stretch; min-height: 340px; }
.internet-node { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 0.3rem; border-right: 1px solid var(--line); background: var(--surface-cool); }
.internet-node span { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 0.2rem; border: 1px solid var(--line-strong); border-radius: 50%; font-size: 1.25rem; }
.internet-node strong { font-size: 0.78rem; }
.sample-branches { display: grid; align-content: center; gap: 0.7rem; padding: 1.2rem; }
.sample-branch { position: relative; display: grid; min-height: 78px; grid-template-columns: 82px minmax(130px, 1fr) 24px minmax(130px, 1fr); align-items: center; gap: 0.7rem; padding: 0.8rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.sample-branch::before { position: absolute; left: -1.2rem; width: 1.2rem; height: 1px; content: ""; background: var(--line-strong); }
.sample-branch div { display: grid; gap: 0.13rem; }
.sample-branch strong { font-size: 0.75rem; }
.sample-branch small { color: var(--quiet); font-size: 0.65rem; }
.branch-state { font-size: 0.63rem; font-weight: 750; }
.branch-arrow { color: var(--quiet); text-align: center; }
.sample-safe .branch-state { color: var(--success); }
.sample-risk .branch-state { color: var(--medium); }
.sample-alert { border-color: oklch(0.84 0.07 38); background: var(--high-soft); }
.sample-alert .branch-state { color: var(--high); }
.promise-band, .connector-band, .public-footer { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }
.promise-band { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 7rem; padding: 6rem 0; border-top: 1px solid var(--line); }
.section-intro h2, .connector-band h2 { max-width: 12ch; font-size: 2.25rem; letter-spacing: -0.04em; }
.process-list { margin: 0; padding: 0; list-style: none; }
.process-list li { display: grid; grid-template-columns: 42px 1fr; gap: 1.1rem; padding: 1.35rem 0; border-top: 1px solid var(--line); }
.process-list li:last-child { border-bottom: 1px solid var(--line); }
.process-list > li > span { color: var(--accent); font-family: ui-monospace, monospace; font-size: 0.75rem; }
.process-list strong { font-size: 1.05rem; }
.process-list p { max-width: 62ch; margin: 0.45rem 0 0; }
.connector-band { display: grid; grid-template-columns: 0.6fr 1.4fr; gap: 4rem; align-items: end; padding: 4.2rem; border-radius: var(--radius-large); background: var(--ink); color: var(--canvas); }
.connector-band .eyebrow { color: oklch(0.82 0.06 238); }
.connector-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid oklch(0.74 0.018 245 / 0.38); }
.connector-list > span { display: grid; gap: 0.3rem; padding: 1rem 0; border-bottom: 1px solid oklch(0.74 0.018 245 / 0.38); }
.connector-list small { color: oklch(0.76 0.018 245); }
.public-footer { display: flex; justify-content: space-between; padding: 3rem 0; color: var(--quiet); font-size: 0.75rem; }
.public-footer a:hover { color: var(--accent-dark); }

/* Private beta perimeter */
.beta-body { min-height: 100vh; background: var(--surface-subtle); }
.beta-header {
  display: flex;
  width: min(1040px, calc(100% - 48px));
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  border-bottom: 1px solid var(--line);
}
.beta-state {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
}
.beta-main { min-height: calc(100vh - 78px); }
.beta-access {
  display: grid;
  width: min(920px, calc(100% - 48px));
  min-height: calc(100vh - 78px);
  grid-template-columns: minmax(0, 1fr) 380px;
  align-items: center;
  gap: 6rem;
  margin: 0 auto;
  padding: 4rem 0;
}
.beta-intro h1 { max-width: 12ch; font-size: 3rem; letter-spacing: -0.045em; }
.beta-intro > p:not(.eyebrow) { max-width: 48ch; font-size: 1rem; }
.beta-assurance {
  display: flex;
  max-width: 440px;
  align-items: center;
  gap: 0.75rem;
  margin-top: 2rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.76rem;
}
.beta-panel {
  padding: 2rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-large);
  background: var(--surface);
  box-shadow: var(--shadow-small);
}
.beta-panel h2 { margin: 0.45rem 0 0.55rem; font-size: 1.55rem; }
.beta-panel-copy { margin-bottom: 1.45rem; font-size: 0.82rem; }
.beta-foot { margin: 1.1rem 0 0; color: var(--quiet); font-size: 0.7rem; text-align: center; }

/* Account and public copy */
.account-page { display: grid; width: min(1040px, calc(100% - 48px)); min-height: calc(100vh - 78px); grid-template-columns: 1fr 420px; align-items: center; gap: 7rem; margin: 0 auto; padding: 4rem 0; }
.account-page-wide { width: min(1160px, calc(100% - 48px)); grid-template-columns: 0.8fr 1.2fr; }
.account-intro h1 { max-width: 11ch; font-size: 3rem; letter-spacing: -0.045em; }
.account-intro > p:not(.eyebrow) { max-width: 52ch; font-size: 1rem; }
.account-proof { display: flex; align-items: center; gap: 0.75rem; margin-top: 2rem; color: var(--muted); font-size: 0.78rem; }
.form-panel { padding: 2rem; border: 1px solid var(--line-strong); border-radius: var(--radius-large); background: var(--surface); box-shadow: var(--shadow-small); }
.form-panel-wide { padding: 2.25rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.field { display: grid; gap: 0.38rem; margin-bottom: 1rem; }
.field label, .filter-form label { color: var(--ink); font-size: 0.74rem; font-weight: 700; }
.field input, .field select, .field textarea, .search-form input, .filter-form select {
  width: 100%;
  min-height: 43px;
  padding: 0.66rem 0.75rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-small);
  background: var(--surface);
  transition: border-color var(--ease), box-shadow var(--ease);
}
.field textarea { resize: vertical; line-height: 1.5; }
.field input:hover, .field select:hover, .field textarea:hover, .search-form input:hover, .filter-form select:hover { border-color: var(--muted); }
.field input:focus, .field select:focus, .field textarea:focus, .search-form input:focus, .filter-form select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: none; }
.field > span, .validation-summary { color: var(--critical); font-size: 0.72rem; }
.validation-summary:empty { display: none; }
.validation-summary ul { margin: 0 0 1rem; padding: 0.7rem 0.7rem 0.7rem 1.6rem; border: 1px solid oklch(0.84 0.08 25); border-radius: var(--radius-small); background: var(--critical-soft); }
.check-row { display: flex; align-items: center; gap: 0.5rem; margin: 0.2rem 0 1.2rem; color: var(--muted); font-size: 0.75rem; }
.check-row input { width: 16px; height: 16px; accent-color: var(--accent); }
.federated-sign-in { display: grid; gap: 0.65rem; }
.form-label { margin: 0; color: var(--ink); font-size: 0.72rem; font-weight: 750; letter-spacing: 0.015em; }
.button-microsoft { min-height: 46px; border-color: var(--ink); }
.button-microsoft:hover { color: var(--ink); border-color: var(--accent); background: var(--accent-soft); }
.federated-sign-in .field-hint { margin: 0; text-align: center; }
.auth-divider { display: flex; align-items: center; gap: 0.8rem; margin: 1.35rem 0; color: var(--quiet); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.025em; text-transform: uppercase; }
.auth-divider::before, .auth-divider::after { height: 1px; flex: 1; content: ""; background: var(--line); }
.form-foot { margin: 1.1rem 0 0; color: var(--quiet); font-size: 0.75rem; text-align: center; }
.form-foot a { color: var(--accent-dark); font-weight: 700; }
.field-hint { margin: -0.2rem 0 1.1rem; font-size: 0.72rem; }
.mini-steps { display: grid; gap: 1rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.mini-steps li { display: grid; grid-template-columns: 30px 1fr; gap: 0.75rem; align-items: start; }
.mini-steps > li > span { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--accent); font-size: 0.67rem; font-weight: 750; }
.mini-steps div { display: grid; gap: 0.15rem; }
.mini-steps small { color: var(--muted); }
.legal-page { width: min(740px, calc(100% - 48px)); margin: 0 auto; padding: 6rem 0; }
.legal-page h1 { font-size: 2.5rem; letter-spacing: -0.035em; }
.legal-page .lead { margin-bottom: 3rem; font-size: 1.08rem; }
.legal-page h2 { margin-top: 2.2rem; }
.simple-message { display: flex; width: min(600px, calc(100% - 48px)); min-height: 70vh; align-items: flex-start; justify-content: center; flex-direction: column; margin: 0 auto; }
.message-code { margin-bottom: 1rem; color: var(--accent); font-family: ui-monospace, monospace; font-weight: 700; }
.simple-message p { max-width: 58ch; }
.request-id { display: block; margin: 1rem 0 1.5rem; padding: 0.65rem; background: var(--surface-subtle); }

/* Application shell */
.app-body { background: var(--canvas); }
.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  z-index: 20;
  inset: 0 auto 0 0;
  display: flex;
  width: 252px;
  flex-direction: column;
  padding: 1.25rem 1rem 0.9rem;
  border-right: 1px solid var(--line-strong);
  background: var(--surface);
}
.brand-app { padding: 0 0.45rem 1.2rem; }
.brand-app > span:last-child { display: grid; line-height: 1.05; }
.brand-app small { margin-top: 0.24rem; color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.6rem; font-weight: 600; letter-spacing: 0.025em; }
.environment-switcher { display: grid; gap: 0.55rem; padding: 0.85rem 0.45rem; border-block: 1px solid var(--line); }
.environment-switcher-head { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; }
.environment-switcher-head > span { color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.61rem; font-weight: 650; }
.environment-badge { padding: 0.22rem 0.4rem; border: 1px solid var(--line); border-radius: var(--radius-small); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.56rem; font-weight: 750; letter-spacing: 0.04em; line-height: 1; text-transform: uppercase; }
.environment-badge.is-demo { color: var(--info); border-color: oklch(0.84 0.045 245); background: var(--info-soft); }
.environment-badge.is-customer { color: var(--success); border-color: oklch(0.83 0.055 155); background: var(--success-soft); }
.environment-switcher form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.38rem; margin: 0; }
.environment-switcher select { width: 100%; min-width: 0; min-height: 36px; padding: 0.45rem 1.7rem 0.45rem 0.55rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--surface); font-size: 0.68rem; font-weight: 650; }
.environment-switcher select:hover { border-color: var(--muted); }
.environment-switcher select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: none; }
.environment-switcher .button { min-width: 52px; padding-inline: 0.55rem; }
.environment-switcher > small { display: grid; gap: 0.05rem; color: var(--quiet); font-size: 0.58rem; line-height: 1.35; }
.environment-switcher > small span { overflow: hidden; color: var(--muted); font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.nav-list { display: grid; gap: 0.08rem; margin-top: 0.85rem; }
.nav-group-label { margin: 0.72rem 0.5rem 0.28rem; color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.58rem; font-weight: 650; letter-spacing: 0.06em; text-transform: uppercase; }
.nav-list a { position: relative; display: flex; min-height: 36px; align-items: center; gap: 0.65rem; padding: 0.45rem 0.55rem; border-radius: var(--radius-small); color: var(--muted); font-size: 0.75rem; font-weight: 620; transition: color var(--ease), background-color var(--ease); }
.nav-list a:hover { color: var(--ink); background: var(--surface-subtle); }
.nav-list a.is-active { color: var(--ink); background: var(--accent-soft); }
.nav-list a.is-active::before { position: absolute; inset: 0 auto 0 -1rem; width: 3px; content: ""; background: var(--accent); }
.nav-index { display: grid; width: 24px; height: 20px; place-items: center; border: 1px solid var(--line); border-radius: var(--radius-small); color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.56rem; font-weight: 750; letter-spacing: 0.025em; }
.nav-list a.is-active .nav-index { color: var(--accent-dark); border-color: color-mix(in oklch, var(--accent) 45%, var(--line)); background: var(--surface); }
.sidebar-note { display: flex; align-items: flex-start; gap: 0.7rem; margin-top: auto; padding: 0.8rem 0.45rem; border-top: 1px solid var(--line); }
.sidebar-note > div { display: grid; }
.sidebar-note strong { font-size: 0.7rem; }
.sidebar-note small { color: var(--quiet); font-size: 0.62rem; }
.sign-out { padding-top: 0.5rem; }
.mobile-bar { display: none; }
.mobile-environment { color: var(--muted); font-size: 0.68rem; font-weight: 750; }
.app-main { width: calc(100% - 252px); min-height: 100vh; margin-left: 252px; padding: 0 clamp(1.5rem, 3.6vw, 4.2rem) 5rem; }
.workspace-rail { display: grid; min-height: 58px; grid-template-columns: minmax(160px, 0.8fr) minmax(420px, 1.8fr) auto; align-items: center; gap: 1.5rem; margin: 0 calc(0px - clamp(1.5rem, 3.6vw, 4.2rem)) 2.4rem; padding: 0 clamp(1.5rem, 3.6vw, 4.2rem); border-bottom: 1px solid var(--line); background: var(--surface); }
.workspace-coordinate { display: flex; min-width: 0; align-items: center; gap: 0.65rem; }
.workspace-coordinate > span { padding: 0.2rem 0.32rem; color: var(--accent-dark); border: 1px solid color-mix(in oklch, var(--accent) 40%, var(--line)); border-radius: var(--radius-small); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.55rem; font-weight: 800; letter-spacing: 0.05em; }
.workspace-coordinate strong { overflow: hidden; font-size: 0.75rem; text-overflow: ellipsis; white-space: nowrap; }
.workspace-rail dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.workspace-rail dl > div { min-width: 0; padding: 0 1rem; border-left: 1px solid var(--line); }
.workspace-rail dt { color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.56rem; line-height: 1.2; }
.workspace-rail dd { overflow: hidden; margin: 0.12rem 0 0; color: var(--muted); font-size: 0.67rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.workspace-health { display: flex; align-items: center; gap: 0.45rem; color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.6rem; }
.page-header { margin-bottom: 1.8rem; }
.page-header h1 { font-size: 1.8rem; letter-spacing: -0.025em; }
.page-header > p:last-child, .page-header > div > p:last-child { max-width: 68ch; margin-bottom: 0; }
.page-header-actions { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.header-actions { display: flex; align-items: center; gap: 0.65rem; }
.header-actions form { margin: 0; }
.scan-actions { display: flex; gap: 0.45rem; padding-left: 0.65rem; border-left: 1px solid var(--line); }
.toast { position: fixed; z-index: 40; top: 1rem; right: 1rem; display: flex; max-width: 460px; align-items: center; gap: 0.75rem; padding: 0.75rem 0.8rem; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); font-size: 0.76rem; }
.toast button { margin-left: auto; border: 0; color: var(--muted); background: transparent; font-size: 1.1rem; }
.toast-error { border-color: oklch(0.82 0.08 38); background: var(--high-soft); }

.demo-console {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem;
  margin: 0 0 1.5rem;
  padding: 0.9rem 0;
  border-block: 1px solid var(--line-strong);
  background: transparent;
}
.demo-console.state-drift { border-color: oklch(0.78 0.075 38); background: color-mix(in oklch, var(--canvas) 86%, var(--high-soft)); }
.demo-console-copy { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 0.9rem; min-width: 0; }
.demo-state-mark { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid oklch(0.82 0.055 155); border-radius: var(--radius-small); color: var(--success); background: var(--success-soft); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.7rem; font-weight: 800; }
.state-drift .demo-state-mark { color: var(--high); border-color: oklch(0.85 0.07 42); background: var(--high-soft); }
.demo-console-copy .eyebrow { margin-bottom: 0.25rem; }
.demo-console-copy h2 { margin-bottom: 0.2rem; font-size: 1rem; }
.demo-console-copy p:not(.eyebrow) { margin-bottom: 0.15rem; font-size: 0.73rem; }
.demo-console-copy small { color: var(--quiet); font-size: 0.64rem; }
.demo-console-actions { display: flex; align-items: center; gap: 0.55rem; }
.demo-console-actions form { margin: 0; }
.demo-reset { position: relative; }
.demo-reset > summary { list-style: none; }
.demo-reset > summary::-webkit-details-marker { display: none; }
.demo-reset[open] > summary { color: var(--ink); border-color: var(--accent); background: var(--surface-cool); }
.demo-reset-panel { position: absolute; z-index: 12; top: calc(100% + 0.55rem); right: 0; width: min(410px, calc(100vw - 3rem)); padding: 1.2rem; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.demo-reset-panel .eyebrow { margin-bottom: 0.35rem; }
.demo-reset-panel h3 { margin-bottom: 0.5rem; font-size: 1.05rem; }
.demo-reset-panel > p:not(.eyebrow) { margin-bottom: 1rem; font-size: 0.72rem; }
.reset-confirm { display: grid; grid-template-columns: 18px 1fr; gap: 0.55rem; align-items: start; margin-bottom: 0.85rem; color: var(--muted); font-size: 0.7rem; line-height: 1.4; }
.reset-confirm input { width: 16px; height: 16px; margin: 0.1rem 0 0; accent-color: var(--critical); }
.customer-context { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin: 0 0 1.5rem; padding: 0.9rem 0; border-block: 1px solid var(--line-strong); background: transparent; }
.customer-context.is-observed { border-color: oklch(0.78 0.045 155); background: transparent; }
.customer-context-copy { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 0.9rem; min-width: 0; }
.customer-context-mark { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid oklch(0.84 0.045 245); border-radius: var(--radius-small); color: var(--info); background: var(--info-soft); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.66rem; font-weight: 800; }
.customer-context-copy .eyebrow { margin-bottom: 0.25rem; }
.customer-context-copy h2 { margin-bottom: 0.2rem; font-size: 1rem; }
.customer-context-copy p:not(.eyebrow) { margin-bottom: 0.15rem; font-size: 0.73rem; }
.customer-context-copy small { color: var(--quiet); font-size: 0.64rem; }

.boundary-summary { display: grid; grid-template-columns: 1.45fr repeat(3, 1fr); margin-bottom: 1.4rem; border-block: 1px solid var(--line-strong); background: color-mix(in oklch, var(--surface) 52%, transparent); }
.boundary-summary > div { display: grid; min-height: 82px; align-content: center; gap: 0.15rem; padding: 0.8rem 1.15rem; border-right: 1px solid var(--line); }
.boundary-summary > div:first-child { padding-left: 0; }
.boundary-summary > div:last-child { border-right: 0; }
.boundary-summary span { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.62rem; font-weight: 650; }
.boundary-summary strong { overflow: hidden; font-size: 1rem; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.boundary-summary small { color: var(--quiet); font-size: 0.63rem; }
.baseline-register { display: grid; grid-template-columns: minmax(300px, 1.4fr) minmax(220px, 0.8fr) auto; align-items: center; gap: 1rem 1.5rem; margin: 1.3rem 0; padding: 0.9rem 0; border-block: 1px solid var(--line-strong); }
.baseline-register.state-changed { border-color: oklch(0.78 0.075 45); background: color-mix(in oklch, var(--canvas) 88%, var(--high-soft)); }
.baseline-state { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 0.85rem; }
.baseline-coordinate { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--line-strong); border-radius: var(--radius-small); color: var(--accent-dark); background: var(--surface); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.04em; }
.state-current .baseline-coordinate { color: var(--success); border-color: oklch(0.77 0.05 155); background: var(--success-soft); }
.state-changed .baseline-coordinate { color: var(--high); border-color: oklch(0.78 0.075 45); background: var(--high-soft); }
.baseline-state .eyebrow { margin-bottom: 0.24rem; }
.baseline-state h2 { margin-bottom: 0.2rem; font-size: 0.92rem; }
.baseline-state p:not(.eyebrow) { max-width: 72ch; margin-bottom: 0.16rem; font-size: 0.7rem; }
.baseline-state small { color: var(--quiet); font-size: 0.61rem; }
.baseline-connectors { display: grid; gap: 0.28rem; }
.baseline-connectors > span { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 0.42rem; color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.59rem; }
.baseline-connectors small { color: var(--quiet); }
.baseline-editor { justify-self: end; }
.baseline-editor > summary { list-style: none; }
.baseline-editor > summary::-webkit-details-marker { display: none; }
.baseline-editor[open] { grid-column: 1 / -1; width: 100%; padding-top: 0.8rem; border-top: 1px dashed var(--line); }
.baseline-editor[open] > summary { width: max-content; margin-left: auto; }
.baseline-editor form { max-width: 720px; margin: 0.8rem 0 0 auto; padding: 0.9rem; border: 1px solid var(--line); background: var(--surface); }
.baseline-editor form > p { margin: -0.15rem 0 0.75rem; font-size: 0.66rem; }
.material-alert { display: grid; grid-template-columns: 32px 1fr auto 20px; align-items: center; gap: 0.8rem; margin: 1.4rem 0; padding: 0.85rem 0.9rem; border: 1px solid oklch(0.8 0.07 38); border-radius: var(--radius-small); background: var(--high-soft); transition: border-color var(--ease), background-color var(--ease); }
.material-alert:hover { border-color: var(--high); background: color-mix(in oklch, var(--high-soft) 82%, var(--surface)); }
.material-alert > span:nth-child(2) { display: grid; }
.material-alert small { color: var(--muted); }
.alert-symbol { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid oklch(0.78 0.07 38); border-radius: var(--radius-small); color: var(--high); background: transparent; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 800; }

.exposure-section { margin-top: 2.2rem; }
.section-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.1rem; }
.section-heading-row .eyebrow { margin-bottom: 0.35rem; }
.section-heading-row h2 { margin-bottom: 0; }
.section-heading-row.compact { margin-bottom: 0.8rem; }
.section-heading-row > a { color: var(--accent-dark); font-size: 0.75rem; font-weight: 700; }
.legend { display: flex; flex-wrap: wrap; gap: 1rem; color: var(--muted); font-size: 0.68rem; }
.legend span { display: flex; align-items: center; gap: 0.38rem; }
.legend-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--quiet); }
.legend-dot.safe { background: var(--success); }
.legend-dot.risk { background: var(--medium); }
.legend-dot.alert { background: var(--high); }
.route-filter { display: grid; grid-template-columns: minmax(260px, 1.4fr) minmax(180px, 0.7fr) auto auto minmax(90px, auto); align-items: end; gap: 0.5rem; margin-bottom: 0.75rem; padding: 0.7rem; border: 1px solid var(--line); background: var(--surface); }
.route-filter label { display: grid; gap: 0.28rem; }
.route-filter label > span { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.6rem; font-weight: 650; }
.route-filter input, .route-filter select { width: 100%; min-height: 36px; padding: 0.45rem 0.55rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--surface); font-size: 0.7rem; }
.route-filter input:focus, .route-filter select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: 0; }
.route-filter output { align-self: center; justify-self: end; color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.6rem; white-space: nowrap; }
.exposure-map { display: grid; grid-template-columns: 112px 1fr; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--surface); }
.internet-root { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 0.2rem; border-right: 1px solid var(--line); background: var(--surface-cool); }
.internet-root strong { margin-top: 0.3rem; font-size: 0.82rem; }
.internet-root small { color: var(--quiet); font-size: 0.65rem; }
.internet-glyph { position: relative; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--line-strong); border-radius: var(--radius-small); color: transparent; }
.internet-glyph::before, .internet-glyph::after { position: absolute; content: ""; background: var(--ink); }
.internet-glyph::before { width: 20px; height: 1px; }
.internet-glyph::after { width: 1px; height: 20px; }
.path-groups { padding: 0; }
.route-column-head { display: grid; grid-template-columns: minmax(210px, 1.2fr) minmax(125px, 0.75fr) minmax(180px, 1fr) minmax(160px, 0.78fr); gap: 0.9rem; padding: 0.45rem 0.85rem; border-bottom: 1px solid var(--line-strong); color: var(--quiet); background: var(--surface); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.56rem; letter-spacing: 0.03em; text-transform: uppercase; }
.path-group + .path-group { border-top: 1px solid var(--line-strong); }
.path-group-title { display: flex; align-items: center; gap: 0.55rem; min-height: 38px; padding: 0.5rem 0.85rem; background: var(--surface-subtle); }
.path-group-title h3 { margin: 0; font-size: 0.76rem; }
.path-group-title > span:last-child { margin-left: auto; color: var(--quiet); font-size: 0.64rem; }
.path-status { width: 8px; height: 8px; border-radius: 50%; background: var(--quiet); }
.tone-safe .path-status { background: var(--success); }
.tone-risk .path-status { background: var(--medium); }
.tone-alert .path-status { background: var(--high); }
.path-list { display: grid; }
.path-row { position: relative; display: grid; min-height: 82px; grid-template-columns: minmax(210px, 1.2fr) minmax(125px, 0.75fr) minmax(180px, 1fr) minmax(160px, 0.78fr); align-items: center; gap: 0.9rem; padding: 0.72rem 0.85rem; border-top: 1px solid var(--line); background: var(--surface); transition: background-color var(--ease); }
.path-row:hover { background: color-mix(in oklch, var(--surface) 75%, var(--accent-soft)); }
.path-endpoint, .path-resource > div, .path-assessment { display: grid; gap: 0.13rem; min-width: 0; }
.path-kicker { color: var(--muted); font-size: 0.6rem; font-weight: 700; text-transform: uppercase; }
.path-endpoint strong { overflow: hidden; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.76rem; text-overflow: ellipsis; white-space: nowrap; }
.path-endpoint strong span { color: var(--quiet); }
.path-endpoint small, .path-resource small { overflow: hidden; color: var(--quiet); font-size: 0.64rem; text-overflow: ellipsis; white-space: nowrap; }
.path-route { display: grid; grid-template-columns: 18px 1fr 18px; align-items: center; gap: 0.25rem; color: var(--quiet); text-align: center; }
.path-route small { overflow: hidden; font-size: 0.62rem; line-height: 1.25; text-overflow: ellipsis; }
.path-resource { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 0.6rem; min-width: 0; }
.resource-icon { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--line-strong); border-radius: var(--radius-small); color: var(--accent-dark); background: transparent; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.6rem; }
.path-resource strong { overflow: hidden; font-size: 0.75rem; text-overflow: ellipsis; white-space: nowrap; }
.path-resource code { overflow: hidden; color: var(--quiet); font-size: 0.57rem; text-overflow: ellipsis; white-space: nowrap; }
.path-assessment { grid-template-columns: repeat(2, max-content); align-items: center; justify-items: start; }
.path-assessment .badge:first-child { grid-column: 1 / -1; }
.path-assessment small, .path-assessment a { grid-column: 1 / -1; }
.path-assessment a { margin-top: 0.25rem; color: var(--accent-dark); font-size: 0.65rem; font-weight: 700; }
.path-evidence-disclosure { grid-column: 1 / -1; margin: -0.2rem 0 0; border-top: 1px dashed var(--line); }
.path-evidence-disclosure > summary { width: max-content; padding: 0.36rem 0 0; color: var(--muted); cursor: pointer; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.58rem; list-style-position: inside; }
.path-evidence-disclosure[open] > summary { color: var(--accent-dark); }
.path-evidence-disclosure dl { display: grid; grid-template-columns: 1.4fr repeat(4, minmax(100px, 0.8fr)); gap: 0.7rem; margin: 0.45rem 0 0; padding: 0.65rem; border: 1px solid var(--line); background: var(--surface-subtle); }
.path-evidence-disclosure dl > div { min-width: 0; }
.path-evidence-disclosure dt { color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.55rem; }
.path-evidence-disclosure dd { margin: 0.15rem 0 0; color: var(--muted); font-size: 0.62rem; overflow-wrap: anywhere; }
.compact-empty { min-height: 260px; }
.lower-grid { display: grid; grid-template-columns: 1.45fr 0.55fr; gap: 2.5rem; margin-top: 2.5rem; }
.scope-note { align-self: start; padding: 1.1rem; border-block: 1px solid var(--line-strong); background: var(--surface-cool); }
.scope-note h2 { font-size: 1.15rem; }
.scope-note p:not(.eyebrow) { font-size: 0.8rem; }
.scope-note a { color: var(--accent-dark); font-size: 0.73rem; font-weight: 700; }
.compact-list { border-top: 1px solid var(--line); }
.change-row { display: grid; grid-template-columns: 68px 1fr auto; align-items: center; gap: 0.8rem; padding: 0.8rem 0; border-bottom: 1px solid var(--line); }
.change-row > div { display: grid; }
.change-row strong { font-size: 0.76rem; }
.change-row small, .change-row time { color: var(--quiet); font-size: 0.65rem; }
.change-kind { justify-content: center; border-radius: 4px; text-transform: uppercase; }
.kind-added { color: var(--high); background: var(--high-soft); }
.kind-removed { color: var(--success); background: var(--success-soft); }
.kind-modified { color: var(--medium); background: var(--medium-soft); }
.quiet-empty { padding: 1rem 0; border-block: 1px solid var(--line); color: var(--quiet); font-size: 0.76rem; }

/* Tables and list views */
.search-form, .filter-form { display: flex; align-items: flex-end; gap: 0.55rem; }
.search-form input { width: min(300px, 36vw); }
.filter-form label { display: grid; gap: 0.25rem; }
.filter-form select { min-width: 125px; }
.table-toolbar { display: flex; justify-content: space-between; padding: 0.65rem 0.1rem; border-block: 1px solid var(--line); color: var(--quiet); font-size: 0.68rem; }
.data-table-wrap { overflow-x: auto; margin-top: 0.8rem; border-block: 1px solid var(--line-strong); background: var(--surface); }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th { padding: 0.68rem 0.8rem; color: var(--muted); background: var(--surface-subtle); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.61rem; font-weight: 700; letter-spacing: 0.025em; text-align: left; text-transform: uppercase; }
.data-table td { padding: 0.82rem 0.85rem; border-top: 1px solid var(--line); font-size: 0.74rem; vertical-align: middle; }
.data-table tbody tr { transition: background-color var(--ease); }
.data-table tbody tr:hover { background: var(--surface-subtle); }
.asset-cell { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 0.6rem; }
.asset-cell > div, .finding-cell, .endpoint-stack { display: grid; gap: 0.12rem; }
.asset-cell small, .finding-cell small, .data-table time { color: var(--quiet); font-size: 0.65rem; }
.endpoint-stack { gap: 0.22rem; }
.endpoint-stack code { width: max-content; padding: 0.12rem 0.3rem; border-radius: 3px; background: var(--surface-subtle); }
.metadata-value { display: inline-block; max-width: 15rem; overflow-wrap: anywhere; }
.metadata-empty { color: var(--quiet); font-size: 0.68rem; }
.count-pill { display: grid; width: 27px; height: 25px; place-items: center; border: 1px solid var(--line); border-radius: var(--radius-small); color: var(--muted); background: var(--surface-subtle); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 750; }
.count-pill.has-risk { color: var(--high); background: var(--high-soft); }
.finding-cell code { width: max-content; color: var(--accent); font-size: 0.62rem; }
.finding-cell strong { font-size: 0.75rem; }
.finding-cell small { max-width: 52ch; }
.findings-table tr.is-resolved { opacity: 0.66; }
.row-link { display: grid; width: 28px; height: 28px; place-items: center; margin-left: auto; border: 1px solid var(--line); border-radius: 50%; color: var(--accent-dark); transition: background-color var(--ease), border-color var(--ease); }
.row-link:hover { border-color: var(--accent); background: var(--accent-soft); }
.empty-state { display: flex; min-height: 330px; align-items: center; justify-content: center; flex-direction: column; padding: 3rem; border: 1px dashed var(--line-strong); border-radius: var(--radius-large); background: var(--surface); text-align: center; }
.empty-state h2, .empty-state h3 { margin-top: 1rem; }
.empty-state p { max-width: 52ch; }
.empty-symbol { display: grid; width: 52px; height: 52px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--accent); font-size: 1.3rem; }

/* Asset register and dossier */
.inventory-filter { display: grid; grid-template-columns: minmax(220px, 1.35fr) repeat(4, minmax(140px, 0.72fr)) auto; align-items: end; gap: 0.55rem; padding: 0.75rem 0; border-block: 1px solid var(--line-strong); }
.inventory-filter label { display: grid; gap: 0.26rem; min-width: 0; }
.inventory-filter label > span { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.58rem; font-weight: 680; }
.inventory-filter input, .inventory-filter select { width: 100%; min-width: 0; min-height: 38px; padding: 0.48rem 0.58rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--surface); font-size: 0.68rem; }
.inventory-filter input:focus, .inventory-filter select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: 0; }
.inventory-filter-actions { display: flex; gap: 0.4rem; }
.asset-register .asset-cell { min-width: 185px; }
.resource-code { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--line-strong); border-radius: var(--radius-small); color: var(--accent-dark); background: var(--surface-subtle); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.03em; }
.asset-name-link { color: var(--ink); font-size: 0.75rem; font-weight: 730; }
.asset-name-link:hover { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 0.16rem; }
.empty-index { padding: 0.28rem 0.42rem; border: 1px solid var(--line-strong); color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.6rem; font-weight: 750; letter-spacing: 0.08em; }
.breadcrumb { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1.2rem; color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.61rem; }
.breadcrumb a { color: var(--accent-dark); }
.breadcrumb a:hover { text-decoration: underline; text-underline-offset: 0.15rem; }
.asset-dossier-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 0.32fr); align-items: end; gap: 3rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--ink); }
.asset-dossier-header h1 { margin-bottom: 0.45rem; font-size: 2.15rem; letter-spacing: -0.035em; overflow-wrap: anywhere; }
.asset-dossier-header p:last-child { max-width: 68ch; margin: 0; }
.asset-dossier-stamp { display: grid; gap: 0.24rem; padding: 0.72rem 0; border-block: 1px solid var(--line-strong); }
.asset-dossier-stamp span, .asset-dossier-stamp small { color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.58rem; }
.asset-dossier-stamp strong { font-size: 0.78rem; }
.dossier-register { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 0 0 2.6rem; border-bottom: 1px solid var(--line-strong); }
.dossier-register > div { min-width: 0; padding: 0.72rem 0.8rem; border-right: 1px solid var(--line); }
.dossier-register > div:first-child { padding-left: 0; }
.dossier-register > div:last-child { border-right: 0; }
.dossier-register dt { color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.55rem; }
.dossier-register dd { overflow: hidden; margin: 0.14rem 0 0; font-size: 0.68rem; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.dossier-section { min-width: 0; margin-top: 2.8rem; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 0.78rem; padding-bottom: 0.6rem; border-bottom: 1px solid var(--line-strong); }
.section-heading .eyebrow { margin-bottom: 0.26rem; }
.section-heading h2 { margin: 0; font-size: 1.05rem; }
.section-count { color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.58rem; white-space: nowrap; }
.ledger-empty { padding: 1rem 0; border-bottom: 1px solid var(--line); color: var(--quiet); font-size: 0.72rem; }
.endpoint-dossiers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.endpoint-dossier { min-width: 0; padding: 0.9rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface); }
.endpoint-dossier > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.endpoint-dossier > header > div { display: grid; min-width: 0; gap: 0.12rem; }
.endpoint-dossier h3 { overflow: hidden; margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.76rem; text-overflow: ellipsis; white-space: nowrap; }
.endpoint-dossier header code, .endpoint-dossier header small { color: var(--quiet); font-size: 0.58rem; }
.endpoint-dossier > p { min-height: 2.4em; margin: 0.7rem 0; font-size: 0.68rem; }
.endpoint-dossier > dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-top: 1px solid var(--line); }
.endpoint-dossier > dl > div { min-width: 0; padding: 0.55rem 0.45rem 0 0; }
.endpoint-dossier dt, .signal-register dt { color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.54rem; }
.endpoint-dossier dd { margin: 0.14rem 0 0; font-size: 0.61rem; overflow-wrap: anywhere; }
.record-disclosure { margin-top: 0.65rem; padding-top: 0.55rem; border-top: 1px dashed var(--line); }
.record-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--accent-dark); cursor: pointer; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.58rem; list-style-position: inside; }
.record-disclosure > summary span { color: var(--quiet); }
.signal-register { margin: 0.55rem 0 0; border-top: 1px solid var(--line); }
.signal-register > div { display: grid; grid-template-columns: minmax(120px, 0.42fr) minmax(0, 1fr); gap: 0.7rem; padding: 0.42rem 0; border-bottom: 1px solid var(--line); }
.signal-register dd { margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.57rem; overflow-wrap: anywhere; }
.dossier-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.5rem; }
.signal-register-main { margin-top: 0; }
.provider-key code { display: block; margin-top: 0.55rem; padding: 0.6rem; border: 1px solid var(--line); background: var(--surface-subtle); font-size: 0.58rem; overflow-wrap: anywhere; white-space: normal; }
.relationship-ledger, .change-ledger { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.relationship-ledger li { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 0.8rem; padding: 0.7rem 0; border-bottom: 1px solid var(--line); }
.relationship-direction { width: max-content; padding: 0.18rem 0.28rem; border: 1px solid var(--line); color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.53rem; }
.relationship-ledger strong { font-size: 0.67rem; overflow-wrap: anywhere; }
.relationship-ledger p { margin: 0.16rem 0; font-size: 0.64rem; }
.relationship-ledger small { color: var(--quiet); font-size: 0.58rem; }
.change-ledger > li { display: grid; grid-template-columns: 130px 78px minmax(220px, 1fr); align-items: start; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--line); }
.change-ledger > li > time { padding-top: 0.18rem; color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.58rem; }
.change-ledger > li > div strong { font-size: 0.7rem; }
.change-ledger > li > div p { margin: 0.16rem 0 0; font-size: 0.65rem; }
.change-ledger > li > details { grid-column: 3; margin-top: 0; }
.change-ledger .before-after { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0.55rem; }
.change-ledger pre { max-height: 230px; overflow: auto; margin: 0.35rem 0 0; font-size: 0.56rem; white-space: pre-wrap; overflow-wrap: anywhere; }

/* Finding detail */
.breadcrumbs { display: flex; gap: 0.5rem; margin-bottom: 1.4rem; color: var(--quiet); font-size: 0.7rem; }
.breadcrumbs a:hover { color: var(--accent-dark); }
.finding-hero { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: 4rem; margin-bottom: 2rem; padding: 0 0 2rem; border-bottom: 1px solid var(--line); }
.finding-labels { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 1rem; }
.finding-title-block h1 { max-width: 22ch; font-size: 2.6rem; letter-spacing: -0.045em; }
.finding-title-block > p:last-child { max-width: 68ch; font-size: 1rem; }
.finding-facts { display: grid; align-content: end; gap: 0; margin: 0; }
.finding-facts div { display: grid; grid-template-columns: 110px 1fr; gap: 1rem; padding: 0.62rem 0; border-top: 1px solid var(--line); }
.finding-facts div:last-child { border-bottom: 1px solid var(--line); }
.finding-facts dt { color: var(--quiet); font-size: 0.67rem; }
.finding-facts dd { margin: 0; font-size: 0.72rem; font-weight: 650; text-align: right; overflow-wrap: anywhere; }
.finding-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 3rem; }
.finding-main { display: grid; gap: 2.5rem; }
.detail-section { min-width: 0; }
.evidence-count { color: var(--quiet); font-size: 0.68rem; }
.evidence-ledger { border-block: 1px solid var(--line); }
.evidence-row { display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 0.7rem; padding: 0.85rem 0; border-bottom: 1px solid var(--line); }
.evidence-row:last-child { border-bottom: 0; }
.evidence-check { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: var(--success); background: var(--success-soft); font-size: 0.68rem; font-weight: 800; }
.evidence-row > div { display: grid; }
.evidence-row strong { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.72rem; }
.evidence-row small { color: var(--quiet); font-size: 0.62rem; }
.detail-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.detail-columns > div { padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.detail-columns p:last-child { margin-bottom: 0; font-size: 0.8rem; }
.limitation-box { background: var(--surface-cool) !important; }
.decision-panel { position: sticky; top: 1.5rem; align-self: start; padding: 1.4rem; border: 1px solid var(--line-strong); border-radius: var(--radius-large); background: var(--surface); box-shadow: var(--shadow-small); }
.decision-panel > p:not(.eyebrow) { font-size: 0.76rem; }
.decision-timeline { margin: 0; padding: 0; list-style: none; }
.decision-timeline li { position: relative; display: grid; grid-template-columns: 16px 1fr; gap: 0.7rem; padding-bottom: 1.2rem; }
.decision-timeline li:not(:last-child)::before { position: absolute; top: 12px; bottom: 0; left: 5px; width: 1px; content: ""; background: var(--line-strong); }
.timeline-dot { z-index: 1; width: 11px; height: 11px; margin-top: 0.35rem; border: 2px solid var(--surface); border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.decision-timeline p { margin: 0.25rem 0; font-size: 0.75rem; }
.decision-timeline small { color: var(--quiet); font-size: 0.64rem; }
.decision-intent-link { display: inline-flex; align-items: center; gap: 0.35rem; margin-top: 1rem; }

/* Changes and alerts */
.change-timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.change-timeline > li { display: grid; grid-template-columns: 30px 1fr; gap: 1rem; }
.change-marker { position: relative; display: flex; justify-content: center; }
.change-marker::after { position: absolute; top: 16px; bottom: -1px; width: 1px; content: ""; background: var(--line-strong); }
.change-timeline > li:last-child .change-marker::after { display: none; }
.change-marker span { z-index: 1; width: 12px; height: 12px; margin-top: 0.5rem; border: 3px solid var(--surface-subtle); border-radius: 50%; background: var(--quiet); box-shadow: 0 0 0 1px var(--line-strong); }
.change-marker.kind-added span { background: var(--high); }
.change-marker.kind-removed span { background: var(--success); }
.change-marker.kind-modified span { background: var(--medium); }
.change-event { margin-bottom: 1rem; padding: 1.15rem 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.change-event header { display: flex; justify-content: space-between; align-items: center; }
.change-event header > div { display: flex; gap: 0.4rem; }
.change-event time { color: var(--quiet); font-size: 0.66rem; }
.change-event h2 { margin-top: 1rem; font-size: 1rem; }
.change-event > p { margin-bottom: 1rem; font-size: 0.76rem; }
.before-after { display: grid; grid-template-columns: 1fr 24px 1fr; align-items: center; gap: 0.5rem; }
.before-after > div { display: grid; gap: 0.3rem; padding: 0.7rem; border-radius: var(--radius-small); background: var(--surface-subtle); }
.before-after span { color: var(--quiet); font-size: 0.62rem; font-weight: 700; text-transform: uppercase; }
.comparison-arrow { text-align: center; }
.alert-ledger { display: grid; border-top: 1px solid var(--line); }
.alert-ledger article { display: grid; grid-template-columns: 38px 1fr auto; gap: 1rem; align-items: start; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.alert-ledger h2 { margin: 0.7rem 0 0.3rem; font-size: 1rem; }
.alert-ledger p { margin-bottom: 0.3rem; }
.alert-ledger time { color: var(--quiet); font-size: 0.65rem; }
.alert-ledger .alert-actions > a { color: var(--accent-dark); font-size: 0.72rem; font-weight: 700; }

/* Connector setup and health */
.connector-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
.connector-stack { display: grid; gap: 1rem; min-width: 0; }
.coverage-note { color: var(--quiet); font-size: 0.68rem; }
.connector-card { overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-large); background: var(--surface); box-shadow: var(--shadow-small); }
.connector-card-paused { border-color: color-mix(in oklab, var(--critical) 58%, var(--line-strong)); }
.connector-card-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.25rem; border-bottom: 1px solid var(--line); }
.connector-state-chips { display: flex; align-items: center; justify-content: flex-end; gap: 0.45rem; flex-wrap: wrap; }
.collection-chip { padding: 0.28rem 0.45rem; border: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: 0.53rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.collection-chip.collection-on { border-color: color-mix(in oklab, var(--success) 45%, var(--line)); color: var(--success); }
.collection-chip.collection-off { border-color: var(--critical); color: var(--critical); background: var(--critical-soft); }
.connector-identity { display: flex; align-items: center; gap: 0.8rem; min-width: 0; }
.connector-identity > div { min-width: 0; }
.connector-identity h3 { overflow: hidden; margin: 0.12rem 0 0; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.connector-mark { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--accent-dark); background: var(--accent-soft); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.8rem; font-weight: 800; }
.connector-mark-cloudflare { color: var(--high); background: var(--high-soft); }
.connector-mark-demo { color: var(--info); background: var(--info-soft); }
.health-chip, .source-state { display: inline-flex; width: max-content; align-items: center; gap: 0.38rem; color: var(--muted); font-size: 0.66rem; font-weight: 750; text-transform: uppercase; }
.health-chip i, .source-state i { width: 7px; height: 7px; border-radius: 50%; background: var(--quiet); }
.health-healthy, .source-healthy { color: var(--success); }
.health-healthy i, .source-healthy i { background: var(--success); }
.health-degraded, .source-degraded { color: var(--medium); }
.health-degraded i, .source-degraded i { background: var(--medium); }
.health-error, .source-error { color: var(--high); }
.health-error i, .source-error i { background: var(--high); }
.connector-scope { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 0.8rem; padding: 0.72rem 1.25rem; border-bottom: 1px solid var(--line); background: var(--surface-cool); }
.connector-scope span { color: var(--quiet); font-size: 0.65rem; font-weight: 700; text-transform: uppercase; }
.connector-scope code { font-size: 0.68rem; }
.health-message { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 0.65rem; padding: 0.9rem 1.25rem; }
.health-message p { margin: 0; font-size: 0.73rem; }
.health-message time { color: var(--quiet); font-size: 0.63rem; white-space: nowrap; }
.source-ledger { margin: 0 1.25rem; border-top: 1px solid var(--line); }
.source-row { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 0.8rem; align-items: start; padding: 0.75rem 0; border-bottom: 1px solid var(--line); }
.source-row > div { display: grid; gap: 0.12rem; }
.source-row strong { font-size: 0.73rem; }
.source-row small { color: var(--quiet); font-size: 0.65rem; line-height: 1.45; }
.scan-operations { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 0.9rem 1.25rem; border-top: 1px solid var(--line); background: var(--surface-cool); }
.job-state { display: flex; min-width: 0; align-items: center; gap: 0.75rem; }
.job-state > div { display: grid; gap: 0.08rem; min-width: 0; }
.job-state strong { font-size: 0.72rem; }
.job-state small { overflow: hidden; color: var(--quiet); font-size: 0.64rem; text-overflow: ellipsis; white-space: nowrap; }
.job-chip { display: inline-flex; width: max-content; flex: 0 0 auto; align-items: center; gap: 0.36rem; padding: 0.3rem 0.48rem; border: 1px solid var(--line); border-radius: var(--radius-small); color: var(--muted); background: var(--surface); font-size: 0.62rem; font-weight: 760; text-transform: uppercase; }
.job-chip i { width: 6px; height: 6px; border-radius: 50%; background: var(--quiet); }
.job-healthy { color: var(--success); border-color: oklch(0.83 0.055 155); background: var(--success-soft); }
.job-healthy i { background: var(--success); }
.job-degraded { color: var(--medium); border-color: oklch(0.84 0.07 75); background: var(--medium-soft); }
.job-degraded i { background: var(--medium); }
.job-error { color: var(--high); border-color: oklch(0.85 0.07 42); background: var(--high-soft); }
.job-error i { background: var(--high); }
.job-running { color: var(--accent-dark); border-color: oklch(0.82 0.055 238); background: var(--accent-soft); }
.job-running i { background: var(--accent); box-shadow: 0 0 0 3px oklch(0.46 0.12 238 / 0.14); }
.schedule-control { display: grid; grid-template-columns: auto 132px auto; gap: 0.45rem; align-items: center; margin: 0; }
.schedule-control label { color: var(--quiet); font-size: 0.62rem; font-weight: 720; text-transform: uppercase; }
.schedule-control select { min-height: 36px; padding: 0.42rem 1.7rem 0.42rem 0.6rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); outline: 0; background: var(--surface); font-size: 0.7rem; }
.schedule-control select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.schedule-control small { grid-column: 2 / -1; color: var(--quiet); font-size: 0.6rem; text-align: right; }
.connector-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.9rem 1.25rem; background: var(--surface-subtle); }
.connector-card-foot > span { color: var(--quiet); font-size: 0.65rem; }
.connector-card-foot form { margin: 0; }
.collection-control { border-top: 1px solid var(--line); background: var(--surface-subtle); }
.collection-control summary { padding: 0.65rem 1.25rem; color: var(--quiet); font-family: var(--font-mono); font-size: 0.58rem; font-weight: 700; cursor: pointer; text-transform: uppercase; }
.collection-control[open] summary { border-bottom: 1px solid var(--line); color: var(--critical); }
.collection-control > div { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(260px, 1.2fr); gap: 0.85rem 1.2rem; padding: 0.9rem 1.25rem; }
.collection-control p, .collection-control small { margin: 0; color: var(--muted); font-size: 0.61rem; }
.collection-control form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.45rem; margin: 0; }
.collection-control label { grid-column: 1 / -1; font-size: 0.57rem; }
.collection-control textarea { min-height: 3.5rem; resize: vertical; }
.collection-control small { grid-column: 1 / -1; }
.collection-suspended-record { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 1fr); gap: 0.8rem 1.2rem; padding: 0.9rem 1.25rem; border-top: 1px solid var(--critical); background: var(--critical-soft); }
.collection-suspended-record > div { display: grid; gap: 0.2rem; }
.collection-suspended-record span { color: var(--critical); font-family: var(--font-mono); font-size: 0.55rem; font-weight: 700; text-transform: uppercase; }
.collection-suspended-record strong { font-size: 0.68rem; }
.collection-suspended-record small, .collection-suspended-record p { margin: 0; color: var(--muted); font-size: 0.58rem; }
.collection-suspended-record form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.4rem; margin: 0; }
.collection-suspended-record label { grid-column: 1 / -1; font-size: 0.57rem; }
.collection-suspended-record p { grid-column: 1 / -1; }
.connector-setup { position: sticky; top: 1.5rem; padding: 1.45rem; border: 1px solid var(--line-strong); border-radius: var(--radius-large); background: var(--surface); box-shadow: var(--shadow-small); }
.connector-setup > p:not(.eyebrow) { font-size: 0.76rem; }
.connector-setup form { margin-top: 1.25rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.connector-setup-section { margin-top: 1.25rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.connector-setup-section h3 { margin-bottom: 0.35rem; font-size: 0.82rem; }
.connector-setup-section > p { margin-bottom: 0; font-size: 0.7rem; }
.connector-setup-section form { margin-top: 0.9rem; padding-top: 0; border-top: 0; }
.credential-note { margin-top: 1rem; padding: 0.85rem; border-radius: var(--radius-small); background: var(--success-soft); }
.credential-note strong { color: var(--success); font-size: 0.71rem; }
.credential-note p { margin: 0.25rem 0 0; font-size: 0.68rem; }
.setup-foot { margin: 1rem 0 0; color: var(--quiet) !important; font-size: 0.66rem !important; }

/* Customer-controlled Azure onboarding */
.azure-trust-register {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1.8rem;
  border-block: 1px solid var(--line-strong);
  background: var(--surface);
}
.azure-trust-register > div { display: grid; gap: 0.12rem; padding: 0.8rem 1rem; border-right: 1px solid var(--line); }
.azure-trust-register > div:last-child { border-right: 0; }
.azure-trust-register span,
.azure-scope-register dt,
.azure-permission-contract dt { color: var(--quiet); font-family: var(--font-mono); font-size: 0.55rem; text-transform: uppercase; }
.azure-trust-register strong { font-size: 0.72rem; }
.azure-trust-register small { color: var(--muted); font-size: 0.58rem; }
.azure-connection-tabs { display: flex; align-items: stretch; gap: 0; margin-bottom: 1.5rem; overflow-x: auto; border-bottom: 1px solid var(--line-strong); }
.azure-connection-tabs > span { display: flex; min-width: max-content; align-items: center; padding: 0.65rem 0.8rem 0.65rem 0; color: var(--quiet); font-family: var(--font-mono); font-size: 0.55rem; text-transform: uppercase; }
.azure-connection-tabs a { display: grid; min-width: 150px; gap: 0.05rem; padding: 0.65rem 0.8rem; border: 1px solid transparent; border-bottom: 0; }
.azure-connection-tabs a + a { border-left-color: var(--line); }
.azure-connection-tabs a:hover { background: var(--surface); }
.azure-connection-tabs a.is-current { border-color: var(--line-strong); background: var(--surface); color: var(--accent-dark); }
.azure-connection-tabs strong { font-size: 0.65rem; }
.azure-connection-tabs small { color: var(--quiet); font-size: 0.55rem; }
.azure-connection-tabs .azure-connection-new { min-width: max-content; align-content: center; color: var(--accent-dark); font-size: 0.62rem; font-weight: 720; }
.azure-start { padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--line-strong); background: var(--surface); }
.azure-start form { max-width: 920px; margin-top: 1.4rem; }
.azure-step-heading { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 1rem; align-items: start; }
.azure-step-heading > span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line-strong); color: var(--accent-dark); background: var(--surface-cool); font-family: var(--font-mono); font-size: 0.65rem; font-weight: 760; }
.azure-step-heading h2 { margin-bottom: 0.35rem; }
.azure-step-heading p:last-child { max-width: 70ch; margin-bottom: 0; font-size: 0.75rem; }
.azure-step-heading.compact { grid-template-columns: 34px minmax(0, 1fr); gap: 0.75rem; }
.azure-step-heading.compact > span { width: 30px; height: 30px; font-size: 0.57rem; }
.azure-step-heading.compact h2 { font-size: 1rem; }
.azure-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.azure-form-grid .field-wide { grid-column: 1 / -1; }
.field-note { color: var(--quiet); font-size: 0.58rem; line-height: 1.45; }
.azure-scope-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0 0 1rem; padding: 0; border: 1px solid var(--line-strong); }
.azure-scope-choice legend { padding: 0 0.35rem; color: var(--quiet); font-size: 0.62rem; font-weight: 720; }
.azure-scope-choice label { display: flex; min-height: 90px; gap: 0.7rem; align-items: flex-start; padding: 1rem; cursor: pointer; }
.azure-scope-choice label + label { border-left: 1px solid var(--line); }
.azure-scope-choice label:has(input:checked) { background: var(--accent-soft); }
.azure-scope-choice input { width: 16px; height: 16px; margin-top: 0.16rem; accent-color: var(--accent); }
.azure-scope-choice label > span { display: grid; gap: 0.18rem; }
.azure-scope-choice strong { font-size: 0.73rem; }
.azure-scope-choice small { color: var(--muted); font-size: 0.62rem; line-height: 1.45; }
.azure-resource-group-field[hidden] { display: none; }
.azure-action-row { display: flex; align-items: center; gap: 0.8rem; margin-top: 0.4rem; }
.azure-action-row > span { color: var(--quiet); font-size: 0.61rem; }
.azure-connection-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.9rem 0; border-block: 1px solid var(--line-strong); }
.azure-connection-header h2 { margin-bottom: 0.2rem; }
.azure-connection-header code { display: block; max-width: 76ch; color: var(--muted); font-size: 0.66rem; }
.azure-progress { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1rem 0 2rem; padding: 0; border: 1px solid var(--line); background: var(--surface); list-style: none; }
.azure-progress li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 0.6rem; align-items: center; min-height: 66px; padding: 0.7rem; }
.azure-progress li + li { border-left: 1px solid var(--line); }
.azure-progress li > span { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid var(--line-strong); color: var(--quiet); font-family: var(--font-mono); font-size: 0.56rem; }
.azure-progress li > div { display: grid; gap: 0.08rem; }
.azure-progress strong { font-size: 0.67rem; }
.azure-progress small { color: var(--quiet); font-size: 0.55rem; }
.azure-progress .is-current { background: var(--accent-soft); }
.azure-progress .is-current > span { border-color: var(--accent); color: var(--accent-dark); }
.azure-progress .is-complete > span { border-color: var(--success); color: var(--success); background: var(--success-soft); }
.azure-progress .has-error { background: var(--critical-soft); }
.azure-progress .has-error > span { border-color: var(--critical); color: var(--critical); }
.azure-onboarding-ledger { border-top: 1px solid var(--line-strong); }
.azure-ledger-step { padding: 1.4rem 0 1.8rem; border-bottom: 1px solid var(--line-strong); }
.azure-ledger-step > :not(.azure-step-heading) { margin-left: 42px; }
.azure-scope-register { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; border: 1px solid var(--line); background: var(--surface); }
.azure-scope-register > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 0.7rem; padding: 0.7rem; border-bottom: 1px solid var(--line); }
.azure-scope-register > div:nth-child(odd) { border-right: 1px solid var(--line); }
.azure-scope-register > div:nth-last-child(-n+2) { border-bottom: 0; }
.azure-scope-register dd,
.azure-permission-contract dd { min-width: 0; margin: 0; font-size: 0.66rem; }
.azure-permission-contract { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr); margin-top: 1rem; border: 1px solid var(--line-strong); background: var(--surface); }
.azure-permission-contract > dl { margin: 0; }
.azure-permission-contract > dl > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 0.7rem; padding: 0.65rem 0.75rem; border-bottom: 1px solid var(--line); }
.azure-permission-contract > dl > div:last-child { border-bottom: 0; }
.azure-permission-contract > div { padding: 0.9rem 1rem; border-left: 1px solid var(--line); background: var(--surface-cool); }
.azure-permission-contract > div strong { display: block; margin-bottom: 0.16rem; font-size: 0.66rem; }
.azure-permission-contract > div p { margin-bottom: 0.8rem; font-size: 0.62rem; }
.azure-permission-contract > div p:last-child { margin-bottom: 0; }
.azure-deploy-actions { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; margin-top: 1rem; }
.azure-deploy-actions .text-link { margin-left: auto; }
.azure-template-note { margin-top: 0.55rem; color: var(--quiet); font-size: 0.58rem; }
.azure-client-checklist { margin: 1rem 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.azure-client-checklist li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 0.6rem; align-items: start; padding: 0.6rem 0; border-bottom: 1px solid var(--line); }
.azure-client-checklist li > span { color: var(--accent-dark); font-family: var(--font-mono); font-size: 0.6rem; }
.azure-client-checklist p { margin: 0; font-size: 0.65rem; }
.azure-verification-record,
.azure-authority-record,
.azure-ready-record { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 0.75rem; align-items: center; margin-top: 1rem; padding: 0.85rem; border: 1px solid var(--line); background: var(--surface); }
.azure-verification-record.status-error { border-color: oklch(0.78 0.08 25); background: var(--critical-soft); }
.azure-verification-record.status-healthy,
.azure-authority-record,
.azure-ready-record { border-color: oklch(0.8 0.05 155); background: var(--success-soft); }
.azure-verification-record > div,
.azure-authority-record > div,
.azure-ready-record > div { display: grid; gap: 0.1rem; }
.azure-verification-record strong,
.azure-authority-record strong,
.azure-ready-record strong { font-size: 0.7rem; }
.azure-verification-record p,
.azure-authority-record p,
.azure-ready-record p { margin: 0; font-size: 0.63rem; }
.azure-verification-record small,
.azure-authority-record small { color: var(--quiet); font-size: 0.55rem; }
.azure-step-intro { max-width: 74ch; margin-top: 0.8rem; font-size: 0.7rem; }
.azure-ledger-step form { max-width: 920px; margin-top: 1rem; }
.azure-form-grid.authority-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.azure-authority-record { grid-template-columns: 12px minmax(0, 1fr) auto; }
.azure-ready-record { grid-template-columns: 54px minmax(0, 1fr) auto; }
.azure-disconnect { margin-top: 1.4rem; border-block: 1px solid var(--line-strong); }
.azure-disconnect > summary { width: max-content; padding: 0.75rem 0; color: var(--critical); font-size: 0.65rem; font-weight: 720; cursor: pointer; }
.azure-disconnect > div { padding: 1rem; border: 1px solid oklch(0.84 0.07 25); background: var(--critical-soft); }
.azure-disconnect p { max-width: 78ch; font-size: 0.68rem; }
.azure-disconnect form { max-width: 760px; }
.azure-disconnect > div > small { display: block; margin-top: 0.7rem; color: var(--quiet); font-size: 0.57rem; }

@media (max-width: 1040px) {
  .azure-trust-register { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .azure-trust-register > div:nth-child(2) { border-right: 0; }
  .azure-trust-register > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .azure-form-grid.authority-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .azure-trust-register,
  .azure-form-grid,
  .azure-scope-choice,
  .azure-progress,
  .azure-scope-register,
  .azure-permission-contract,
  .azure-form-grid.authority-grid { grid-template-columns: 1fr; }
  .azure-trust-register > div,
  .azure-trust-register > div:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .azure-trust-register > div:last-child { border-bottom: 0; }
  .azure-scope-choice label + label,
  .azure-progress li + li { border-top: 1px solid var(--line); border-left: 0; }
  .azure-connection-header { align-items: flex-start; flex-direction: column; }
  .azure-ledger-step > :not(.azure-step-heading) { margin-left: 0; }
  .azure-scope-register > div,
  .azure-scope-register > div:nth-child(odd) { grid-template-columns: 1fr; border-right: 0; border-bottom: 1px solid var(--line); }
  .azure-scope-register > div:last-child { border-bottom: 0; }
  .azure-permission-contract > div { border-top: 1px solid var(--line); border-left: 0; }
  .azure-deploy-actions { align-items: stretch; flex-direction: column; }
  .azure-deploy-actions .button { width: 100%; }
  .azure-deploy-actions .text-link { margin: 0.3rem 0 0; text-align: center; }
  .azure-verification-record,
  .azure-authority-record,
  .azure-ready-record { grid-template-columns: 12px minmax(0, 1fr); }
  .azure-verification-record form,
  .azure-authority-record .button,
  .azure-ready-record .button { grid-column: 2; width: 100%; }
  .azure-ready-record { grid-template-columns: 48px minmax(0, 1fr); }
  .azure-action-row { align-items: stretch; flex-direction: column; }
}

.access-contract { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 2rem; margin-top: 1rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius-large); background: var(--surface-cool); }
.access-contract > div > p:last-child { margin-bottom: 0; font-size: 0.73rem; }
.access-contract ol { margin: 0; padding: 0; list-style: none; }
.access-contract li { display: grid; grid-template-columns: 26px 1fr; gap: 0.65rem; padding: 0.65rem 0; border-top: 1px solid var(--line); }
.access-contract li > span { color: var(--accent); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.64rem; font-weight: 750; }
.access-contract li > div { display: grid; }
.access-contract li strong { font-size: 0.72rem; }
.access-contract li small { color: var(--quiet); font-size: 0.64rem; }

/* Boundary intent and provider topology */
.boundary-intent-summary { margin-bottom: 2.6rem; }
.intent-section, .topology-section { margin-top: 2.8rem; }
.intent-ledger { border-top: 1px solid var(--line-strong); }
.intent-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.15fr) minmax(180px, 0.8fr) minmax(220px, 1fr) minmax(180px, 0.65fr);
  gap: 1.25rem;
  align-items: start;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--line);
}
.intent-row.intent-overdue { margin-inline: -0.75rem; padding-inline: 0.75rem; background: var(--medium-soft); }
.intent-row.intent-needs-intent { margin-inline: -0.75rem; padding-inline: 0.75rem; background: var(--high-soft); }
.intent-endpoint, .intent-decision { display: grid; gap: 0.2rem; min-width: 0; }
.intent-endpoint > strong { overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.79rem; letter-spacing: -0.01em; }
.intent-endpoint small, .intent-resource small, .intent-decision small { color: var(--quiet); font-size: 0.65rem; line-height: 1.45; }
.intent-presence { color: var(--quiet); font-size: 0.62rem; font-weight: 720; text-transform: uppercase; }
.intent-resource { display: flex; gap: 0.65rem; align-items: flex-start; }
.intent-resource > div { display: grid; gap: 0.12rem; min-width: 0; }
.intent-resource strong { font-size: 0.76rem; }
.intent-decision > strong { margin-top: 0.2rem; font-size: 0.74rem; }
.intent-decision p { margin: 0.2rem 0 0; font-size: 0.7rem; line-height: 1.5; }
.intent-state {
  display: inline-flex;
  width: max-content;
  padding: 0.28rem 0.5rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
  color: var(--muted);
  background: var(--surface-subtle);
  font-size: 0.64rem;
  font-weight: 760;
}
.intent-state.state-approved { color: var(--success); border-color: oklch(0.83 0.055 155); background: var(--success-soft); }
.intent-state.state-overdue { color: oklch(0.43 0.1 70); border-color: oklch(0.84 0.07 75); background: var(--medium-soft); }
.intent-state.state-needs-intent { color: oklch(0.43 0.14 38); border-color: oklch(0.85 0.07 42); background: var(--high-soft); }
.intent-actions { display: grid; gap: 0.45rem; justify-items: stretch; }
.intent-actions form { margin: 0; }
.intent-editor > summary { width: 100%; list-style: none; }
.intent-editor > summary::-webkit-details-marker { display: none; }
.intent-editor[open] { grid-column: 1 / -1; }
.intent-editor form {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 0.85rem;
  min-width: 330px;
  margin-top: 0.55rem;
  padding: 1rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-small);
}
.intent-editor .field { margin: 0; }
.intent-editor textarea { resize: vertical; }
.topology-ledger { margin: 0; padding: 0; border-top: 1px solid var(--line-strong); list-style: none; }
.topology-ledger li {
  display: grid;
  grid-template-columns: 110px minmax(280px, 1fr) minmax(240px, 1.1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 0.95rem 0;
  border-bottom: 1px solid var(--line);
}
.topology-kind { color: var(--accent-dark); font-size: 0.64rem; font-weight: 760; text-transform: uppercase; }
.topology-route { display: grid; grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr); gap: 0.45rem; align-items: center; }
.topology-route strong { overflow-wrap: anywhere; font-size: 0.7rem; }
.topology-route span { color: var(--accent); text-align: center; }
.topology-ledger p { margin: 0; font-size: 0.69rem; line-height: 1.45; }
.topology-ledger time { color: var(--quiet); font-size: 0.62rem; white-space: nowrap; }
.scope-inline { display: flex; gap: 0.7rem; align-items: baseline; margin-top: 1rem; padding: 0.85rem 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-cool); }
.scope-inline strong { flex: 0 0 auto; color: var(--accent-dark); font-size: 0.68rem; text-transform: uppercase; }
.scope-inline span { color: var(--muted); font-size: 0.7rem; }

/* Prioritised evidence review */
.review-summary { grid-template-columns: 1.35fr repeat(5, 1fr); margin-bottom: 2.6rem; }
.review-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 2.2rem; align-items: start; }
.review-work { min-width: 0; }
.review-section + .review-section { margin-top: 2.8rem; }
.review-section .section-heading-row p:last-child { max-width: 680px; margin: 0.3rem 0 0; color: var(--quiet); font-size: 0.72rem; }
.review-ledger { border-top: 1px solid var(--line-strong); }
.review-row {
  display: grid;
  grid-template-columns: 100px minmax(240px, 1fr) 110px auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}
.review-row.priority-critical, .review-row.priority-high { background: var(--high-soft); }
.review-priority, .review-timing { display: grid; gap: 0.3rem; align-content: start; }
.review-priority small, .review-timing strong { color: var(--quiet); font-size: 0.6rem; font-weight: 720; text-transform: uppercase; }
.review-copy { min-width: 0; }
.review-copy h3 { margin: 0; font-size: 0.82rem; }
.review-copy p { margin: 0.32rem 0; font-size: 0.7rem; line-height: 1.48; }
.review-copy small { color: var(--quiet); font-size: 0.63rem; }
.review-timing time { color: var(--muted); font-size: 0.68rem; white-space: nowrap; }
.review-row > .button { justify-self: end; white-space: nowrap; }
.coverage-panel { position: sticky; top: 1.5rem; padding: 1.35rem; border: 1px solid var(--line-strong); border-radius: var(--radius-large); background: var(--surface-cool); }
.coverage-panel > p:not(.eyebrow) { margin-bottom: 1.25rem; font-size: 0.72rem; }
.coverage-connector { padding: 0.9rem 0; border-top: 1px solid var(--line); }
.coverage-connector > div { display: flex; justify-content: space-between; gap: 0.8rem; margin-bottom: 0.55rem; }
.coverage-connector > div strong { font-size: 0.71rem; }
.coverage-connector > div small { color: var(--quiet); font-size: 0.62rem; }
.coverage-connector ol { margin: 0; padding: 0; list-style: none; }
.coverage-connector li { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 0.55rem; padding: 0.55rem 0; border-top: 1px solid var(--line); }
.coverage-connector li > div { display: grid; gap: 0.12rem; min-width: 0; }
.coverage-connector li strong { font-size: 0.66rem; }
.coverage-connector li small { color: var(--quiet); font-size: 0.59rem; line-height: 1.4; }
.coverage-panel > .text-link { display: inline-block; margin-top: 0.8rem; font-size: 0.68rem; }
.alert-actions { display: flex; flex-direction: column; gap: 0.55rem; align-items: flex-end; }
.alert-actions form { margin: 0; }

/* Workspace activity */
.activity-filter {
  display: grid;
  grid-template-columns: minmax(220px, 1.3fr) repeat(3, minmax(145px, 0.72fr)) auto;
  gap: 0.65rem;
  align-items: end;
  margin-bottom: 0.9rem;
  padding: 0.8rem 0;
  border-block: 1px solid var(--line-strong);
}
.activity-filter label { display: grid; gap: 0.28rem; min-width: 0; }
.activity-filter label > span {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.59rem;
  font-weight: 680;
}
.activity-filter input,
.activity-filter select {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  padding: 0.48rem 0.58rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-small);
  background: var(--surface);
  font-size: 0.68rem;
}
.activity-filter input:focus,
.activity-filter select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
  outline: 0;
}
.activity-filter-actions { display: flex; gap: 0.4rem; }
.activity-contract {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 1.5rem;
  padding: 0.7rem;
  border: 1px solid color-mix(in oklch, var(--accent) 35%, var(--line));
  background: var(--surface-cool);
}
.activity-contract p { margin: 0; font-size: 0.67rem; }
.activity-register > .section-heading-row > p { margin: 0; font-size: 0.65rem; }
.activity-day { margin-top: 1.5rem; }
.activity-day > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.45rem 0; border-bottom: 1px solid var(--line-strong); color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.61rem; }
.activity-day > header span { color: var(--quiet); }
.activity-day ol { margin: 0; padding: 0; list-style: none; }
.activity-day li { display: grid; grid-template-columns: 76px 96px minmax(240px, 1fr) minmax(100px, auto) 50px; align-items: start; gap: 0.8rem; padding: 0.78rem 0; border-bottom: 1px solid var(--line); }
.activity-day li > time { padding-top: 0.12rem; color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.62rem; font-variant-numeric: tabular-nums; }
.activity-category { width: max-content; padding: 0.2rem 0.35rem; border: 1px solid var(--line); border-radius: var(--radius-small); color: var(--muted); background: var(--surface); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.56rem; }
.category-decision { color: var(--accent-dark); border-color: color-mix(in oklch, var(--accent) 40%, var(--line)); background: var(--accent-soft); }
.category-collection { color: var(--success); border-color: oklch(0.8 0.045 155); background: var(--success-soft); }
.category-evidence { color: var(--info); border-color: oklch(0.81 0.04 238); background: var(--info-soft); }
.category-demonstration { color: var(--medium); border-color: oklch(0.82 0.05 78); background: var(--medium-soft); }
.category-response { color: var(--high); border-color: oklch(0.84 0.06 45); background: var(--high-soft); }
.category-workspace { color: var(--muted); border-color: var(--line-strong); background: var(--surface-cool); }
.activity-day li > div { display: grid; gap: 0.12rem; min-width: 0; }
.activity-day li strong { font-size: 0.75rem; }
.activity-day li small { overflow: hidden; color: var(--quiet); font-size: 0.62rem; text-overflow: ellipsis; white-space: nowrap; }
.activity-day li small code { font-size: 0.58rem; }
.activity-event-link:hover strong { color: var(--accent-dark); }
.activity-actor { max-width: 180px; overflow: hidden; color: var(--muted); font-size: 0.62rem; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.activity-open { color: var(--accent-dark); font-size: 0.62rem; font-weight: 700; text-align: right; white-space: nowrap; }
.activity-open:hover { text-decoration: underline; text-underline-offset: 3px; }
.activity-detail-header { margin-bottom: 1.25rem; }
.activity-dossier {
  padding: 1rem;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}
.activity-dossier > header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid var(--line);
}
.activity-dossier > header h2 { margin: 0; font-family: var(--font-mono); font-size: 0.8rem; }
.activity-dossier dl {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0 0 0.9rem;
}
.activity-dossier dl div {
  min-width: 0;
  padding: 0.8rem;
  border-right: 1px solid var(--line);
}
.activity-dossier dl div:first-child { padding-left: 0; }
.activity-dossier dl div:last-child { padding-right: 0; border-right: 0; }
.activity-dossier dt {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.56rem;
  text-transform: uppercase;
}
.activity-dossier dd { margin: 0.18rem 0 0; overflow-wrap: anywhere; font-size: 0.65rem; }
.activity-dossier dd code { font-size: 0.59rem; }
.activity-payload { margin-top: 1.5rem; }
.activity-payload pre {
  max-height: 620px;
  margin: 0;
  padding: 1rem;
  overflow: auto;
  border: 1px solid var(--line-strong);
  background: var(--ink);
  color: var(--surface);
  tab-size: 2;
}
.activity-payload pre code { color: inherit; font-size: 0.66rem; white-space: pre; }

/* Asset register and dossier */
.asset-filter-ledger {
  display: grid;
  grid-template-columns: minmax(220px, 1.35fr) repeat(4, minmax(140px, 0.8fr)) auto;
  gap: 0.65rem;
  align-items: end;
  margin-bottom: 1rem;
  padding: 0.9rem;
  border: 1px solid var(--line);
  background: var(--surface);
}
.asset-filter-ledger label { display: grid; gap: 0.32rem; min-width: 0; }
.asset-filter-ledger label > span,
.asset-filter-actions::before {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.58rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.asset-filter-actions { display: flex; gap: 0.4rem; align-items: center; }
.asset-filter-actions::before { content: "View"; position: absolute; transform: translateY(-2.2rem); }
.asset-register .asset-cell a { color: var(--ink); text-decoration: none; }
.asset-register .asset-cell a:hover { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 0.18em; }
.resource-index {
  display: inline-grid;
  width: 31px;
  height: 31px;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--line-strong);
  background: var(--surface-cool);
  color: var(--accent-dark);
  font-family: var(--font-mono);
  font-size: 0.59rem;
  font-weight: 760;
}
.empty-state-ledger .empty-index {
  display: inline-flex;
  margin-bottom: 0.8rem;
  padding: 0.25rem 0.38rem;
  border: 1px solid var(--line-strong);
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.58rem;
  letter-spacing: 0.08em;
}
.breadcrumb-ledger {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  margin: -0.4rem 0 1.25rem;
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.62rem;
}
.breadcrumb-ledger a { color: var(--accent-dark); text-underline-offset: 0.2em; }
.asset-dossier-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.6fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 1.2rem;
  padding-bottom: 1.2rem;
  border-bottom: 2px solid var(--ink);
}
.asset-dossier-header h1 { margin: 0.18rem 0 0.38rem; }
.asset-dossier-header p { margin: 0; }
.asset-dossier-reference { display: grid; gap: 0.35rem; justify-items: end; min-width: 0; text-align: right; }
.asset-dossier-reference > span {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.58rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.asset-dossier-reference code { display: block; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.asset-dossier-summary { grid-template-columns: 1.25fr repeat(4, 1fr); margin-bottom: 1.5rem; }
.asset-dossier-summary > div { min-width: 0; }
.asset-dossier-summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dossier-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.35rem; align-items: start; }
.dossier-grid > main, .dossier-grid > aside { display: grid; gap: 1.35rem; min-width: 0; }
.ledger-section { min-width: 0; border: 1px solid var(--line); background: var(--surface); }
.ledger-section-header {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--line);
  background: var(--surface-cool);
}
.ledger-section-header .eyebrow { margin-bottom: 0.1rem; }
.ledger-section-header h2 { margin: 0; font-size: 1rem; letter-spacing: -0.015em; }
.ledger-count {
  min-width: 28px;
  padding: 0.2rem 0.35rem;
  border: 1px solid var(--line-strong);
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.62rem;
  text-align: center;
}
.ledger-empty { margin: 0; padding: 1.2rem 1rem; color: var(--quiet); font-size: 0.72rem; }
.endpoint-dossier-list, .asset-finding-list, .change-register { display: grid; }
.endpoint-dossier { padding: 1rem; border-bottom: 1px solid var(--line); }
.endpoint-dossier:last-child { border-bottom: 0; }
.endpoint-dossier > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.endpoint-dossier > header > div { display: grid; min-width: 0; }
.endpoint-dossier h3 { margin: 0.2rem 0 0.1rem; overflow-wrap: anywhere; font-size: 0.88rem; }
.endpoint-dossier header code, .endpoint-dossier header span { color: var(--quiet); font-size: 0.6rem; }
.endpoint-dossier > p { margin: 0.75rem 0; color: var(--muted); font-size: 0.7rem; }
.endpoint-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-top: 1px solid var(--line); }
.endpoint-facts div { display: grid; gap: 0.15rem; padding: 0.55rem 0.7rem 0.55rem 0; }
.endpoint-facts dt,
.signal-register dt {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.56rem;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}
.endpoint-facts dd { margin: 0; color: var(--muted); font-size: 0.63rem; }
.signal-disclosure { margin-top: 0.65rem; border-top: 1px solid var(--line); }
.signal-disclosure > summary {
  display: flex;
  justify-content: space-between;
  padding: 0.65rem 0 0;
  color: var(--accent-dark);
  cursor: pointer;
  font-size: 0.64rem;
  font-weight: 680;
}
.signal-disclosure > summary span { color: var(--quiet); font-family: var(--font-mono); }
.signal-register { display: grid; margin: 0.65rem 0 0; border-top: 1px solid var(--line); }
.signal-register > div { display: grid; grid-template-columns: minmax(100px, 0.8fr) minmax(0, 1.2fr); gap: 0.7rem; align-items: start; padding: 0.5rem 0; border-bottom: 1px solid var(--line); }
.signal-register dd { min-width: 0; margin: 0; text-align: right; }
.signal-register dd code { display: block; overflow-wrap: anywhere; white-space: normal; }
.signal-register-primary { margin: 0; padding: 0 1rem 0.45rem; border-top: 0; }
.asset-finding-row {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: start;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}
.asset-finding-row:last-child { border-bottom: 0; }
.asset-finding-row:hover { background: var(--surface-cool); }
.asset-finding-row > span:nth-child(2) { display: grid; gap: 0.17rem; }
.asset-finding-row code { color: var(--accent-dark); font-size: 0.58rem; }
.asset-finding-row strong { font-size: 0.72rem; }
.asset-finding-row small { color: var(--quiet); font-size: 0.64rem; line-height: 1.45; }
.change-register > details { border-bottom: 1px solid var(--line); }
.change-register > details:last-child { border-bottom: 0; }
.change-register summary {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: start;
  padding: 0.85rem 1rem;
  cursor: pointer;
}
.change-register summary > span:nth-child(2) { display: grid; gap: 0.15rem; }
.change-register summary strong { font-size: 0.7rem; }
.change-register summary small, .change-register time { color: var(--quiet); font-size: 0.61rem; }
.change-kind { color: var(--accent-dark); font-family: var(--font-mono); font-size: 0.6rem; font-weight: 700; text-transform: uppercase; }
.change-payloads { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding: 1px; background: var(--line); }
.change-payloads > div { min-width: 0; padding: 0.7rem; background: var(--surface-subtle); }
.change-payloads span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.56rem; text-transform: uppercase; }
.change-payloads pre { max-height: 240px; margin: 0.35rem 0 0; overflow: auto; font-size: 0.58rem; white-space: pre-wrap; }
.relationship-register { margin: 0; padding: 0; list-style: none; }
.relationship-register li { display: grid; gap: 0.15rem; padding: 0.75rem 1rem; border-bottom: 1px solid var(--line); }
.relationship-register li:last-child { border-bottom: 0; }
.relationship-register span { color: var(--accent-dark); font-family: var(--font-mono); font-size: 0.56rem; text-transform: uppercase; }
.relationship-register strong { overflow-wrap: anywhere; font-size: 0.68rem; }
.relationship-register small { color: var(--quiet); font-size: 0.61rem; line-height: 1.45; }
.evidence-limitation { padding: 0.9rem 1rem; border: 1px solid color-mix(in oklch, var(--accent) 35%, var(--line)); background: var(--surface-cool); }
.evidence-limitation strong { font-size: 0.68rem; }
.evidence-limitation p { margin: 0.25rem 0 0; color: var(--muted); font-size: 0.65rem; line-height: 1.5; }
.case-link-panel { padding: 1rem; border: 1px solid var(--line); background: var(--surface); }
.case-link-panel h2 { margin: 0.15rem 0 0.45rem; font-size: 0.9rem; }
.case-link-panel p:not(.eyebrow) { margin: 0 0 0.8rem; color: var(--quiet); font-size: 0.65rem; line-height: 1.5; }
.case-link-panel-inline { margin-top: 1.1rem; padding: 1rem 0 0; border-width: 1px 0 0; background: transparent; }

/* User-scoped operational views */
.saved-view-bar {
  position: relative;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: center;
  min-height: 48px;
  margin: -0.6rem 0 1.2rem;
  padding: 0.45rem 0;
  border-block: 1px solid var(--line);
}
.saved-view-heading { display: grid; gap: 0.08rem; }
.saved-view-heading > span {
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: 0.6rem;
  font-weight: 720;
}
.saved-view-heading small, .saved-view-empty { color: var(--quiet); font-size: 0.56rem; }
.saved-view-links { display: flex; min-width: 0; flex-wrap: wrap; gap: 0.35rem 0.7rem; align-items: center; }
.saved-view-link { display: inline-flex; align-items: center; border-bottom: 1px solid var(--line-strong); }
.saved-view-link > a { padding: 0.2rem 0; color: var(--accent-dark); font-size: 0.65rem; font-weight: 680; }
.saved-view-link > a:hover { border-color: var(--accent); text-decoration: underline; text-underline-offset: 0.18em; }
.saved-view-link form { margin: 0; }
.saved-view-link button {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  padding: 0;
  border: 0;
  color: var(--quiet);
  background: transparent;
  font-size: 0.8rem;
}
.saved-view-link button:hover { color: var(--critical); }
.saved-view-save { position: relative; justify-self: end; }
.saved-view-save > summary {
  color: var(--accent-dark);
  cursor: pointer;
  font-size: 0.64rem;
  font-weight: 700;
  list-style-position: inside;
  white-space: nowrap;
}
.saved-view-save > form {
  position: absolute;
  z-index: 12;
  top: calc(100% + 0.65rem);
  right: 0;
  display: grid;
  width: min(360px, calc(100vw - 3rem));
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.55rem;
  padding: 0.8rem;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  box-shadow: var(--shadow-small);
}
.saved-view-save label { display: grid; gap: 0.25rem; }
.saved-view-save label > span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.56rem; }
.saved-view-save input {
  width: 100%;
  min-height: 36px;
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-small);
  background: var(--surface);
  font-size: 0.68rem;
}
.saved-view-save input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: 0; }

/* Investigations */
.status-monitoring { color: var(--accent-dark); background: var(--accent-soft); }
.status-closed { color: var(--muted); background: var(--surface-subtle); }
.investigation-summary { margin-bottom: 0; }
.register-tabs {
  display: flex;
  gap: 0;
  margin: 0 0 1rem;
  border: 1px solid var(--line);
  border-top: 0;
  background: var(--surface);
}
.register-tabs a {
  padding: 0.55rem 0.85rem;
  border-right: 1px solid var(--line);
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.59rem;
  font-weight: 650;
  text-decoration: none;
  text-transform: uppercase;
}
.register-tabs a:hover, .register-tabs a.is-active { color: var(--accent-dark); background: var(--surface-cool); }
.register-tabs a.is-active { box-shadow: inset 0 -2px var(--accent); }
.investigation-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.35rem; align-items: start; }
.investigation-register { min-width: 0; }
.investigation-create {
  position: sticky;
  top: 1rem;
  padding: 1.1rem;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}
.investigation-create h2 { margin: 0.15rem 0 0.45rem; font-size: 1.05rem; }
.investigation-create > p:not(.eyebrow) { margin: 0 0 1rem; color: var(--muted); font-size: 0.68rem; line-height: 1.55; }
.selected-evidence {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.18rem 0.7rem;
  margin-bottom: 1rem;
  padding: 0.7rem;
  border: 1px solid color-mix(in oklch, var(--accent) 35%, var(--line));
  background: var(--surface-cool);
}
.selected-evidence span {
  grid-column: 1 / -1;
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.56rem;
  text-transform: uppercase;
}
.selected-evidence strong { overflow-wrap: anywhere; font-size: 0.67rem; }
.selected-evidence a { color: var(--accent-dark); font-size: 0.62rem; font-weight: 700; }
.investigation-list { margin: 0; padding: 0; border: 1px solid var(--line); list-style: none; }
.investigation-list li { border-bottom: 1px solid var(--line); }
.investigation-list li:last-child { border-bottom: 0; }
.investigation-list li.is-overdue { background: var(--high-soft); }
.investigation-list li > a {
  display: grid;
  grid-template-columns: 82px minmax(220px, 1fr) minmax(120px, 0.45fr) 96px;
  gap: 0.8rem;
  align-items: start;
  padding: 0.9rem 1rem;
  color: var(--ink);
  text-decoration: none;
}
.investigation-list li > a:hover { background: var(--surface-cool); }
.investigation-reference {
  color: var(--accent-dark);
  font-family: var(--font-mono);
  font-size: 0.6rem;
  font-weight: 720;
}
.investigation-copy { display: grid; gap: 0.2rem; min-width: 0; }
.investigation-copy > span:first-child { display: flex; gap: 0.3rem; margin-bottom: 0.15rem; }
.investigation-copy > strong { font-size: 0.74rem; }
.investigation-copy > small { display: -webkit-box; overflow: hidden; color: var(--quiet); font-size: 0.64rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.investigation-owner, .investigation-due { display: grid; gap: 0.15rem; }
.investigation-owner small, .investigation-due small { color: var(--quiet); font-family: var(--font-mono); font-size: 0.55rem; text-transform: uppercase; }
.investigation-owner strong, .investigation-due strong { overflow-wrap: anywhere; font-size: 0.64rem; }
.investigation-counts { grid-column: 2 / -1; color: var(--quiet); font-family: var(--font-mono); font-size: 0.56rem; }
.investigation-header { margin-bottom: 1.2rem; padding-bottom: 1.2rem; border-bottom: 2px solid var(--ink); }
.investigation-header h1 { margin: 0.25rem 0 0.4rem; }
.investigation-header p:last-child { max-width: 850px; margin-bottom: 0; }
.investigation-detail-summary { grid-template-columns: 1.25fr repeat(4, 1fr); margin-bottom: 1.5rem; }
.investigation-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.35rem; align-items: start; }
.investigation-detail-layout > main, .investigation-detail-layout > aside { display: grid; gap: 1.35rem; min-width: 0; }
.investigation-detail-layout > aside { position: sticky; top: 1rem; }
.investigation-evidence { margin: 0; padding: 0; list-style: none; }
.investigation-evidence li {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: start;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--line);
}
.investigation-evidence li:last-child { border-bottom: 0; }
.investigation-subject-kind { color: var(--accent-dark); font-family: var(--font-mono); font-size: 0.58rem; text-transform: uppercase; }
.investigation-evidence a { display: grid; gap: 0.13rem; color: var(--ink); text-decoration: none; }
.investigation-evidence a:hover strong { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 0.18em; }
.investigation-evidence strong { font-size: 0.68rem; }
.investigation-evidence small, .investigation-evidence time { color: var(--quiet); font-size: 0.58rem; }
.investigation-note-form { padding: 1rem; border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.investigation-note-form .field { margin-bottom: 0.65rem; }
.investigation-notes { margin: 0; padding: 0 1rem; list-style: none; }
.investigation-notes li { position: relative; padding: 0.9rem 0 0.9rem 1.2rem; border-bottom: 1px solid var(--line); }
.investigation-notes li:last-child { border-bottom: 0; }
.investigation-notes li::before { position: absolute; top: 1.05rem; left: 0; width: 6px; height: 6px; border: 1px solid var(--accent); content: ""; }
.investigation-notes time, .investigation-notes small { color: var(--quiet); font-family: var(--font-mono); font-size: 0.56rem; }
.investigation-notes p { margin: 0.35rem 0; color: var(--muted); font-size: 0.69rem; line-height: 1.55; white-space: pre-wrap; }
.case-control { padding: 1rem; border: 1px solid var(--line-strong); background: var(--surface); }
.case-control h2 { margin: 0.15rem 0 0.4rem; font-size: 0.95rem; }
.case-control > p:not(.eyebrow) { margin: 0 0 0.8rem; color: var(--quiet); font-size: 0.65rem; line-height: 1.5; }
.case-editor > summary { color: var(--accent-dark); cursor: pointer; font-size: 0.68rem; font-weight: 700; }
.case-editor[open] > summary { margin-bottom: 1rem; padding-bottom: 0.65rem; border-bottom: 1px solid var(--line); }
.case-audit-link { padding: 0.2rem 0; color: var(--accent-dark); font-size: 0.65rem; text-underline-offset: 0.2em; }
.case-new-link { display: inline-flex; margin-top: 0.75rem; font-size: 0.64rem; }

/* Evidence pack governance */
.status-active { color: var(--success); background: var(--success-soft); }
.status-expired { color: var(--medium); background: var(--medium-soft); }
.status-revoked { color: var(--muted); background: var(--surface-subtle); }
.evidence-pack-summary { margin-bottom: 1.1rem; }
.evidence-pack-contract {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 0.8rem;
  align-items: start;
  margin-bottom: 1.4rem;
  padding: 0.75rem 0;
  border-block: 1px solid var(--line);
}
.evidence-pack-contract > div { display: grid; gap: 0.15rem; }
.evidence-pack-contract strong { font-size: 0.71rem; }
.evidence-pack-contract p { margin: 0; font-size: 0.65rem; }
.evidence-pack-list { margin: 0; padding: 0; border-top: 1px solid var(--line-strong); list-style: none; }
.evidence-pack-list > li {
  display: grid;
  grid-template-columns: 92px minmax(220px, 1fr) 132px 132px 70px 78px;
  gap: 0.8rem;
  align-items: center;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--line);
}
.evidence-pack-list > li > code { color: var(--accent-dark); font-size: 0.59rem; }
.evidence-pack-copy { display: grid; min-width: 0; gap: 0.12rem; }
.evidence-pack-copy strong { overflow: hidden; font-size: 0.7rem; text-overflow: ellipsis; white-space: nowrap; }
.evidence-pack-copy small { color: var(--quiet); font-size: 0.6rem; }
.evidence-pack-list > li > div:not(.evidence-pack-copy) { display: grid; gap: 0.12rem; }
.evidence-pack-list > li > div:not(.evidence-pack-copy) span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.54rem; text-transform: uppercase; }
.evidence-pack-list time { color: var(--muted); font-size: 0.6rem; }
.evidence-pack-list form { margin: 0; }
.evidence-pack-closed { color: var(--quiet); font-size: 0.6rem; text-align: center; }
.evidence-pack-integrity { font-family: var(--font-mono); }
.integrity-verified { color: var(--success) !important; }
.integrity-failed { color: var(--critical) !important; }
.evidence-pack-contract-state { font-family: var(--font-mono); }
.contract-current { color: var(--success) !important; }
.contract-workspace-changed,
.contract-catalog-changed { color: var(--warning) !important; }
.contract-untrusted { color: var(--critical) !important; }

/* Reports */
.report-body { background: var(--canvas); }
.report-actions { position: sticky; z-index: 10; top: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.5rem; padding: 0.8rem max(1rem, calc((100% - 900px) / 2)); border-bottom: 1px solid var(--line); background: var(--canvas); }
.report-document { width: min(900px, calc(100% - 32px)); margin: 1.5rem auto 4rem; padding: 3.2rem 3.6rem; border: 1px solid var(--line-strong); background: var(--surface); box-shadow: var(--shadow-small); }
.report-cover { padding-bottom: 2.5rem; border-bottom: 1px solid var(--ink); }
.report-cover .brand { margin-bottom: 2.6rem; }
.report-cover h1 { margin: 0.4rem 0; font-size: 2.4rem; letter-spacing: -0.035em; }
.report-cover dl { display: flex; gap: 4rem; margin: 2rem 0 0; }
.report-cover dl div { display: grid; }
.report-cover dt { color: var(--quiet); font-size: 0.65rem; text-transform: uppercase; }
.report-cover dd { margin: 0.2rem 0 0; font-size: 0.76rem; font-weight: 650; }
.report-section { padding: 2.2rem 0; border-bottom: 1px solid var(--line); break-inside: avoid; }
.report-section-title { display: flex; align-items: end; justify-content: space-between; margin-bottom: 1rem; }
.report-section-title h2 { margin: 0; }
.report-section-title > span { color: var(--quiet); font-size: 0.7rem; }
.report-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.report-summary > div { display: grid; gap: 0.2rem; padding: 0.8rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.report-summary dt { color: var(--quiet); font-size: 0.59rem; font-weight: 720; text-transform: uppercase; }
.report-summary dd { margin: 0; font-size: 1.2rem; font-weight: 760; letter-spacing: -0.03em; }
.report-governance { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; border-block: 1px solid var(--line-strong); }
.report-governance > div { display: grid; gap: 0.16rem; padding: 0.85rem; border-right: 1px solid var(--line); }
.report-governance > div:first-child { padding-left: 0; }
.report-governance > div:nth-child(4n) { border-right: 0; }
.report-governance > div:nth-child(n+5) { border-top: 1px solid var(--line); }
.report-governance > div:last-child { border-right: 0; }
.report-governance dt, .report-baseline-record span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.57rem; text-transform: uppercase; }
.report-governance dd { margin: 0; font-size: 1.3rem; font-weight: 760; }
.report-governance small { color: var(--quiet); font-size: 0.58rem; line-height: 1.35; }
.report-governance-note { margin: 0.75rem 0 0; font-size: 0.65rem; }
.report-integrity dl { display: grid; gap: 0; margin: 0; border-block: 1px solid var(--line); }
.report-integrity dl > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 0.7rem; padding: 0.55rem 0; border-bottom: 1px solid var(--line); }
.report-integrity dl > div:last-child { border-bottom: 0; }
.report-integrity dt { color: var(--quiet); font-size: 0.57rem; text-transform: uppercase; }
.report-integrity dd { min-width: 0; margin: 0; }
.report-integrity code { display: block; overflow-wrap: anywhere; font-size: 0.6rem; }
.report-integrity > p { margin: 0.75rem 0 0; color: var(--quiet); font-size: 0.64rem; }
.report-policy dl { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; border-block: 1px solid var(--line); }
.report-policy dl > div { padding: 0.6rem; border-right: 1px solid var(--line); }
.report-policy dl > div:first-child { padding-left: 0; }
.report-policy dl > div:last-child { border-right: 0; }
.report-policy dt { color: var(--quiet); font-size: 0.55rem; text-transform: uppercase; }
.report-policy dd { margin: 0.15rem 0 0; font-family: var(--font-mono); font-size: 0.64rem; font-weight: 700; }
.report-policy > p { margin: 0.7rem 0 0; color: var(--quiet); font-size: 0.63rem; }
.report-contract-receipt { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1rem; margin-bottom: 0.85rem; padding-block: 0.65rem; border-block: 1px solid var(--line); }
.report-contract-receipt span { display: block; color: var(--quiet); font-size: 0.55rem; text-transform: uppercase; }
.report-contract-receipt code + span { margin-top: 0.45rem; }
.report-contract-receipt code { display: block; margin-top: 0.2rem; overflow-wrap: anywhere; font-size: 0.58rem; }
.report-contract-receipt p { margin: 0; color: var(--quiet); font-size: 0.62rem; }
.report-collection-contract .report-table th:nth-child(1) { width: 17%; }
.report-collection-contract .report-table th:nth-child(2) { width: 11%; }
.report-collection-contract .report-table small { display: block; margin-top: 0.25rem; }
.report-baseline-record { display: grid; grid-template-columns: 1.5fr 1fr 1fr 0.55fr; margin-bottom: 0.8rem; border-block: 1px solid var(--line); }
.report-baseline-record > div { display: grid; gap: 0.18rem; padding: 0.65rem; border-right: 1px solid var(--line); }
.report-baseline-record > div:first-child { padding-left: 0; }
.report-baseline-record > div:last-child { border-right: 0; }
.report-baseline-record strong { font-size: 0.66rem; line-height: 1.45; }
.report-table { width: 100%; border-collapse: collapse; }
.report-table th, .report-table td { padding: 0.65rem; border: 1px solid var(--line); font-size: 0.68rem; text-align: left; vertical-align: top; }
.report-table th { background: var(--surface-cool); color: var(--muted); font-size: 0.6rem; text-transform: uppercase; }
.report-table td:first-child { display: grid; }
.report-table small { color: var(--quiet); }
.report-table code { display: block; font-size: 0.61rem; }
.report-findings { display: grid; gap: 0; border-top: 1px solid var(--line); }
.report-findings article { padding: 1rem 0; border-bottom: 1px solid var(--line); break-inside: avoid; }
.report-findings article > div:not(.report-finding-detail) { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.report-findings h3 { margin-top: 0.7rem; }
.report-findings p { margin-bottom: 0.4rem; font-size: 0.74rem; }
.report-findings small { color: var(--quiet); }
.report-cases { border-top: 1px solid var(--line-strong); }
.report-cases > article { padding: 1.1rem 0; border-bottom: 1px solid var(--line); break-inside: avoid; }
.report-cases > article > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.report-cases > article > header > div { display: flex; gap: 0.35rem; }
.report-cases h3 { margin: 0.75rem 0 0.25rem; }
.report-cases > article > p { margin-bottom: 0.65rem; font-size: 0.7rem; }
.report-cases > article > dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-top: 1px solid var(--line); }
.report-cases > article > dl > div { padding: 0.5rem 0.5rem 0.5rem 0; }
.report-cases dt { color: var(--quiet); font-size: 0.56rem; text-transform: uppercase; }
.report-cases dd { margin: 0.15rem 0 0; font-size: 0.64rem; font-weight: 650; }
.report-case-records, .report-case-notes { margin-top: 0.75rem; padding-top: 0.65rem; border-top: 1px solid var(--line); }
.report-case-records > strong, .report-case-notes > strong { color: var(--muted); font-size: 0.61rem; text-transform: uppercase; }
.report-case-records ul, .report-case-notes ol { margin: 0.4rem 0 0; padding: 0; list-style: none; }
.report-case-records li { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 0.6rem; padding: 0.45rem 0; border-top: 1px solid var(--line); }
.report-case-records li span { color: var(--accent-dark); font-size: 0.57rem; text-transform: uppercase; }
.report-case-records li strong { font-size: 0.63rem; }
.report-case-records li small { color: var(--quiet); font-size: 0.56rem; }
.report-case-notes li { padding: 0.55rem 0; border-top: 1px solid var(--line); }
.report-case-notes time, .report-case-notes small { color: var(--quiet); font-size: 0.56rem; }
.report-case-notes p { margin: 0.2rem 0; color: var(--muted); font-size: 0.64rem; white-space: pre-wrap; }
.report-finding-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; margin-top: 0.8rem; }
.report-finding-detail > div { padding: 0.7rem; border: 1px solid var(--line); background: var(--surface-cool); }
.report-finding-detail > div > strong { color: var(--muted); font-size: 0.61rem; text-transform: uppercase; }
.report-finding-detail > div > p { margin: 0.25rem 0 0; font-size: 0.68rem; }
.report-finding-detail .report-evidence, .report-finding-detail .report-decisions { grid-column: 1 / -1; }
.report-evidence ul, .report-decisions ul { margin: 0.4rem 0 0; padding: 0; list-style: none; }
.report-evidence li, .report-decisions li { padding: 0.5rem 0; border-top: 1px solid var(--line); }
.report-evidence li > span, .report-decisions li > span { color: var(--accent-dark); font-size: 0.61rem; font-weight: 720; }
.report-evidence li p, .report-decisions li p { margin: 0.15rem 0; }
.report-relationships { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.report-relationships li { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 0.4rem 0.8rem; padding: 0.7rem 0; border-bottom: 1px solid var(--line); }
.report-relationships li > span { color: var(--accent-dark); font-size: 0.6rem; font-weight: 750; text-transform: uppercase; }
.report-relationships li > div { display: grid; grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr); gap: 0.35rem; align-items: center; }
.report-relationships li > div strong { overflow-wrap: anywhere; font-size: 0.66rem; }
.report-relationships li > div i { color: var(--accent); font-style: normal; text-align: center; }
.report-relationships li p { grid-column: 2; margin: 0; color: var(--quiet); font-size: 0.63rem; }
.report-changes { margin: 0; padding: 0; list-style: none; }
.report-changes li { display: grid; grid-template-columns: 70px 1fr; gap: 0.7rem; padding: 0.7rem 0; border-top: 1px solid var(--line); }
.report-changes > li > span { color: var(--accent); font-size: 0.66rem; font-weight: 750; text-transform: uppercase; }
.report-changes p { margin: 0.2rem 0 0; font-size: 0.7rem; }
.report-changes small { color: var(--quiet); font-size: 0.58rem; }
.report-changes small b { color: var(--accent-dark); }
.report-changes .report-change-reason { color: var(--quiet); font-size: 0.62rem; }
.report-limitations { margin-top: 2rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-cool); break-inside: avoid; }
.report-limitations p:last-child { margin-bottom: 0; font-size: 0.75rem; }
.report-footer { margin-top: 2rem; color: var(--quiet); font-size: 0.62rem; overflow-wrap: anywhere; text-align: center; }

@media (max-width: 1180px) {
  .workspace-rail { grid-template-columns: minmax(160px, 1fr) minmax(360px, 1.7fr); }
  .workspace-health { display: none; }
  .inventory-filter { grid-template-columns: minmax(220px, 1.3fr) repeat(2, minmax(150px, 0.8fr)); }
  .inventory-filter-actions { align-self: stretch; }
  .route-column-head { display: none; }
  .path-row { grid-template-columns: minmax(200px, 1fr) minmax(170px, 0.8fr) minmax(160px, 0.7fr); }
  .path-route { display: none; }
  .finding-layout { grid-template-columns: minmax(0, 1fr) 310px; gap: 1.5rem; }
  .connector-layout { grid-template-columns: minmax(0, 1fr) 320px; }
  .intent-row { grid-template-columns: minmax(210px, 1fr) minmax(170px, 0.75fr) minmax(210px, 1fr); }
  .intent-actions { grid-column: 1 / -1; grid-template-columns: repeat(2, max-content); justify-items: start; }
  .topology-ledger li { grid-template-columns: 100px minmax(250px, 1fr) minmax(220px, 1fr); }
  .topology-ledger time { grid-column: 2; }
  .asset-filter-ledger { grid-template-columns: minmax(220px, 1.2fr) repeat(2, minmax(140px, 0.8fr)); }
  .asset-filter-actions { min-height: 34px; }
  .dossier-grid { grid-template-columns: minmax(0, 1fr) 310px; }
  .investigation-list li > a { grid-template-columns: 76px minmax(200px, 1fr) minmax(110px, 0.4fr); }
  .investigation-due { grid-column: 3; }
  .investigation-counts { grid-column: 2 / -1; }
}

@media (max-width: 900px) {
  .hero, .promise-band, .connector-band, .account-page, .account-page-wide, .beta-access { grid-template-columns: 1fr; }
  .hero { min-height: auto; gap: 3rem; padding: 4rem 0; }
  .hero-copy h1 { max-width: 15ch; }
  .promise-band { gap: 2rem; }
  .connector-band { padding: 2.5rem; gap: 1rem; }
  .account-page, .account-page-wide { gap: 2.5rem; }
  .beta-access { min-height: auto; gap: 2.5rem; padding: 4rem 0; }
  .beta-intro h1 { max-width: 15ch; }
  .sidebar { transform: translateX(-101%); transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1); }
  .sidebar.is-open { transform: translateX(0); box-shadow: var(--shadow); }
  .mobile-bar { position: sticky; z-index: 15; top: 0; display: flex; height: 60px; align-items: center; justify-content: space-between; padding: 0 1rem; border-bottom: 1px solid var(--line); background: var(--surface-cool); }
  .menu-button { min-height: 34px; padding: 0.4rem 0.7rem; border: 1px solid var(--line-strong); border-radius: var(--radius-small); background: var(--surface); font-size: 0.74rem; }
  .app-main { width: 100%; margin-left: 0; padding: 0 1.2rem 4rem; }
  .workspace-rail { min-height: 52px; grid-template-columns: minmax(0, 1fr) auto; margin: 0 -1.2rem 2rem; padding: 0 1.2rem; }
  .workspace-rail dl { display: none; }
  .workspace-health { display: flex; }
  .page-header-actions, .finding-hero { align-items: flex-start; grid-template-columns: 1fr; flex-direction: column; gap: 1.4rem; }
  .header-actions { width: 100%; flex-wrap: wrap; }
  .demo-console { grid-template-columns: 1fr; align-items: start; }
  .demo-console-actions { justify-content: flex-start; }
  .customer-context { align-items: flex-start; flex-direction: column; }
  .route-filter { grid-template-columns: minmax(230px, 1fr) minmax(180px, 0.8fr) auto; }
  .route-filter a { display: none; }
  .route-filter output { grid-column: 1 / -1; justify-self: start; }
  .boundary-summary { grid-template-columns: 1fr 1fr; }
  .boundary-summary > div, .boundary-summary > div:first-child { padding: 1rem; border-bottom: 1px solid var(--line); }
  .boundary-summary > div:nth-child(even) { border-right: 0; }
  .baseline-register { grid-template-columns: 1fr auto; }
  .baseline-connectors { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .exposure-map { grid-template-columns: 1fr; }
  .internet-root { flex-direction: row; justify-content: flex-start; padding: 0.8rem 1.1rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .internet-glyph { width: 34px; height: 34px; }
  .path-row { grid-template-columns: 1fr 1fr; }
  .path-assessment { justify-self: start; }
  .path-evidence-disclosure dl { grid-template-columns: 1fr 1fr; }
  .lower-grid, .finding-layout, .detail-columns { grid-template-columns: 1fr; }
  .decision-panel { position: static; }
  .finding-facts { align-content: start; }
  .connector-layout, .access-contract { grid-template-columns: 1fr; }
  .connector-setup { position: static; }
  .review-layout { grid-template-columns: 1fr; }
  .coverage-panel { position: static; }
  .asset-dossier-header { grid-template-columns: minmax(0, 1fr) 220px; gap: 1.5rem; }
  .dossier-register { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dossier-register > div:nth-child(3) { border-right: 0; }
  .dossier-register > div:nth-child(n+4) { border-top: 1px solid var(--line); }
  .dossier-register > div:nth-child(4) { padding-left: 0; }
  .dossier-columns { grid-template-columns: 1fr; gap: 0; }
  .review-row { grid-template-columns: 90px minmax(0, 1fr) 105px; }
  .review-row > .button { grid-column: 2 / -1; justify-self: start; }
  .activity-filter { grid-template-columns: 1fr 1fr; }
  .activity-filter-search, .activity-filter-actions { grid-column: 1 / -1; }
  .activity-day li { grid-template-columns: 70px 90px minmax(0, 1fr) 50px; }
  .activity-actor { grid-column: 3; justify-self: start; text-align: left; }
  .activity-open { grid-column: 4; grid-row: 1; }
  .activity-dossier dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .activity-dossier dl div:nth-child(3) { border-right: 0; }
  .activity-dossier dl div:nth-child(n+4) { border-top: 1px solid var(--line); }
  .activity-dossier dl div:nth-child(4) { padding-left: 0; }
  .intent-row { grid-template-columns: 1fr 1fr; }
  .intent-decision, .intent-actions { grid-column: auto; }
  .intent-actions { grid-template-columns: 1fr; }
  .topology-ledger li { grid-template-columns: 90px minmax(0, 1fr); align-items: start; }
  .topology-ledger p, .topology-ledger time { grid-column: 2; }
  .asset-filter-ledger { grid-template-columns: 1fr 1fr; }
  .asset-filter-search { grid-column: 1 / -1; }
  .asset-filter-actions { grid-column: 1 / -1; }
  .saved-view-bar { grid-template-columns: 130px minmax(0, 1fr) auto; }
  .evidence-pack-list > li { grid-template-columns: 82px minmax(200px, 1fr) 120px 120px 68px; }
  .evidence-pack-list > li > :last-child { grid-column: 2 / -1; justify-self: start; }
  .dossier-grid { grid-template-columns: 1fr; }
  .asset-dossier-summary { grid-template-columns: repeat(3, 1fr); }
  .investigation-layout, .investigation-detail-layout { grid-template-columns: 1fr; }
  .investigation-create, .investigation-detail-layout > aside { position: static; }
  .investigation-detail-summary { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
  .public-header, .hero, .promise-band, .connector-band, .public-footer, .account-page, .account-page-wide, .legal-page, .beta-header, .beta-access { width: min(100% - 28px, 1240px); }
  .public-header nav .text-link { display: none; }
  h1 { font-size: 1.9rem; }
  .hero-copy h1 { font-size: 2.65rem; }
  .hero-actions, .hero-actions form, .hero-actions .button { width: 100%; }
  .sample-path { grid-template-columns: 1fr; }
  .internet-node { flex-direction: row; min-height: 64px; border-right: 0; border-bottom: 1px solid var(--line); }
  .internet-node span { width: 32px; height: 32px; margin: 0 0.5rem 0 0; }
  .sample-branch { grid-template-columns: 1fr; gap: 0.35rem; }
  .sample-branch::before, .branch-arrow { display: none; }
  .connector-list { grid-template-columns: 1fr; }
  .public-footer { gap: 1rem; flex-direction: column; }
  .form-grid { grid-template-columns: 1fr; gap: 0; }
  .form-panel { padding: 1.3rem; }
  .account-intro h1 { font-size: 2.4rem; }
  .beta-intro h1 { font-size: 2.4rem; }
  .beta-panel { padding: 1.3rem; }
  .header-actions, .scan-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .scan-actions { padding: 0.65rem 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .header-actions form, .header-actions .button, .scan-actions form, .scan-actions .button { width: 100%; }
  .demo-console-copy { align-items: start; }
  .demo-console-actions { align-items: stretch; flex-direction: column; }
  .demo-console-actions > form, .demo-console-actions > form .button, .demo-reset, .demo-reset > summary { width: 100%; }
  .demo-reset-panel { position: static; width: 100%; margin-top: 0.55rem; box-shadow: none; }
  .customer-context > .button { width: 100%; }
  .boundary-summary { grid-template-columns: 1fr; }
  .baseline-register { grid-template-columns: 1fr; }
  .baseline-connectors { grid-column: 1; grid-template-columns: 1fr; }
  .baseline-editor { width: 100%; justify-self: stretch; }
  .baseline-editor > summary { width: 100%; }
  .baseline-editor[open] { grid-column: 1; }
  .baseline-editor[open] > summary { width: 100%; margin-left: 0; }
  .baseline-editor form { margin-left: 0; }
  .intent-row { grid-template-columns: 1fr; gap: 0.85rem; }
  .intent-row.intent-overdue, .intent-row.intent-needs-intent { margin-inline: -0.4rem; padding-inline: 0.4rem; }
  .intent-editor form { min-width: 0; }
  .topology-ledger li { grid-template-columns: 1fr; gap: 0.35rem; }
  .topology-route, .topology-ledger p, .topology-ledger time { grid-column: 1; }
  .topology-route { grid-template-columns: 1fr; }
  .topology-route span { text-align: left; transform: rotate(90deg); transform-origin: left center; }
  .scope-inline { align-items: flex-start; flex-direction: column; }
  .boundary-summary > div { border-right: 0; }
  .material-alert { grid-template-columns: 32px 1fr; }
  .material-alert > .badge, .material-alert > span:last-child { display: none; }
  .section-heading-row { align-items: flex-start; flex-direction: column; gap: 0.7rem; }
  .legend { gap: 0.65rem; }
  .route-filter { grid-template-columns: 1fr; }
  .route-filter .button { width: 100%; }
  .route-filter a { display: inline-flex; }
  .route-filter output { grid-column: 1; }
  .inventory-filter { grid-template-columns: 1fr; }
  .inventory-filter-actions, .inventory-filter-actions .button { width: 100%; }
  .inventory-filter-actions .button { flex: 1; }
  .asset-dossier-header { grid-template-columns: 1fr; gap: 1rem; }
  .asset-dossier-stamp { max-width: none; }
  .dossier-register { grid-template-columns: 1fr 1fr; }
  .dossier-register > div, .dossier-register > div:nth-child(3), .dossier-register > div:nth-child(4) { padding-left: 0.7rem; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
  .dossier-register > div:nth-child(odd) { padding-left: 0; }
  .dossier-register > div:nth-child(even) { border-right: 0; }
  .endpoint-dossiers { grid-template-columns: 1fr; }
  .endpoint-dossier > dl { grid-template-columns: 1fr; }
  .endpoint-dossier > dl > div { border-bottom: 1px solid var(--line); }
  .signal-register > div { grid-template-columns: 1fr; gap: 0.12rem; }
  .change-ledger > li { grid-template-columns: 1fr auto; }
  .change-ledger > li > div, .change-ledger > li > details { grid-column: 1 / -1; }
  .change-ledger .before-after { grid-template-columns: 1fr; }
  .path-groups { padding: 0; }
  .path-row { grid-template-columns: 1fr; }
  .path-resource { padding-top: 0.6rem; border-top: 1px solid var(--line); }
  .path-evidence-disclosure dl { grid-template-columns: 1fr; }
  .table-toolbar { gap: 0.5rem; flex-direction: column; }
  .search-form, .filter-form { width: 100%; align-items: stretch; flex-direction: column; }
  .search-form input, .filter-form select { width: 100%; }
  .data-table-wrap { overflow: visible; border: 0; background: transparent; }
  .data-table, .data-table tbody, .data-table tr, .data-table td { display: block; width: 100%; }
  .data-table thead { display: none; }
  .data-table tr { margin-bottom: 0.7rem; padding: 0.7rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
  .data-table td { display: grid; grid-template-columns: 115px 1fr; padding: 0.5rem 0; border: 0; }
  .data-table td::before { content: attr(data-label); color: var(--quiet); font-size: 0.62rem; font-weight: 700; text-transform: uppercase; }
  .finding-hero { display: grid; }
  .finding-title-block h1 { font-size: 2rem; }
  .finding-facts div { grid-template-columns: 90px 1fr; }
  .evidence-row { grid-template-columns: 26px 1fr; }
  .evidence-row > .badge { grid-column: 2; }
  .before-after { grid-template-columns: 1fr; }
  .comparison-arrow { transform: rotate(90deg); }
  .alert-ledger article { grid-template-columns: 34px 1fr; }
  .alert-ledger > article > .alert-actions { grid-column: 2; align-items: flex-start; }
  .activity-filter { grid-template-columns: 1fr; }
  .activity-filter-search, .activity-filter-actions { grid-column: 1; }
  .activity-filter-actions { align-items: stretch; flex-direction: column; }
  .activity-filter-actions .button { width: 100%; }
  .activity-contract { grid-template-columns: 34px minmax(0, 1fr); }
  .activity-day li { grid-template-columns: 64px minmax(0, 1fr) 44px; gap: 0.45rem 0.7rem; }
  .activity-day li > div { grid-column: 1 / -1; }
  .activity-actor { grid-column: 2; }
  .activity-open { grid-column: 3; grid-row: 1; }
  .activity-dossier > header { align-items: flex-start; flex-direction: column; }
  .activity-dossier dl { grid-template-columns: 1fr; }
  .activity-dossier dl div,
  .activity-dossier dl div:first-child,
  .activity-dossier dl div:last-child,
  .activity-dossier dl div:nth-child(4) {
    padding: 0.65rem 0;
    border-right: 0;
    border-top: 1px solid var(--line);
  }
  .review-row { grid-template-columns: 1fr; gap: 0.65rem; }
  .review-row > .button { grid-column: 1; width: 100%; }
  .review-timing { grid-template-columns: auto 1fr; align-items: baseline; }
  .coverage-panel { padding: 1rem; }
  .asset-filter-ledger { grid-template-columns: 1fr; }
  .asset-filter-search, .asset-filter-actions { grid-column: 1; }
  .asset-filter-actions { align-items: stretch; flex-direction: column; }
  .asset-filter-actions::before { display: none; }
  .asset-filter-actions .button { width: 100%; }
  .saved-view-bar { grid-template-columns: 1fr auto; align-items: start; }
  .saved-view-heading { grid-column: 1; }
  .saved-view-links { grid-column: 1 / -1; grid-row: 2; }
  .saved-view-save { grid-column: 2; grid-row: 1; }
  .saved-view-save > form { position: fixed; inset: auto 14px auto 14px; top: 132px; width: auto; }
  .evidence-pack-list > li { grid-template-columns: 82px minmax(0, 1fr); gap: 0.45rem 0.7rem; align-items: start; }
  .evidence-pack-copy, .evidence-pack-list > li > div:not(.evidence-pack-copy), .evidence-pack-list > li > :last-child { grid-column: 2; }
  .evidence-pack-list > li > .status-label { grid-column: 1; grid-row: 2; justify-self: start; }
  .evidence-pack-list > li > form .button { width: 100%; }
  .asset-dossier-header { grid-template-columns: 1fr; gap: 1rem; align-items: start; }
  .asset-dossier-reference { justify-items: start; text-align: left; }
  .asset-dossier-summary { grid-template-columns: 1fr 1fr; }
  .endpoint-dossier > header { align-items: flex-start; flex-direction: column; }
  .endpoint-facts { grid-template-columns: 1fr; }
  .endpoint-facts div { border-bottom: 1px solid var(--line); }
  .asset-finding-row { grid-template-columns: 68px minmax(0, 1fr); }
  .asset-finding-row > .status-label { grid-column: 2; justify-self: start; }
  .change-register summary { grid-template-columns: 58px minmax(0, 1fr); }
  .change-register time { grid-column: 2; }
  .change-payloads { grid-template-columns: 1fr; }
  .signal-register > div { grid-template-columns: 1fr; gap: 0.2rem; }
  .signal-register dd { text-align: left; }
  .register-tabs { overflow-x: auto; }
  .register-tabs a { flex: 0 0 auto; }
  .investigation-list li > a { grid-template-columns: 1fr; gap: 0.5rem; }
  .investigation-owner, .investigation-due, .investigation-counts { grid-column: 1; }
  .investigation-evidence li { grid-template-columns: 62px minmax(0, 1fr); }
  .investigation-evidence time { grid-column: 2; }
  .investigation-detail-summary { grid-template-columns: 1fr 1fr; }
  .connector-card-head, .connector-card-foot { align-items: flex-start; flex-direction: column; }
  .connector-state-chips { justify-content: flex-start; }
  .connector-card-foot form, .connector-card-foot .button { width: 100%; }
  .collection-control > div,
  .collection-suspended-record { grid-template-columns: 1fr; }
  .collection-control form,
  .collection-suspended-record form { grid-template-columns: 1fr; }
  .collection-control form label,
  .collection-suspended-record form label { grid-column: 1; }
  .collection-control .button,
  .collection-suspended-record .button { width: 100%; }
  .connector-scope { grid-template-columns: 1fr; gap: 0.2rem; }
  .health-message { grid-template-columns: 10px minmax(0, 1fr); }
  .health-message time { grid-column: 2; }
  .source-row { grid-template-columns: 1fr; gap: 0.35rem; }
  .scan-operations { grid-template-columns: 1fr; }
  .schedule-control { grid-template-columns: 1fr auto; }
  .schedule-control label { grid-column: 1 / -1; }
  .schedule-control select { width: 100%; }
  .schedule-control small { grid-column: 1 / -1; text-align: left; }
  .report-document { width: 100%; margin: 0; padding: 2rem 1.2rem; box-shadow: none; }
  .report-cover dl { gap: 1.2rem; flex-direction: column; }
  .report-table { display: block; overflow-x: auto; }
  .report-summary { grid-template-columns: 1fr 1fr; }
  .report-governance, .report-baseline-record { grid-template-columns: 1fr 1fr; }
  .report-governance > div:nth-child(2), .report-baseline-record > div:nth-child(2) { border-right: 0; }
  .report-governance > div:nth-child(3) { border-right: 1px solid var(--line); }
  .report-governance > div:nth-child(even) { border-right: 0; }
  .report-governance > div:nth-child(n+3), .report-baseline-record > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .report-cases > article > dl { grid-template-columns: 1fr; }
  .report-case-records li { grid-template-columns: 62px minmax(0, 1fr); }
  .report-case-records li small { grid-column: 2; }
  .report-finding-detail { grid-template-columns: 1fr; }
  .report-finding-detail .report-evidence, .report-finding-detail .report-decisions { grid-column: 1; }
  .report-relationships li { grid-template-columns: 1fr; }
  .report-relationships li p { grid-column: 1; }
}

@media print {
  @page { size: A4; margin: 16mm; }
  .report-body { background: var(--surface); }
  .report-actions { display: none; }
  .report-document { width: 100%; margin: 0; padding: 0; box-shadow: none; }
  .report-cover .brand { margin-bottom: 2rem; }
  .report-section { break-inside: avoid; }
  a { color: inherit; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

/* Observation evidence ledger */
.summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 1rem 0 1.4rem;
  border-block: 1px solid var(--line-strong);
  background: color-mix(in oklch, var(--surface) 58%, transparent);
}
.summary-strip > div {
  display: grid;
  min-height: 84px;
  align-content: center;
  gap: 0.12rem;
  padding: 0.85rem 1rem;
  border-right: 1px solid var(--line);
}
.summary-strip > div:first-child { padding-left: 0; }
.summary-strip > div:last-child { border-right: 0; }
.summary-strip span {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.61rem;
  font-weight: 650;
}
.summary-strip strong {
  overflow: hidden;
  font-size: 1.15rem;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.summary-strip small { color: var(--quiet); font-size: 0.61rem; }
.status-planned { color: var(--accent-dark); background: var(--accent-soft); }
.status-completed { color: var(--success); background: var(--success-soft); }
.status-cancelled { color: var(--critical); background: var(--critical-soft); }
.change-window-contract {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  margin: 1rem 0;
  padding: 0.75rem 0;
  border-block: 1px solid var(--line);
}
.change-window-contract p { max-width: 90ch; margin: 0; font-size: 0.73rem; }
.change-window-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(250px, 0.65fr); gap: 1rem; margin: 1rem 0 1.4rem; }
.change-window-editor, .change-window-method { border: 1px solid var(--line-strong); background: var(--surface); }
.change-window-editor > .section-heading-row, .change-window-method { padding: 1rem; }
.change-window-editor form { padding: 1rem; border-top: 1px solid var(--line); }
.change-window-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; margin-bottom: 1rem; }
.change-window-fields .field-wide { grid-column: 1 / -1; }
.change-window-method h2 { margin: 0.25rem 0 0.85rem; font-size: 1rem; }
.change-window-method > ol { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.change-window-method > ol li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 0.65rem; padding: 0.75rem 0; border-bottom: 1px solid var(--line); }
.change-window-method > ol li:last-child { border-bottom: 0; }
.change-window-method > ol li > span { color: var(--accent-dark); font-family: var(--font-mono); font-size: 0.61rem; font-weight: 800; }
.change-window-method li strong { font-size: 0.7rem; }
.change-window-method li p { margin: 0.15rem 0 0; color: var(--muted); font-size: 0.64rem; }
.change-window-register { margin-top: 1.2rem; border-top: 1px solid var(--line-strong); }
.change-window-register > ol { margin: 0; padding: 0; list-style: none; }
.change-window-register > ol > li {
  display: grid;
  grid-template-columns: 64px minmax(240px, 1.2fr) minmax(320px, 1fr) 118px;
  min-height: 126px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.change-window-register > ol > li > * { min-width: 0; padding: 0.9rem; border-right: 1px solid var(--line); }
.change-window-register > ol > li > :last-child { border-right: 0; }
.change-window-coordinate { display: grid; align-content: center; justify-items: center; gap: 0.1rem; background: var(--surface-subtle); font-family: var(--font-mono); }
.change-window-coordinate span, .change-window-coordinate small { color: var(--quiet); font-size: 0.55rem; }
.change-window-coordinate strong { font-size: 1.2rem; }
.change-window-copy { display: grid; align-content: center; gap: 0.3rem; }
.change-window-copy > div { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.change-window-copy h2 { margin: 0; font-size: 0.86rem; }
.change-window-copy h2 a:hover { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 0.16rem; }
.change-window-copy p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--muted); font-size: 0.67rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.change-window-copy code { color: var(--quiet); font-size: 0.58rem; }
.change-window-register li > dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; align-content: center; }
.change-window-register li > dl div { padding: 0.4rem 0.55rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.change-window-register li > dl div:nth-child(even) { border-right: 0; }
.change-window-register li > dl div:nth-child(n+3) { border-bottom: 0; }
.change-window-register dt { color: var(--quiet); font-size: 0.56rem; }
.change-window-register dd { overflow: hidden; margin: 0.18rem 0 0; font-size: 0.64rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.change-window-open { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; color: var(--accent-dark); font-size: 0.65rem; font-weight: 700; text-decoration: none; }
.change-window-open:hover { background: var(--accent-soft); }
.change-window-dossier-head { display: grid; grid-template-columns: 94px minmax(0, 1fr) 210px; gap: 1.1rem; margin-bottom: 1rem; border-block: 1px solid var(--line-strong); background: var(--surface); }
.change-window-dossier-state { display: grid; place-content: center; gap: 0.28rem; padding: 1rem; border-right: 1px solid var(--line); background: var(--surface-subtle); text-align: center; }
.change-window-dossier-state span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.55rem; }
.change-window-dossier-state strong { font-size: 0.69rem; text-transform: uppercase; }
.change-window-dossier-head > div:nth-child(2) { align-self: center; padding-block: 1rem; }
.change-window-dossier-head h1 { font-size: 1.5rem; }
.change-window-dossier-head p:last-child { max-width: 70ch; margin: 0; font-size: 0.76rem; }
.change-window-dossier-head > dl { display: grid; margin: 0; border-left: 1px solid var(--line); }
.change-window-dossier-head > dl div { display: grid; align-content: center; padding: 0.75rem; border-bottom: 1px solid var(--line); }
.change-window-dossier-head > dl div:last-child { border-bottom: 0; }
.change-window-dossier-head dt, .change-window-proof span { color: var(--quiet); font-size: 0.57rem; }
.change-window-dossier-head dd { margin: 0.18rem 0 0; font-size: 0.68rem; font-weight: 700; }
.change-window-proof { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 1rem; border: 1px solid var(--line-strong); background: var(--surface); }
.change-window-proof > div { display: grid; gap: 0.22rem; min-width: 0; padding: 0.8rem; border-right: 1px solid var(--line); }
.change-window-proof > div:last-child { border-right: 0; }
.change-window-proof strong, .change-window-proof code { overflow: hidden; font-size: 0.67rem; text-overflow: ellipsis; white-space: nowrap; }
.change-window-proof code { color: var(--accent-dark); }
.change-window-proof small { color: var(--quiet); font-size: 0.56rem; }
.change-window-dossier-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(270px, 0.6fr); gap: 1rem; align-items: start; }
.change-window-matches { margin: 0; padding: 0; list-style: none; }
.change-window-matches li { display: grid; grid-template-columns: 72px minmax(0, 1fr) 150px 72px; gap: 0.8rem; align-items: center; padding: 0.8rem 1rem; border-bottom: 1px solid var(--line); }
.change-window-matches li:last-child { border-bottom: 0; }
.change-window-matches li > div { display: grid; gap: 0.2rem; }
.change-window-matches strong { font-size: 0.72rem; }
.change-window-matches p { margin: 0; color: var(--muted); font-size: 0.65rem; }
.change-window-matches code, .change-window-matches time, .change-window-matches span { color: var(--quiet); font-size: 0.57rem; }
.change-window-matches a { color: var(--accent-dark); font-size: 0.63rem; font-weight: 700; }
.change-window-current-state { display: grid; justify-items: start; gap: 0.45rem; padding: 1rem; border-bottom: 1px solid var(--line); }
.change-window-current-state small { color: var(--quiet); font-size: 0.59rem; }
.change-window-lifecycle form { padding: 1rem; border-bottom: 1px solid var(--line); }
.change-window-transitions { margin: 0; padding: 0 1rem; list-style: none; }
.change-window-transitions li { display: grid; gap: 0.22rem; padding: 0.8rem 0; border-bottom: 1px solid var(--line); }
.change-window-transitions li:last-child { border-bottom: 0; }
.change-window-transitions time, .change-window-transitions small { color: var(--quiet); font-family: var(--font-mono); font-size: 0.55rem; }
.change-window-transitions strong { font-size: 0.65rem; }
.change-window-transitions p { margin: 0; color: var(--muted); font-size: 0.63rem; }
.observation-filter {
  display: grid;
  grid-template-columns: minmax(260px, 420px) auto auto 1fr;
  gap: 0.7rem;
  align-items: end;
  margin: 1rem 0;
  padding: 0.8rem;
  border: 1px solid var(--line);
  background: var(--surface);
}
.observation-filter label { display: grid; gap: 0.28rem; }
.observation-filter label > span, .observation-filter > span {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.64rem;
}
.observation-filter > span { align-self: center; justify-self: end; }
.observation-filter select { min-height: 36px; border: 1px solid var(--line-strong); background: var(--surface); }
.observation-contract {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0.75rem 0;
  border-block: 1px solid var(--line);
}
.observation-contract p { margin: 0; font-size: 0.73rem; }
.boundary-trajectory { margin: 1.2rem 0; border-top: 1px solid var(--line-strong); }
.boundary-trajectory > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--line-strong);
}
.boundary-trajectory > header h2 { margin: 0; font-size: 1rem; }
.boundary-trajectory > header > p { max-width: 62ch; margin: 0; color: var(--muted); font-size: 0.68rem; text-align: right; }
.trajectory-register { background: var(--surface); }
.trajectory-row {
  display: grid;
  grid-template-columns: minmax(170px, 0.9fr) minmax(180px, 0.9fr) minmax(300px, 1.35fr) minmax(150px, 0.7fr) 118px;
  border-bottom: 1px solid var(--line);
}
.trajectory-row > * { min-width: 0; padding: 0.8rem; border-right: 1px solid var(--line); }
.trajectory-row > :last-child { border-right: 0; }
.trajectory-source { display: flex; align-items: center; gap: 0.7rem; }
.trajectory-source > div, .trajectory-state { display: grid; align-content: center; gap: 0.28rem; }
.trajectory-source strong { overflow: hidden; font-size: 0.73rem; text-overflow: ellipsis; white-space: nowrap; }
.trajectory-source small, .trajectory-state small, .trajectory-period { color: var(--quiet); font-size: 0.6rem; }
.trajectory-state { justify-items: start; }
.trajectory-first { background: var(--surface-subtle); }
.trajectory-stable { background: var(--success-soft); color: var(--success); }
.trajectory-coverage, .trajectory-review, .trajectory-expanded { background: var(--high-soft); color: var(--high); }
.trajectory-changed { background: var(--accent-soft); color: var(--accent-dark); }
.trajectory-deltas { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; }
.trajectory-deltas div { display: grid; align-content: center; gap: 0.22rem; padding: 0 0.55rem; border-right: 1px solid var(--line); }
.trajectory-deltas div:last-child { border-right: 0; }
.trajectory-deltas dt { color: var(--quiet); font-size: 0.56rem; }
.trajectory-deltas dd { margin: 0; font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700; }
.trajectory-deltas .delta-up { color: var(--critical); }
.trajectory-deltas .delta-down { color: var(--success); }
.trajectory-period { display: flex; align-items: center; justify-content: center; gap: 0.38rem; font-family: var(--font-mono); }
.trajectory-period i { color: var(--accent); font-style: normal; }
.trajectory-action { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; color: var(--accent-dark); font-size: 0.66rem; font-weight: 700; text-decoration: none; }
.trajectory-action:hover { background: var(--accent-soft); }
.observation-compare-panel { margin: 1.2rem 0; border: 1px solid var(--line-strong); background: var(--surface); }
.observation-compare-panel > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--line);
  background: var(--surface-subtle);
}
.observation-compare-panel > header h2 { margin: 0; font-size: 0.95rem; }
.observation-compare-panel > header > span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.61rem; }
.observation-compare-panel form {
  display: grid;
  grid-template-columns: minmax(150px, 0.7fr) minmax(220px, 1fr) 24px minmax(220px, 1fr) auto;
  gap: 0.7rem;
  align-items: end;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid var(--line);
}
.observation-compare-panel form:last-child { border-bottom: 0; }
.observation-compare-panel form > strong { align-self: center; font-size: 0.7rem; }
.observation-compare-panel form > label { display: grid; gap: 0.25rem; }
.observation-compare-panel form label span { color: var(--quiet); font-size: 0.59rem; }
.observation-compare-panel form select { min-width: 0; min-height: 36px; border: 1px solid var(--line-strong); background: var(--surface); font-size: 0.68rem; }
.observation-compare-panel form > span { align-self: center; color: var(--accent); text-align: center; }
.observation-ledger { margin: 0; padding: 0; border-top: 1px solid var(--line-strong); list-style: none; }
.observation-ledger > li {
  display: grid;
  grid-template-columns: 58px minmax(230px, 1.4fr) minmax(270px, 1fr) 165px 125px;
  min-height: 116px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.observation-ledger > li.is-baseline { box-shadow: inset 3px 0 0 var(--accent); }
.observation-ledger > li > * { padding: 0.9rem; border-right: 1px solid var(--line); }
.observation-ledger > li > :last-child { border-right: 0; }
.observation-coordinate {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0.25rem;
  color: var(--muted);
  background: var(--surface-subtle);
  font-family: var(--font-mono);
}
.observation-coordinate span { font-size: 0.58rem; letter-spacing: 0.03em; writing-mode: vertical-rl; transform: rotate(180deg); }
.observation-coordinate strong { color: var(--ink); font-size: 1.18rem; font-variant-numeric: tabular-nums; }
.observation-identity { display: grid; align-content: center; gap: 0.35rem; min-width: 0; }
.observation-identity > div { display: flex; flex-wrap: wrap; gap: 0.55rem; align-items: center; }
.observation-identity > div > strong { font-size: 0.86rem; }
.observation-identity > span, .observation-identity code { color: var(--muted); font-size: 0.65rem; }
.observation-identity code { color: var(--quiet); }
.observation-measures { display: grid; grid-template-columns: 1fr 1fr; margin: 0; align-content: center; }
.observation-measures div { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; padding: 0.35rem 0.55rem; border-bottom: 1px solid var(--line); }
.observation-measures div:nth-child(odd) { border-right: 1px solid var(--line); }
.observation-measures div:nth-child(n+3) { border-bottom: 0; }
.observation-measures dt { color: var(--quiet); font-size: 0.6rem; }
.observation-measures dd { margin: 0; font-family: var(--font-mono); font-size: 0.78rem; font-weight: 700; }
.observation-result { display: grid; align-content: center; justify-items: start; gap: 0.35rem; }
.observation-result > span:not(.status-label), .observation-result small { color: var(--muted); font-size: 0.63rem; }
.observation-result small { color: var(--quiet); }
.observation-open {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  color: var(--accent-dark);
  font-size: 0.67rem;
  font-weight: 700;
}
.observation-open:hover { background: var(--accent-soft); }
.observation-dossier-head {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) 190px;
  gap: 1.2rem;
  align-items: stretch;
  margin-bottom: 1.2rem;
  border-block: 1px solid var(--line-strong);
  background: var(--surface);
}
.observation-coordinate-large { min-height: 132px; }
.observation-coordinate-large span { font-size: 0.62rem; }
.observation-coordinate-large strong { font-size: 1.65rem; }
.observation-dossier-head > div:nth-child(2) { align-self: center; padding-block: 1rem; }
.observation-dossier-head h1 { font-size: 1.65rem; }
.observation-dossier-head p:last-child { max-width: 70ch; margin: 0; font-size: 0.78rem; }
.observation-detail-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.observation-proof {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 0.38rem;
  padding: 1rem;
  border-left: 1px solid var(--line);
  background: var(--surface-cool);
}
.observation-proof small { margin-top: 0.45rem; color: var(--quiet); font-size: 0.62rem; }
.observation-proof code { font-size: 0.68rem; }
.observation-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 1.2rem; align-items: start; }
.observation-detail-grid main { display: grid; gap: 1.2rem; }
.observation-kind-register { border-top: 1px solid var(--line); }
.observation-kind-register > div {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 210px;
  gap: 0.75rem;
  align-items: center;
  min-height: 58px;
  border-bottom: 1px solid var(--line);
}
.observation-kind-register > div > strong { font-size: 0.73rem; }
.observation-kind-register dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; }
.observation-kind-register dl div { display: flex; justify-content: space-between; padding: 0.5rem; border-left: 1px solid var(--line); }
.observation-kind-register dt { color: var(--quiet); font-size: 0.59rem; }
.observation-kind-register dd { margin: 0; font-family: var(--font-mono); font-size: 0.7rem; font-weight: 700; }
.observation-change-register { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.observation-change-register li {
  display: grid;
  grid-template-columns: 95px minmax(0, 1fr);
  gap: 0.7rem;
  padding: 0.9rem 0;
  border-bottom: 1px solid var(--line);
}
.observation-change-register li > div:first-child { display: flex; align-items: flex-start; flex-direction: column; gap: 0.35rem; }
.observation-change-register li > div:nth-child(2) { min-width: 0; }
.observation-change-register strong { font-size: 0.75rem; }
.observation-change-register p { margin: 0.25rem 0; font-size: 0.68rem; }
.observation-change-register code { color: var(--quiet); font-size: 0.6rem; }
.observation-change-register dl { display: grid; grid-column: 2; grid-template-columns: 1fr 1fr; margin: 0; border: 1px solid var(--line); }
.observation-change-register dl div { padding: 0.6rem; min-width: 0; }
.observation-change-register dl div + div { border-left: 1px solid var(--line); }
.observation-change-register dt { color: var(--quiet); font-size: 0.58rem; text-transform: uppercase; }
.observation-change-register dd { margin: 0.2rem 0 0; color: var(--muted); font-family: var(--font-mono); font-size: 0.61rem; overflow-wrap: anywhere; }
.observation-finding-register { margin: 0; padding: 0; border-top: 1px solid var(--line-strong); list-style: none; }
.observation-finding-register > li {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr) 160px;
  gap: 0.85rem;
  padding: 0.95rem 0;
  border-bottom: 1px solid var(--line);
}
.observation-finding-state { display: grid; align-content: start; justify-items: start; gap: 0.35rem; }
.observation-finding-copy { display: grid; min-width: 0; align-content: start; gap: 0.18rem; }
.observation-finding-copy code { color: var(--accent-dark); font-size: 0.59rem; }
.observation-finding-copy strong { font-size: 0.75rem; }
.observation-finding-copy p { margin: 0.15rem 0; font-size: 0.68rem; line-height: 1.48; }
.observation-finding-copy small { color: var(--quiet); font-size: 0.6rem; overflow-wrap: anywhere; }
.observation-finding-disposition { display: grid; align-content: start; gap: 0.14rem; padding-left: 0.75rem; border-left: 1px solid var(--line); }
.observation-finding-disposition span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.56rem; text-transform: uppercase; }
.observation-finding-disposition strong { font-size: 0.68rem; }
.observation-finding-disposition small { color: var(--quiet); font-size: 0.58rem; line-height: 1.4; }
.observation-finding-register details { grid-column: 2 / -1; }
.observation-finding-register summary { color: var(--accent-dark); cursor: pointer; font-size: 0.62rem; font-weight: 700; }
.observation-finding-register details > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 0.65rem;
  border: 1px solid var(--line);
  background: var(--surface-subtle);
}
.observation-finding-register details section { min-width: 0; padding: 0.7rem; }
.observation-finding-register details section + section { border-left: 1px solid var(--line); }
.observation-finding-register details section:last-child { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; }
.observation-finding-register details section > span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.56rem; text-transform: uppercase; }
.observation-finding-register details section > p { margin: 0.25rem 0 0; font-size: 0.65rem; }
.observation-finding-register details ul { margin: 0.45rem 0 0; padding: 0; list-style: none; }
.observation-finding-register details li { padding: 0.5rem 0; border-top: 1px solid var(--line); }
.observation-finding-register details li strong { color: var(--accent-dark); font-size: 0.59rem; }
.observation-finding-register details li p { margin: 0.15rem 0; font-size: 0.64rem; }
.observation-finding-register details li small { color: var(--quiet); font-size: 0.58rem; }
.observation-coverage { border: 1px solid var(--line-strong); background: var(--surface); }
.observation-coverage > header { padding: 1rem; border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.observation-coverage h2 { margin-bottom: 0.55rem; }
.coverage-complete, .coverage-partial { font-family: var(--font-mono); font-size: 0.65rem; font-weight: 700; }
.coverage-complete { color: var(--success); }
.coverage-partial { color: var(--high); }
.observation-coverage > p { margin: 0; padding: 1rem; font-size: 0.7rem; }
.observation-coverage ol { margin: 0; padding: 0; list-style: none; }
.observation-coverage li { display: grid; grid-template-columns: 10px minmax(0, 1fr); gap: 0.65rem; padding: 0.8rem 1rem; border-bottom: 1px solid var(--line); }
.observation-coverage li:last-child { border-bottom: 0; }
.observation-coverage li .status-dot { margin-top: 0.3rem; }
.observation-coverage li div { display: grid; gap: 0.1rem; }
.observation-coverage li strong { font-size: 0.68rem; overflow-wrap: anywhere; }
.observation-coverage li span:not(.status-dot) { color: var(--muted); font-size: 0.61rem; }
.observation-coverage li small { color: var(--quiet); font-size: 0.59rem; line-height: 1.45; }
.observation-scope { margin-top: 1rem; }
.comparison-coordinate {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr);
  align-items: stretch;
  margin: 1.2rem 0;
  border-block: 1px solid var(--line-strong);
  background: var(--surface);
}
.comparison-coordinate article { display: grid; align-content: center; justify-items: start; gap: 0.28rem; min-height: 130px; padding: 1rem; }
.comparison-coordinate article > span:first-child { color: var(--muted); font-family: var(--font-mono); font-size: 0.62rem; }
.comparison-coordinate article > strong { font-size: 0.9rem; }
.comparison-coordinate time, .comparison-coordinate code { color: var(--quiet); font-size: 0.64rem; }
.comparison-axis { display: grid; place-items: center; color: var(--accent); border-inline: 1px solid var(--line); background: var(--surface-cool); font-family: var(--font-mono); font-size: 1.2rem; }
.observation-comparison-grid { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 1.2rem; align-items: start; }
.observation-comparison-grid main { display: grid; gap: 1.2rem; }
.comparison-delta-section { background: var(--surface); border-top: 1px solid var(--line-strong); }
.comparison-delta-section > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 0.8rem 0; border-bottom: 1px solid var(--line); }
.comparison-delta-section > header h2 { margin: 0; font-size: 1rem; }
.comparison-delta-section > header > span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.62rem; }
.comparison-delta-section > ol { margin: 0; padding: 0; list-style: none; }
.comparison-delta-section > ol > li {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) 90px;
  gap: 0.8rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--line);
}
.comparison-delta-section li > div strong { font-size: 0.74rem; }
.comparison-delta-section li > div p { margin: 0.2rem 0; font-size: 0.68rem; }
.comparison-delta-section li > div code { color: var(--quiet); font-size: 0.6rem; }
.comparison-delta-section li > .badge { align-self: start; justify-self: end; }
.comparison-delta-section details { grid-column: 2 / -1; }
.comparison-delta-section summary { color: var(--accent-dark); cursor: pointer; font-size: 0.63rem; font-weight: 700; }
.comparison-delta-section details dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0.65rem 0 0; border: 1px solid var(--line); }
.comparison-delta-section details dl > div { min-width: 0; padding: 0.65rem; }
.comparison-delta-section details dl > div + div { border-left: 1px solid var(--line); }
.comparison-delta-section dt { color: var(--quiet); font-size: 0.58rem; text-transform: uppercase; }
.comparison-delta-section dd { margin: 0.2rem 0 0; max-height: 180px; overflow: auto; }
.comparison-delta-section dd code { color: var(--muted); font-size: 0.59rem; }
.comparison-coverage { border: 1px solid var(--line-strong); background: var(--surface); }
.comparison-coverage > header { padding: 1rem; border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.comparison-coverage > header h2 { margin: 0; }
.comparison-coverage > div { padding: 0.9rem 1rem; border-bottom: 1px solid var(--line); }
.comparison-coverage > div:last-child { border-bottom: 0; }
.comparison-coverage > div > strong { font-family: var(--font-mono); font-size: 0.65rem; }
.comparison-coverage > div > p { margin: 0.5rem 0 0; font-size: 0.65rem; }
.comparison-coverage ol { margin: 0.55rem 0 0; padding: 0; list-style: none; }
.comparison-coverage li { display: grid; grid-template-columns: 10px minmax(0, 1fr); gap: 0.55rem; padding: 0.55rem 0; border-top: 1px solid var(--line); }
.comparison-coverage li .status-dot { margin-top: 0.3rem; }
.comparison-coverage li div { display: grid; gap: 0.1rem; }
.comparison-coverage li strong { font-size: 0.64rem; overflow-wrap: anywhere; }
.comparison-coverage li small { color: var(--quiet); font-size: 0.58rem; }

@media (max-width: 1080px) {
  .change-window-layout, .change-window-dossier-grid { grid-template-columns: 1fr; }
  .change-window-method > ol { display: grid; grid-template-columns: 1fr 1fr; }
  .change-window-method > ol li:nth-child(odd) { border-right: 1px solid var(--line); }
  .change-window-register > ol > li { grid-template-columns: 64px minmax(220px, 1fr) minmax(300px, 1fr); }
  .change-window-open { grid-column: 2 / -1; border-top: 1px solid var(--line); }
  .trajectory-row { grid-template-columns: minmax(170px, 0.8fr) minmax(180px, 1fr) minmax(290px, 1.5fr); }
  .trajectory-period, .trajectory-action { border-top: 1px solid var(--line); }
  .observation-ledger > li { grid-template-columns: 54px minmax(220px, 1fr) minmax(220px, 1fr) 145px; }
  .observation-open { grid-column: 2 / -1; border-top: 1px solid var(--line); }
  .observation-detail-grid { grid-template-columns: 1fr; }
  .observation-detail-grid > aside { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 1rem; }
  .observation-scope { margin-top: 0; }
  .observation-compare-panel form { grid-template-columns: minmax(130px, 0.6fr) minmax(190px, 1fr) 18px minmax(190px, 1fr); }
  .observation-compare-panel form .button { grid-column: 2 / -1; justify-self: start; }
  .observation-comparison-grid { grid-template-columns: 1fr; }
  .observation-comparison-grid > aside { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 1rem; }
}

@media (max-width: 760px) {
  .summary-strip { grid-template-columns: 1fr 1fr; }
  .summary-strip > div { min-height: 76px; padding: 0.72rem; border-bottom: 1px solid var(--line); }
  .summary-strip > div:first-child { padding-left: 0; }
  .summary-strip > div:nth-child(2) { border-right: 0; }
  .summary-strip > div:nth-child(n+3) { border-bottom: 0; }
  .summary-strip > div:nth-child(3) { padding-left: 0; }
  .change-window-fields { grid-template-columns: 1fr; }
  .change-window-fields .field-wide { grid-column: 1; }
  .change-window-method > ol { grid-template-columns: 1fr; }
  .change-window-method > ol li:nth-child(odd) { border-right: 0; }
  .change-window-register > ol > li { grid-template-columns: 56px minmax(0, 1fr); }
  .change-window-register > ol > li > * { border-right: 0; }
  .change-window-coordinate { grid-row: 1 / span 2; border-right: 1px solid var(--line) !important; }
  .change-window-copy, .change-window-register li > dl { grid-column: 2; border-bottom: 1px solid var(--line); }
  .change-window-open { grid-column: 1 / -1; }
  .change-window-dossier-head { grid-template-columns: 74px minmax(0, 1fr); }
  .change-window-dossier-head > dl { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 0; }
  .change-window-dossier-head > dl div:first-child { border-right: 1px solid var(--line); border-bottom: 0; }
  .change-window-proof { grid-template-columns: 1fr 1fr; }
  .change-window-proof > div { border-bottom: 1px solid var(--line); }
  .change-window-proof > div:nth-child(even) { border-right: 0; }
  .change-window-proof > div:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .change-window-matches li { grid-template-columns: 1fr; }
  .boundary-trajectory > header { align-items: start; flex-direction: column; }
  .boundary-trajectory > header > p { text-align: left; }
  .trajectory-row { grid-template-columns: 1fr; }
  .trajectory-row > * { border-right: 0; border-bottom: 1px solid var(--line); }
  .trajectory-row > :last-child { border-bottom: 0; }
  .trajectory-deltas { padding: 0.75rem 0; }
  .trajectory-period { justify-content: start; }
  .observation-filter { grid-template-columns: 1fr; }
  .observation-filter > span { justify-self: start; }
  .observation-compare-panel > header { align-items: start; flex-direction: column; }
  .observation-compare-panel form { grid-template-columns: 1fr; }
  .observation-compare-panel form > span { transform: rotate(90deg); }
  .observation-compare-panel form .button { grid-column: 1; width: 100%; }
  .observation-ledger > li { grid-template-columns: 52px minmax(0, 1fr); }
  .observation-ledger > li > * { border-right: 0; }
  .observation-coordinate { grid-row: 1 / span 3; border-right: 1px solid var(--line) !important; }
  .observation-identity, .observation-measures, .observation-result { grid-column: 2; border-bottom: 1px solid var(--line); }
  .observation-open { grid-column: 1 / -1; }
  .observation-dossier-head { grid-template-columns: 64px minmax(0, 1fr); }
  .observation-proof { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; }
  .observation-detail-summary { grid-template-columns: 1fr 1fr; }
  .observation-detail-summary > div:nth-child(n+3) { border-bottom: 1px solid var(--line); }
  .observation-detail-summary > div:nth-child(even) { border-right: 0; }
  .observation-detail-summary > div:nth-child(5) { grid-column: 1 / -1; padding-left: 0; border-right: 0; border-bottom: 0; }
  .observation-detail-grid > aside { grid-template-columns: 1fr; }
  .observation-kind-register > div { grid-template-columns: 38px minmax(0, 1fr); padding-block: 0.5rem; }
  .observation-kind-register dl { grid-column: 2; }
  .observation-change-register li { grid-template-columns: 1fr; }
  .observation-change-register li > div:first-child { flex-direction: row; }
  .observation-change-register dl { grid-column: 1; grid-template-columns: 1fr; }
  .observation-change-register dl div + div { border-top: 1px solid var(--line); border-left: 0; }
  .observation-finding-register > li { grid-template-columns: 1fr; gap: 0.55rem; }
  .observation-finding-state { display: flex; flex-wrap: wrap; }
  .observation-finding-disposition { padding: 0.55rem 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .observation-finding-register details { grid-column: 1; }
  .observation-finding-register details > div { grid-template-columns: 1fr; }
  .observation-finding-register details section + section { border-top: 1px solid var(--line); border-left: 0; }
  .observation-finding-register details section:last-child { grid-column: 1; }
  .comparison-coordinate { grid-template-columns: 1fr; }
  .comparison-coordinate article { min-height: 110px; }
  .comparison-axis { min-height: 42px; border-block: 1px solid var(--line); border-inline: 0; transform: none; }
  .observation-comparison-grid > aside { grid-template-columns: 1fr; }
  .comparison-delta-section > ol > li { grid-template-columns: 72px minmax(0, 1fr); }
  .comparison-delta-section li > .badge { grid-column: 2; justify-self: start; }
  .comparison-delta-section details { grid-column: 1 / -1; }
  .comparison-delta-section details dl { grid-template-columns: 1fr; }
  .comparison-delta-section details dl > div + div { border-top: 1px solid var(--line); border-left: 0; }
}

/* Declared asset stewardship */
.ownership-filter {
  display: grid;
  grid-template-columns: minmax(180px, 0.7fr) minmax(220px, 1fr) auto auto;
  gap: 0.7rem;
  align-items: end;
  margin: 1rem 0;
  padding: 0.8rem;
  border: 1px solid var(--line);
  background: var(--surface);
}
.ownership-filter label { display: grid; gap: 0.28rem; }
.ownership-filter label span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.61rem; }
.ownership-filter select { min-height: 36px; border: 1px solid var(--line-strong); background: var(--surface); }
.ownership-contract {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0.75rem 0;
  border-block: 1px solid var(--line);
}
.ownership-contract p { margin: 0; font-size: 0.7rem; }
.ownership-register > ol { margin: 0; padding: 0; border-top: 1px solid var(--line-strong); list-style: none; }
.ownership-register > ol > li {
  display: grid;
  grid-template-columns: 42px minmax(180px, 1.2fr) minmax(150px, 0.9fr) minmax(160px, 0.9fr) 130px 112px;
  min-height: 88px;
  align-items: stretch;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.ownership-register > ol > li.ownership-state-overdue { box-shadow: inset 3px 0 0 var(--critical); }
.ownership-register > ol > li.ownership-state-due-soon { box-shadow: inset 3px 0 0 var(--high); }
.ownership-register > ol > li > * { display: grid; align-content: center; min-width: 0; padding: 0.75rem; border-right: 1px solid var(--line); }
.ownership-register > ol > li > :last-child { border-right: 0; }
.ownership-register > ol > li > .resource-index { display: grid; place-items: center; padding: 0; }
.ownership-resource, .ownership-service, .ownership-owner, .ownership-review { gap: 0.12rem; }
.ownership-register a strong, .ownership-register div > strong { overflow: hidden; font-size: 0.7rem; text-overflow: ellipsis; white-space: nowrap; }
.ownership-register div > span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.56rem; }
.ownership-register div > small { color: var(--quiet); font-size: 0.58rem; }
.ownership-state { color: var(--muted) !important; font-family: var(--font-mono); font-weight: 700; }
.ownership-state-overdue .ownership-state { color: var(--critical) !important; }
.ownership-state-due-soon .ownership-state { color: var(--high) !important; }
.ownership-open { display: flex !important; align-items: center; justify-content: space-between; gap: 0.35rem; color: var(--accent-dark); font-size: 0.62rem; font-weight: 700; }
.ownership-open:hover { background: var(--accent-soft); }
.stewardship-panel { margin-bottom: 1rem; border: 1px solid var(--line-strong); background: var(--surface); }
.stewardship-panel > header { display: flex; align-items: start; justify-content: space-between; gap: 0.7rem; padding: 0.9rem; border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.stewardship-panel > header h2 { margin: 0; font-size: 0.95rem; }
.stewardship-panel > p { margin: 0; padding: 0.85rem; font-size: 0.68rem; }
.stewardship-current { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-bottom: 1px solid var(--line); }
.stewardship-current div { display: grid; gap: 0.1rem; padding: 0.65rem 0.8rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.stewardship-current div:nth-child(even) { border-right: 0; }
.stewardship-current div:nth-child(n+3) { border-bottom: 0; }
.stewardship-current dt { color: var(--quiet); font-size: 0.57rem; text-transform: uppercase; }
.stewardship-current dd { margin: 0; font-size: 0.68rem; font-weight: 700; }
.stewardship-editor { border-top: 1px solid var(--line); }
.stewardship-editor > summary { padding: 0.7rem 0.85rem; color: var(--accent-dark); cursor: pointer; font-size: 0.65rem; font-weight: 700; }
.stewardship-editor[open] > summary { border-bottom: 1px solid var(--line); background: var(--surface-cool); }
.stewardship-editor form { display: grid; gap: 0.7rem; padding: 0.85rem; }
.stewardship-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.stewardship-clear { padding: 0.65rem 0.85rem; border-top: 1px solid var(--line); }
.stewardship-clear button { padding: 0; border: 0; background: transparent; font-size: 0.61rem; }
.status-unassigned { color: var(--muted); background: var(--surface-subtle); }
.status-overdue { color: var(--critical); background: var(--critical-soft); }
.status-due-soon { color: var(--high); background: var(--high-soft); }
.status-current { color: var(--success); background: var(--success-soft); }

@media (max-width: 1080px) {
  .ownership-register > ol > li { grid-template-columns: 42px minmax(180px, 1.1fr) minmax(150px, 0.9fr) minmax(150px, 0.9fr) 120px; }
  .ownership-open { grid-column: 2 / -1; border-top: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .ownership-filter { grid-template-columns: 1fr; }
  .ownership-filter .button { width: 100%; }
  .ownership-register > ol > li { grid-template-columns: 42px minmax(0, 1fr); }
  .ownership-register > ol > li > * { border-right: 0; border-bottom: 1px solid var(--line); }
  .ownership-register > ol > li > .resource-index { grid-row: 1 / span 4; border-right: 1px solid var(--line); }
  .ownership-resource, .ownership-service, .ownership-owner, .ownership-review { grid-column: 2; }
  .ownership-open { grid-column: 1 / -1; border-bottom: 0 !important; }
  .stewardship-fields { grid-template-columns: 1fr; }
}

/* Evidence-backed assurance matrix */
.assurance-contract {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  margin: 1rem 0 2rem;
  padding: 0.75rem 0;
  border-block: 1px solid var(--line);
}
.assurance-contract p { margin: 0; max-width: 100ch; font-size: 0.7rem; }
.assurance-group + .assurance-group { margin-top: 2.4rem; }
.assurance-group > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--line-strong);
}
.assurance-group > header h2 { margin: 0; font-size: 1.05rem; }
.assurance-group > header > span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.61rem; }
.assurance-group > ol { margin: 0; padding: 0; list-style: none; }
.assurance-group > ol > li {
  display: grid;
  grid-template-columns: 42px 132px minmax(260px, 1fr) minmax(160px, 0.55fr) 138px;
  min-height: 94px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.assurance-group > ol > li > * {
  display: grid;
  min-width: 0;
  align-content: center;
  padding: 0.8rem;
  border-right: 1px solid var(--line);
}
.assurance-group > ol > li > :last-child { border-right: 0; }
.assurance-coordinate {
  place-items: center;
  padding: 0 !important;
  color: var(--quiet);
  background: var(--surface-subtle);
  font-family: var(--font-mono);
  font-size: 0.68rem;
}
.assurance-state { grid-template-columns: 8px minmax(0, 1fr); gap: 0.5rem; align-items: center; font-family: var(--font-mono); font-size: 0.62rem; font-weight: 700; }
.assurance-state i { width: 7px; height: 7px; border: 1px solid currentColor; border-radius: 50%; }
.assurance-state-current { color: var(--success); }
.assurance-state-attention { color: var(--high); }
.assurance-state-unestablished { color: var(--muted); }
.assurance-state-current i { background: var(--success); }
.assurance-state-attention i { background: var(--high); }
.assurance-evidence { gap: 0.18rem; }
.assurance-evidence h3 { margin: 0; font-size: 0.76rem; }
.assurance-evidence p { margin: 0; font-size: 0.67rem; line-height: 1.45; }
.assurance-evidence time { color: var(--quiet); font-family: var(--font-mono); font-size: 0.56rem; }
.assurance-interpretation summary { color: var(--accent-dark); cursor: pointer; font-size: 0.61rem; font-weight: 700; }
.assurance-interpretation p { margin: 0.45rem 0 0; color: var(--quiet); font-size: 0.61rem; line-height: 1.45; }
.assurance-action { display: flex !important; align-items: center; justify-content: space-between; gap: 0.4rem; color: var(--accent-dark); font-size: 0.63rem; font-weight: 700; }
.assurance-action:hover { background: var(--accent-soft); }
.assurance-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1rem;
  margin-top: 2.5rem;
  padding: 0.9rem 0;
  border-block: 1px solid var(--line-strong);
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.61rem;
}
.assurance-footer strong { color: var(--ink); }

@media (max-width: 1080px) {
  .assurance-group > ol > li { grid-template-columns: 42px 120px minmax(220px, 1fr) minmax(150px, 0.65fr); }
  .assurance-action { grid-column: 2 / -1; border-top: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .assurance-group > header { align-items: start; flex-direction: column; gap: 0.35rem; }
  .assurance-group > ol > li { grid-template-columns: 42px minmax(0, 1fr); }
  .assurance-group > ol > li > * { grid-column: 2; border-right: 0; border-bottom: 1px solid var(--line); }
  .assurance-coordinate { grid-column: 1 !important; grid-row: 1 / span 4; border-right: 1px solid var(--line) !important; }
  .assurance-state { min-height: 48px; }
  .assurance-interpretation { align-content: start !important; }
  .assurance-action { grid-column: 1 / -1 !important; border-bottom: 0 !important; }
}

/* Governed provider-change register */
.change-register-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 1rem 0 1.5rem;
  border-block: 1px solid var(--line-strong);
}
.change-register-summary > div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.75rem;
  border-right: 1px solid var(--line);
}
.change-register-summary > div:first-child { padding-left: 0; }
.change-register-summary > div:last-child { border-right: 0; }
.change-register-summary span {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.57rem;
  text-transform: uppercase;
}
.change-register-summary strong { font-size: 0.83rem; }
.change-register {
  display: grid;
  border-top: 1px solid var(--line-strong);
}
.change-register-row {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) 220px;
  min-width: 0;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.change-register-row > * {
  min-width: 0;
  padding: 0.9rem;
  border-right: 1px solid var(--line);
}
.change-register-row > :last-child { border-right: 0; }
.change-register-kind {
  display: grid;
  align-content: start;
  gap: 0.22rem;
  background: var(--accent-soft);
}
.change-register-kind.kind-added { background: var(--high-soft); }
.change-register-kind.kind-removed { background: var(--success-soft); }
.change-register-kind > span {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 760;
  text-transform: uppercase;
}
.change-register-kind small {
  color: var(--quiet);
  font-size: 0.57rem;
  line-height: 1.4;
}
.change-register-copy > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}
.change-register-copy code {
  max-width: 100%;
  overflow: hidden;
  color: var(--quiet);
  font-size: 0.58rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.change-register-copy h2 { margin: 0.65rem 0 0.25rem; font-size: 0.88rem; }
.change-register-copy > p { margin: 0; font-size: 0.69rem; }
.change-register-delta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
  gap: 0.4rem !important;
  margin-top: 0.7rem;
  padding-top: 0.55rem;
  border-top: 1px solid var(--line);
}
.change-register-delta span {
  overflow: hidden;
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.57rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.change-register-delta i { color: var(--accent); font-style: normal; text-align: center; }
.change-register-review {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 0.35rem;
}
.change-register-review strong { font-size: 0.67rem; }
.change-register-review small { color: var(--quiet); font-size: 0.57rem; line-height: 1.4; }
.change-register-review .button { margin-top: 0.35rem; }
.change-planned-context { display: grid; gap: 0.16rem; width: 100%; margin-bottom: 0.35rem; padding: 0.5rem; border: 1px solid color-mix(in oklch, var(--accent) 35%, var(--line)); background: var(--accent-soft); text-decoration: none; }
.change-planned-context span { color: var(--accent-dark); font-family: var(--font-mono); font-size: 0.52rem; text-transform: uppercase; }
.change-planned-context strong { color: var(--ink); }
.change-planned-context:hover { border-color: var(--accent); }
.change-unplanned-context { width: 100%; margin-bottom: 0.2rem; padding-bottom: 0.4rem; border-bottom: 1px solid var(--line); }
.change-dossier-head {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) 230px;
  align-items: stretch;
  margin-bottom: 1.5rem;
  border-block: 1px solid var(--line-strong);
}
.change-dossier-head > * { min-width: 0; padding: 1rem; border-right: 1px solid var(--line); }
.change-dossier-head > :first-child { padding-left: 0; }
.change-dossier-head > :last-child { border-right: 0; }
.change-dossier-index { display: grid; align-content: center; gap: 0.18rem; border: 1px solid var(--accent); background: var(--accent-soft); }
.change-dossier-index.kind-added { border-color: var(--high); background: var(--high-soft); }
.change-dossier-index.kind-removed { border-color: var(--success); background: var(--success-soft); }
.change-dossier-index span, .change-dossier-index strong { font-family: var(--font-mono); font-size: 0.62rem; text-transform: uppercase; }
.change-dossier-index strong { color: var(--quiet); }
.change-dossier-head h1 { margin: 0.2rem 0 0.35rem; font-size: 1.55rem; }
.change-dossier-head p:last-child { margin: 0; font-size: 0.73rem; }
.change-dossier-head dl { display: grid; align-content: center; gap: 0.6rem; margin: 0; }
.change-dossier-head dl div { display: grid; gap: 0.1rem; }
.change-dossier-head dt {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.56rem;
  text-transform: uppercase;
}
.change-dossier-head dd { margin: 0; font-size: 0.65rem; font-weight: 700; overflow-wrap: anywhere; }
.change-dossier-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 1.35rem;
  align-items: start;
}
.change-dossier-grid > main, .change-dossier-grid > aside { display: grid; gap: 1.35rem; min-width: 0; }
.change-context-record { padding: 1rem; border: 1px solid var(--line-strong); background: var(--surface); }
.change-context-record.is-planned { border-color: color-mix(in oklch, var(--accent) 42%, var(--line-strong)); background: color-mix(in oklch, var(--accent-soft) 45%, var(--surface)); }
.change-context-record.is-unplanned { background: var(--surface-subtle); }
.change-context-record dl { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0.75rem 0; border-block: 1px solid var(--line); }
.change-context-record dl div { min-width: 0; padding: 0.65rem; border-right: 1px solid var(--line); }
.change-context-record dl div:last-child { border-right: 0; }
.change-context-record dt { color: var(--quiet); font-size: 0.54rem; text-transform: uppercase; }
.change-context-record dd { overflow: hidden; margin: 0.18rem 0 0; font-size: 0.63rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.change-context-record dd a { color: var(--accent-dark); }
.change-context-record > p { max-width: 75ch; margin: 0.65rem 0 0; color: var(--muted); font-size: 0.65rem; }
.change-context-record > .button { margin-top: 0.7rem; }
.ledger-panel { min-width: 0; padding: 1rem; border: 1px solid var(--line); background: var(--surface); }
.change-evidence-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line-strong);
}
.change-evidence-pair article { min-width: 0; padding: 0.8rem; border-right: 1px solid var(--line); }
.change-evidence-pair article:first-child { padding-left: 0; }
.change-evidence-pair article:last-child { border-right: 0; }
.change-evidence-pair header { display: flex; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.55rem; }
.change-evidence-pair header span { font-family: var(--font-mono); font-size: 0.62rem; font-weight: 750; text-transform: uppercase; }
.change-evidence-pair header small { color: var(--quiet); font-size: 0.55rem; }
.change-evidence-pair pre {
  max-height: 360px;
  margin: 0;
  padding: 0.7rem;
  overflow: auto;
  border: 1px solid var(--line);
  background: var(--surface-subtle);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.change-evidence-pair code { font-size: 0.58rem; line-height: 1.55; }
.change-decision-history { margin: 0; padding: 0; border-top: 1px solid var(--line-strong); list-style: none; }
.change-decision-history > li { padding: 0.85rem 0; border-bottom: 1px solid var(--line); }
.change-decision-history > li > div:first-child { display: flex; align-items: center; gap: 0.45rem; }
.change-decision-history strong { font-size: 0.72rem; }
.change-decision-history p { margin: 0.5rem 0; font-size: 0.68rem; white-space: pre-wrap; }
.change-decision-history dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; border-top: 1px solid var(--line); }
.change-decision-history dl div { min-width: 0; padding: 0.5rem 0.5rem 0 0; }
.change-decision-history dt { color: var(--quiet); font-size: 0.54rem; text-transform: uppercase; }
.change-decision-history dd { margin: 0.12rem 0 0; font-size: 0.59rem; overflow-wrap: anywhere; }
.change-decision-panel { position: static; }

@media (max-width: 960px) {
  .change-register-row { grid-template-columns: 110px minmax(0, 1fr); }
  .change-register-review { grid-column: 2; border-top: 1px solid var(--line); }
  .change-dossier-grid { grid-template-columns: minmax(0, 1fr) 310px; }
  .change-dossier-head { grid-template-columns: 70px minmax(0, 1fr); }
  .change-dossier-head > dl { grid-column: 2; border-top: 1px solid var(--line); }
  .change-context-record dl { grid-template-columns: 1fr 1fr 1fr; }
  .change-context-record dl div:nth-child(3) { border-right: 0; }
  .change-context-record dl div:nth-child(n+4) { border-top: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .change-register-summary { grid-template-columns: 1fr 1fr; }
  .change-register-summary > div { border-bottom: 1px solid var(--line); }
  .change-register-summary > div:nth-child(2) { border-right: 0; }
  .change-register-summary > div:nth-child(3) { padding-left: 0; border-bottom: 0; }
  .change-register-summary > div:nth-child(4) { border-right: 0; border-bottom: 0; }
  .change-register-row { grid-template-columns: 1fr; }
  .change-register-row > * { border-right: 0; border-bottom: 1px solid var(--line); }
  .change-register-row > :last-child { border-bottom: 0; }
  .change-register-review { grid-column: 1; }
  .change-register-delta { grid-template-columns: 1fr; }
  .change-register-delta i { transform: rotate(90deg); }
  .change-dossier-head { grid-template-columns: 76px minmax(0, 1fr); }
  .change-dossier-head > * { padding: 0.75rem; }
  .change-dossier-head > dl { grid-column: 1 / -1; padding-left: 0; border-top: 1px solid var(--line); }
  .change-dossier-grid { grid-template-columns: 1fr; }
  .change-context-record dl { grid-template-columns: 1fr 1fr; }
  .change-context-record dl div:nth-child(3) { border-right: 1px solid var(--line); }
  .change-context-record dl div:nth-child(even) { border-right: 0; }
  .change-context-record dl div:last-child { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .change-evidence-pair { grid-template-columns: 1fr; }
  .change-evidence-pair article { padding: 0.75rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .change-evidence-pair article:last-child { border-bottom: 0; }
  .change-decision-history dl { grid-template-columns: 1fr 1fr; }
}

/* Workspace review policy */
.policy-current { margin-bottom: 1.5rem; border: 1px solid var(--line-strong); background: var(--surface); }
.policy-current > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 0.9rem; border-bottom: 1px solid var(--line-strong); }
.policy-current > header h2 { margin: 0; font-size: 1rem; }
.policy-current > header > span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.58rem; }
.policy-current > ol { margin: 0; padding: 0; list-style: none; }
.policy-current > ol > li { display: grid; grid-template-columns: 42px minmax(0, 1fr) 100px; min-height: 70px; border-bottom: 1px solid var(--line); }
.policy-current > ol > li > * { display: grid; min-width: 0; align-content: center; padding: 0.7rem; border-right: 1px solid var(--line); }
.policy-current > ol > li > span { place-items: center; padding: 0; color: var(--quiet); background: var(--surface-subtle); font-family: var(--font-mono); font-size: 0.61rem; }
.policy-current > ol > li > div { gap: 0.12rem; }
.policy-current > ol strong { font-size: 0.71rem; }
.policy-current > ol p { margin: 0; font-size: 0.63rem; }
.policy-current > ol b { border-right: 0; color: var(--accent-dark); font-family: var(--font-mono); font-size: 0.68rem; text-align: right; }
.policy-provenance { display: grid; grid-template-columns: 0.6fr 1.4fr; }
.policy-provenance > div { display: grid; gap: 0.15rem; padding: 0.75rem; border-right: 1px solid var(--line); }
.policy-provenance > div:last-child { border-right: 0; }
.policy-provenance span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.55rem; text-transform: uppercase; }
.policy-provenance strong { font-size: 0.64rem; line-height: 1.5; }
.policy-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.35rem; align-items: start; }
.policy-editor { padding: 1rem; border: 1px solid var(--line); background: var(--surface); }
.policy-editor form { display: grid; gap: 1rem; }
.policy-fields { display: grid; grid-template-columns: repeat(5, 1fr); border-block: 1px solid var(--line); }
.policy-fields > .field { gap: 0.35rem; margin: 0; padding: 0.7rem; border-right: 1px solid var(--line); }
.policy-fields > .field:first-child { padding-left: 0; }
.policy-fields > .field:last-child { border-right: 0; }
.policy-fields label { min-height: 2.5em; font-size: 0.59rem; line-height: 1.3; }
.policy-fields small { color: var(--quiet); font-family: var(--font-mono); font-size: 0.52rem; }
.day-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border: 1px solid var(--line-strong); background: var(--surface); }
.day-input input { width: 100%; min-width: 0; border: 0; }
.day-input span { padding-right: 0.5rem; color: var(--quiet); font-size: 0.55rem; }
.policy-boundary { padding: 1rem; border-block: 1px solid var(--line-strong); }
.policy-boundary h2 { margin-top: 0.15rem; font-size: 1rem; }
.policy-boundary p, .policy-boundary li { font-size: 0.66rem; line-height: 1.55; }
.policy-boundary ul { margin: 0.8rem 0; padding-left: 1rem; }
.policy-boundary form { padding-top: 0.8rem; border-top: 1px solid var(--line); }
.review-policy-note { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 0.8rem; margin: -0.5rem 0 1.5rem; padding: 0.55rem 0; border-block: 1px solid var(--line); }
.review-policy-note p { margin: 0; font-size: 0.64rem; }
.review-policy-note > a { color: var(--accent-dark); font-size: 0.62rem; font-weight: 700; }

@media (max-width: 1080px) {
  .policy-fields { grid-template-columns: repeat(3, 1fr); }
  .policy-fields > .field:nth-child(3) { border-right: 0; }
  .policy-fields > .field:nth-child(n+4) { border-top: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .policy-current > header { align-items: start; flex-direction: column; }
  .policy-current > ol > li { grid-template-columns: 42px minmax(0, 1fr); }
  .policy-current > ol b { grid-column: 2; border-top: 1px solid var(--line); text-align: left; }
  .policy-provenance { grid-template-columns: 1fr; }
  .policy-provenance > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .policy-provenance > div:last-child { border-bottom: 0; }
  .policy-editor-layout { grid-template-columns: 1fr; }
  .policy-fields { grid-template-columns: 1fr; }
  .policy-fields > .field, .policy-fields > .field:first-child { padding: 0.7rem 0; border-top: 1px solid var(--line); border-right: 0; }
  .policy-fields > .field:first-child { border-top: 0; }
  .policy-fields label { min-height: 0; }
  .review-policy-note { grid-template-columns: 42px minmax(0, 1fr); }
  .review-policy-note > a { grid-column: 2; }
  .report-policy dl { grid-template-columns: 1fr 1fr; }
  .report-policy dl > div { border-bottom: 1px solid var(--line); }
  .report-policy dl > div:nth-child(even) { border-right: 0; }
  .report-contract-receipt { grid-template-columns: 1fr; }
}

/* Retained source-coverage history */
.coverage-history-filter { display: grid; grid-template-columns: minmax(180px, 1fr) 180px auto; gap: 0.7rem; align-items: end; margin: 1rem 0 1.8rem; padding: 0.8rem 0; border-block: 1px solid var(--line); }
.coverage-history-filter .field { margin: 0; }
.coverage-history-group + .coverage-history-group { margin-top: 2.2rem; }
.coverage-history-group > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-bottom: 0.65rem; border-bottom: 1px solid var(--line-strong); }
.coverage-history-group > header h2 { margin: 0; font-size: 1rem; }
.coverage-history-group > header > span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.58rem; }
.coverage-history-group > ol { margin: 0; padding: 0; list-style: none; }
.coverage-history-group > ol > li { display: grid; grid-template-columns: minmax(230px, 0.8fr) minmax(250px, 0.7fr) minmax(300px, 1fr); min-width: 0; border-bottom: 1px solid var(--line); background: var(--surface); }
.coverage-history-group > ol > li > * { min-width: 0; padding: 0.8rem; border-right: 1px solid var(--line); }
.coverage-history-group > ol > li > :first-child { padding-left: 0; }
.coverage-history-group > ol > li > :last-child { border-right: 0; }
.coverage-source-name { display: grid; align-content: center; justify-items: start; gap: 0.2rem; }
.coverage-source-name strong { font-size: 0.7rem; }
.coverage-source-name small { display: -webkit-box; overflow: hidden; color: var(--quiet); font-size: 0.58rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.source-missing { color: var(--critical); background: var(--critical-soft); }
.source-failed { color: var(--critical); background: var(--critical-soft); }
.source-partial { color: var(--high); background: var(--high-soft); }
.source-complete { color: var(--success); background: var(--success-soft); }
.source-pending { color: var(--muted); background: var(--surface-subtle); }
.coverage-source-counts { display: grid; grid-template-columns: repeat(5, 1fr); align-items: stretch; margin: 0; }
.coverage-source-counts > div { display: grid; align-content: center; gap: 0.12rem; padding: 0 0.45rem; border-right: 1px solid var(--line); }
.coverage-source-counts > div:first-child { padding-left: 0; }
.coverage-source-counts > div:last-child { border-right: 0; }
.coverage-source-counts dt { color: var(--quiet); font-size: 0.5rem; text-transform: uppercase; }
.coverage-source-counts dd { margin: 0; font-family: var(--font-mono); font-size: 0.68rem; font-weight: 720; }
.coverage-history-cells { display: flex; gap: 0.25rem; align-items: center; overflow-x: auto; scrollbar-width: thin; }
.coverage-cell { display: grid; flex: 0 0 35px; gap: 0.2rem; justify-items: center; padding: 0.3rem 0; border: 1px solid var(--line); background: var(--surface-subtle); }
.coverage-cell i, .coverage-history-legend i { display: block; width: 8px; height: 8px; border: 1px solid currentColor; border-radius: 50%; }
.coverage-cell time { color: var(--quiet); font-family: var(--font-mono); font-size: 0.46rem; }
.coverage-cell-complete { color: var(--success); }
.coverage-cell-complete i { background: var(--success); }
.coverage-cell-partial { color: var(--high); }
.coverage-cell-partial i { background: var(--high); }
.coverage-cell-failed, .coverage-cell-missing { color: var(--critical); }
.coverage-cell-failed i { background: var(--critical); }
.coverage-cell-missing i { background: transparent; border-style: dashed; }
.coverage-cell-pending { color: var(--muted); }
.coverage-history-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem 1rem; margin-top: 2rem; padding: 0.8rem 0; border-block: 1px solid var(--line-strong); font-size: 0.59rem; }
.coverage-history-legend > span { display: inline-flex; align-items: center; gap: 0.3rem; }
.coverage-history-legend small { flex-basis: 100%; color: var(--quiet); }

@media (max-width: 1080px) {
  .coverage-history-group > ol > li { grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1fr); }
  .coverage-history-cells { grid-column: 1 / -1; border-top: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .coverage-history-filter { grid-template-columns: 1fr; }
  .coverage-history-filter .button { width: 100%; }
  .coverage-history-group > header { align-items: start; flex-direction: column; gap: 0.3rem; }
  .coverage-history-group > ol > li { grid-template-columns: 1fr; }
  .coverage-history-group > ol > li > * { padding: 0.75rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .coverage-source-counts { grid-template-columns: repeat(5, minmax(62px, 1fr)); overflow-x: auto; }
  .coverage-history-cells { grid-column: 1; border-bottom: 0 !important; }
}

/* Provider access approval ledger */
.access-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.access-contract,
.access-demo-boundary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  margin-bottom: 1.4rem;
  padding: 0.8rem;
  border: 1px solid color-mix(in oklch, var(--accent) 35%, var(--line));
  background: var(--surface-cool);
}
.access-contract p,
.access-demo-boundary p { margin: 0; font-size: 0.68rem; }
.access-demo-boundary { align-items: start; padding-block: 1rem; }
.access-demo-boundary h2 { margin-bottom: 0.25rem; }
.access-editor {
  margin-bottom: 1.8rem;
  padding: 1rem;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}
.access-editor > .section-heading-row { margin-bottom: 1rem; }
.access-editor > .section-heading-row > span {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.58rem;
}
.access-form-grid {
  display: grid;
  grid-template-columns: 1.2fr repeat(4, minmax(135px, 0.8fr));
  gap: 0.7rem;
}
.access-confirmation {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 0.55rem;
  align-items: start;
  margin: 0.9rem 0;
  padding: 0.7rem;
  border: 1px solid var(--line);
  background: var(--surface-subtle);
  cursor: pointer;
}
.access-confirmation input { width: 17px; height: 17px; margin-top: 0.1rem; accent-color: var(--accent); }
.access-confirmation span { display: grid; gap: 0.1rem; }
.access-confirmation strong { font-size: 0.69rem; }
.access-confirmation small { color: var(--quiet); font-size: 0.61rem; }
.access-register > .table-toolbar { margin-bottom: 0; }
.access-register > ol { margin: 0; padding: 0; list-style: none; }
.access-register > ol > li {
  padding: 1rem 0;
  border-bottom: 1px solid var(--line-strong);
}
.access-register > ol > li > header {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
}
.access-register > ol > li > header > div { display: grid; gap: 0.12rem; }
.access-register > ol > li > header strong { font-size: 0.8rem; }
.access-register > ol > li > header small { color: var(--quiet); font-size: 0.61rem; }
.access-scopes {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding: 0.55rem 0;
  border-block: 1px solid var(--line);
}
.access-scopes > span,
.access-authority-copy span {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.57rem;
  text-transform: uppercase;
}
.access-scopes code { display: block; font-size: 0.61rem; }
.access-current {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}
.access-current > div {
  min-width: 0;
  padding: 0.7rem;
  border-right: 1px solid var(--line);
}
.access-current > div:first-child { padding-left: 0; }
.access-current > div:last-child { padding-right: 0; border-right: 0; }
.access-current dt { color: var(--quiet); font-family: var(--font-mono); font-size: 0.56rem; text-transform: uppercase; }
.access-current dd { margin: 0.14rem 0 0; overflow-wrap: anywhere; font-size: 0.67rem; font-weight: 650; }
.access-authority-copy {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding: 0.75rem 0;
  border-top: 1px solid var(--line);
}
.access-authority-copy p { margin: 0.15rem 0 0; font-size: 0.67rem; }
.access-withdraw,
.access-history { margin-top: 0.6rem; border-top: 1px solid var(--line); }
.access-withdraw > summary,
.access-history > summary {
  width: max-content;
  padding-top: 0.55rem;
  color: var(--accent-dark);
  cursor: pointer;
  font-size: 0.63rem;
  font-weight: 680;
}
.access-withdraw form {
  max-width: 680px;
  margin-top: 0.7rem;
  padding: 0.75rem;
  border: 1px solid var(--line);
  background: var(--surface-subtle);
}
.access-history > ol { margin: 0.6rem 0 0; padding: 0; list-style: none; }
.access-history > ol > li {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) minmax(120px, 0.5fr);
  gap: 0.7rem;
  padding: 0.5rem 0;
  border-top: 1px solid var(--line);
  font-size: 0.62rem;
}
.access-history time { color: var(--quiet); font-family: var(--font-mono); }
.access-history span { color: var(--muted); }
.access-state-overdue { box-shadow: inset 3px 0 0 var(--high); padding-left: 0.7rem !important; }
.access-state-due-soon,
.access-state-approval-missing { box-shadow: inset 3px 0 0 var(--medium); padding-left: 0.7rem !important; }

@media (max-width: 1080px) {
  .access-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .access-form-grid > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .access-summary,
  .access-form-grid,
  .access-current,
  .access-authority-copy { grid-template-columns: 1fr; }
  .access-form-grid > :first-child { grid-column: 1; }
  .access-editor { padding: 0.8rem; }
  .access-editor > .section-heading-row { align-items: flex-start; flex-direction: column; }
  .access-register > ol > li > header { grid-template-columns: 34px minmax(0, 1fr); }
  .access-register > ol > li > header > .status-label { grid-column: 2; justify-self: start; }
  .access-scopes { grid-template-columns: 1fr; }
  .access-current > div,
  .access-current > div:first-child,
  .access-current > div:last-child {
    padding: 0.55rem 0;
    border-right: 0;
    border-top: 1px solid var(--line);
  }
  .access-authority-copy { gap: 0.65rem; }
  .access-history > ol > li { grid-template-columns: 1fr; gap: 0.15rem; }
}

/* Evidence-pack bearer access */
.evidence-pack-actions { align-items: stretch; }
.evidence-pack-actions > a {
  color: var(--accent-dark);
  font-size: 0.6rem;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
.evidence-pack-actions > a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pack-access-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pack-access-coordinate {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.6fr);
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}
.pack-access-coordinate h2 { margin-bottom: 0.2rem; }
.pack-access-coordinate p { margin: 0; font-size: 0.65rem; }
.pack-access-coordinate dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}
.pack-access-coordinate dl > div {
  min-width: 0;
  padding: 0.5rem 0.7rem;
  border-left: 1px solid var(--line);
}
.pack-access-coordinate dt {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.53rem;
  text-transform: uppercase;
}
.pack-access-coordinate dd { margin: 0.18rem 0 0; overflow-wrap: anywhere; font-size: 0.62rem; }
.pack-access-coordinate dd code { font-size: 0.54rem; }
.pack-access-contract {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  margin-bottom: 1.5rem;
  padding: 0.7rem;
  border: 1px solid color-mix(in oklch, var(--accent) 35%, var(--line));
  background: var(--surface-cool);
}
.pack-access-contract p { margin: 0; font-size: 0.67rem; }
.pack-access-ledger > ol,
.pack-access-ledger > ol > li > ol { margin: 0; padding: 0; list-style: none; }
.pack-access-ledger > ol > li > header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--line-strong);
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.6rem;
}
.pack-access-ledger > ol > li > ol > li {
  display: grid;
  grid-template-columns: 70px 150px minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--line);
}
.pack-format {
  width: max-content;
  padding: 0.18rem 0.38rem;
  border: 1px solid var(--line);
  font-family: var(--font-mono);
  font-size: 0.56rem;
  font-weight: 720;
}
.format-html { color: var(--accent-dark); background: var(--accent-soft); }
.format-json { color: var(--success); background: var(--success-soft); }
.format-csv { color: var(--high); background: var(--high-soft); }
.pack-access-ledger time { color: var(--muted); font-family: var(--font-mono); font-size: 0.62rem; }
.pack-access-ledger code { color: var(--quiet); font-size: 0.57rem; }

@media (max-width: 1080px) {
  .pack-access-coordinate { grid-template-columns: 1fr; }
  .pack-access-coordinate dl > div:first-child { border-left: 0; }
}

@media (max-width: 760px) {
  .pack-access-summary,
  .pack-access-coordinate dl { grid-template-columns: 1fr; }
  .pack-access-coordinate dl > div {
    padding: 0.55rem 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }
  .pack-access-ledger > ol > li > header { align-items: flex-start; flex-direction: column; gap: 0.2rem; }
  .pack-access-ledger > ol > li > ol > li { grid-template-columns: 58px minmax(0, 1fr); }
  .pack-access-ledger code { grid-column: 1 / -1; }
}

/* Workspace data-holdings manifest */
.holdings-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.holdings-contract {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  margin-bottom: 1.4rem;
  padding: 0.8rem;
  border: 1px solid color-mix(in oklch, var(--accent) 35%, var(--line));
  background: var(--surface-cool);
}
.holdings-contract p { margin: 0; font-size: 0.68rem; }
.holdings-scope {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.5fr);
  gap: 1rem;
  margin-bottom: 2rem;
  padding: 1rem 0;
  border-block: 1px solid var(--line-strong);
}
.holdings-scope h2 { margin-bottom: 0.2rem; font-size: 1rem; }
.holdings-scope p { margin: 0; font-size: 0.65rem; }
.holdings-scope dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}
.holdings-scope dl > div { min-width: 0; padding: 0.45rem 0.7rem; border-left: 1px solid var(--line); }
.holdings-scope dt,
.holding-dates dt {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.52rem;
  text-transform: uppercase;
}
.holdings-scope dd,
.holding-dates dd { margin: 0.16rem 0 0; overflow-wrap: anywhere; font-size: 0.61rem; }
.holdings-scope code { font-size: 0.52rem; }
.holdings-group + .holdings-group { margin-top: 2.3rem; }
.holdings-group > header {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: end;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--line-strong);
}
.holdings-group > header h2 { margin: 0; font-size: 1rem; }
.holdings-group > header p:last-child {
  margin: 0;
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.58rem;
}
.holdings-group-coordinate {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--line-strong);
  color: var(--accent-dark);
  background: var(--surface-cool);
  font-family: var(--font-mono);
  font-size: 0.61rem;
  font-weight: 720;
}
.holdings-group > ol { margin: 0; padding: 0; list-style: none; }
.holding-row {
  display: grid;
  grid-template-columns: 58px minmax(220px, 1.3fr) 88px 168px minmax(145px, 0.7fr) minmax(145px, 0.65fr) 105px;
  min-width: 0;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.holding-row > * {
  display: grid;
  min-width: 0;
  align-content: center;
  padding: 0.8rem;
  border-right: 1px solid var(--line);
}
.holding-row > :first-child { padding-left: 0; }
.holding-row > :last-child { border-right: 0; }
.holding-coordinate {
  place-items: center;
  color: var(--quiet);
  background: var(--surface-subtle);
  font-family: var(--font-mono);
  font-size: 0.56rem;
}
.holding-identity { gap: 0.18rem; }
.holding-identity h3 { margin: 0; font-size: 0.72rem; }
.holding-identity p { margin: 0; color: var(--muted); font-size: 0.59rem; line-height: 1.45; }
.holding-identity code { width: max-content; max-width: 100%; color: var(--quiet); font-size: 0.52rem; }
.holding-count { justify-items: end; text-align: right; }
.holding-count strong { font-family: var(--font-mono); font-size: 1.15rem; letter-spacing: -0.05em; }
.holding-count > span { color: var(--quiet); font-size: 0.54rem; }
.holding-count small { margin-top: 0.3rem; color: var(--accent-dark); font-size: 0.53rem; }
.holding-dates { gap: 0.42rem; margin: 0; }
.holding-dates > div + div { padding-top: 0.35rem; border-top: 1px solid var(--line); }
.holding-classification { gap: 0.25rem; }
.holding-classification span { color: var(--ink); font-size: 0.61rem; font-weight: 680; }
.holding-classification small { color: var(--quiet); font-size: 0.56rem; line-height: 1.4; }
.holding-boundary { display: block; }
.holding-boundary summary {
  color: var(--accent-dark);
  cursor: pointer;
  font-size: 0.59rem;
  font-weight: 700;
}
.holding-boundary p { margin: 0.45rem 0 0; font-size: 0.57rem; line-height: 1.45; }
.holding-action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.3rem;
  color: var(--accent-dark);
  font-size: 0.58rem;
  font-weight: 720;
  text-align: right;
}
.holding-action:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1180px) {
  .holdings-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .holdings-summary > div:nth-child(3) { border-right: 0; }
  .holdings-summary > div:nth-child(n+4) { border-top: 1px solid var(--line); }
  .holding-row { grid-template-columns: 52px minmax(0, 1fr) 100px; }
  .holding-identity { border-right: 1px solid var(--line); }
  .holding-count { border-right: 0; }
  .holding-dates {
    grid-column: 2;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--line);
  }
  .holding-dates > div + div { padding-top: 0; padding-left: 0.7rem; border-top: 0; border-left: 1px solid var(--line); }
  .holding-classification { grid-column: 3; border-top: 1px solid var(--line); border-right: 0; }
  .holding-boundary { grid-column: 2; border-top: 1px solid var(--line); }
  .holding-action { grid-column: 3; border-top: 1px solid var(--line); border-right: 0; }
}

@media (max-width: 760px) {
  .holdings-summary,
  .holdings-scope,
  .holdings-scope dl { grid-template-columns: 1fr; }
  .holdings-summary > div,
  .holdings-summary > div:first-child,
  .holdings-summary > div:nth-child(3) {
    padding: 0.72rem 0;
    border-top: 1px solid var(--line);
    border-right: 0;
    border-bottom: 0;
  }
  .holdings-summary > div:first-child { border-top: 0; }
  .holdings-scope { gap: 0.7rem; }
  .holdings-scope dl > div { padding: 0.5rem 0; border-top: 1px solid var(--line); border-left: 0; }
  .holdings-group > header { grid-template-columns: 40px minmax(0, 1fr); align-items: center; }
  .holdings-group > header p:last-child { grid-column: 2; }
  .holding-row { grid-template-columns: 44px minmax(0, 1fr); }
  .holding-row > *,
  .holding-row > :first-child {
    grid-column: 2;
    padding: 0.7rem 0;
    border-top: 1px solid var(--line);
    border-right: 0;
  }
  .holding-coordinate {
    grid-column: 1 !important;
    grid-row: 1 / span 6;
    padding: 0 !important;
    border-top: 0 !important;
    border-right: 1px solid var(--line) !important;
  }
  .holding-identity { border-top: 0; }
  .holding-count { justify-items: start; text-align: left; }
  .holding-dates { grid-column: 2; }
  .holding-classification,
  .holding-boundary,
  .holding-action { grid-column: 2; }
  .holding-action { justify-content: flex-start; text-align: left; }
}

/* Declared data-retention targets */
.retention-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.retention-summary > div:first-child strong { font-size: 0.95rem; letter-spacing: -0.02em; }
.retention-state-current { color: var(--success); }
.retention-state-due-soon { color: var(--high); }
.retention-state-overdue { color: var(--critical); }
.retention-state-not-established { color: var(--muted); }
.retention-contract {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  margin-bottom: 1.5rem;
  padding: 0.8rem;
  border: 1px solid color-mix(in oklch, var(--high) 45%, var(--line));
  background: var(--high-soft);
}
.retention-contract p { margin: 0; font-size: 0.68rem; }
.retention-current { margin-bottom: 2rem; border: 1px solid var(--line-strong); background: var(--surface); }
.retention-current > header {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.4fr);
  gap: 1rem;
  padding: 1rem;
  border-bottom: 1px solid var(--line-strong);
}
.retention-current > header h2 { margin-bottom: 0.2rem; font-size: 1rem; }
.retention-current > header p:last-child { margin: 0; font-size: 0.64rem; }
.retention-current > header dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.retention-current > header dl > div { min-width: 0; padding: 0.5rem 0.65rem; border-left: 1px solid var(--line); }
.retention-current dt,
.retention-candidates dt {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.52rem;
  text-transform: uppercase;
}
.retention-current dd,
.retention-candidates dd { margin: 0.15rem 0 0; overflow-wrap: anywhere; font-size: 0.6rem; }
.retention-current code { font-size: 0.5rem; }
.retention-current > ol { margin: 0; padding: 0; list-style: none; }
.retention-current > ol > li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 120px;
  min-height: 68px;
  border-bottom: 1px solid var(--line);
}
.retention-current > ol > li:last-child { border-bottom: 0; }
.retention-current > ol > li > * {
  display: grid;
  min-width: 0;
  align-content: center;
  padding: 0.65rem;
  border-right: 1px solid var(--line);
}
.retention-current > ol > li > span { place-items: center; padding: 0; color: var(--quiet); background: var(--surface-subtle); font-family: var(--font-mono); font-size: 0.57rem; }
.retention-current > ol strong { font-size: 0.68rem; }
.retention-current > ol p { margin: 0.1rem 0 0; font-size: 0.59rem; }
.retention-current > ol b { border-right: 0; color: var(--accent-dark); font-family: var(--font-mono); font-size: 0.65rem; text-align: right; }
.retention-candidates { margin-bottom: 2rem; }
.retention-candidates > .section-heading-row { border-bottom: 1px solid var(--line-strong); }
.retention-candidates > .section-heading-row > p { color: var(--quiet); font-family: var(--font-mono); font-size: 0.56rem; }
.retention-candidates > ol { margin: 0; padding: 0; list-style: none; }
.retention-candidates > ol > li {
  display: grid;
  grid-template-columns: 44px minmax(240px, 1.2fr) minmax(300px, 1fr) 90px 105px;
  min-width: 0;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.retention-candidates > ol > li > * {
  display: grid;
  min-width: 0;
  align-content: center;
  padding: 0.75rem;
  border-right: 1px solid var(--line);
}
.retention-candidates > ol > li > :last-child { border-right: 0; }
.retention-coordinate { place-items: center; padding: 0 !important; color: var(--quiet); background: var(--surface-subtle); font-family: var(--font-mono); font-size: 0.57rem; }
.retention-candidates h3 { margin: 0; font-size: 0.69rem; }
.retention-candidates p { margin: 0.16rem 0 0; color: var(--muted); font-size: 0.58rem; line-height: 1.45; }
.retention-candidates dl { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.retention-candidates dl > div { min-width: 0; padding-right: 0.55rem; }
.retention-candidates dl > div + div { padding-left: 0.55rem; border-left: 1px solid var(--line); }
.retention-candidate-count { justify-items: end; font-family: var(--font-mono); font-size: 1rem; text-align: right; }
.retention-candidate-count small { color: var(--quiet); font-size: 0.5rem; font-weight: 500; }
.retention-candidate-count.has-candidates { color: var(--high); background: var(--high-soft); }
.retention-candidates a { display: flex; align-items: center; justify-content: flex-end; gap: 0.3rem; color: var(--accent-dark); font-size: 0.58rem; font-weight: 720; text-align: right; }
.retention-empty { margin-bottom: 2rem; }
.retention-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.35rem; align-items: start; }
.retention-editor { padding: 1rem; border: 1px solid var(--line-strong); background: var(--surface); }
.retention-editor > .section-heading-row > span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.57rem; }
.retention-editor form { display: grid; gap: 1rem; }
.retention-fields {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-block: 1px solid var(--line);
}
.retention-fields > .field { gap: 0.3rem; margin: 0; padding: 0.7rem; border-right: 1px solid var(--line); }
.retention-fields > .field:first-child { padding-left: 0; }
.retention-fields > .field:last-child { padding-right: 0; border-right: 0; }
.retention-fields label { min-height: 2.4em; font-size: 0.58rem; line-height: 1.3; }
.retention-fields small { color: var(--quiet); font-family: var(--font-mono); font-size: 0.5rem; }
.retention-authority-fields { display: grid; grid-template-columns: 1fr 220px; gap: 0.8rem; }
.retention-authority-fields .field { margin: 0; }
.retention-boundary { padding: 1rem; border-block: 1px solid var(--line-strong); }
.retention-boundary h2 { margin-top: 0.15rem; font-size: 1rem; }
.retention-boundary ol { margin: 0.8rem 0 0; padding: 0; list-style: none; }
.retention-boundary li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 0.45rem; padding: 0.45rem 0; border-top: 1px solid var(--line); font-size: 0.61rem; }
.retention-boundary li span { color: var(--quiet); font-family: var(--font-mono); font-size: 0.54rem; }
.retention-history { margin-top: 1.5rem; border-top: 1px solid var(--line-strong); }
.retention-history > summary { width: max-content; padding-top: 0.7rem; color: var(--accent-dark); cursor: pointer; font-size: 0.63rem; font-weight: 720; }
.retention-history > ol { margin: 0.6rem 0 0; padding: 0; list-style: none; }
.retention-history li { display: grid; grid-template-columns: 150px 160px minmax(0, 1fr); gap: 0.6rem; padding: 0.55rem 0; border-top: 1px solid var(--line); font-size: 0.59rem; }
.retention-history time { color: var(--quiet); font-family: var(--font-mono); }
.retention-history small { grid-column: 2 / -1; color: var(--quiet); }

@media (max-width: 1080px) {
  .retention-current > header { grid-template-columns: 1fr; }
  .retention-current > header dl > div:first-child { border-left: 0; }
  .retention-candidates > ol > li { grid-template-columns: 44px minmax(0, 1fr) 90px; }
  .retention-candidates dl { grid-column: 2; border-top: 1px solid var(--line); }
  .retention-candidate-count { grid-column: 3; grid-row: 1 / span 2; border-right: 0 !important; }
  .retention-candidates a { grid-column: 2 / -1; border-top: 1px solid var(--line); border-right: 0 !important; }
  .retention-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .retention-fields > .field:nth-child(3) { border-right: 0; }
  .retention-fields > .field:nth-child(n+4) { border-top: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .retention-summary,
  .retention-current > header dl,
  .retention-editor-layout,
  .retention-fields,
  .retention-authority-fields { grid-template-columns: 1fr; }
  .retention-current > header dl > div { padding: 0.5rem 0; border-top: 1px solid var(--line); border-left: 0; }
  .retention-current > ol > li { grid-template-columns: 38px minmax(0, 1fr); }
  .retention-current > ol b { grid-column: 2; border-top: 1px solid var(--line); text-align: left; }
  .retention-candidates > .section-heading-row { align-items: flex-start; flex-direction: column; }
  .retention-candidates > ol > li { grid-template-columns: 38px minmax(0, 1fr); }
  .retention-coordinate { grid-column: 1; grid-row: 1 / span 4; }
  .retention-candidates > ol > li > div { grid-column: 2; border-right: 0; }
  .retention-candidates dl { grid-column: 2; grid-template-columns: 1fr; border-right: 0; }
  .retention-candidates dl > div + div { margin-top: 0.35rem; padding-top: 0.35rem; padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .retention-candidate-count { grid-column: 2; grid-row: auto; justify-items: start; border-top: 1px solid var(--line); text-align: left; }
  .retention-candidates a { grid-column: 2; justify-content: flex-start; text-align: left; }
  .retention-editor { padding: 0.8rem; }
  .retention-editor > .section-heading-row { align-items: flex-start; flex-direction: column; }
  .retention-fields > .field,
  .retention-fields > .field:first-child,
  .retention-fields > .field:last-child {
    padding: 0.7rem 0;
    border-top: 1px solid var(--line);
    border-right: 0;
  }
  .retention-fields > .field:first-child { border-top: 0; }
  .retention-fields label { min-height: 0; }
  .retention-history li { grid-template-columns: 1fr; }
  .retention-history small { grid-column: 1; }
}

/* Inspectable connector capability contract */
.capability-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.capability-contract {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  margin-bottom: 1.8rem;
  padding: 0.8rem;
  border: 1px solid color-mix(in oklch, var(--accent) 35%, var(--line));
  background: var(--surface-cool);
}
.capability-contract p { margin: 0; font-size: 0.68rem; }
.capability-connector + .capability-connector { margin-top: 2.4rem; }
.capability-connector > header {
  display: grid;
  grid-template-columns: 48px minmax(180px, 0.65fr) minmax(0, 1.4fr);
  gap: 0.8rem;
  align-items: center;
  padding: 0.85rem 0;
  border-block: 1px solid var(--line-strong);
}
.capability-provider {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--line-strong);
  color: var(--accent-dark);
  background: var(--surface-cool);
  font-family: var(--font-mono);
  font-size: 0.59rem;
  font-weight: 720;
}
.capability-connector > header h2 { margin: 0; font-size: 0.95rem; }
.capability-connector > header dl { display: grid; grid-template-columns: 0.55fr 0.7fr 0.85fr 1.6fr; margin: 0; }
.capability-connector > header dl > div { min-width: 0; padding: 0.45rem 0.7rem; border-left: 1px solid var(--line); }
.capability-connector dt,
.capability-row > div > span {
  color: var(--quiet);
  font-family: var(--font-mono);
  font-size: 0.51rem;
  text-transform: uppercase;
}
.capability-connector dd { margin: 0.16rem 0 0; overflow-wrap: anywhere; font-size: 0.61rem; }
.capability-connector dd code { display: block; font-size: 0.52rem; }
.capability-connector dd + small { display: block; margin-top: 0.15rem; color: var(--quiet); font-size: 0.5rem; }
.capability-connector .collection-paused dd { color: var(--critical); }
.capability-pause { display: grid; grid-template-columns: 190px minmax(0, 1fr) minmax(220px, 0.7fr); gap: 0.8rem; padding: 0.65rem; border-bottom: 1px solid var(--critical); background: var(--critical-soft); font-size: 0.61rem; }
.capability-pause small { color: var(--muted); }
.capability-state-history { border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.capability-state-history summary { padding: 0.55rem 0.7rem; color: var(--accent-dark); font-family: var(--font-mono); font-size: 0.56rem; font-weight: 700; cursor: pointer; text-transform: uppercase; }
.capability-state-history > ol { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.capability-state-history li { display: grid; grid-template-columns: 76px minmax(0, 1fr) minmax(280px, 0.8fr); gap: 0.7rem; padding: 0.65rem 0.7rem; border-bottom: 1px solid var(--line); }
.capability-state-history li > span { color: var(--accent-dark); font-family: var(--font-mono); font-size: 0.55rem; font-weight: 700; text-transform: uppercase; }
.capability-state-history li > div { display: grid; gap: 0.15rem; }
.capability-state-history strong { font-size: 0.62rem; }
.capability-state-history small { color: var(--quiet); font-size: 0.53rem; }
.capability-state-history dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
.capability-state-history dl > div { padding-inline: 0.5rem; border-left: 1px solid var(--line); }
.capability-state-history dt { color: var(--quiet); font-size: 0.49rem; text-transform: uppercase; }
.capability-state-history dd { margin: 0.1rem 0 0; font-family: var(--font-mono); font-size: 0.6rem; font-weight: 700; }
.capability-state-history > p { margin: 0; padding: 0.55rem 0.7rem; color: var(--quiet); font-size: 0.55rem; }
.capability-connector > .table-toolbar { margin-bottom: 0; }
.capability-connector > ol { margin: 0; padding: 0; list-style: none; }
.capability-row {
  display: grid;
  grid-template-columns: 44px minmax(150px, 0.65fr) 105px minmax(190px, 1fr) minmax(190px, 1fr) minmax(160px, 0.8fr) minmax(180px, 0.85fr);
  min-width: 0;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.capability-row > * {
  display: grid;
  min-width: 0;
  align-content: center;
  padding: 0.75rem;
  border-right: 1px solid var(--line);
}
.capability-row > :last-child { border-right: 0; }
.capability-coordinate { place-items: center; padding: 0 !important; color: var(--quiet); background: var(--surface-subtle); font-family: var(--font-mono); font-size: 0.56rem; }
.capability-identity { gap: 0.2rem; }
.capability-identity h3 { margin: 0; font-size: 0.68rem; }
.capability-identity code { color: var(--quiet); font-size: 0.49rem; white-space: normal; }
.capability-state { justify-items: start; gap: 0.16rem; }
.capability-state i { width: 8px; height: 8px; border: 1px solid currentColor; border-radius: 50%; }
.capability-state strong { font-size: 0.59rem; }
.capability-state small { color: var(--quiet); font-size: 0.5rem; }
.capability-state.state-completed { color: var(--success); background: var(--success-soft); }
.capability-state.state-completed i { background: var(--success); }
.capability-state.state-partial,
.capability-state.state-not-observed { color: var(--high); background: var(--high-soft); }
.capability-state.state-partial i { background: var(--high); }
.capability-state.state-failed,
.capability-state.state-missing-diagnostic { color: var(--critical); background: var(--critical-soft); }
.capability-state.state-failed i { background: var(--critical); }
.capability-row p { margin: 0.18rem 0 0; font-size: 0.58rem; line-height: 1.45; }
.capability-boundary small { margin-top: 0.35rem; padding-top: 0.35rem; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.54rem; line-height: 1.4; }
.capability-diagnostic p { color: var(--muted); }
.contract-fingerprint { overflow-wrap: anywhere; }

@media (max-width: 1180px) {
  .capability-row { grid-template-columns: 44px minmax(180px, 0.8fr) 110px minmax(0, 1fr) minmax(0, 1fr); }
  .capability-boundary { grid-column: 2 / 4; border-top: 1px solid var(--line); }
  .capability-diagnostic { grid-column: 4 / 6; border-top: 1px solid var(--line); border-right: 0; }
}

@media (max-width: 760px) {
  .capability-summary { grid-template-columns: 1fr; }
  .capability-connector > header { grid-template-columns: 42px minmax(0, 1fr); }
  .capability-connector > header dl { grid-column: 2; grid-template-columns: 1fr; }
  .capability-connector > header dl > div { padding: 0.45rem 0; border-top: 1px solid var(--line); border-left: 0; }
  .capability-connector > .table-toolbar { align-items: flex-start; flex-direction: column; }
  .capability-row { grid-template-columns: 38px minmax(0, 1fr); }
  .capability-row > * {
    grid-column: 2;
    padding: 0.7rem 0;
    border-top: 1px solid var(--line);
    border-right: 0;
  }
  .capability-coordinate { grid-column: 1 !important; grid-row: 1 / span 6; border-top: 0 !important; border-right: 1px solid var(--line) !important; }
  .capability-identity { border-top: 0; }
  .capability-state { justify-items: start; padding: 0.55rem; }
  .capability-boundary,
  .capability-diagnostic { grid-column: 2; }
  .capability-pause { grid-template-columns: 1fr; }
  .capability-state-history li { grid-template-columns: 1fr; }
  .capability-state-history dl > div:first-child { border-left: 0; padding-left: 0; }
}
