/* Tool G — a11y floor: WCAG 2.2 AA baseline (P0-6)
   BRIEF-2026-07-08-AIC-FE-MASTER-SYNTHESISED §1 P0-6 / §2 Tool G

   Selector note: the BRIEF's example glyph selectors
   ([data-posture="..."], [data-health="..."]) do not exist anywhere in the
   live templates (grep confirmed zero matches in dashboard.html,
   concentration.html, components.css, posture.js). The live status-colour
   vocabulary is `.tag.ok/.warn/.elev` and `.aim-badge--red/--amber/--yellow/--ok`
   (see site/concentration.html, site/dashboard.html). Glyph rules below target
   the real selectors plus the new command-centre classes introduced by this PR
   (.aic-posture-chip, .aic-health-band) so glyphs actually render. */

/* Focus rings on all interactive elements */
:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
button:focus-visible, a:focus-visible, [role="tab"]:focus-visible, [role="button"]:focus-visible, [tabindex]:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }

/* Status chip non-colour cues — text label required alongside colour; these add glyph prefix.
   Live selectors (.tag.ok/.warn/.elev, .aim-badge--*) */
.tag.ok::before { content: "✓ "; }
.tag.warn::before { content: "◐ "; }
.tag.elev::before { content: "▲ "; }
.aim-badge--ok::before { content: "✓ "; }
.aim-badge--amber::before, .aim-badge--yellow::before { content: "◐ "; }
.aim-badge--red::before { content: "✗ "; }

/* New command-centre chips introduced by this PR (§3.4/§3.5/§3.8) */
.posture-chip[data-posture="compliant"]::before { content: "✓ "; }
.posture-chip[data-posture="non-compliant"]::before { content: "✗ "; }
.posture-chip[data-posture="developing"]::before { content: "◐ "; }
.health-band[data-health="green"]::before { content: "● "; }
.health-band[data-health="amber"]::before { content: "◑ "; }
.health-band[data-health="red"]::before { content: "○ "; }
/* GHC bar health glyph rendered by JS score+direction text; ::before removed to prevent prefix collision. */
/* aic-trend glyphs rendered by JS text content; ::before removed to prevent doubling.
   Screen reader meaning carried by aria-label on the parent row. */

/* ARIA-live regions */
[aria-live] { transition: none; }

/* Visually-hidden helper for screen-reader-only text (sr-only) */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
