/* BlackTree editorial theme */
:root {
  color-scheme: light;
  --ink: #151918;
  --muted: #69736f;
  --bg: #f4f5f0;
  --panel: #fbfcf8;
  --line: #d5dad4;
  --green: #246b58;
  --amber: #9a651f;
  --red: #a33a32;
  --forest: #16302a;
  --forest-deep: #0f211d;
  --mint: #78c8b3;
  --mint-pale: #dfeae5;
  --paper: #fbfcf8;
}

html { background: var(--bg); }
body,
body.workspace-page {
  background: var(--bg);
  color: var(--ink);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
body::before { display: none; }
main { overflow: hidden; }
a { text-underline-offset: .2em; }

h1,
h2,
h3,
.page-title,
.countdown,
.metrics span,
.workspace-metrics span {
  font-family: "Manrope", "DM Sans", Arial, sans-serif;
}
h1,
h2,
h3 { font-weight: 600; }
h2 {
  color: var(--ink);
  font-size: clamp(2rem, 3.4vw, 3.35rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.pilot-banner {
  z-index: 20;
  padding: .42rem 1rem;
  border-bottom: 1px solid #c69d49;
  background: #e7c476;
  color: #261f13;
  font: 700 .625rem/1.35 "DM Sans", Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.site-header {
  position: relative;
  z-index: 12;
  display: block;
  min-height: 94px;
  padding: 0;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.site-header-inner {
  display: grid;
  grid-template-columns: minmax(240px, auto) 1fr minmax(120px, auto);
  align-items: center;
  gap: 2.2rem;
  width: min(1280px, 90vw);
  min-height: 94px;
  margin: 0 auto;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: .78rem;
  color: var(--ink);
  letter-spacing: 0;
  text-decoration: none;
}
.brand-mark { display: block; width: 48px; height: 48px; object-fit: contain; }
.brand-lockup { display: grid; gap: .05rem; color: var(--ink); }
.brand-lockup strong {
  color: var(--ink);
  font: 600 1.65rem/1 "Manrope", "DM Sans", sans-serif;
  letter-spacing: -.04em;
}
.brand-lockup small {
  color: #4f5b57;
  font: 500 .58rem/1.3 "DM Sans", Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.site-header nav {
  justify-content: center;
  gap: 2rem;
  min-width: 0;
}
.site-header nav a {
  position: relative;
  padding: 2.25rem 0 2.05rem;
  border: 0;
  color: #27312e;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  white-space: nowrap;
}
.site-header nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: transparent;
}
.site-header nav a:hover,
.site-header nav a.active { color: var(--green); border: 0; }
.site-header nav a:hover::after,
.site-header nav a.active::after { background: var(--green); }
.account {
  justify-content: flex-end;
  color: var(--muted);
  font-size: .67rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.account a,
.text-button { color: var(--green); font-weight: 700; }
.account input[type="hidden"] { display: none; }

.site-context {
  position: relative;
  z-index: 11;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding: .55rem max(5vw, calc((100vw - 1280px) / 2));
  background: var(--forest-deep);
  color: #adbbb6;
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.site-context span:first-child { color: var(--mint); }
.site-context i {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: .55rem;
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 0 4px rgba(120, 200, 179, .09);
}

.workspace-nav {
  justify-content: center;
  gap: 0;
  padding: 0 max(5vw, calc((100vw - 1280px) / 2));
  border-bottom: 1px solid #28433c;
  background: var(--forest);
}
.workspace-nav a {
  padding: .8rem .85rem;
  border: 0;
  border-right: 1px solid #28433c;
  color: #c4d0cc;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.workspace-nav a:first-child { border-left: 1px solid #28433c; }
.workspace-nav a:hover,
.workspace-nav a.active {
  border-color: #28433c;
  background: #203f37;
  color: #fff;
}

.skip-link { background: var(--mint); color: var(--forest-deep); font-weight: 700; }
.eyebrow,
.record-kicker,
.result-count,
.confidence,
.card-meta,
.variant,
.event-id,
.evidence-meta {
  font-family: "DM Sans", Arial, sans-serif;
}
.eyebrow {
  color: var(--green);
  font-size: .625rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: none;
  min-height: 560px;
  margin: 0;
  padding: 6.6rem max(5vw, calc((100vw - 1280px) / 2)) 5.8rem;
  overflow: hidden;
  background: var(--forest);
  color: #f4f7f3;
}
.hero::before,
.hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(120, 200, 179, .10);
  border-radius: 50%;
}
.hero::before { width: 520px; height: 520px; right: -290px; top: -250px; }
.hero::after { width: 380px; height: 380px; left: -240px; bottom: -280px; }
.hero .eyebrow { color: var(--mint); }
.hero h1 {
  max-width: 960px;
  margin: 1.45rem 0 1.55rem;
  color: #f4f7f3;
  font-size: clamp(3.4rem, 5.25vw, 6.3rem);
  line-height: .99;
  font-weight: 500;
  letter-spacing: -.06em;
}
.hero h1 em {
  color: transparent;
  -webkit-text-stroke: 1px var(--mint);
}
.hero .lede {
  max-width: 720px;
  color: #c2ceca;
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.72;
}
.hero-actions { gap: .65rem; margin-top: 2.1rem; }
.button {
  min-height: 44px;
  padding: .85rem 1.05rem;
  border: 1px solid #bfc7c2;
  background: transparent;
  color: var(--ink);
  font-size: .66rem;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.button.primary {
  border-color: var(--forest);
  background: var(--forest);
  color: #fff;
}
.button.primary:hover { border-color: var(--green); background: var(--green); }
.button.secondary:hover { border-color: var(--green); color: var(--green); }
.hero .button.primary {
  border-color: var(--mint);
  background: var(--mint);
  color: var(--forest-deep);
}
.hero .button.secondary { border-color: #48655d; color: #edf4f1; }
.hero .button.secondary:hover { border-color: var(--mint); color: var(--mint); }

.metrics {
  grid-template-columns: repeat(4, 1fr);
  width: min(1280px, 90vw);
  max-width: none;
  margin: 0 auto 6.5rem;
  border-color: var(--line);
  border-top: 0;
  background: var(--paper);
}
.metrics article { padding: 1.65rem 1.7rem; border-color: var(--line); }
.metrics article:first-child { background: var(--mint-pale); }
.metrics span {
  color: var(--ink);
  font-size: 2rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -.05em;
}
.metrics p {
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.5;
}

.section-shell {
  width: min(1280px, 90vw);
  max-width: none;
  padding-right: 0;
  padding-bottom: 6.5rem;
  padding-left: 0;
}
.section-shell.compact { padding-top: 4.5rem; padding-bottom: 4rem; }
.section-heading,
.workspace-heading { align-items: end; padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.section-heading h2,
.workspace-heading .page-title { margin-bottom: 0; }
.section-link,
.panel-heading a,
.workspace-heading a:not(.button):not(.back-link) {
  color: var(--green);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.release-list { border-top: 0; }
.release-row {
  grid-template-columns: 175px minmax(220px, 1fr) minmax(220px, 1fr) auto;
  min-height: 94px;
  padding: .75rem 1rem;
  border-color: var(--line);
}
.release-row:first-child { border-top: 0; }
.release-row:hover { background: #edf2ee; }
.release-row strong { font-family: "Manrope", sans-serif; font-size: 1.02rem; }
.release-row small,
.row-date { color: var(--muted); font-size: .72rem; }
.status,
.date-state,
.severity,
.workflow,
.freshness,
.event-type {
  border-radius: 0;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: .58rem;
  letter-spacing: .08em;
}
.status.supported,
.workflow.published,
.workflow.approved,
.workflow.accepted,
.workflow.closed,
.freshness.current,
.date-state.exact { color: var(--green); border-color: var(--green); }
.status.warning,
.status.extended,
.date-state.conditional,
.date-state.announced,
.date-state.paid,
.date-state.approximate,
.severity.normal,
.freshness.due,
.workflow.new,
.workflow.triaged,
.workflow.reviewing { color: var(--amber); border-color: var(--amber); }
.status.unsupported,
.date-state.disputed,
.severity.high,
.severity.urgent,
.freshness.stale,
.workflow.disputed,
.workflow.rejected { color: var(--red); border-color: var(--red); }

.coverage-warning {
  width: min(1280px, 90vw);
  margin-top: 0;
  margin-bottom: 6.5rem;
  padding: 1.3rem 1.5rem;
  border-color: #d6bc86;
  background: #f4ead7;
}
.coverage-warning strong { color: #76501b; font-family: "DM Sans", sans-serif; }
.coverage-warning p { color: #615b50; }
.coverage-warning a { color: var(--green); }

.method { max-width: none; }
.principles { border-color: var(--line); background: var(--line); }
.principles article { background: var(--paper); }
.principles article:first-child { background: var(--mint-pale); }
.principles b { color: var(--green); font-family: "DM Sans", sans-serif; }
.principles h3 { font-family: "Manrope", sans-serif; }
.principles p { color: var(--muted); }

.page-intro.section-shell,
.record-hero.section-shell {
  width: 100%;
  padding-right: max(5vw, calc((100vw - 1280px) / 2));
  padding-left: max(5vw, calc((100vw - 1280px) / 2));
  border: 0;
  background: var(--forest);
  color: #f4f7f3;
}
.page-intro .eyebrow,
.record-hero .eyebrow { color: var(--mint); }
.page-intro .page-title,
.record-hero .page-title {
  max-width: 1000px;
  color: #f4f7f3;
  font-size: clamp(3rem, 5vw, 5.5rem);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -.055em;
}
.page-intro .lede,
.record-hero .lede { max-width: 760px; color: #c2ceca; font-size: 1.05rem; }
.record-hero .back-link,
.record-hero .record-kicker { color: #b8c7c2; }
.record-hero .status.supported { color: var(--mint); border-color: var(--mint); }
.record-hero .status.warning,
.record-hero .status.extended { color: #e4c581; border-color: #e4c581; }
.record-hero .status.unsupported { color: #ef9d95; border-color: #ef9d95; }
.record-hero .status.unknown { color: #b8c7c2; border-color: #b8c7c2; }
.record-hero .variant-callout {
  border-color: #d8b16a;
  background: rgba(231, 196, 118, .08);
  color: #d5dedb;
}
.record-hero a:not(.status) { color: var(--mint); }

.catalogue-shell { padding-top: 3rem; }
.filter-bar {
  grid-template-columns: minmax(250px, 2fr) repeat(5, minmax(112px, 1fr)) auto;
  gap: .7rem;
  padding: 1.25rem;
  border-color: var(--line);
  background: var(--paper);
}
.filter-search { grid-column: auto; }
label > span,
.form-help {
  color: #59645f;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
input,
select,
textarea {
  min-height: 46px;
  border-color: #c7cdc8;
  background: #fff;
  color: var(--ink);
}
input::placeholder,
textarea::placeholder { color: #929b97; }
input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible { outline-color: var(--green); }
.result-count {
  color: var(--muted);
  font-size: .61rem;
  letter-spacing: .1em;
}
.catalogue-grid { gap: 1px; border: 1px solid var(--line); background: var(--line); }
.catalogue-card {
  min-height: 400px;
  padding: 1.7rem;
  border: 0;
  background: var(--paper);
}
.catalogue-card:hover { background: #f0f3ef; }
.discovery-card { border: 0; box-shadow: inset 3px 0 #d2a64d; }
.catalogue-card h2 {
  color: var(--ink);
  font-size: clamp(1.65rem, 2.3vw, 2.35rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.catalogue-card > p:not(.card-meta):not(.variant) { color: var(--muted); }
.card-meta,
.variant { color: var(--green); font-size: .6rem; }
.confidence { color: var(--muted); font-size: .58rem; letter-spacing: .08em; }
.card-facts { border-color: var(--line); }
.card-facts b { color: var(--muted); font-size: .58rem; letter-spacing: .07em; }
.card-link,
.family-link,
.card-meta a,
.variant-callout a { color: var(--green); }
.empty-state { background: var(--paper); }
.pagination { border-color: var(--line); background: var(--paper); }
.pagination a { color: var(--green); }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.lifecycle-list-wrap {
  border: 1px solid var(--line);
  background: var(--paper);
  overflow-x: auto;
}
.lifecycle-list {
  min-width: 1060px;
  table-layout: fixed;
  background: var(--paper);
  font-size: .76rem;
}
.lifecycle-list th,
.lifecycle-list td { border-color: var(--line); }
.lifecycle-list th {
  padding: .78rem 1rem;
  background: #edf1ed;
  color: #59645f;
  vertical-align: middle;
}
.lifecycle-list th:first-child { width: 28%; }
.lifecycle-list th:nth-child(2) { width: 14%; }
.lifecycle-list th:nth-child(3) { width: 14%; }
.lifecycle-list th:nth-child(4) { width: 18%; }
.lifecycle-list th:nth-child(5) { width: 15%; }
.lifecycle-list th:nth-child(6) { width: 9%; }
.lifecycle-list th:last-child { width: 44px; }
.lifecycle-list td {
  padding: 1rem;
  color: #303936;
  vertical-align: middle;
}
.lifecycle-list tbody tr { transition: background-color .12s ease; }
.lifecycle-list tbody tr:hover { background: #edf2ee; }
.lifecycle-list tbody tr:last-child td { border-bottom: 0; }
.lifecycle-list .discovery-result td:first-child { box-shadow: inset 3px 0 #d2a64d; }
.sort-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: inherit;
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.sort-link span { color: #8b9590; font-size: .72rem; }
.sort-link:hover,
.sort-link.active { color: var(--green); }
.sort-link.active span { color: var(--green); }
.result-product {
  display: inline-block;
  color: var(--ink);
  font: 600 1rem/1.3 "Manrope", "DM Sans", sans-serif;
  letter-spacing: -.02em;
  text-decoration: none;
}
.result-product:hover { color: var(--green); text-decoration: underline; }
.lifecycle-list td small {
  display: block;
  margin-top: .3rem;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.4;
}
.vendor-link { color: var(--green); font-weight: 600; }
.lifecycle-cell strong { display: block; color: var(--ink); font-weight: 600; }
.lifecycle-cell > span { color: var(--muted); }
.record-type {
  display: inline-block;
  color: #48534f;
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.45;
  text-transform: uppercase;
}
.record-type.discovery { color: #8a5c18; }
.open-cell { padding-inline: .5rem !important; text-align: center; }
.open-cell a {
  display: grid;
  width: 30px;
  height: 30px;
  margin: auto;
  place-items: center;
  color: var(--green);
  font-size: 1rem;
  text-decoration: none;
}
.open-cell a:hover { background: var(--mint-pale); }
.home-list-wrap { margin-top: 0; }
.home-lifecycle-list { min-width: 860px; }
.home-lifecycle-list th:first-child { width: 30%; }
.home-lifecycle-list th:nth-child(2) { width: 18%; }
.home-lifecycle-list th:nth-child(3) { width: 20%; }
.home-lifecycle-list th:nth-child(4) { width: auto; }
.home-lifecycle-list th:last-child { width: 44px; }
.mobile-sort { display: none; }

.record-layout { gap: 4.5rem; padding-top: 4.5rem; }
.record-section { margin-bottom: 5rem; }
.record-section h2 { font-size: clamp(2rem, 3vw, 3.2rem); }
.section-note,
.timeline-item p:not(.timeline-dates),
.evidence-card > p,
.change-card p,
.transition-card p { color: var(--muted); }
.timeline-item::before { background: var(--line); }
.timeline-dot { border-color: var(--bg); outline-color: var(--green); background: var(--green); }
.timeline-dates { color: var(--green); font-family: "DM Sans", sans-serif; font-weight: 600; }
.conditions { border-color: #d5ad62; background: #f5eddd; }
.timeline-table,
th,
td { border-color: var(--line); }
table { background: var(--paper); }
th { color: var(--muted); }
td a { color: var(--green); }
.evidence-card,
.aside-card,
.change-card,
.transition-card,
.review-card,
.panel,
.form-panel {
  border-color: var(--line);
  background: var(--paper);
}
blockquote { border-color: var(--green); }
.evidence-card > div:first-child,
.evidence-meta,
.aside-card > span,
.fine-print,
dt,
.audit-list time,
.audit-list span,
.audit-list p { color: var(--muted); }
.evidence-card > a,
.aside-card a,
.card-actions a { color: var(--green); }
.countdown { color: var(--green); }
.audit-list article { border-color: var(--line); }
.prose-grid aside a { border-color: var(--line); color: var(--muted); }
.prose-grid p:not(.eyebrow) { color: #4e5955; }

.login-copy > p:last-child { color: var(--muted); }
.login-card { border-color: var(--line); background: var(--paper); }
.error-shell > span { color: var(--green); }
.flash { border-color: var(--line); background: var(--paper); }
.flash.success { color: var(--green); }
.flash.error { color: var(--red); }
.flash.warning { color: var(--amber); }

.workspace-heading > div > p:last-child,
.workspace-metrics p,
.ops-list time,
.ops-list > article > span:last-child,
.ops-list p,
.empty-copy,
.evidence-form article p,
.evidence-form small,
.review-card header { color: var(--muted); }
.workspace-metrics article {
  border-color: var(--line);
  background: var(--paper);
}
.workspace-metrics article:first-child { background: var(--mint-pale); }
.workspace-metrics span { color: var(--green); }
.panel-heading,
.ops-list article,
.phase-editor,
.checkbox-label,
.review-card,
.decision-form,
.segmented,
.source-health { border-color: var(--line); }
.phase-editor legend { color: var(--green); font-family: "DM Sans", sans-serif; }
.diff { border-color: #29433c; background: #29433c; }
.diff > div,
.decision-note { background: var(--forest-deep); }
.diff b { color: #aebcb7; }
.diff pre { color: #dce7e3; }
.decision-note { border-color: var(--mint); color: #dce7e3; }
.segmented a.active,
.type-switcher a.active { background: var(--forest); color: #fff; }
.definition-list { border-color: var(--line); background: var(--line); }
.definition-list article { background: var(--paper); }
.alpha-grid .panel { background: var(--paper); }

footer {
  width: 100%;
  padding: 2.2rem max(5vw, calc((100vw - 1280px) / 2));
  border-color: #29433c;
  background: var(--forest-deep);
  color: #aebcb7;
  font-size: .64rem;
  letter-spacing: .04em;
}
footer a { color: #e7efec; }

@media (max-width: 1180px) {
  .site-header-inner { grid-template-columns: 1fr auto; gap: .8rem 2rem; padding-top: .8rem; }
  .site-header nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    width: 100%;
    overflow-x: auto;
  }
  .site-header nav a { padding: .75rem 0 1rem; }
  .filter-bar { grid-template-columns: 1fr 1fr; }
  .filter-search { grid-column: span 2; }
}

@media (max-width: 760px) {
  .pilot-banner { padding-inline: 1.2rem; }
  .site-header { min-height: 0; }
  .site-header-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    width: 90vw;
    min-height: 0;
    padding: 1rem 0 0;
  }
  .brand-mark { width: 42px; height: 42px; }
  .brand-lockup strong { font-size: 1.4rem; }
  .account { width: auto; padding: 0; }
  .site-header nav { gap: 1.35rem; }
  .site-context { display: block; padding-block: .6rem; }
  .site-context span:last-child { display: none; }
  .hero { min-height: auto; padding-top: 4.6rem; padding-bottom: 4.5rem; }
  .hero h1 { font-size: clamp(3.1rem, 15vw, 5rem); }
  .metrics { grid-template-columns: 1fr 1fr; width: 90vw; margin-inline: auto; }
  .metrics article { border-right: 1px solid var(--line); }
  .metrics article:nth-child(2n) { border-right: 0; }
  .section-shell,
  .coverage-warning { width: 90vw; }
  .page-intro.section-shell,
  .record-hero.section-shell { width: 100%; }
  .section-heading,
  .workspace-heading { align-items: flex-start; }
  .release-row { grid-template-columns: 1fr auto; padding: 1rem 0; }
  .release-row .status,
  .row-date { grid-column: 1 / -1; }
  .catalogue-grid { grid-template-columns: 1fr; }
  .catalogue-card { min-height: 0; }
  .mobile-sort {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: 0 0 .65rem;
    padding: .6rem;
    overflow-x: auto;
    border: 1px solid var(--line);
    background: var(--paper);
  }
  .mobile-sort > span {
    flex: 0 0 auto;
    padding-inline: .35rem;
    color: var(--muted);
    font-size: .56rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .mobile-sort a {
    flex: 0 0 auto;
    padding: .45rem .6rem;
    color: #46514d;
    font-size: .62rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
  }
  .mobile-sort a.active { background: var(--forest); color: #fff; }
  .lifecycle-list-wrap { overflow: visible; }
  .lifecycle-list { min-width: 0; table-layout: auto; }
  .lifecycle-list thead { display: none; }
  .lifecycle-list tbody,
  .lifecycle-list tr,
  .lifecycle-list td { display: block; width: 100%; }
  .lifecycle-list tbody tr {
    position: relative;
    padding: 1rem;
    border-bottom: 1px solid var(--line);
  }
  .lifecycle-list tbody tr:last-child { border-bottom: 0; }
  .lifecycle-list td {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    gap: .75rem;
    padding: .42rem 0;
    border: 0;
  }
  .lifecycle-list td::before {
    content: attr(data-label);
    color: #6b7571;
    font-size: .56rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .lifecycle-list td:first-child {
    display: block;
    margin-bottom: .45rem;
    padding: 0 2rem .8rem 0;
    border-bottom: 1px solid var(--line);
  }
  .lifecycle-list td:first-child::before { display: none; }
  .lifecycle-list .discovery-result td:first-child { box-shadow: none; }
  .lifecycle-list .discovery-result { box-shadow: inset 3px 0 #d2a64d; }
  .lifecycle-list .open-cell { display: none; }
  .result-product { font-size: 1.08rem; }
  .record-layout { grid-template-columns: 1fr; gap: 2rem; }
  .principles { grid-template-columns: 1fr; }
  footer { flex-direction: column; }
}

@media (max-width: 520px) {
  .account > span { display: none; }
  .brand-lockup small { display: none; }
  .account { font-size: .58rem; }
  .site-context { font-size: .52rem; }
  .hero-actions .button { width: 100%; text-align: center; }
  .metrics { grid-template-columns: 1fr; }
  .metrics article,
  .metrics article:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--line); }
  .metrics article:last-child { border-bottom: 0; }
  .filter-bar,
  .card-facts { grid-template-columns: 1fr; }
  .filter-search { grid-column: auto; }
  .filter-actions { align-items: stretch; flex-direction: column; }
  .filter-actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .button { transition: none; }
}

@media print {
  .site-context { display: none !important; }
}

/* Compact knowledge-base interface */
.knowledge-header,
.page-intro.section-shell {
  border-bottom: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
}
.knowledge-header .section-shell.compact,
.page-intro.section-shell.compact {
  width: min(1280px, 90vw);
  padding: 1.75rem 0 1.6rem;
}
.page-intro.section-shell {
  width: 100%;
  padding-right: max(5vw, calc((100vw - 1280px) / 2));
  padding-left: max(5vw, calc((100vw - 1280px) / 2));
}
.knowledge-header .back-link {
  margin-bottom: .9rem;
  color: var(--green);
}
.knowledge-header .record-kicker {
  gap: .55rem;
  margin: 0 0 .9rem;
  color: var(--muted);
  font-family: "DM Sans", Arial, sans-serif;
}
.knowledge-header .eyebrow,
.page-intro .eyebrow {
  margin: 0 0 .35rem;
  color: var(--green);
}
.knowledge-header .page-title,
.page-intro .page-title {
  max-width: 980px;
  margin: 0 0 .55rem;
  color: var(--ink);
  font-size: clamp(2rem, 3.5vw, 3.15rem);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.04em;
}
.knowledge-header .lede,
.page-intro .lede {
  max-width: 900px;
  margin: 0;
  color: #52605b;
  font-size: 1rem;
  line-height: 1.55;
}
.record-scope {
  max-width: 1000px;
  margin: .85rem 0 0;
  color: var(--muted);
  font-size: .76rem;
}
.record-scope a,
.knowledge-header a { color: var(--green); }
.record-layout {
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 2.25rem;
  padding-top: 2rem;
  padding-bottom: 3rem;
}
.record-section { margin-bottom: 2.75rem; }
.record-section h2,
.record-section .compact-section-heading h2 {
  max-width: none;
  margin: 0 0 .9rem;
  color: var(--ink);
  font-size: 1.35rem;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.025em;
}
.record-section h3 {
  margin: 0 0 .35rem;
  color: #2a3431;
  font-size: .92rem;
  line-height: 1.35;
  letter-spacing: -.01em;
}
.record-section > p,
.overview-grid p,
.compact-list {
  color: #4e5a56;
  font-size: .9rem;
  line-height: 1.65;
}
.overview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.75rem;
  margin: 1.15rem 0;
  padding: 1.15rem 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.overview-grid p { margin: 0 0 .85rem; }
.overview-grid p:last-child { margin-bottom: 0; }
.compact-list { margin: 0; padding-left: 1.1rem; }
.compact-list li { margin-bottom: .28rem; }
.source-line {
  margin: .8rem 0 0 !important;
  color: var(--muted) !important;
  font-size: .72rem !important;
}
.source-line a,
.source-link { color: var(--green); }
.compact-section-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .85rem;
}
.compact-section-heading h2 { margin-bottom: 0 !important; }
.compact-section-heading > a,
.compact-section-heading > span,
.compact-section-heading > div > p {
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
}
.compact-section-heading > a { color: var(--green); }
.kb-table {
  border: 1px solid var(--line);
  background: var(--paper);
}
.kb-table table { font-size: .75rem; }
.kb-table th,
.kb-table td { padding: .75rem .8rem; }
.kb-table thead th { background: #edf1ed; }
.kb-table tbody th { width: 18%; color: #3d4844; }
.kb-table small { line-height: 1.35; }
.section-note {
  max-width: 900px;
  margin: -.15rem 0 1rem !important;
  color: var(--muted) !important;
  font-size: .76rem !important;
  line-height: 1.55 !important;
}
.quiet-empty {
  padding: 1rem 1.1rem;
  border: 1px solid var(--line);
  background: #f0f2ee;
}
.quiet-empty p {
  margin: 0 0 .35rem;
  color: #56615d;
  font-size: .8rem;
}
.quiet-empty p:last-child { margin-bottom: 0; }
.security-list,
.evidence-list { border-top: 1px solid var(--line); }
.security-item {
  display: grid;
  grid-template-columns: 145px minmax(0, 1fr);
  gap: 1.1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}
.security-id { display: grid; align-content: start; gap: .25rem; }
.security-id a {
  color: var(--green);
  font-size: .82rem;
  font-weight: 700;
}
.security-id span,
.security-meta,
.source-link { font-size: .68rem; }
.security-id span,
.security-meta { color: var(--muted); }
.security-item h3 { margin-bottom: .3rem; font-size: .92rem; }
.security-item p { margin: 0 0 .45rem; color: #515d59; font-size: .8rem; line-height: 1.5; }
.security-meta { display: flex; flex-wrap: wrap; gap: .35rem 1rem; }
.evidence-row {
  display: grid;
  grid-template-columns: 145px minmax(0, 1fr);
  gap: 1.1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}
.evidence-row > div:first-child {
  display: flex;
  align-content: start;
  align-items: flex-start;
  flex-direction: column;
  gap: .4rem;
  color: var(--muted);
  font-size: .68rem;
}
.evidence-row p { margin: 0 0 .45rem; color: #535f5b; font-size: .8rem; line-height: 1.5; }
.evidence-row .evidence-excerpt {
  padding-left: .75rem;
  border-left: 2px solid var(--green);
  color: #303a37;
}
.evidence-row .evidence-meta { padding: .45rem 0 0; border: 0; font-size: .66rem; }
.evidence-row a { color: var(--green); font-size: .72rem; }
.record-aside .aside-card:first-child { position: static; }
.aside-card { padding: 1rem 1.1rem; }
.aside-card h2 {
  margin: 0 0 .8rem;
  color: var(--ink);
  font-size: .95rem;
  line-height: 1.3;
  letter-spacing: -.015em;
}
.aside-card p { margin: 0 0 .65rem; color: #56615d; font-size: .78rem; line-height: 1.5; }
.aside-card dl { gap: .65rem; }
.aside-card dt { font-size: .66rem; }
.aside-card dd { color: #313b38; font-size: .72rem; }
.aside-card dd small { display: block; margin-top: .2rem; color: var(--muted); }
.summary-card { border-top: 3px solid var(--green); }
.summary-card .status { font-size: .58rem; }
.audit-list article { padding: .75rem 0; }
.audit-list p { font-size: .74rem; }
.coverage-warning {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: .85rem 1rem;
}
.coverage-warning strong,
.coverage-warning p { display: inline; font-size: .76rem; }
.coverage-warning strong { margin-right: .55rem; }

.home-intro {
  border-bottom: 1px solid #29433c;
  background: var(--forest);
  color: #f4f7f3;
}
.home-intro .section-shell { padding: 2.4rem 0 2.1rem; }
.home-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: start;
  gap: 3rem;
}
.home-intro .eyebrow { margin: 0 0 .4rem; color: var(--mint); }
.home-intro h1 {
  max-width: 1100px;
  margin: 0 0 .55rem;
  color: #f4f7f3;
  font-size: clamp(2rem, 3.2vw, 2.75rem);
  line-height: 1.1;
  letter-spacing: -.045em;
}
.home-intro-copy > p:not(.eyebrow) {
  max-width: 900px;
  margin: 0;
  color: #c2ceca;
  font-size: .95rem;
}
.home-search { max-width: 760px; margin-top: 1.25rem; }
.home-search label {
  margin-bottom: .35rem;
  color: #c2ceca;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.home-search > div { display: grid; grid-template-columns: 1fr auto; }
.home-search input {
  min-height: 44px;
  border-color: #6d8c82;
  background: #fff;
  color: var(--ink);
}
.home-search .button { border-radius: 0; }
.home-search .button.primary {
  border-color: var(--mint);
  background: var(--mint);
  color: var(--forest-deep);
}
.home-links { display: flex; gap: 1.25rem; margin-top: .9rem; }
.home-links a { color: var(--mint); font-size: .72rem; }
.eol-calendar {
  padding: .9rem 1rem .75rem;
  border: 1px solid #37534b;
  background: var(--forest-deep);
  color: #eaf1ee;
}
.eol-calendar > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .45rem;
}
.eol-calendar .calendar-kicker {
  margin: 0 0 .1rem;
  color: var(--mint);
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.eol-calendar h2 {
  margin: 0;
  color: #f4f7f3;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.eol-calendar > header nav { display: flex; gap: .3rem; }
.eol-calendar > header nav a {
  display: grid;
  width: 28px;
  height: 28px;
  border: 1px solid #45635a;
  color: var(--mint);
  place-items: center;
  text-decoration: none;
}
.eol-calendar > header nav a:hover { border-color: var(--mint); }
.calendar-grid {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  background: transparent;
}
.calendar-grid th,
.calendar-grid td {
  height: 29px;
  padding: 0;
  border: 0;
  color: #d6e0dc;
  text-align: center;
  vertical-align: middle;
}
.calendar-grid th {
  height: 21px;
  color: #84978f;
  font-size: .48rem;
  font-weight: 700;
  letter-spacing: .05em;
}
.calendar-grid td { font-size: .64rem; }
.calendar-grid td.outside { opacity: .18; }
.calendar-grid .calendar-day,
.calendar-grid td > a {
  display: grid;
  align-content: center;
  justify-items: center;
  width: 100%;
  height: 29px;
  color: inherit;
  line-height: 1;
  text-decoration: none;
}
.calendar-grid td > a:hover { background: #203b34; }
.calendar-grid td.today .calendar-day,
.calendar-grid td.today > a { box-shadow: inset 0 0 0 1px #5f7a71; }
.calendar-dots {
  display: flex;
  justify-content: center;
  gap: 2px;
  height: 5px;
  margin-top: 2px;
}
.calendar-dots i,
.calendar-footer i {
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #ef6a62;
}
.calendar-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .45rem;
  color: #91a49d;
  font-size: .52rem;
}
.calendar-footer span { display: flex; align-items: center; gap: .35rem; }
.calendar-footer a { color: var(--mint); }
.lifecycle-day-intro { padding-bottom: 1.2rem; }
.lifecycle-day-intro .page-title { font-size: 2.2rem; }
.calendar-day-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1.25rem;
  margin-top: 1rem;
  font-size: .72rem;
}
.calendar-day-navigation a { color: var(--green); }
.lifecycle-day-shell { padding-top: .5rem; padding-bottom: 3rem; }
.lifecycle-day-list { min-width: 760px; }
.lifecycle-day-list th:first-child { width: 34%; }
.lifecycle-day-list th:nth-child(2) { width: 18%; }
.lifecycle-day-list th:nth-child(3) { width: 27%; }
.lifecycle-day-list th:nth-child(4) { width: auto; }
.lifecycle-day-list th:last-child { width: 44px; }
.compact-metrics {
  grid-template-columns: repeat(4, 1fr);
  width: min(1280px, 90vw);
  margin: 1.5rem auto 2.5rem;
  padding: 0;
  border-color: var(--line);
  background: var(--paper);
}
.compact-metrics article { display: flex; align-items: baseline; gap: .65rem; padding: .85rem 1rem; }
.compact-metrics span { color: var(--green); font-size: 1.45rem; }
.compact-metrics p { margin: 0; color: var(--muted); font-size: .7rem; }
.home-records { padding-bottom: 2.5rem; }
.home-records > .compact-section-heading h2 { font-size: 1.4rem; }
.home-notes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: 2.5rem;
  padding-top: 1.4rem;
  padding-bottom: 2.5rem;
  border-top: 1px solid var(--line);
}
.home-notes h2 { margin: 0 0 .55rem; font-size: 1.25rem; letter-spacing: -.02em; }
.home-notes p,
.home-notes li { color: #53605b; font-size: .8rem; line-height: 1.55; }
.home-notes p { margin: 0; }
.home-notes ul { margin: 0; padding-left: 1.15rem; }
.home-notes li { margin-bottom: .4rem; }
.catalogue-shell { padding-top: 1.5rem; }
.filter-bar { padding: 1rem; }

@media (max-width: 980px) {
  .home-intro-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .eol-calendar { width: min(420px, 100%); }
}

@media (max-width: 760px) {
  .knowledge-header .section-shell.compact,
  .page-intro.section-shell.compact,
  .home-intro .section-shell { width: 90vw; padding: 1.4rem 0; }
  .home-intro-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .eol-calendar { width: 100%; }
  .knowledge-header .page-title,
  .page-intro .page-title { font-size: 2rem; }
  .record-layout { grid-template-columns: 1fr; gap: 1rem; padding-top: 1.5rem; }
  .overview-grid,
  .home-notes { grid-template-columns: 1fr; gap: 1rem; }
  .security-item,
  .evidence-row { grid-template-columns: 1fr; gap: .6rem; }
  .security-id { display: flex; align-items: baseline; justify-content: space-between; }
  .compact-section-heading { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .compact-metrics { grid-template-columns: 1fr 1fr; width: 90vw; }
  .compact-metrics article { border-bottom: 1px solid var(--line); }
  .compact-metrics article:nth-child(2n) { border-right: 0; }
  .home-search > div { grid-template-columns: 1fr; gap: .5rem; }
  .home-links { flex-wrap: wrap; }
  .kb-table { overflow-x: auto; }
}

@media (max-width: 520px) {
  .compact-metrics { grid-template-columns: 1fr; }
  .compact-metrics article { border-right: 0; }
}

/* Knowledge-base consistency and catalogue controls */
.phase-name,
.kb-table th small.phase-qualifier {
  display: block;
}
.kb-table th small.phase-qualifier {
  margin-top: .28rem;
  color: var(--amber);
  font-size: .56rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.catalogue-filters {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.catalogue-filters .filter-search { grid-column: span 2; }
.catalogue-filters .filter-actions {
  align-self: end;
  min-height: 46px;
}
.catalogue-shell > .result-count { margin: 1.15rem 0 .7rem; }

.transitions-intro .page-title { font-size: clamp(1.9rem, 3vw, 2.55rem); }
.transition-shell { padding-top: 1.5rem; padding-bottom: 3rem; }
.transition-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1.15rem 0 .7rem;
}
.transition-toolbar .feed-links { gap: 1.1rem; margin: 0; }
.transition-toolbar .feed-links a {
  color: var(--green);
  font-size: .7rem;
}
.transitions-table { min-width: 1120px; }
.transitions-table th:first-child { width: 13%; }
.transitions-table th:nth-child(2) { width: 22%; }
.transitions-table th:nth-child(3) { width: 12%; }
.transitions-table th:nth-child(4) { width: 25%; }
.transitions-table th:nth-child(5) { width: 13%; }
.transitions-table th:nth-child(6) { width: 11%; }
.transitions-table th:last-child { width: 44px; }
.transition-condition { color: #785b2e !important; }
.compact-empty {
  padding: 2rem;
  border: 1px solid var(--line);
}
.compact-empty h2 { margin: 0 0 .45rem; font-size: 1.3rem; letter-spacing: -.02em; }
.compact-empty p { max-width: 720px; margin: 0 0 .65rem; color: var(--muted); font-size: .82rem; }
.compact-empty a { color: var(--green); font-size: .76rem; }

.changes-intro .page-title { margin: 0 0 .4rem; font-size: clamp(1.9rem, 3vw, 2.55rem); }
.changes-intro .lede { max-width: 780px; margin: 0; font-size: .86rem; }
.changes-shell { padding-top: 1.25rem; padding-bottom: 3rem; }
.change-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .65rem;
}
.change-toolbar .feed-links { display: flex; gap: 1rem; margin: 0; }
.change-toolbar .feed-links a { color: var(--green); font-size: .7rem; }
.changes-table { min-width: 980px; }
.changes-table th:first-child { width: 15%; }
.changes-table th:nth-child(2) { width: 13%; }
.changes-table th:nth-child(3) { width: 18%; }
.changes-table th:nth-child(4) { width: 38%; }
.changes-table th:nth-child(5),
.changes-table th:last-child { width: 16%; }
.changes-table td small {
  display: block;
  margin-top: .3rem;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.4;
}
.changes-table td a { color: var(--green); }
.changes-table .event-type { font-size: .58rem; }
.change-ledger-empty {
  padding: 1.25rem 1.4rem;
  border: 1px solid var(--line);
  border-left: 3px solid var(--amber);
  background: var(--paper);
}
.change-ledger-empty b { font-size: .9rem; }
.change-ledger-empty p {
  max-width: 850px;
  margin: .35rem 0 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
}

/* Official package-registry library catalogue */
.library-shell { padding-top: 1.35rem; padding-bottom: 3rem; }
.library-scope-note {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 1rem;
  margin-bottom: 1rem;
  padding: .8rem 1rem;
  border: 1px solid #d7c69f;
  border-left: 3px solid var(--amber);
  background: #f7f0e1;
}
.library-scope-note strong {
  color: #6f4b19;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.library-scope-note p { margin: 0; color: #5d574c; font-size: .76rem; line-height: 1.5; }
.library-scope-note a { color: var(--green); }
.library-filters { grid-template-columns: 2fr 1fr 1fr 1fr auto; }
.library-filters .filter-actions { align-self: end; min-height: 46px; }
.library-list { min-width: 920px; }
.library-list th:first-child { width: 34%; }
.library-list th:nth-child(2) { width: 15%; }
.library-list th:nth-child(3) { width: 13%; }
.library-list th:nth-child(4) { width: 21%; }
.library-list th:nth-child(5) { width: 13%; }
.library-list th:last-child { width: 44px; }
.registry-signal {
  display: inline-block;
  padding: .18rem .42rem;
  border: 1px solid #86928e;
  color: #52605b;
  font-size: .57rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .08em;
}
.registry-signal.published { border-color: var(--green); color: var(--green); }
.registry-signal.deleted,
.registry-signal.yanked { border-color: var(--red); color: var(--red); }
.registry-signal.deprecated,
.registry-signal.unlisted { border-color: var(--amber); color: #7d5418; }
.library-title { overflow-wrap: anywhere; }
.library-detail-shell { padding-top: 1.1rem; padding-bottom: 3rem; }
.record-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-bottom: 1rem;
  color: var(--muted);
  font-size: .7rem;
}
.record-breadcrumb a { color: var(--green); }
.library-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
  gap: 1rem;
  margin-bottom: 1rem;
}
.compact-definition-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border: 1px solid var(--line);
  background: var(--paper);
}
.compact-definition-list div { padding: .8rem 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.compact-definition-list div:nth-child(2n) { border-right: 0; }
.compact-definition-list div:nth-last-child(-n+2) { border-bottom: 0; }
.compact-definition-list dt { color: var(--muted); font-size: .6rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.compact-definition-list dd { margin: .2rem 0 0; color: var(--ink); font-size: .86rem; font-weight: 600; overflow-wrap: anywhere; }
.library-source-panel { padding: .9rem 1rem; border: 1px solid var(--line); background: var(--paper); }
.library-source-panel strong { font-size: .82rem; }
.library-source-panel p { margin: .35rem 0 .65rem; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.library-source-panel a { color: var(--green); font-size: .74rem; }
.library-detail-shell .compact-section-heading { margin-top: 1.5rem; }
.library-detail-shell .compact-section-heading h2 { margin-bottom: .2rem; font-size: 1.25rem; letter-spacing: -.02em; }
.library-detail-shell .compact-section-heading p,
.library-detail-shell .compact-section-heading > span { margin: 0; color: var(--muted); font-size: .72rem; }
.library-release-list { min-width: 720px; }
.library-release-list th:first-child { width: 30%; }
.library-release-list th:nth-child(2) { width: 22%; }
.library-release-list th:nth-child(3) { width: 20%; }
.library-release-list th:last-child { width: 28%; }
.library-release-list a { color: var(--green); }

@media (max-width: 980px) {
  .library-filters { grid-template-columns: 1fr 1fr; }
  .library-filters .filter-search { grid-column: span 2; }
}

@media (max-width: 700px) {
  .library-filters { grid-template-columns: 1fr; }
  .library-filters .filter-search { grid-column: auto; }
  .library-scope-note,
  .library-summary-grid { grid-template-columns: 1fr; }
  .compact-definition-list { grid-template-columns: 1fr; }
  .compact-definition-list div,
  .compact-definition-list div:nth-child(2n),
  .compact-definition-list div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .compact-definition-list div:last-child { border-bottom: 0; }
}

.methodology-intro .section-shell.compact { padding-top: 1.75rem; padding-bottom: 1.55rem; }
.methodology-intro .page-title {
  margin: 0 0 .45rem;
  font-size: clamp(1.9rem, 3vw, 2.55rem);
}
.methodology-shell {
  display: grid;
  grid-template-columns: 210px minmax(0, 850px);
  justify-content: start;
  gap: 3rem;
  padding-top: 2rem;
  padding-bottom: 3.5rem;
}
.methodology-nav {
  position: sticky;
  top: 1rem;
  align-self: start;
  display: grid;
  border-top: 1px solid var(--line);
}
.methodology-nav strong,
.methodology-nav a {
  padding: .58rem .15rem;
  border-bottom: 1px solid var(--line);
  font-size: .72rem;
}
.methodology-nav strong { color: #38443f; }
.methodology-nav a { color: var(--muted); text-decoration: none; }
.methodology-nav a:hover { color: var(--green); }
.methodology-content { min-width: 0; }
.methodology-note {
  margin-bottom: 1.75rem;
  padding: .8rem 1rem;
  border: 1px solid #d6bc86;
  background: #f4ead7;
  color: #5f574a;
  font-size: .76rem;
}
.methodology-note strong { margin-right: .45rem; color: #76501b; }
.methodology-note p { display: inline; margin: 0; }
.methodology-section {
  padding: 0 0 1.7rem;
  margin-bottom: 1.7rem;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 1rem;
}
.methodology-section:last-child { margin-bottom: 0; }
.methodology-section h2 {
  margin: 0 0 .65rem;
  font-size: 1.35rem;
  line-height: 1.3;
  letter-spacing: -.025em;
}
.methodology-section h3 { margin: 1.1rem 0 .4rem; font-size: .9rem; }
.methodology-section p { margin: 0 0 .7rem; color: #4e5a56; font-size: .86rem; line-height: 1.65; }
.methodology-section p:last-child { margin-bottom: 0; }
.methodology-section a { color: var(--green); }
.methodology-definitions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: .85rem 0 1rem;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.methodology-definitions > div {
  padding: .75rem .85rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.methodology-definitions dt { margin-bottom: .25rem; color: #33403b; font-size: .72rem; font-weight: 700; }
.methodology-definitions dd { margin: 0; color: #59645f; font-size: .76rem; line-height: 1.5; }

.login-shell { min-height: calc(100vh - 240px); gap: 3rem; padding-top: 3rem; padding-bottom: 3rem; }
.login-copy .page-title { margin-bottom: .6rem; font-size: clamp(2rem, 3.5vw, 3rem); }
.login-copy .fine-print { margin-top: .85rem; font-size: .76rem; }
.login-card h2 { font-size: 1.25rem; letter-spacing: -.02em; }

.account-management { padding-top: 1.5rem; padding-bottom: 3.5rem; }
.account-create { padding: 1.1rem; }
.account-create h2,
.account-list-heading h2 { font-size: 1.2rem; letter-spacing: -.02em; }
.account-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.account-fields .button { align-self: end; }
.account-list-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 2rem 0 .65rem;
}
.account-list-heading h2,
.account-list-heading p { margin: 0; }
.account-list-heading p { color: var(--muted); font-size: .72rem; }
.account-list { border: 1px solid var(--line); background: var(--paper); }
.account-row {
  display: grid;
  grid-template-columns: 160px 1.1fr 150px 90px 1fr 1fr auto;
  align-items: end;
  gap: .7rem;
  padding: 1rem;
  border-bottom: 1px solid var(--line);
}
.account-row:last-child { border-bottom: 0; }
.account-identity { align-self: center; display: grid; }
.account-identity small { color: var(--muted); font-size: .65rem; }
.account-active {
  align-self: center;
  display: flex;
  align-items: center;
  gap: .45rem;
}
.account-active input { min-height: 0; }
.account-active span { margin: 0; }

@media (max-width: 1120px) {
  .account-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .account-identity { grid-row: span 2; }
  .account-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .catalogue-filters { grid-template-columns: 1fr 1fr; }
  .catalogue-filters .filter-search { grid-column: span 2; }
  .transition-toolbar { align-items: flex-start; flex-direction: column; }
  .methodology-shell { grid-template-columns: 1fr; gap: 1.5rem; }
  .methodology-nav { position: static; grid-template-columns: 1fr 1fr; }
  .methodology-nav strong { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  .catalogue-filters,
  .account-fields,
  .account-row,
  .methodology-definitions { grid-template-columns: 1fr; }
  .catalogue-filters .filter-search { grid-column: auto; }
  .account-identity { grid-row: auto; }
  .methodology-nav { grid-template-columns: 1fr; }
}

/* Automatic vendor collection and exception-only review */
.vendor-collection-heading { padding-top: 2rem; padding-bottom: 1.5rem; }
.vendor-collection-heading .page-title { font-size: clamp(2rem, 3vw, 2.7rem); }
.vendor-collection-heading > div > p:last-child { max-width: 900px; font-size: .9rem; }
.vendor-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.collection-explainer {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-bottom: 1.5rem;
  padding: 0;
}
.collection-explainer > div { padding: 1rem 1.1rem; border-right: 1px solid var(--line); }
.collection-explainer > div:last-child { border-right: 0; }
.collection-explainer strong { color: #35413d; font-size: .78rem; }
.collection-explainer p { margin: .3rem 0 0; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.vendor-collection-panel { padding-bottom: 0; margin-bottom: 3.5rem; }
.vendor-collection-table { min-width: 1120px; table-layout: fixed; }
.vendor-collection-table th:first-child { width: 5%; }
.vendor-collection-table th:nth-child(2) { width: 33%; }
.vendor-collection-table th:nth-child(3) { width: 22%; }
.vendor-collection-table th:nth-child(4) { width: 10%; }
.vendor-collection-table th:nth-child(5) { width: 12%; }
.vendor-collection-table th:nth-child(6) { width: 18%; }
.collection-state {
  display: inline-block;
  width: max-content;
  padding: .24rem .42rem;
  border: 1px solid var(--line);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.3;
  text-transform: uppercase;
}
.collection-state.current { border-color: var(--green); color: var(--green); }
.collection-state.due { border-color: var(--amber); color: var(--amber); }
.collection-state.manual { border-color: #68736e; color: #52605b; }
.collection-state.neutral { border-color: #9aa39f; color: #68736e; }
.vendor-collection-table details { margin-top: .45rem; color: var(--muted); font-size: .67rem; }
.vendor-collection-table details summary { color: var(--green); cursor: pointer; }
.vendor-collection-table details p { margin: .35rem 0 0; line-height: 1.45; }
.vendor-row-actions { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin-top: .55rem; align-items: center; }
.vendor-row-actions a,
.vendor-row-actions .text-button { color: var(--green); font-size: .69rem; font-weight: 700; }
.vendor-row-actions form { margin: 0; }
.vendor-row-actions .text-button { cursor: pointer; text-decoration: underline; text-underline-offset: .2rem; }
.vendor-row-actions .text-button:disabled { color: var(--muted); cursor: default; text-decoration: none; }
.section-shell.compact.source-editor-heading {
  align-items: end;
  padding-top: 1.75rem;
  padding-bottom: 1.15rem;
}
.source-editor-heading .back-link { display: inline-block; margin-bottom: 1rem; }
.source-editor-heading .eyebrow { margin: 0 0 .3rem; }
.source-editor-heading .page-title {
  max-width: 760px;
  margin: 0 0 .3rem;
  font-size: clamp(1.65rem, 2.8vw, 2.45rem);
  line-height: 1.1;
  letter-spacing: -.035em;
}
.source-editor-heading > form { padding-bottom: .15rem; }
.source-editor-form .form-intro { max-width: 760px; margin: .35rem 0 1.1rem; color: var(--muted); font-size: .82rem; }
.source-editor-form label small { display: block; margin-top: .3rem; color: var(--muted); font-size: .68rem; }
.source-form-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.source-editor-form > .form-help { display: block; margin-top: .8rem; line-height: 1.5; }
@media (max-width: 900px) {
  .vendor-metrics { grid-template-columns: 1fr 1fr; }
  .vendor-metrics article { border-right: 1px solid var(--line); }
  .collection-explainer { grid-template-columns: 1fr; }
  .collection-explainer > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .collection-explainer > div:last-child { border-bottom: 0; }
}

@media (max-width: 520px) {
  .vendor-metrics { grid-template-columns: 1fr; }
}

/* Shared public and administration page template */
.workspace-nav.section-tabs {
  justify-content: flex-start;
  gap: 0;
  padding: 0 max(5vw, calc((100vw - 1280px) / 2));
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.workspace-nav-label,
.workspace-nav.section-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .65rem .8rem;
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  color: #52605b;
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
}
.workspace-nav-label {
  padding-left: 0;
  color: var(--green);
}
.workspace-nav.section-tabs a:first-of-type { border-left: 1px solid var(--line); }
.workspace-nav.section-tabs a:hover,
.workspace-nav.section-tabs a.active {
  border-color: var(--line);
  background: var(--mint-pale);
  color: var(--green);
  box-shadow: inset 0 -2px var(--green);
}

.page-intro.admin-page-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
}
.admin-page-intro > div { min-width: 0; }
.admin-page-intro > div > p:last-child {
  max-width: 900px;
  margin: 0;
  color: #52605b;
  font-size: 1rem;
  line-height: 1.55;
}
.admin-page-intro .back-link,
.page-intro .back-link {
  display: inline-block;
  margin: 0 0 .8rem;
  color: var(--green);
  font-size: .72rem;
  text-decoration: none;
}
.admin-page-intro > .button,
.admin-page-intro > form,
.admin-page-intro > .segmented { flex: 0 0 auto; }
.admin-page-intro > form { margin: 0; }
.admin-page-intro .segmented { margin-bottom: .15rem; }

.login-content {
  padding-top: 2rem;
  padding-bottom: 4rem;
}
.login-content .login-card {
  width: min(480px, 100%);
  padding: 1.25rem;
}
.login-content .login-card h2 { margin: 0; }

@media (max-width: 900px) {
  .page-intro.admin-page-intro {
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
  }
  .admin-page-intro > .segmented { width: 100%; overflow-x: auto; }
}

@media (max-width: 760px) {
  .workspace-nav-label { display: none; }
  .workspace-nav.section-tabs a:first-of-type { border-left: 0; }
  .page-intro.admin-page-intro { padding-top: 1.4rem; padding-bottom: 1.4rem; }
}

/* Local server health dashboard */
.health-page-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
}
.health-intro-status { display: grid; justify-items: end; gap: .45rem; flex: 0 0 auto; }
.health-intro-status small,
.health-toolbar span { color: var(--muted); font-size: .7rem; }
.health-state {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: .35rem .6rem;
  border: 1px solid currentColor;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.health-state--healthy { color: var(--green); background: var(--mint-pale); }
.health-state--warning { color: #875918; background: #fbf2dd; }
.health-state--critical { color: #9e322d; background: #fbedeb; }

.health-dashboard { padding-top: 1.5rem; padding-bottom: 4rem; }
.health-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: .75rem;
  border: 1px solid var(--line);
  background: var(--paper);
}
.health-toolbar > div { display: grid; gap: .15rem; }
.health-toolbar strong { font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; }
.health-window-tabs { display: flex; overflow-x: auto; border: 1px solid var(--line); }
.health-window-tabs a {
  padding: .55rem .7rem;
  border: 0;
  border-right: 1px solid var(--line);
  color: #52605b;
  font-size: .64rem;
  font-weight: 700;
  white-space: nowrap;
}
.health-window-tabs a:last-child { border-right: 0; }
.health-window-tabs a.active { background: var(--forest); color: #fff; }

.health-empty {
  padding: 2rem;
  border: 1px dashed var(--line);
  background: var(--paper);
}
.health-empty h2 { margin: 0; font-size: 1.25rem; }
.health-empty p { max-width: 720px; margin: .5rem 0 0; color: var(--muted); }

.health-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 1.5rem;
  border: 1px solid var(--line);
  background: var(--paper);
}
.health-summary article {
  min-width: 0;
  padding: 1rem;
  border-right: 1px solid var(--line);
}
.health-summary article:last-child { border-right: 0; }
.health-summary span,
.health-resource-card header span,
.health-trend-card header span {
  display: block;
  margin-bottom: .35rem;
  color: var(--muted);
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.health-summary strong { display: block; font-size: 1rem; line-height: 1.25; }
.health-summary small { display: block; margin-top: .35rem; color: var(--muted); font-size: .66rem; line-height: 1.45; }

.health-alerts,
.health-resource-section,
.health-trends-section { margin-top: 1.75rem; }
.section-title.compact-title { margin-bottom: .75rem; }
.section-title.compact-title .eyebrow { margin: 0 0 .2rem; }
.section-title.compact-title h2 { margin: 0; font-size: 1.25rem; letter-spacing: -.025em; }
.health-alert-list { display: grid; gap: .5rem; }
.health-alert {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem .9rem;
  border: 1px solid var(--line);
  border-left-width: 4px;
  background: var(--paper);
}
.health-alert--warning { border-left-color: #c48c34; }
.health-alert--critical { border-left-color: #b34a44; }
.health-alert strong { font-size: .78rem; }
.health-alert span { color: var(--muted); font-size: .68rem; }
.health-source-exceptions { border-top: 1px solid var(--rule); margin-top: .9rem; padding-top: .75rem; }
.health-source-exceptions > strong { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.health-source-exceptions ul { margin: .45rem 0 0; padding-left: 1.15rem; }
.health-source-exceptions li { color: var(--muted); font-size: .72rem; margin: .2rem 0; }

.health-resource-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--line);
  background: var(--paper);
}
.health-resource-card { min-width: 0; padding: 1rem; border-right: 1px solid var(--line); }
.health-resource-card:last-child { border-right: 0; }
.health-resource-card header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.health-resource-card header strong { color: var(--green); font: 500 1.45rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.health-resource-card progress {
  width: 100%;
  height: 8px;
  margin: .8rem 0;
  border: 0;
  border-radius: 0;
  background: #e4e9e6;
  accent-color: var(--green);
}
.health-resource-card progress::-webkit-progress-bar { background: #e4e9e6; }
.health-resource-card progress::-webkit-progress-value { background: var(--green); }
.health-resource-card progress::-moz-progress-bar { background: var(--green); }
.health-resource-card dl,
.health-definition-list { margin: 0; }
.health-resource-card dl div,
.health-definition-list div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .45rem 0;
  border-top: 1px solid var(--line);
}
.health-resource-card dt,
.health-definition-list dt { color: var(--muted); font-size: .67rem; }
.health-resource-card dd,
.health-definition-list dd { margin: 0; font-size: .68rem; font-weight: 600; text-align: right; overflow-wrap: anywhere; }

.health-trend-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.health-trend-card { min-width: 0; padding: .9rem; border: 1px solid var(--line); background: var(--paper); }
.health-trend-card header { display: flex; align-items: baseline; justify-content: space-between; }
.health-trend-card header strong { font-size: .86rem; }
.health-trend-card svg { display: block; width: 100%; height: 116px; margin-top: .5rem; overflow: visible; }
.health-chart-grid { fill: none; stroke: #dfe5e2; stroke-width: 1; vector-effect: non-scaling-stroke; }
.health-chart-line { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
.health-chart-line--cpu { stroke: #176a59; }
.health-chart-line--memory { stroke: #8b6623; }
.health-chart-line--disk { stroke: #4d6570; }
.health-trend-axis { display: flex; justify-content: space-between; color: var(--muted); font-size: .6rem; }

.health-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: 1.75rem; }
.health-detail-panel { padding: 1rem; border: 1px solid var(--line); background: var(--paper); }
.health-recording-note {
  margin-top: 1rem;
  padding: .9rem 1rem;
  border-left: 3px solid var(--green);
  background: var(--mint-pale);
}
.health-recording-note strong { font-size: .76rem; }
.health-recording-note p { max-width: 900px; margin: .3rem 0; color: #52605b; font-size: .72rem; line-height: 1.55; }
.health-recording-note a { font-size: .68rem; font-weight: 700; }

@media (max-width: 1050px) {
  .health-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .health-summary article:nth-child(3) { border-right: 0; }
  .health-summary article:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .health-resource-grid { grid-template-columns: 1fr 1fr; }
  .health-resource-card:nth-child(2) { border-right: 0; }
  .health-resource-card:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .health-page-intro { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .health-intro-status { justify-items: start; }
  .health-toolbar { align-items: flex-start; flex-direction: column; }
  .health-window-tabs { width: 100%; }
  .health-summary,
  .health-resource-grid,
  .health-trend-grid,
  .health-detail-grid { grid-template-columns: 1fr; }
  .health-summary article,
  .health-summary article:nth-child(3),
  .health-resource-card,
  .health-resource-card:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .health-summary article:last-child,
  .health-resource-card:last-child { border-bottom: 0; }
  .health-alert { align-items: flex-start; flex-direction: column; gap: .25rem; }
}
