/* ==========================================================================
   agr-register: the components the plugin draws, on the brand templates'
   system (rec-* classes and --ncg-* tokens). Logical properties throughout.
   Every color is a token with a fallback; nothing here is decoration only.

   CHART PALETTE. Validated as an ordinal ramp (monotone lightness, adjacent
   step gap 0.06 or more, lightest step 2:1 or more on the surface, one hue):
     light, surface #FFFFFF   s3 #8BBDB3 (2.09:1)  s2 #4F8A80  s1 #1F4E48
     dark,  surface #23282A   s3 #3F7369 (2.75:1)  s2 #6FA79C  s1 #A7D8CD
   Neutral steps for values off the scale (contrast on the surface):
     light  g1 #6F6F6B 5.05   g2 #8C8B82 3.43   g3 #ABAAA2 2.33
     dark   g1 #A8A79F 6.17   g2 #83827A 3.86   g3 #64635C 2.47
   Label ink on each fill (4.5:1 or more): light s1 white 9.37, s2 ink 4.75,
   s3 ink 9.02, g1 white 5.05, g2 ink 5.51, g3 ink 8.10; dark s1 ink 12.00,
   s2 ink 6.91, s3 white 5.43, g1 ink 7.82, g2 ink 4.89, g3 white 6.03.
   Single series: light #2F6B62 (6.18:1), dark #7FB5AA (6.46:1).
   High contrast and forced colors: fills become system colors and slots take
   45 and 135 degree line textures, so identity never rests on hue.
   ========================================================================== */

:root {
    --agr-s1: var(--agr-viz-s1, #1F4E48); --agr-s1-ink: var(--agr-viz-s1-ink, #FFFFFF);
    --agr-s2: var(--agr-viz-s2, #4F8A80); --agr-s2-ink: var(--agr-viz-s2-ink, #111111);
    --agr-s3: var(--agr-viz-s3, #8BBDB3); --agr-s3-ink: var(--agr-viz-s3-ink, #111111);
    --agr-g1: var(--agr-viz-g1, #6F6F6B); --agr-g1-ink: var(--agr-viz-g1-ink, #FFFFFF);
    --agr-g2: var(--agr-viz-g2, #8C8B82); --agr-g2-ink: var(--agr-viz-g2-ink, #111111);
    --agr-g3: var(--agr-viz-g3, #ABAAA2); --agr-g3-ink: var(--agr-viz-g3-ink, #111111);
    --agr-single: var(--agr-viz-single, #2F6B62);
    --agr-line: color-mix(in srgb, var(--ncg-color-border, #767676) 38%, transparent);
    --agr-track: color-mix(in srgb, var(--ncg-color-border, #767676) 14%, transparent);
    --agr-surface: var(--ncg-color-bg-surface, #FFFFFF);
    --agr-paper: var(--ncg-color-bg-paper, #F9F8F4);
    --agr-ink: var(--ncg-color-body, #111111);
    --agr-heading: var(--ncg-color-heading, #050505);
    --agr-muted: var(--ncg-color-muted, #444444);
    --agr-accent-text: var(--ncg-accent-text, #8A5A38);
    --agr-focus: var(--ncg-focus, #8A5A38);
    --agr-radius: 10px;
    --agr-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
html[data-ncg-theme="dark"] {
    --agr-s1: var(--agr-viz-s1-dark, #A7D8CD); --agr-s1-ink: #111111;
    --agr-s2: var(--agr-viz-s2-dark, #6FA79C); --agr-s2-ink: #111111;
    --agr-s3: var(--agr-viz-s3-dark, #3F7369); --agr-s3-ink: #FFFFFF;
    --agr-g1: var(--agr-viz-g1-dark, #A8A79F); --agr-g1-ink: #111111;
    --agr-g2: var(--agr-viz-g2-dark, #83827A); --agr-g2-ink: #111111;
    --agr-g3: var(--agr-viz-g3-dark, #64635C); --agr-g3-ink: #FFFFFF;
    --agr-single: var(--agr-viz-single-dark, #7FB5AA);
}
html[data-ncg-theme="high-contrast"] {
    --agr-s1: #FFFFFF; --agr-s1-ink: #000000;
    --agr-s2: #FFFFFF; --agr-s2-ink: #000000;
    --agr-s3: #000000; --agr-s3-ink: #FFFFFF;
    --agr-g1: #FFFFFF; --agr-g1-ink: #000000;
    --agr-g2: #000000; --agr-g2-ink: #FFFFFF;
    --agr-g3: #000000; --agr-g3-ink: #FFFFFF;
    --agr-single: #FFFF00;
    --agr-line: #FFFFFF;
    --agr-track: transparent;
}

/* ---- Page frame ----------------------------------------------------------- */
.agr-main .agr-page { padding-block: 48px 88px; }
.agr-section { margin-block: 0 56px; scroll-margin-block-start: 96px; }
.agr-section > .rec-title { margin-block-end: 14px; }
.agr-lede { font-size: 1.12rem; line-height: 1.65; max-inline-size: 72ch; }
.agr-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px 10px; list-style: none; margin: 0 0 28px; padding: 0; font-size: .92rem; }
.agr-crumbs li + li::before { content: "/"; margin-inline-end: 10px; color: var(--agr-muted); }
.agr-crumbs a { color: var(--agr-ink); }
.agr-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 24px; }
.agr-card-surface { background: var(--agr-surface); border: 1px solid var(--agr-line); border-radius: var(--agr-radius); padding: 24px; }

/* ---- Icons (Heroicons v2 outline, the set the brand templates use) ------- */
.agr-ic { inline-size: 22px; block-size: 22px; flex: none; color: currentColor; vertical-align: middle; }
.agr-ic-sm { inline-size: 18px; block-size: 18px; }
.agr-ic-lg { inline-size: 28px; block-size: 28px; color: var(--agr-accent-text); }

/* ---- Codes, flags, badges: always text, color secondary ------------------ */
.agr-code { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px 2px 8px; border-radius: 999px; border: 1px solid var(--agr-line); font-size: .78rem; font-weight: 700; letter-spacing: .04em; white-space: nowrap; color: var(--agr-ink); background: var(--agr-surface); font-family: var(--agr-sans); }
.agr-code::before { content: ""; inline-size: 10px; block-size: 10px; border-radius: 3px; background: var(--agr-g3); flex: none; }
.agr-code-published::before { background: var(--agr-s1); }
.agr-code-partial::before { background: var(--agr-s2); }
.agr-code-none-found::before { background: var(--agr-s3); }
.agr-code-not-verifiable::before { background: var(--agr-g1); }
.agr-code-not-audited::before { background: var(--agr-g2); }
.agr-code-out-of-frame::before { background: transparent; border: 2px solid var(--agr-g1); }
.agr-flag-on { font-weight: 700; }
.agr-weak { display: inline-flex; gap: 4px; align-items: center; font-size: .82rem; color: var(--agr-muted); }

/* ---- Facts ---------------------------------------------------------------- */
.agr-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap: 14px 28px; margin: 18px 0; }
.agr-facts > div { border-inline-start: 3px solid var(--agr-line); padding-inline-start: 12px; }
.agr-facts dt { font-size: .76rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: var(--agr-muted); margin: 0 0 4px; }
.agr-facts dd { margin: 0; line-height: 1.5; overflow-wrap: anywhere; }
.agr-facts-inline { display: flex; flex-wrap: wrap; gap: 8px 28px; }
.agr-facts-inline > div { border: 0; padding: 0; }

.agr-quote { margin: 12px 0; padding: 14px 18px; border-inline-start: 4px solid var(--ncg-color-accent, #C89B7B); background: color-mix(in srgb, var(--agr-paper) 70%, transparent); border-radius: 0 8px 8px 0; }
.agr-quote p { margin: 0; font-family: Georgia, "Times New Roman", serif; line-height: 1.6; }
.agr-source { overflow-wrap: anywhere; }

/* ---- Quotations (D-027, D-028): the source speaking, with its capture date ---- */
.agr-quote-fig { margin: 0; }
.agr-quote-fig > .agr-quote { margin-block-end: 4px; }
.agr-asp { font-family: var(--agr-sans); font-size: .82rem; font-style: normal; color: var(--agr-muted); }
figcaption.agr-asp { margin: 0 0 12px; }
.agr-q { font-family: Georgia, "Times New Roman", serif; font-style: normal; quotes: "\201C" "\201D" "\2018" "\2019"; }
.agr-artifact-title { margin: 0 0 6px; font-weight: 600; }
.agr-indicator-table figcaption.agr-asp { margin-block-end: 6px; }

/* ---- Stat tiles ------------------------------------------------------------ */
.agr-tiles { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); gap: 16px; }
.agr-tile { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "icon value" "label label" "note note"; align-items: center; gap: 4px 12px; background: var(--agr-surface); border: 1px solid var(--agr-line); border-radius: var(--agr-radius); padding: 18px 20px; }
.agr-tile-icon { grid-area: icon; display: inline-flex; inline-size: 40px; block-size: 40px; align-items: center; justify-content: center; border-radius: 10px; background: color-mix(in srgb, var(--agr-s2) 16%, transparent); color: var(--agr-heading); }
.agr-tile:not(:has(.agr-tile-icon)) { grid-template-areas: "value value" "label label" "note note"; }
.agr-tile-value { grid-area: value; font-family: var(--agr-sans); font-size: 2.2rem; font-weight: 650; line-height: 1; color: var(--agr-heading); }
.agr-tile-label { grid-area: label; font-size: .86rem; font-weight: 600; color: var(--agr-ink); }
.agr-tile-note { grid-area: note; font-size: .8rem; color: var(--agr-muted); }

/* ---- Charts ------------------------------------------------------------------ */
.agr-viz { position: relative; margin: 0 0 32px; padding: 22px 24px 18px; background: var(--agr-surface); border: 1px solid var(--agr-line); border-radius: 14px; font-family: var(--agr-sans); }
.agr-viz-head { display: flex; flex-direction: column; gap: 4px; margin-block-end: 14px; }
.agr-viz-title { font-size: 1.02rem; font-weight: 650; color: var(--agr-heading); }
.agr-viz-sub { font-size: .88rem; color: var(--agr-muted); }
.agr-viz-legend { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 16px; padding: 0; font-size: .84rem; color: var(--agr-ink); }
.agr-viz-legend li { display: inline-flex; align-items: center; gap: 8px; }
.agr-key { display: inline-block; inline-size: 14px; block-size: 10px; border-radius: 3px; }
.agr-viz-plot { display: flex; flex-direction: column; gap: 14px; }
.agr-viz-row { display: flex; flex-direction: column; gap: 6px; padding: 6px 8px; margin-inline: -8px; border-radius: 8px; outline: none; }
.agr-viz-row:focus-visible { box-shadow: 0 0 0 3px var(--agr-focus); }
.agr-viz-row.is-active { background: color-mix(in srgb, var(--agr-s2) 8%, transparent); }
.agr-viz-rowhead { display: flex; justify-content: space-between; gap: 12px; font-size: .88rem; }
.agr-viz-cat { color: var(--agr-ink); font-weight: 600; }
.agr-viz-total { color: var(--agr-muted); font-variant-numeric: tabular-nums; }
.agr-viz-track { display: flex; gap: 2px; block-size: 20px; border-radius: 0 4px 4px 0; background: transparent; }
.agr-viz-seg { position: relative; flex-basis: 0; min-inline-size: 3px; display: flex; align-items: center; justify-content: center; overflow: visible; }
.agr-viz-seg:last-child { border-start-end-radius: 4px; border-end-end-radius: 4px; }
.agr-viz-val { font-size: .74rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.agr-viz-empty, .agr-viz-zero { flex: 1; block-size: 1px; align-self: center; background: var(--agr-line); }
.agr-viz-track-single { align-items: center; gap: 10px; background: linear-gradient(var(--agr-track), var(--agr-track)) no-repeat left center / 100% 1px; }
.agr-viz-bar { block-size: 20px; min-inline-size: 3px; border-radius: 0 4px 4px 0; flex: none; }
.agr-viz-zero { flex: 0 0 3px; block-size: 20px; background: var(--agr-line); border-radius: 0 2px 2px 0; }
.agr-viz-tipval { font-size: .82rem; font-weight: 650; color: var(--agr-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }

.agr-s1 { background-color: var(--agr-s1); color: var(--agr-s1-ink); }
.agr-s2 { background-color: var(--agr-s2); color: var(--agr-s2-ink); }
.agr-s3 { background-color: var(--agr-s3); color: var(--agr-s3-ink); }
.agr-g1 { background-color: var(--agr-g1); color: var(--agr-g1-ink); }
.agr-g2 { background-color: var(--agr-g2); color: var(--agr-g2-ink); }
.agr-g3 { background-color: var(--agr-g3); color: var(--agr-g3-ink); }
.agr-single { background-color: var(--agr-single); }

.agr-viz-tip { position: absolute; z-index: 30; min-inline-size: 180px; max-inline-size: 300px; padding: 10px 12px; border-radius: 10px; background: var(--agr-surface); color: var(--agr-ink); border: 1px solid var(--agr-line); box-shadow: 0 10px 28px rgba(16, 29, 48, .18); pointer-events: none; font-size: .84rem; }
.agr-viz-tip-title { margin: 0 0 6px; font-weight: 650; color: var(--agr-muted); font-size: .8rem; }
.agr-viz-tip ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.agr-viz-tip li { display: grid; grid-template-columns: 14px auto 1fr; align-items: center; gap: 8px; }
.agr-viz-tip strong { font-variant-numeric: tabular-nums; color: var(--agr-heading); }
.agr-tip-key { inline-size: 14px; block-size: 3px; border-radius: 2px; }

.agr-datasheet { margin-block-start: 14px; }
.agr-datasheet summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-size: .86rem; font-weight: 650; color: var(--agr-ink); min-block-size: 32px; }
.agr-datasheet[open] summary { margin-block-end: 8px; }
.agr-num-table td { font-variant-numeric: tabular-nums; }
.agr-viz-foot { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 12px 0 0; font-size: .8rem; color: var(--agr-muted); }

html[data-ncg-theme="high-contrast"] .agr-viz-seg, html[data-ncg-theme="high-contrast"] .agr-key, html[data-ncg-theme="high-contrast"] .agr-tip-key { outline: 1px solid #FFFFFF; }
html[data-ncg-theme="high-contrast"] .agr-s2, html[data-ncg-theme="high-contrast"] .agr-g2 { background-image: repeating-linear-gradient(45deg, currentColor 0 2px, transparent 2px 6px); }
html[data-ncg-theme="high-contrast"] .agr-s3, html[data-ncg-theme="high-contrast"] .agr-g3 { background-image: repeating-linear-gradient(135deg, #FFFFFF 0 2px, transparent 2px 7px); }
@media (forced-colors: active) {
    .agr-viz-seg, .agr-key, .agr-viz-bar, .agr-tip-key, .agr-code::before { forced-color-adjust: none; background-color: Canvas; border: 1px solid CanvasText; color: CanvasText; }
    .agr-s1 { background-color: CanvasText; color: Canvas; }
    .agr-s2 { background-image: repeating-linear-gradient(45deg, CanvasText 0 2px, transparent 2px 5px); }
    .agr-s3 { background-image: repeating-linear-gradient(45deg, CanvasText 0 1px, transparent 1px 8px); }
    .agr-g1 { background-image: repeating-linear-gradient(135deg, CanvasText 0 2px, transparent 2px 5px); }
    .agr-g2 { background-image: repeating-linear-gradient(135deg, CanvasText 0 1px, transparent 1px 8px); }
    .agr-single { background-color: Highlight; }
    .agr-viz-val { background: Canvas; color: CanvasText; padding: 0 3px; }
    .agr-asp, .agr-oi-status, .agr-oi-status.is-resolved, .agr-oi-status.is-withdrawn { color: CanvasText; }
    .agr-divergence, .agr-quote { border-color: CanvasText; }
    .rec-mention { border-block-end-color: CanvasText; }
}
@media print { .agr-viz { break-inside: avoid; } .agr-viz-seg, .agr-key, .agr-viz-bar { -webkit-print-color-adjust: exact; print-color-adjust: exact; } .agr-datasheet { display: block; } .agr-datasheet > :not(summary) { display: block; } }

/* ---- Register views -------------------------------------------------------- */
.agr-collection { margin-block: 8px 40px; }
.agr-collection .agr-tabs { position: static; box-shadow: none; margin: 0 0 18px; padding: 0; background: transparent; }
.agr-tablist { list-style: none; margin: 0; flex-wrap: wrap; min-inline-size: 0; }
.agr-tablist li { margin: 0; }
.agr-tablist .rec-tab { text-decoration: none; }
.agr-tablist .rec-tab[aria-current="true"] { background: var(--ncg-color-primary, #23312C); color: var(--ncg-on-chrome, #F4F1EA); box-shadow: 0 3px 10px rgba(16, 29, 48, .22), inset 0 -3px 0 0 var(--ncg-chrome-accent, #C89B7B); }
.agr-tablist .rec-tab:focus-visible { outline: 3px solid var(--agr-focus); outline-offset: 2px; }
html[data-ncg-theme="dark"] .agr-tablist .rec-tab[aria-current="true"] { color: var(--ncg-color-bg-paper, #1A1F1D); }
html[data-ncg-theme="high-contrast"] .agr-tablist .rec-tab[aria-current="true"] { background: #FFFF00 !important; color: #000000 !important; text-decoration: underline; }
.agr-count { display: inline-flex; min-inline-size: 22px; justify-content: center; padding: 0 6px; border-radius: 999px; font-size: .78rem; background: color-mix(in srgb, currentColor 14%, transparent); font-variant-numeric: tabular-nums; }

.agr-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; padding: 16px 18px; margin: 0 0 14px; background: var(--agr-paper); border: 1px solid var(--agr-line); border-radius: 12px; }
.agr-toolbar-fields, .agr-toolbar-switches { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; }
.agr-field { display: flex; flex-direction: column; gap: 4px; }
.agr-field label { font-size: .8rem; font-weight: 650; color: var(--agr-ink); }
.agr-field input, .agr-field select { min-block-size: 44px; padding: 8px 12px; border: 1px solid var(--ncg-color-border, #767676); border-radius: 8px; background: var(--agr-surface); color: var(--agr-ink); font: inherit; font-size: .95rem; }
.agr-field-search input { min-inline-size: min(260px, 100%); }
.agr-field input:focus-visible, .agr-field select:focus-visible { outline: 3px solid var(--agr-focus); outline-offset: 1px; }
.agr-switch { display: inline-flex; border: 0; margin: 0; padding: 0; align-items: center; gap: 0; }
.agr-switch legend { float: inline-start; margin-inline-end: 10px; font-size: .8rem; font-weight: 650; padding: 0; color: var(--agr-ink); }
.agr-switch input { position: absolute; opacity: 0; inline-size: 1px; block-size: 1px; }
.agr-switch label { display: inline-flex; align-items: center; min-block-size: 40px; padding: 0 14px; border: 1px solid var(--ncg-color-border, #767676); background: var(--agr-surface); color: var(--agr-ink); font-size: .88rem; font-weight: 600; cursor: pointer; }
.agr-switch input + label { border-radius: 8px 0 0 8px; }
.agr-switch label:last-of-type { border-radius: 0 8px 8px 0; margin-inline-start: -1px; }
.agr-switch input:checked + label { background: var(--ncg-color-primary, #23312C); color: var(--ncg-on-chrome, #F4F1EA); border-color: var(--ncg-color-primary, #23312C); box-shadow: inset 0 -3px 0 0 var(--ncg-chrome-accent, #C89B7B); }
html[data-ncg-theme="dark"] .agr-switch input:checked + label { color: var(--ncg-color-bg-paper, #1A1F1D); }
html[data-ncg-theme="high-contrast"] .agr-switch input:checked + label { background: #FFFF00; color: #000000; text-decoration: underline; }
.agr-switch input:focus-visible + label { outline: 3px solid var(--agr-focus); outline-offset: 2px; position: relative; z-index: 1; }
.agr-toolbar-actions { display: flex; align-items: center; gap: 12px; }
.agr-button, .agr-submit { min-block-size: 44px; padding: 0 20px; border: 0; border-radius: 8px; background: var(--ncg-color-accent, #C89B7B); color: var(--ncg-on-accent, #23312C); font: inherit; font-weight: 700; cursor: pointer; }
.agr-button:focus-visible, .agr-submit:focus-visible { outline: 3px solid var(--agr-focus); outline-offset: 2px; }
.agr-clear { font-weight: 650; color: var(--agr-ink); }
.agr-results { margin: 6px 0 2px; font-weight: 650; color: var(--agr-heading); }
.agr-sort-note { margin: 0 0 14px; font-size: .88rem; color: var(--agr-muted); }
.agr-caption-asof { font-family: var(--agr-sans); font-size: .82rem; font-weight: 500; color: var(--agr-muted); }
.agr-table th a.agr-sort { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.agr-table th a.agr-sort:hover, .agr-table th a.agr-sort:focus-visible { text-decoration: underline; }
.agr-sort-mark { font-size: .9em; }
.agr-table .agr-rowhead { font-size: inherit; text-transform: none; letter-spacing: 0; background: transparent; font-weight: 600; text-align: start; }
.agr-collection[data-detail="summary"] .agr-detail-only { display: none; }

.agr-cards { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 18px; }
.agr-card { display: flex; flex-direction: column; background: var(--agr-surface); border: 1px solid var(--agr-line); border-block-start: 4px solid var(--ncg-color-primary, #23312C); border-radius: var(--agr-radius); padding: 20px 22px; transition: box-shadow .2s ease, border-color .2s ease; }
.agr-card:hover, .agr-card:focus-within { box-shadow: 0 12px 30px rgba(16, 29, 48, .14); border-block-start-color: var(--ncg-color-accent, #C89B7B); }
.agr-card-title { margin: 0 0 12px; font-family: 'Playfair Display', Georgia, serif; font-size: 1.12rem; line-height: 1.3; color: var(--agr-heading); }
.agr-card-title a { color: inherit; }
.agr-card-facts { margin: 0; display: grid; gap: 8px; }
.agr-card-facts > div { display: grid; grid-template-columns: minmax(96px, 38%) 1fr; gap: 10px; align-items: baseline; }
.agr-card-facts dt { font-size: .74rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: var(--agr-muted); }
.agr-card-facts dd { margin: 0; font-size: .95rem; overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) { .agr-card { transition: none; } }

.agr-pagination ul { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 22px 0 0; padding: 0; }
.agr-pagination a { display: inline-flex; min-inline-size: 44px; min-block-size: 44px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--agr-line); border-radius: 8px; color: var(--agr-ink); font-weight: 650; text-decoration: none; background: var(--agr-surface); }
.agr-pagination a:hover, .agr-pagination a:focus-visible { border-color: var(--ncg-color-primary, #23312C); text-decoration: underline; }
.agr-pagination a[aria-current="page"] { background: var(--ncg-color-primary, #23312C); color: var(--ncg-on-chrome, #F4F1EA); border-color: var(--ncg-color-primary, #23312C); }
html[data-ncg-theme="dark"] .agr-pagination a[aria-current="page"] { color: var(--ncg-color-bg-paper, #1A1F1D); }
.agr-gap { padding: 0 4px; color: var(--agr-muted); }

.agr-collection-foot { margin-block-start: 22px; padding-block-start: 14px; border-block-start: 1px solid var(--agr-line); }
.agr-foot-note { font-size: .9rem; color: var(--agr-muted); margin: 6px 0; }
.agr-downloads { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 10px 0; padding: 0; }
.agr-downloads a { font-weight: 650; }

/* ---- Record pages ------------------------------------------------------------ */
.agr-record-head { display: grid; grid-template-columns: 1fr auto; gap: 16px 32px; align-items: start; margin-block-end: 28px; }
.agr-level { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 18px 22px; border-radius: 14px; background: var(--agr-surface); border: 1px solid var(--agr-line); min-inline-size: 180px; }
.agr-level-label { font-size: .74rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; color: var(--agr-muted); }
.agr-level-value { font-family: var(--agr-sans); font-size: 3.4rem; font-weight: 650; line-height: 1; color: var(--agr-heading); }
.agr-level-name { font-weight: 650; color: var(--agr-ink); }
.agr-level-meter { display: flex; gap: 2px; margin-block-start: 10px; }
.agr-level-meter span { inline-size: 22px; block-size: 6px; border-radius: 2px; background: var(--agr-track); outline: 1px solid var(--agr-line); }
.agr-level-meter span.on { background: var(--agr-s1); outline: 0; }
.agr-provisional { font-size: .82rem; font-weight: 650; color: var(--agr-accent-text); }
@media (max-width: 720px) { .agr-record-head { grid-template-columns: 1fr; } }

.agr-retraction { display: flex; gap: 14px; padding: 18px 20px; margin: 0 0 28px; border: 2px solid var(--agr-heading); border-inline-start-width: 8px; border-radius: 10px; background: var(--agr-surface); }
.agr-retraction h2 { margin: 0 0 6px; font-size: 1.15rem; }
.agr-retraction p { margin: 0 0 6px; }
.agr-current-note { margin: 0 0 22px; font-size: .95rem; color: var(--agr-muted); }

.agr-channel { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 18px; }
.agr-channel-el { display: flex; flex-direction: column; gap: 10px; background: var(--agr-surface); border: 1px solid var(--agr-line); border-block-start: 4px solid var(--agr-s1); border-radius: var(--agr-radius); padding: 20px 22px; }
.agr-channel-el.is-partial { border-block-start-color: var(--agr-s2); }
.agr-channel-el.is-none { border-block-start-color: var(--agr-g1); border-block-start-style: dashed; }
.agr-channel-el h3 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 1.08rem; font-family: 'Playfair Display', Georgia, serif; color: var(--agr-heading); }
.agr-found { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; font-weight: 700; letter-spacing: .04em; color: var(--agr-ink); }
.agr-channel-el .agr-facts { grid-template-columns: 1fr; gap: 8px; margin: 0; }
.agr-channel-modes { margin-block-start: 18px; }

.agr-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.agr-steps li { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 12px 16px; border: 1px solid var(--agr-line); border-radius: 10px; background: var(--agr-surface); }
.agr-step-level { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--agr-heading); }
.agr-step-met { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .86rem; }
.agr-step-met.is-met { color: var(--agr-heading); }
.agr-step-met.is-not { color: var(--agr-muted); }
.agr-raise { margin-block-start: 14px; }

.agr-narrative { max-inline-size: 76ch; }
.agr-narrative h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; margin: 30px 0 10px; color: var(--agr-heading); }
.agr-narrative p, .agr-narrative li { line-height: 1.75; }
.agr-narrative blockquote { margin: 16px 0; padding: 12px 18px; border-inline-start: 4px solid var(--ncg-color-accent, #C89B7B); background: var(--agr-paper); }
.agr-interpretation { border-inline-start: 4px dashed var(--agr-g1); padding-inline-start: 14px; }

.agr-indicator-table td { min-inline-size: 120px; }
.agr-indicator-table .agr-quote { margin: 0; padding: 8px 12px; font-size: .92rem; }
.agr-find { font-size: .86rem; color: var(--agr-muted); }

.agr-formulations { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.agr-formulations li { padding: 14px 18px; border-inline-start: 5px solid var(--ncg-color-accent, #C89B7B); background: var(--agr-paper); border-radius: 0 8px 8px 0; font-family: 'Playfair Display', Georgia, serif; font-size: 1.1rem; line-height: 1.45; color: var(--agr-heading); }
.agr-citeline { padding: 16px 18px; border: 1px solid var(--agr-line); border-radius: 10px; background: var(--agr-surface); font-family: Georgia, serif; overflow-wrap: anywhere; }
.agr-versions { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.agr-versions li { display: grid; grid-template-columns: 90px 1fr; gap: 14px; padding: 12px 16px; border: 1px solid var(--agr-line); border-radius: 10px; background: var(--agr-surface); }
.agr-versions .is-this { border-color: var(--ncg-color-primary, #23312C); box-shadow: inset 4px 0 0 var(--ncg-color-primary, #23312C); }
.agr-versions .rec-table-wrap { margin-block-start: 8px; }
.agr-table-compact { font-size: .9rem; }
.agr-table-compact caption { font-size: .86rem; }

/* Divergences: two or more artifacts quoted side by side, the Record's statement beneath, never a verdict. */
.agr-divergence { margin-block: 0 18px; padding: 20px 22px; background: var(--agr-surface); border: 1px solid var(--agr-line); border-radius: var(--agr-radius); scroll-margin-block-start: 96px; }
.agr-divergence h3 { margin: 0; font-family: var(--agr-sans); font-size: 1.05rem; font-variant-numeric: tabular-nums; color: var(--agr-heading); }
.agr-div-type { margin: 2px 0 0; font-size: .88rem; font-weight: 650; color: var(--agr-muted); }
.agr-divergence .agr-facts { margin: 10px 0; }
.agr-div-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; margin-block: 14px; }
.agr-div-artifact { min-inline-size: 0; }
.agr-div-artifact .agr-quote { margin-block-start: 0; }
.agr-div-artifact figcaption.agr-asp { margin-block-end: 4px; }
.agr-div-artifact .agr-find { margin: 0; overflow-wrap: anywhere; }
.agr-div-statement { margin: 0 0 6px; max-inline-size: 72ch; line-height: 1.65; }
@media (max-width: 40rem) { .agr-div-pair { grid-template-columns: 1fr; } }

/* Open items: status is text with an icon, never color alone. */
.agr-open-items [id^="agr-oi-"] { scroll-margin-block-start: 96px; }
.agr-oi-status { display: inline-flex; align-items: center; gap: 6px; font-size: .86rem; font-weight: 700; white-space: nowrap; color: var(--agr-heading); }
.agr-oi-status.is-resolved, .agr-oi-status.is-withdrawn { color: var(--agr-muted); }

/* A governance page naming a listed word as a rule (D-030): a mention, not a highlight. */
.rec-mention { font-style: normal; font-weight: inherit; background: none; border-block-end: 1px dotted currentColor; }
html[data-ncg-theme="dark"] .agr-divergence { border-color: color-mix(in srgb, var(--ncg-color-border, #767676) 60%, transparent); }
html[data-ncg-theme="high-contrast"] .agr-divergence { border-color: #FFFFFF; }
html[data-ncg-theme="high-contrast"] .agr-asp, html[data-ncg-theme="high-contrast"] .agr-oi-status { color: #FFFFFF; }

/* ---- Comments and responses ---------------------------------------------------- */
.agr-comments { display: grid; gap: 14px; margin: 14px 0; }
.agr-comment { padding: 16px 18px; border: 1px solid var(--agr-line); border-inline-start: 5px solid var(--agr-g1); border-radius: 0 10px 10px 0; background: var(--agr-paper); }
.agr-comment h3, .agr-comment h4, .agr-comment h5 { margin: 0 0 4px; font-size: 1rem; color: var(--agr-heading); }
.agr-comment-meta { margin: 0 0 8px; font-size: .86rem; color: var(--agr-muted); }
/* D-034: a later version's pointer to a comment kept on its own version. */
.agr-comment-pointers { list-style: none; margin: 12px 0; padding: 0; display: grid; gap: 6px; }
.agr-comment-pointer { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px 12px; border: 1px dashed var(--agr-line); border-radius: 8px; background: var(--agr-surface); font-size: .92rem; }
.agr-comment-pointer .agr-find { margin: 0; }
/* D-041: the SHA-256 of the package imported, beside the DOI. */
.agr-sha { font-size: .8rem; overflow-wrap: anywhere; word-break: break-all; }
.agr-sha-line { display: block; margin-block-start: 2px; }
/* D-035: a platform's content that differs from its product record, both texts with their dates. */
.agr-differs { margin: 12px 0; }
.agr-differs-h { margin: 0 0 6px; }
.agr-differs .rec-list { margin: 0; }
.agr-differs-label { font-weight: 700; }
/* D-037: the derivation line that opens a vendor page. */
.agr-derivation { margin: 0 0 16px; padding: 10px 14px; border-inline-start: 4px solid var(--agr-line); background: var(--agr-surface); }
.agr-response { margin-block-start: 10px; padding: 12px 14px; background: var(--agr-surface); border-radius: 8px; }
.agr-response-h { margin: 0; font-weight: 700; font-size: .88rem; }
.agr-response .agr-facts { grid-template-columns: 1fr; margin: 8px 0 0; }

/* ---- Forms --------------------------------------------------------------------- */
.agr-form { display: grid; gap: 18px; max-inline-size: 720px; margin-block-start: 20px; }
.agr-form-field { display: flex; flex-direction: column; gap: 6px; }
.agr-form-field label { font-weight: 700; color: var(--agr-heading); }
.agr-form-field input[type="text"], .agr-form-field input[type="url"], .agr-form-field input[type="email"], .agr-form-field select, .agr-form-field textarea { min-block-size: 44px; padding: 10px 12px; border: 1px solid var(--ncg-color-border, #767676); border-radius: 8px; background: var(--agr-surface); color: var(--agr-ink); font: inherit; }
.agr-form-field textarea { min-block-size: 200px; resize: vertical; }
.agr-form-field :focus-visible { outline: 3px solid var(--agr-focus); outline-offset: 1px; }
.agr-check { flex-direction: row; align-items: center; gap: 10px; }
.agr-check input { inline-size: 22px; block-size: 22px; }
.agr-hint { margin: 0; font-size: .9rem; color: var(--agr-muted); }
.agr-error { margin: 0; font-weight: 700; color: var(--agr-heading); padding-inline-start: 10px; border-inline-start: 4px solid var(--agr-heading); }
.agr-has-error input, .agr-has-error select, .agr-has-error textarea { border-width: 2px; border-color: var(--agr-heading); }
.agr-error-summary { padding: 18px 20px; margin: 18px 0; border: 3px solid var(--agr-heading); border-radius: 10px; background: var(--agr-surface); }
.agr-error-summary h3 { margin: 0 0 8px; font-size: 1.1rem; }
.agr-error-summary ul { margin: 0; padding-inline-start: 20px; }
.agr-error-summary:focus-visible, .agr-ack:focus-visible { outline: 3px solid var(--agr-focus); outline-offset: 3px; }
.agr-word-count.agr-over { font-weight: 700; color: var(--agr-heading); }
.agr-hp { position: absolute !important; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.agr-rule p { margin: 0 0 8px; }
.agr-rule p:last-child { margin: 0; }

/* ---- Method documents ------------------------------------------------------------ */
.agr-method + .agr-method { margin-block-start: 64px; padding-block-start: 32px; border-block-start: 1px solid var(--agr-line); }
.agr-method-body { max-inline-size: 78ch; }
.agr-method-body table { inline-size: 100%; border-collapse: collapse; margin: 18px 0; display: block; overflow-x: auto; }
.agr-method-body th, .agr-method-body td { border-block-end: 1px solid var(--agr-line); padding: 8px 10px; text-align: start; vertical-align: top; } /* words-ok: CSS keyword */
.agr-method-body caption { text-align: start; font-weight: 700; padding: 6px 0; }
.agr-plain-summary { margin: 18px 0 26px; }
.agr-superseded { margin-block: 12px 18px; }

/* ---- Product records -------------------------------------------------------------- */
.agr-flags { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); gap: 14px; }
.agr-flag { padding: 16px 18px; border: 1px solid var(--agr-line); border-radius: var(--agr-radius); background: var(--agr-surface); }
.agr-flag h3 { margin: 0 0 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; color: var(--agr-muted); font-family: var(--agr-sans); }
.agr-flag-value { font-family: var(--agr-sans); font-size: 1.3rem; font-weight: 650; color: var(--agr-heading); }
.agr-flag-computation { margin: 6px 0 0; font-size: .88rem; color: var(--agr-muted); }
.agr-flag.is-raised { border-inline-start: 5px solid var(--agr-heading); }
.agr-pairing { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 16px; }
.agr-pairing figure { margin: 0; padding: 16px 18px; border: 1px solid var(--agr-line); border-radius: var(--agr-radius); background: var(--agr-surface); }
.agr-pairing figcaption { font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: var(--agr-muted); margin-block-end: 8px; }
.agr-qualifier-row th, .agr-qualifier-row td { box-shadow: inset 4px 0 0 var(--agr-heading); }
.agr-qualifier { display: inline-flex; gap: 6px; align-items: center; font-size: .82rem; font-weight: 700; }

/* ---- Tabsets on record pages -------------------------------------------------------- */
.agr-tabset { margin-block: 12px 48px; }
.agr-tabset .rec-panel > .agr-section:last-child { margin-block-end: 0; }
@media print { .agr-tabset .rec-panel[hidden] { display: block !important; } .agr-tabset .rec-tablist-wrap, .agr-tabset .rec-next-row { display: none !important; } }

@media (max-width: 640px) {
    .agr-toolbar { padding: 14px; }
    .agr-toolbar-fields, .agr-toolbar-switches { inline-size: 100%; }
    .agr-field, .agr-field-search input { inline-size: 100%; }
    .agr-viz { padding: 18px 16px 14px; }
    .agr-level-value { font-size: 2.8rem; }
}

/* A jump into a tab panel lands below the sticky tab bar (its height set by agr-front.js). */
[data-agr-tabs] .rec-panel,
[data-agr-tabs] .rec-panel [id] { scroll-margin-block-start: calc(var(--agr-tablist-h, 0px) + 24px); }


/* Release authorization: the terms, then a one-page form. */
.agr-release-terms { margin-block: 24px; padding: 20px 24px; border: 1px solid var(--agr-hairline, #d9d6cc); border-radius: 10px; background: var(--ncg-color-bg-surface, #fff); }
.agr-release-terms h2 { margin-top: 0; }
.agr-release-terms ol { padding-inline-start: 1.4em; }
.agr-release-terms li { margin-block: 6px; }
.agr-release-form { display: grid; gap: 14px; max-width: 40rem; margin-block: 20px 40px; }
.agr-release-form p { margin: 0; }
.agr-release-form label { display: block; font-weight: 700; margin-block-end: 4px; }
.agr-release-hint { display: block; font-size: .9rem; color: var(--ncg-color-muted, #444); margin-block-end: 6px; }
.agr-release-form input[type="text"], .agr-release-form input[type="date"] { width: 100%; max-width: 28rem; min-height: 44px; padding: 8px 12px; font: inherit; border: 1px solid var(--ncg-color-border, #767676); border-radius: 6px; box-sizing: border-box; }
.agr-release-form input:focus-visible, .agr-release-form button:focus-visible { outline: 3px solid var(--agr-focus, #8A5A38); outline-offset: 2px; }
.agr-release-certify { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 2px solid var(--ncg-color-heading, #111); border-radius: 8px; }
.agr-release-certify input { width: 24px; height: 24px; margin: 2px 0 0; flex: none; }
.agr-release-certify label { margin: 0; }
.agr-release-error, .agr-release-refused { padding: 14px 18px; border-inline-start: 5px solid #B42318; background: color-mix(in srgb, #B42318 8%, var(--ncg-color-bg-surface, #fff)); border-radius: 6px; margin-block: 16px; }
.agr-release-done { padding: 14px 18px; border-inline-start: 5px solid #2A7D46; background: color-mix(in srgb, #2A7D46 8%, var(--ncg-color-bg-surface, #fff)); border-radius: 6px; margin-block: 16px; }

/* ---- Licenses on the account page ---------------------------------------------- */
.agr-license-list { list-style: none; margin: 1rem 0; padding: 0; display: grid; gap: 0.75rem; }
.agr-license { border: 1px solid var(--agr-line); border-radius: var(--agr-radius); background: var(--agr-surface); padding: 1rem 1.1rem; }
.agr-license p { margin: 0.35rem 0; }
.agr-license-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.5rem; }
.agr-license-title { font-weight: 600; color: var(--agr-heading); }
.agr-badge { display: inline-block; font-size: 0.85em; line-height: 1.3; padding: 0.15rem 0.55rem; border-radius: 999px; border: 1px solid var(--agr-line); color: var(--agr-ink); background: var(--agr-track); }
.agr-badge-active { background: var(--agr-s1); color: var(--agr-s1-ink); border-color: transparent; }
.agr-badge-approved, .agr-badge-scheduled { background: var(--agr-s3); color: var(--agr-s3-ink); border-color: transparent; }
.agr-badge-expired { background: var(--agr-g2); color: var(--agr-g2-ink); border-color: transparent; }
.agr-license-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.6rem; }
.agr-license-covers summary, .agr-license-past summary { cursor: pointer; }
.agr-license-covers ul, .agr-license-past ul { margin: 0.4rem 0 0 1.2rem; }
.agr-inline-form { display: inline; margin: 0; }
.agr-seat-list { margin: 0.5rem 0 1rem 1.2rem; }
.agr-seat-list li { margin: 0.3rem 0; }
.agr-choices-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: 0.25rem 1rem; }
.agr-choices-grid legend, .agr-choices-grid > .agr-hint, .agr-choices-grid > .agr-error { grid-column: 1 / -1; }
.agr-license-states[hidden] { display: none; }
.agr-notice-error { border-color: var(--agr-accent-text); }
