@font-face { font-family:"Atkinson Hyperlegible Next"; src:url("/assets/fonts/atkinson-next-400.ttf") format("truetype"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"Atkinson Hyperlegible Next"; src:url("/assets/fonts/atkinson-next-600.ttf") format("truetype"); font-style:normal; font-weight:600; font-display:swap; }
@font-face { font-family:"Atkinson Hyperlegible Next"; src:url("/assets/fonts/atkinson-next-700.ttf") format("truetype"); font-style:normal; font-weight:700; font-display:swap; }
@font-face { font-family:"Atkinson Hyperlegible Next"; src:url("/assets/fonts/atkinson-next-800.ttf") format("truetype"); font-style:normal; font-weight:800; font-display:swap; }
@font-face { font-family:"Atkinson Hyperlegible Next"; src:url("/assets/fonts/atkinson-next-italic-400.ttf") format("truetype"); font-style:italic; font-weight:400; font-display:swap; }
@font-face { font-family:"Atkinson Hyperlegible Mono"; src:url("/assets/fonts/atkinson-mono-400.ttf") format("truetype"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"Atkinson Hyperlegible Mono"; src:url("/assets/fonts/atkinson-mono-600.ttf") format("truetype"); font-style:normal; font-weight:600; font-display:swap; }
@font-face { font-family:"Atkinson Hyperlegible Mono"; src:url("/assets/fonts/atkinson-mono-700.ttf") format("truetype"); font-style:normal; font-weight:700; font-display:swap; }
/* --accent-wash/--accent-line/--accent-ink: the amber-tinted surface trio used for capability
   pills and agency notice bands. --accent itself is a fill only (2.0:1 on white) — never use it as
   text color; pair it with --accent-ink instead (7.4:1 on --accent-wash, 8.9:1 on white). */
:root { color-scheme:light; scroll-behavior:auto; font:18px/1.55 "Atkinson Hyperlegible Next","Atkinson Hyperlegible",Arial,sans-serif; --ink:#14181f; --muted:#4a5361; --line:#dde2ea; --line-soft:#edf0f5; --brand:#1b4dd1; --brand-dark:#123ba8; --brand-wash:#e8eefb; --accent:#ffb020; --accent-wash:#fff8ec; --accent-line:#f0dfc0; --accent-ink:#7a4a00; --success:#0f7a5f; --danger:#c2321b; --surface:#f7f8fa; --dark:#0e1218; --radius:.75rem; --blue-tint:#f1f5fe; --blue-light:#7fa6ff; --dark-line:#2a323d; --dark-secondary:#b7c0ce; --dark-tertiary:#8f9aab; }
* { box-sizing: border-box; }
.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; }
.external-link::after { content:"↗"; display:inline-block; margin-left:.25em; }
/* Fluid body type: :root stays a fixed 18px (existing rem values are untouched); body alone
   scales from 16px at the narrowest tested width (390px) up to the fixed 18px root size,
   reaching that cap exactly at the 1240px content-container width below and holding steady
   past it. See docs/design-system.md. */
body { margin:0; color:var(--ink); background:var(--surface); font-size:clamp(16px, 15.08px + .235vw, 18px); overflow-x:hidden; }
a { color:var(--brand); text-decoration-thickness:2px; text-underline-offset:3px; }
a:hover { color:var(--ink); }
*:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
.skip { position:absolute; left:-999px; top:1rem; background:white; padding:.75rem; z-index:20; }
.skip:focus { left:1rem; }

/* Authentication is a focused product journey, not a marketing page. */
.auth-shell { min-height:100vh; background:#fff; }
.auth-header { min-height:4rem; max-width:66rem; margin-inline:auto; padding:.75rem 1.25rem; border:0; border-bottom:1px solid var(--line); }
.auth-brand { gap:.55rem; }
.auth-header .auth-brand img { width:28px; height:28px; }
.auth-brand .brand-word { color:var(--ink); font-size:18px; font-weight:800; }
.auth-brand .brand-accent { color:var(--brand); }
.auth-tools { align-items:center; }
.auth-tools a { color:var(--muted); font:700 .75rem "Atkinson Hyperlegible Mono",monospace; text-decoration:none; }
.auth-main { max-width:66rem; margin-inline:auto; padding:4.5rem 1.25rem 6rem; }
.auth-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.74fr); align-items:center; gap:clamp(3rem,8vw,8rem); margin:0; padding:0; border:0; background:transparent; }
.auth-form-column { max-width:27rem; justify-self:end; width:100%; }
.auth-form-column > .eyebrow { color:var(--brand); }
.auth-form-column h1 { margin:.35rem 0 .45rem; font-size:clamp(2rem,4vw,3rem); }
.auth-intro { margin:0 0 1.6rem; color:var(--muted); }
.auth-form { display:grid; gap:1rem; padding:0; margin:0; border:0; background:transparent; }
.auth-form label { font:700 .75rem "Atkinson Hyperlegible Mono",monospace; letter-spacing:.055em; text-transform:uppercase; }
.auth-form input { font-family:"Atkinson Hyperlegible Next",Arial,sans-serif; text-transform:none; letter-spacing:normal; }
.auth-form button { width:100%; }
.auth-label-row { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.auth-label-row a { font:700 .72rem "Atkinson Hyperlegible Next",Arial,sans-serif; letter-spacing:normal; text-transform:none; }
.auth-form .auth-remember { align-items:flex-start; font-family:"Atkinson Hyperlegible Next",Arial,sans-serif; font-size:.84rem; letter-spacing:normal; text-transform:none; }
.auth-remember small { display:block; color:var(--muted); font-size:.75rem; font-weight:400; }
.auth-after { margin:1.5rem 0 0; padding-top:1.15rem; border-top:1px solid var(--line); color:var(--muted); font-size:.84rem; }
.auth-cancel { margin-top:.65rem; padding:0; border:0; background:transparent; }
.auth-aside { margin:0; padding:2rem; border-color:var(--dark-line); background:var(--ink); color:#fff; box-shadow:0 16px 40px rgba(20,24,31,.12); }
.auth-aside .eyebrow { margin:0; color:var(--accent); }
.auth-aside h2 { margin:.65rem 0 .5rem; color:#fff; font-size:1.35rem; }
.auth-aside > p:not(.eyebrow) { color:var(--dark-secondary); font-size:.9rem; }
.auth-aside-signal { display:flex; align-items:center; gap:.8rem; margin-top:1.4rem; padding:1rem; border:1px solid var(--dark-line); border-radius:.55rem; background:#1b232e; }
.auth-aside-signal img { flex:0 0 auto; }
.auth-aside-signal span { display:grid; gap:.1rem; }
.auth-aside-signal strong { color:#fff; font-size:.86rem; }
.auth-aside-signal small { color:var(--dark-secondary); font-size:.75rem; }
.auth-access-main { width:100%; max-width:66rem; margin-inline:auto; padding:4.5rem 1.25rem 6rem; }
.auth-access-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(20rem,24rem); align-items:start; gap:clamp(2rem,7cqw,5rem); margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.auth-access-form-side { display:flex; min-width:0; flex-direction:column; justify-content:flex-start; padding:0; background:transparent; }
.auth-access-form-inner { display:flex; width:100%; max-width:30rem; flex-direction:column; gap:1.35rem; margin:0; }
.auth-access-progress { width:100%; max-width:30rem; margin:0 0 1.35rem; }
.auth-access-progress .order-progress { margin:0; }
.auth-access-form-inner>div:first-child h1 { margin:0 0 .35rem; font-size:1.6rem; font-weight:800; letter-spacing:-.02em; }
.auth-access-form-inner>div:first-child p { margin:0; color:var(--muted); }
.auth-access-step { display:block; margin-bottom:.5rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.auth-access-form { display:flex; flex-direction:column; gap:1rem; margin:0; padding:0; border:0; background:transparent; }
.auth-access-form.login-form { width:100%; max-width:none; margin:0; }
.auth-access-form>label { display:flex; flex-direction:column; gap:.35rem; margin:0; }
.auth-access-form>label:not(.auth-access-remember)>span:not(.auth-access-label-row),.auth-access-label-row>span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.auth-access-form input { width:100%; padding:.7rem .8rem; border:1px solid var(--line); border-radius:.5rem; background:#fff; font:inherit; font-size:1rem; }
.auth-access-label-row { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.auth-access-label-row a { font-size:.85rem; font-weight:700; text-decoration:none; }
.auth-access-form .auth-access-remember { display:flex; align-items:flex-start; flex-direction:row; gap:.55rem; font-size:.89rem; }
.auth-access-remember input { width:auto; margin-top:.2rem; padding:0; }
.auth-access-remember small { display:block; color:var(--muted); font-size:.87rem; font-weight:400; }
.auth-access-form button { width:100%; min-height:2.9rem; padding:.6rem 1rem; }
.auth-access-form .auth-access-code { padding:.8rem 1rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.9rem; font-weight:700; letter-spacing:.35em; text-align:center; }
.auth-access-after { margin:0; padding-top:1.25rem; border-top:1px solid var(--line-soft); color:var(--muted); font-size:.92rem; }
.auth-access-after a { font-weight:700; }
.auth-access-recovery { display:flex; flex-direction:column; gap:.6rem; }
.auth-access-recovery p { margin:0; }
.auth-access-recovery form { margin:0; padding:0; border:0; background:transparent; }
.auth-access-cancel { min-height:0; padding:0; border:0; background:transparent; color:var(--muted); font-size:.85rem; text-decoration:underline; }
.auth-access-aside { display:flex; align-items:flex-start; min-width:0; min-height:0; padding:1.7rem; border:0; border-radius:.65rem; background:var(--ink); color:#fff; }
.auth-access-aside>div { display:flex; width:100%; flex-direction:column; gap:1.35rem; padding:0; border-radius:0; background:transparent; color:#fff; }
.auth-access-kicker { display:block; margin-bottom:.4rem; color:var(--accent); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.auth-access-aside h2 { margin:0 0 .6rem; color:#fff; font-size:1.4rem; font-weight:800; letter-spacing:-.015em; line-height:1.2; }
.auth-access-aside p { margin:0; color:var(--dark-secondary); font-size:.95rem; }
.auth-access-score { display:flex; align-items:center; gap:1.1rem; padding:1.1rem; border:1px solid var(--dark-line); border-radius:.6rem; background:#1c232c; }
.auth-access-score svg { display:block; flex:0 0 auto; }
.auth-access-score span,.auth-access-score strong,.auth-access-score small,.auth-access-score a { display:block; font-family:"Atkinson Hyperlegible Mono",monospace; }
.auth-access-score span { color:var(--dark-tertiary); font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.auth-access-score strong { color:#fff; font-size:1.5rem; font-weight:800; line-height:1.1; }
.auth-access-score small { color:var(--dark-secondary); font-size:.78rem; }
.auth-access-score a { color:#7fa6ff; font-size:.78rem; font-weight:700; }
.auth-access-info { padding:1.1rem; border:1px solid var(--dark-line); border-radius:.6rem; background:#1c232c; }
.auth-access-info strong { display:block; margin-bottom:.3rem; font-size:.92rem; }
.auth-access-info p { font-size:.88rem; }
.auth-access-domain { display:flex; align-items:center; gap:.75rem; padding:.85rem 1rem; border:1px solid #d3ddf6; border-radius:.5rem; background:#f1f5fe; color:var(--brand); }
.auth-access-domain>b { flex:0 0 auto; color:var(--brand-dark); font-weight:800; }
.auth-access-domain>div { min-width:0; }
.auth-access-domain strong,.auth-access-domain span { display:block; color:var(--brand-dark); }
.auth-access-domain strong { overflow-wrap:anywhere; font-size:.92rem; }
.auth-access-domain span { font-size:.87rem; }
.auth-access-domain a { font-weight:700; }
.auth-access-legal,.signup-legal { margin:.1rem 0 0; color:var(--muted); font-size:.75rem; line-height:1.45; text-align:center; }
.auth-access-legal a,.signup-legal a { font-weight:700; }
.auth-access-steps { display:flex; flex-direction:column; gap:.75rem; margin:0; padding:0; list-style:none; }
.auth-access-steps { --auth-marker-width:1.55rem; }
.auth-access-steps--slim { --auth-marker-width:.8rem; }
.auth-access-steps--normal { --auth-marker-width:1.55rem; }
.auth-access-steps li { display:grid; grid-template-columns:var(--auth-marker-width) minmax(0,1fr); gap:.7rem; align-items:start; color:var(--dark-secondary); font-size:.92rem; }
.auth-access-steps b { color:var(--dark-tertiary); font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:800; line-height:inherit; }
.auth-access-steps span { min-width:0; }
.auth-access-steps--numbered li:first-child,.auth-access-steps--numbered li:first-child b,.auth-access-steps--checked b { color:var(--accent); }
.auth-invite-facts { display:flex; flex-direction:column; gap:1px; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:.55rem; background:var(--line); }
.auth-invite-facts>div { display:flex; justify-content:space-between; gap:1rem; padding:.75rem .9rem; background:#fff; }
.auth-invite-facts dt { color:var(--muted); font-size:.9rem; }
.auth-invite-facts dd { margin:0; font-size:.92rem; font-weight:700; text-align:right; }
.auth-invite-facts>div:last-child dd { font-family:"Atkinson Hyperlegible Mono",monospace; }
.auth-invite-decline { margin:0; padding:0; border:0; background:transparent; color:var(--muted); font-size:.9rem; }
.auth-invite-decline button { min-height:0; padding:0; border:0; background:transparent; color:var(--brand); font:inherit; font-weight:700; text-decoration:underline; }
@media (max-width:900px) {
    .auth-main { padding-top:2.5rem; }
    .auth-panel { grid-template-columns:1fr; gap:2rem; }
    .auth-form-column { justify-self:stretch; max-width:none; }
    .auth-aside { padding:1.4rem; }
    .auth-access-split { grid-template-columns:minmax(0,1fr); }
    .auth-access-main { padding-top:2.5rem; }
    .auth-access-aside { order:initial; padding:1.5rem; }
    .auth-access-form-side { padding:0; }
}
/* 1240px is the one canonical content-container width, shared by header, main, and footer
   (previously header and main used different math against the same 76rem value, so the header
   visibly extended past page content — see docs/design-system.md). */
header { min-height:4.5rem; padding:.7rem max(1rem,calc((100% - 1240px)/2)); display:flex; align-items:center; justify-content:space-between; background:#fff; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; flex:0 0 auto; text-decoration:none; }
.brand img { display:block; width:10.5rem; height:2.5rem; object-fit:contain; object-position:left center; }
nav, nav form, .actions, .inline { display:flex; align-items:end; gap:.8rem; }
header nav { align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:1.15rem; font-size:.94rem; font-weight:600; }
header nav > a { color:var(--muted); text-decoration:none; padding:.55rem .2rem; }
header nav > a:hover { color:var(--brand); }
.pagination { display:grid; grid-template-columns:1fr auto 1fr; grid-template-areas:"previous status next"; align-items:center; gap:1rem; margin:1.5rem 0; }
.pagination > :first-child { grid-area:previous; justify-self:start; }
.pagination > :nth-child(2) { grid-area:status; }
.pagination > :last-child { grid-area:next; justify-self:end; }
.pagination > span { color:var(--muted); text-align:center; }
.pagination-summary { color:var(--muted); margin:1rem 0; }

/* Marketing header — three layouts: 1240px+ single row, 700-1239px two rows, below 700px
   closed bar + sheet. See docs/design-system.md and _design/OpenForall Header and Footer.zip. */
header.marketing-header { min-height:69px; padding:0 max(1rem,calc((100% - 1240px)/2)); display:grid; grid-template-columns:minmax(300px,1fr) auto minmax(300px,1fr); align-items:center; border-bottom:1px solid var(--line); background:#fff; }
.marketing-header .brand { grid-column:1; grid-row:1; justify-self:start; gap:10px; }
.marketing-header .brand img { width:30px; height:30px; }
.marketing-header .brand-word { font-size:19px; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.marketing-header .brand-accent { color:var(--brand); }
.marketing-header .scan-free-bar,
.marketing-header .marketing-menu-toggle,
.marketing-header .nav-mobile-language,
.marketing-header .nav-mobile-actions { display:none; }
.marketing-header .header-utilities { grid-column:3; grid-row:1; justify-self:end; display:flex; align-items:center; gap:10px; }
.marketing-header #marketing-navigation { grid-column:2; grid-row:1; justify-self:center; display:flex; align-items:center; gap:4px; }
.marketing-header #marketing-navigation > a { color:var(--muted); font-size:16px; font-weight:600; padding:10px 14px; border-radius:8px; text-decoration:none; }
.marketing-header #marketing-navigation > a:hover { color:var(--ink); background:var(--surface); }
.marketing-header #marketing-navigation > a.active { color:var(--brand); font-weight:700; background:var(--blue-tint); box-shadow:inset 0 -2px 0 var(--brand); }

.language-pill { display:flex; align-items:center; background:var(--line-soft); border-radius:999px; padding:3px; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:13px; font-weight:600; }
.language-pill span { padding:6px 11px; border-radius:999px; background:#fff; color:var(--ink); box-shadow:0 1px 2px rgba(20,24,31,.16); }
.language-pill a { padding:6px 11px; border-radius:999px; color:var(--muted); text-decoration:none; }
.language-pill a:hover { color:var(--ink); }

.marketing-header .sign-in { font-size:16px; font-weight:700; color:var(--ink); padding:11px 16px; border-radius:9px; text-decoration:none; }
.marketing-header .sign-in:hover { background:var(--surface); }
.marketing-header .scan-free { background:var(--brand); color:#fff; font-size:16px; font-weight:700; padding:12px 20px; border-radius:9px; text-decoration:none; white-space:nowrap; }
.marketing-header .scan-free:hover { background:var(--brand-dark); }

@media (max-width:1239px) {
    header.marketing-header { grid-template-columns:1fr auto; grid-template-rows:auto auto; min-height:0; padding:0 22px; }
    .marketing-header .brand { grid-column:1; grid-row:1; }
    .marketing-header .header-utilities { grid-column:2; grid-row:1; padding:11px 0; }
    .marketing-header #marketing-navigation { grid-column:1 / -1; grid-row:2; justify-self:stretch; justify-content:center; border-top:1px solid var(--line-soft); margin:0 -22px; padding:0 22px; }
    .marketing-header #marketing-navigation > a { font-size:15.5px; padding:14px 16px; border-radius:0; }
    .marketing-header #marketing-navigation > a.active { background:none; box-shadow:inset 0 -3px 0 var(--brand); }
    .marketing-header .language-pill span, .marketing-header .language-pill a { padding:6px 10px; }
    .marketing-header .sign-in { font-size:15px; padding:11px 14px; }
    .marketing-header .header-utilities .scan-free { font-size:15px; padding:11px 17px; }
}

@media (max-width:699px) {
    header.marketing-header { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:62px; padding:0 16px; position:sticky; top:0; z-index:30; }
    .marketing-header .brand img { width:26px; height:26px; }
    .marketing-header .brand-word { font-size:17px; }
    .marketing-header .header-utilities { display:none; }
    .marketing-header .scan-free-bar { display:inline-flex; align-items:center; margin-left:auto; background:var(--brand); color:#fff; font-size:14.5px; font-weight:700; padding:10px 14px; border-radius:8px; text-decoration:none; white-space:nowrap; }
    .marketing-header.marketing-menu-ready .marketing-menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:46px; height:46px; padding:0; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); }
    .marketing-menu-label { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:9.5px; font-weight:700; text-transform:uppercase; }
    /* visibility's transition-delay is asymmetric on purpose: 0s here (closed) means the CLOSE
       transition (evaluated against this rule, since data-open no longer matches "true") delays
       hiding until the slide-out transform finishes; 0s with no delay on the [data-open="true"]
       rule below means OPENING flips visibility to visible instantly, in the same tick app.js
       calls focus() on the first nav link — without this, the focused element would still
       compute as visibility:hidden and the focus() call would silently fail. */
    .marketing-header.marketing-menu-ready #marketing-navigation { position:fixed; inset:62px 0 0; z-index:29; display:flex; flex-direction:column; align-items:stretch; gap:.3rem; margin:0; padding:1rem 14px 0; overflow-y:auto; visibility:hidden; pointer-events:none; transform:translateX(100%); background:#fff; transition:transform .2s ease,visibility 0s linear .2s; }
    .marketing-header.marketing-menu-ready #marketing-navigation[data-open="true"] { visibility:visible; pointer-events:auto; transform:translateX(0); transition:transform .2s ease,visibility 0s linear 0s; }
    .marketing-header #marketing-navigation > a { width:100%; min-height:56px; padding:0 14px; border-radius:10px; display:flex; align-items:center; justify-content:space-between; font-size:19px; font-weight:700; color:var(--ink); }
    .marketing-header #marketing-navigation > a::after { content:"›"; color:var(--muted); font-weight:400; }
    .marketing-header #marketing-navigation > a.active { background:var(--blue-tint); border-left:4px solid var(--brand); color:var(--brand); font-weight:800; box-shadow:none; }
    .marketing-header #marketing-navigation > a.active::after { content:attr(data-here-label); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:11px; font-weight:700; color:var(--brand); }
    .marketing-header .nav-mobile-language { display:flex; align-items:center; justify-content:space-between; margin-top:.5rem; padding:14px; border-top:1px solid var(--line-soft); font-size:15px; font-weight:700; color:var(--muted); }
    .marketing-header .nav-mobile-language .language-pill span, .marketing-header .nav-mobile-language .language-pill a { padding:9px 18px; }
    .marketing-header .nav-mobile-actions { display:grid; gap:.6rem; position:sticky; bottom:0; margin:auto -14px 0; padding:16px 14px 18px; border-top:1px solid var(--line); background:var(--surface); }
    .marketing-header .nav-mobile-actions .scan-free { display:block; text-align:center; background:var(--brand); color:#fff; font-weight:700; padding:16px; border-radius:9px; text-decoration:none; }
    .marketing-header .nav-mobile-actions .sign-in-full { display:block; text-align:center; background:#fff; border:2px solid var(--line); color:var(--ink); font-weight:700; padding:14px; border-radius:9px; text-decoration:none; }
}
@media (prefers-reduced-motion:reduce) { :root { scroll-behavior:auto; } .marketing-header.marketing-menu-ready #marketing-navigation { transition:none; } }
/* <main> itself carries no layout styling — every top-level page section is responsible for its
   own width and vertical rhythm. Full-bleed design-handover pages (Features, Agencies, Support,
   Meeting, Home) use .band/.inside below; pages that keep the older centered-column look wrap
   their content in .contained, which reproduces the same 1240px formula main used to apply. */
.contained { max-width:1240px; margin:2.75rem auto 0; padding-bottom:6rem; padding-inline:1em; }
.band { margin-block:0; padding:0; border:0; border-radius:0; background:none; }
.band > .inside { container-type:inline-size; max-width:1240px; margin-inline:auto; padding-inline:1em; }
@media (min-width:500px) { .contained, .band > .inside { padding-inline:1.5em; } }
@media (min-width:1400px) { .contained, .band > .inside { padding-inline:0; } }
.app-topbar { position:sticky; top:0; z-index:10; padding:.7rem 1.5rem; }
.app-topbar .brand img { width:9.25rem; }
.app-frame { min-height:calc(100vh - 4.5rem); display:grid; grid-template-columns:15.5rem minmax(0,1fr); }
.app-frame > aside { position:sticky; top:4.5rem; height:calc(100vh - 4.5rem); display:flex; flex-direction:column; padding:1.5rem 1rem; background:#fff; border-right:1px solid var(--line); }
.app-frame > aside,.app-frame > main { min-width:0; }
.app-frame > main { width:100%; max-width:80rem; margin:0 auto; padding:2.5rem clamp(1.25rem,3vw,3rem) 6rem; }
.app-nav { display:grid; align-items:stretch; gap:.35rem; }
.app-nav a { display:flex; align-items:center; gap:.7rem; min-height:2.8rem; padding:.55rem .75rem; border-radius:.55rem; color:var(--muted); font-weight:700; text-decoration:none; }
.app-nav a span { width:1rem; color:var(--brand); font-family:"Atkinson Hyperlegible Mono",monospace; }
.app-nav a:hover { color:var(--brand); background:var(--surface); }
.app-nav a[aria-current="page"] { color:var(--brand); background:var(--brand-wash); }
.app-nav-label { margin:1.5rem .75rem .35rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.app-nav a .nav-badge { width:auto; margin-left:auto; padding:1px 7px; border-radius:999px; background:var(--brand); color:#fff; font-size:.72rem; font-weight:700; font-family:inherit; }
.app-domain { margin:auto .75rem 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; }

/* The signed-in app shell (layoutApp(), src/Web/Screens/DashboardScreen.php) — the new sidebar
   system from the "App shell + Dashboard" design handoff. Kept fully separate from .app-frame/
   .app-nav above, which stay in place for every screen not yet migrated onto this shell. */
.app-shell-body { background:var(--surface); }
.app-shell { display:grid; grid-template-columns:285px minmax(0,1fr); min-height:100vh; }
.app-side { position:sticky; top:0; height:100vh; overflow:auto; display:flex; flex-direction:column; gap:0; padding:1.25rem 1rem 1rem; background:var(--ink); border-right:1px solid var(--dark-line); }
.app-side:has(.app-workspace-switcher[open]),.app-side:has(.app-profile-menu[open]) { overflow:visible; z-index:30; }
.app-brand { display:flex; align-items:center; gap:.5rem; margin:0 .15rem .85rem; color:#e6eaf1; text-decoration:none; }
.app-side .app-brand img { width:26px; height:26px; }
.app-brand .brand-word { font-size:17px; font-weight:800; letter-spacing:-.02em; }
.app-brand .brand-accent { color:var(--blue-light); }
.app-to-website { display:inline-flex; align-items:center; min-height:1.5rem; margin:0 .15rem; padding-bottom:1rem; border-bottom:1px solid var(--dark-line); color:var(--dark-tertiary); font-size:.78rem; font-weight:600; text-decoration:none; }
.app-to-website:hover { color:#e6eaf1; }
.app-workspace { position:relative; padding:.9rem .15rem .65rem; border-bottom:1px solid var(--dark-line); color:#e6eaf1; }
.app-workspace-label { display:block; margin-bottom:.3rem; color:#8eb5ff; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.67rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.app-workspace-name { display:block; min-width:0; overflow:hidden; color:#fff; font-size:.92rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.app-workspace-meta { display:block; margin-top:.22rem; color:#9db2d8; font-family:"Atkinson Hyperlegible Next",Arial,sans-serif; font-size:.75rem; }
.app-workspace--single { padding:.95rem .15rem 1rem; }
.app-workspace--single .app-workspace-name { padding:.45rem 0 .2rem; }
.app-workspace-switcher>summary { display:block; cursor:pointer; list-style:none; }
.app-workspace-switcher>summary::-webkit-details-marker { display:none; }
.app-workspace-trigger { display:flex; align-items:center; justify-content:space-between; gap:.6rem; min-height:4rem; padding:.55rem .7rem; border:1px solid #75a0ff; border-radius:.65rem; background:#1b212a; }
.app-workspace-trigger>span:first-child { min-width:0; }
.app-workspace-chevron,.app-profile-chevron { display:grid; width:.9rem; height:.9rem; flex:0 0 .9rem; place-items:center; color:#8ea4ca; transform-origin:center; transition:transform .15s ease; }
.app-workspace-chevron svg,.app-profile-chevron svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.app-workspace-switcher[open] .app-workspace-chevron,.app-profile-menu[open] .app-profile-chevron { transform:rotate(180deg); }
.app-workspace-switcher>summary:hover .app-workspace-trigger { border-color:#9ab8ff; background:#222a35; }
.app-switcher-panel { position:absolute; z-index:40; top:calc(100% + .35rem); left:-.15rem; display:grid; width:min(34rem,calc(100vw - 2rem)); max-height:min(35rem,calc(100vh - 7rem)); overflow:auto; border:1px solid var(--line); border-radius:.75rem; background:#fff; color:var(--ink); box-shadow:0 .9rem 2rem rgba(15,23,42,.22); }
.app-switcher-search { padding:.45rem; border-bottom:1px solid var(--line); }
.app-switcher-search input { width:100%; min-height:2.75rem; margin:0; padding:.55rem .75rem; border:1px solid #60708a; border-radius:.55rem; background:#fff; color:var(--ink); font:inherit; font-size:.92rem; }
.app-switcher-search input:focus { outline:3px solid var(--accent); outline-offset:2px; }
.app-switcher-panel section { display:grid; gap:.35rem; margin:0; padding:.8rem 1rem .4rem; border:0; border-radius:0; background:transparent; box-shadow:none; }
.app-switcher-heading { margin:0; color:#566176; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.69rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.app-switcher-main,.app-switcher-clients { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
.app-switcher-main { grid-template-columns:minmax(0,1fr); }
.app-switcher-panel form { width:100%; max-width:none; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.app-switcher-panel button { display:grid; width:100%; min-height:2.55rem; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.75rem; padding:.45rem .2rem; border:0; border-left:3px solid transparent; border-radius:0; background:transparent; color:var(--ink); text-align:left; }
.app-switcher-panel button strong { min-width:0; overflow:hidden; font-size:.9rem; text-overflow:ellipsis; white-space:nowrap; }
.app-switcher-panel button small { color:#566176; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; font-weight:700; white-space:nowrap; }
.app-switcher-panel button:hover { background:var(--surface); }
.app-switcher-panel button[aria-current="page"] { border-left-color:var(--brand); background:var(--surface); color:var(--brand); }
.app-switcher-empty { margin:0; padding:.75rem 1rem 1rem; color:var(--muted); }
.app-switcher-panel footer { display:grid; gap:.65rem; margin-top:.45rem; padding:.75rem 1rem .9rem; border-top:1px solid var(--line); }
.app-switcher-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.app-switcher-actions a { display:inline-flex; min-height:2.7rem; align-items:center; padding:.55rem .9rem; border:1px solid var(--line); border-radius:.55rem; color:var(--ink); font-weight:800; text-decoration:none; }
.app-switcher-actions a:hover { border-color:var(--brand); color:var(--brand); }
.app-switcher-panel footer>small { color:#566176; font-size:.75rem; }
.app-side-nav { display:grid; gap:.25rem; padding-top:.8rem; }
.app-side-nav a { display:flex; align-items:center; gap:.7rem; min-height:2.6rem; padding:.5rem .7rem; border-radius:.5rem; color:#e6eaf1; font-weight:700; font-size:.92rem; text-decoration:none; }
.app-side-nav a:hover { background:rgba(255,255,255,.06); }
.app-side-nav a[aria-current="page"] { background:var(--brand); }
.app-nav-icon { display:grid; place-items:center; flex:0 0 1.2rem; width:1.2rem; height:1.2rem; color:var(--dark-secondary); }
.app-nav-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.app-side-nav a:hover .app-nav-icon,.app-side-nav a[aria-current="page"] .app-nav-icon { color:#fff; }
.app-nav-text { min-width:0; }
.app-side-nav .app-nav-label { color:var(--dark-tertiary); }
.app-side-nav .nav-badge { margin-left:auto; padding:1px 7px; border-radius:999px; background:var(--dark-line); color:#e6eaf1; font-size:.72rem; font-weight:700; }
.app-side-nav .nav-badge--danger { background:var(--danger); color:#fff; }
.app-profile-menu { position:relative; margin-top:auto; padding-top:1rem; color:#fff; }
.app-profile-menu>summary { display:flex; min-height:4.2rem; align-items:center; gap:.65rem; padding:.65rem .7rem; border:1px solid #75a0ff; border-radius:.65rem; background:#17243b; cursor:pointer; list-style:none; }
.app-profile-menu>summary::-webkit-details-marker { display:none; }
.app-profile-menu>summary:hover { border-color:#9ab8ff; background:#1d2c47; }
.app-profile-avatar { display:grid; width:2.25rem; height:2.25rem; flex:0 0 2.25rem; place-items:center; border-radius:50%; background:#2459d8; color:#fff; font-size:.78rem; font-weight:800; }
.app-profile-identity { display:block; min-width:0; flex:1; }
.app-profile-identity strong,.app-profile-identity small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.app-profile-identity strong { color:#fff; font-size:.82rem; }
.app-profile-identity small { margin-top:.16rem; color:#8ea4ca; font-size:.7rem; }
.app-profile-menu-panel { position:absolute; z-index:40; bottom:calc(100% + .45rem); left:-.15rem; display:grid; width:min(22rem,calc(100vw - 2rem)); overflow:hidden; border:1px solid var(--line); border-radius:.75rem; background:#fff; color:var(--ink); box-shadow:0 .9rem 2rem rgba(15,23,42,.22); }
.app-profile-menu-panel>a { display:grid; gap:.18rem; padding:.75rem 1rem; color:var(--ink); text-decoration:none; }
.app-profile-menu-panel>a:hover { background:var(--surface); color:var(--brand); }
.app-profile-menu-panel>a strong { font-size:.9rem; }
.app-profile-menu-panel>a small { color:#566176; font-size:.75rem; font-weight:600; }
.app-profile-menu-panel>a strong,.app-profile-menu-panel>a small { line-height:1.3; }
.app-profile-menu-group { margin:0; padding:.8rem 1rem .35rem; border-top:1px solid var(--line); color:#566176; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.app-profile-menu-panel form { width:100%; max-width:none; margin:.25rem 0 0; padding:.35rem 0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; }
.app-profile-menu-panel form button { width:100%; min-height:2.7rem; justify-content:flex-start; padding:.55rem 1rem; border:0; border-radius:0; background:transparent; color:var(--ink); text-align:left; }
.app-profile-menu-panel form button:hover { background:var(--surface); color:var(--brand); }
.app-package { margin-top:auto; padding:1rem; border:1px solid var(--dark-line); border-radius:.75rem; background:rgba(255,255,255,.045); display:grid; gap:.65rem; box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.app-workspace-settings { display:flex; width:100%; align-items:center; justify-content:space-between; gap:.5rem; min-height:1.5rem; color:#e6eaf1; font-size:.78rem; font-weight:700; text-decoration:none; }
.app-workspace-settings:hover { color:var(--blue-light); }
.app-workspace-settings[aria-current="page"] { color:var(--blue-light); }
.app-package-settings-icon { display:grid; flex:0 0 1rem; width:1rem; height:1rem; place-items:center; color:currentColor; }
.app-package-settings-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.app-package-header { display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; }
.app-package-name { margin:0; color:#e6eaf1; font-weight:800; font-size:.88rem; }
.app-package-manage { display:inline-flex; align-items:center; min-height:1.5rem; color:var(--blue-light); font-size:.78rem; font-weight:700; text-decoration:none; }
.app-usage { display:grid; grid-template-columns:1fr auto; gap:.15rem .5rem; align-items:center; }
.app-usage span:first-child { grid-column:1; color:var(--dark-tertiary); font-size:.75rem; }
.app-usage span.mono { grid-column:2; color:var(--dark-secondary); font-size:.72rem; }
.app-usage-track { grid-column:1 / -1; height:5px; border-radius:999px; background:var(--dark-line); overflow:hidden; }
.app-usage-fill { height:100%; background:var(--blue-light); border-radius:999px; }
.app-usage-fill--full { background:var(--accent); }

.app-shell-content { min-width:0; display:flex; flex-direction:column; }
.app-content-header { position:sticky; top:0; z-index:5; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 2rem; background:#fff; border-bottom:1px solid var(--line); }
.app-content-header h1 { margin:0; font-size:1.4rem; font-weight:800; letter-spacing:-.01em; }
.app-content-subline { margin:.15rem 0 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.app-content-actions { display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; }
.app-global-search { margin:0; padding:0; border:0; background:transparent; }
.app-search { width:16rem; max-width:100%; padding:.5rem .75rem; border:1px solid var(--line); border-radius:.5rem; font:inherit; font-size:.85rem; }
.app-shell-content main#main { width:100%; min-width:0; padding:1.5rem 2rem 4rem; display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; max-width:78rem; overflow-x:hidden; }
.app-shell-content main#main > * { min-width:0; max-width:100%; }
.app-shell-content main#main .inline,.app-shell-content main#main .actions { flex-wrap:wrap; }
.app-shell-content main#main label { min-width:0; }
.app-shell-content main#main label,.app-shell-content main#main legend { font-family:"Atkinson Hyperlegible Mono",monospace; }
.app-shell-content main#main input,.app-shell-content main#main select,.app-shell-content main#main textarea { max-width:100%; font-family:"Atkinson Hyperlegible Next",Arial,sans-serif!important; letter-spacing:normal; text-transform:none; }
.app-shell-content main#main label small,.app-shell-content main#main label p { font-family:"Atkinson Hyperlegible Next",Arial,sans-serif; letter-spacing:normal; text-transform:none; }
.app-tabs { display:flex; width:100%; min-width:0; max-width:100%; flex-wrap:wrap; justify-content:flex-start; gap:.2rem; overflow:visible; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; padding:0; }
.app-tabs a { position:relative; display:inline-flex; min-width:0; min-height:2.5rem; flex:0 1 auto; align-items:center; padding:.5rem .85rem; border:1px solid transparent; border-bottom-color:transparent; border-radius:.4rem .4rem 0 0; color:var(--muted); font-size:.9rem; font-weight:750; line-height:1.15; text-decoration:none; }
.app-tabs a:hover { background:var(--paper,#f7f8fa); color:var(--ink); }
.app-tabs a[aria-current="page"] { border-color:var(--line); border-bottom-color:#fff; background:#fff; color:var(--brand); }
.app-tabs a[aria-current="page"]::after { display:none; }
.account-tab-panel { display:grid; width:100%; min-width:0; gap:1rem; align-items:start; }
.account-tab-panel > * { min-width:0; }
.account-tab-panel > section,.account-tab-panel > .account-grid { margin:0; }
.account-profile-summary { border-top-left-radius:0; border-top-right-radius:0; }
.account-profile-summary h2 { overflow-wrap:anywhere; font-size:1.35rem; }
.account-language { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.account-language h2 { margin:.15rem 0 0; font-size:1.05rem; }
.account-language-options { display:flex; flex-wrap:wrap; gap:.5rem; }
.account-grid article > a { display:inline-flex; align-items:center; min-height:1.5rem; }
.account-tab-panel[data-account-tab="security"] { display:block; grid-template-columns:1fr; }
.account-tab-panel[data-account-tab="security"] > section { margin:0; }
.account-tab-panel[data-account-tab="security"] #account-sessions,
.account-tab-panel[data-account-tab="security"] #account-security-history { grid-column:1 / -1; }

.app-card { width:100%; min-width:0; max-width:100%; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.1rem 1.25rem; }
.app-card-header { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem 1rem; margin-bottom:.75rem; }
.app-card-header h2 { margin:0; font-size:1.05rem; font-weight:800; }
.app-card-meta { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.app-columns { display:grid; grid-template-columns:1.3fr 1fr; gap:1rem; align-items:start; }

.app-hero { display:flex; flex-wrap:wrap; gap:1.5rem; align-items:center; }
.app-hero-gauge { display:flex; align-items:center; gap:1rem; }
.app-gauge { display:flex; flex-direction:column; align-items:center; gap:.3rem; }
.app-gauge svg { display:block; }
.app-gauge-value { display:flex; align-items:baseline; gap:.25rem; }
.app-gauge-value strong { font-size:1.6rem; font-weight:800; color:var(--ink); }
.app-gauge-value span { color:var(--muted); font-size:.8rem; }
.app-gauge--sm .app-gauge-value strong { font-size:1.1rem; }
.app-gauge--xl svg { width:140px; height:140px; }
.app-gauge--xl .app-gauge-value strong { font-size:2rem; }
.app-gauge-caption { display:grid; gap:.15rem; }
.app-gauge-label { margin:0; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.app-score-delta { margin:0; font-size:.85rem; font-weight:700; }
.app-score-delta--up { color:var(--success); }
.app-score-delta--down { color:var(--danger); }
.app-gauge-meta,.app-gauge-weight { margin:0; color:var(--muted); font-size:.78rem; }
.app-trend { flex:1 1 20rem; min-width:16rem; }
.app-trend-svg { width:100%; height:9rem; }
.app-trend-area { fill:var(--brand); opacity:.08; stroke:none; }
.app-trend-line { fill:none; stroke:var(--brand); stroke-width:2; }
.app-trend-axis { position:relative; height:1rem; margin-top:.25rem; }
.app-trend-axis span { position:absolute; transform:translateX(-50%); color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.app-trend-caption { margin:.5rem 0 0; color:var(--muted); font-size:.78rem; }
.site-tabs { margin:0 0 -1px; }
.site-overview-hero { display:grid; grid-template-columns:20rem minmax(22rem,1fr) 16rem; gap:0; padding:0; overflow:hidden; }
.site-overview-hero > div { min-width:0; padding:1.5rem 1.6rem; display:flex; flex-direction:column; }
.site-overview-hero > div + div { border-left:1px solid var(--line); }
.site-score-cell { align-items:center; text-align:center; }
.site-score-cell .app-gauge { gap:.65rem; }
.site-score-cell .app-gauge-value strong { font-family:"Atkinson Hyperlegible Mono",monospace; }
.site-trend-cell .app-trend { flex:0 0 auto; min-width:0; margin:.75rem 0; }
.site-trend-cell .app-trend-svg { height:5.5rem; }
.site-trend-labels { display:flex; justify-content:space-between; gap:1rem; margin-top:.35rem; color:var(--muted); font:700 .75rem "Atkinson Hyperlegible Mono",monospace; }
.site-monitor-cell dl { display:grid; grid-template-columns:1fr auto; gap:.55rem .75rem; margin:.25rem 0 1rem; }
.site-monitor-cell dt { color:var(--muted); font-size:.78rem; }
.site-monitor-cell dd { margin:0; text-align:right; font:700 .78rem "Atkinson Hyperlegible Mono",monospace; }
.site-monitor-cell > a { margin-top:auto; font-weight:700; text-decoration:none; }
.site-no-score { margin:auto; font:800 3rem "Atkinson Hyperlegible Mono",monospace; }
.page-result-hero { display:grid; grid-template-columns:20rem minmax(0,1fr); padding:0; overflow:hidden; }
.page-result-hero > div { min-width:0; padding:1.6rem 1.75rem; }
.page-result-score { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-right:1px solid var(--line); }
.page-result-context h2 { margin:.3rem 0 1rem; font-size:1.55rem; }
.page-identity { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:.45rem 1rem; margin:0; }
.page-identity dt { color:var(--muted); font:700 .75rem "Atkinson Hyperlegible Mono",monospace; text-transform:uppercase; letter-spacing:.04em; }
.page-identity dd { min-width:0; margin:0; overflow-wrap:anywhere; }
.page-result-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1.3rem; padding-top:1rem; border-top:1px solid var(--line); }
.page-result-navigation a { display:grid; grid-template-columns:auto 1fr; gap:.1rem .35rem; text-decoration:none; }
.page-result-navigation a.next { grid-template-columns:1fr auto; text-align:right; }
.page-result-navigation strong { grid-column:1 / -1; overflow:hidden; color:var(--ink); font-size:.82rem; text-overflow:ellipsis; white-space:nowrap; }
.page-result-navigation span { color:var(--muted); font-size:.78rem; }
.scan-group-tabs { border-radius:var(--radius); }
.scan-result-hero { display:grid; grid-template-columns:minmax(0,340px) minmax(0,1fr) minmax(0,250px); gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:.7rem; background:var(--line); }
.scan-result-hero > div { min-width:0; padding:1.6rem 1.5rem; background:#fff; display:flex; flex-direction:column; gap:1rem; }
.scan-result-hero > div:first-child { padding-inline:1.75rem; }
.scan-hero-label { color:var(--muted); font:700 .75rem "Atkinson Hyperlegible Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.scan-score-body { display:grid; gap:.65rem; }
.scan-score-cell .app-gauge { display:grid; grid-template-columns:140px minmax(0,1fr); align-items:center; gap:1.5rem; }
.scan-score-cell .app-gauge-value { display:block; }
.scan-score-cell .app-gauge-value strong { display:block; font:800 2.6rem/1 "Atkinson Hyperlegible Mono",monospace; letter-spacing:-.02em; }
.scan-score-cell .app-gauge-value span { display:block; margin-top:.2rem; }
.scan-score-context { display:grid; gap:.15rem; margin-left:calc(140px + 1.5rem); color:var(--muted); font:700 .78rem "Atkinson Hyperlegible Mono",monospace; }
.scan-score-context strong { color:var(--ink); }
.scan-score-context .positive,.scan-change-stats .positive { color:var(--success); }
.scan-score-context .negative,.scan-change-stats .negative { color:var(--danger); }
.scan-result-hero p { margin:auto 0 0; color:var(--muted); font-size:.85rem; }
.scan-baseline-state { display:flex; min-height:7.5rem; flex-direction:column; justify-content:center; gap:.35rem; padding:1.1rem 1.2rem; border:1px solid var(--line); border-radius:.6rem; background:var(--brand-wash); }
.scan-baseline-state strong { font-size:1.15rem; }
.scan-baseline-state span { max-width:34rem; color:var(--muted); }
.scan-hero-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem 1rem; }
.scan-hero-heading a,.scan-coverage-cell > a,.scan-audit-link { font:700 .78rem "Atkinson Hyperlegible Mono",monospace; text-decoration:none; }
.scan-change-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr)); gap:1.1rem 1.5rem; }
.scan-change-stats span { display:block; margin-bottom:.1rem; color:var(--muted); font:400 .75rem "Atkinson Hyperlegible Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.scan-change-stats strong { font:800 1.45rem/1.1 "Atkinson Hyperlegible Mono",monospace; }
.scan-coverage-summary { display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; }
.scan-coverage-summary strong { font:800 1.75rem/1.1 "Atkinson Hyperlegible Mono",monospace; }
.scan-coverage-summary span { color:var(--muted); font:400 .78rem "Atkinson Hyperlegible Mono",monospace; }
.scan-coverage-bar { display:flex; height:.55rem; margin-top:-.65rem; overflow:hidden; border-radius:999px; background:var(--accent); }
.scan-coverage-bar span { display:block; background:var(--brand); }
.scan-coverage-cell dl { display:grid; grid-template-columns:1fr auto; gap:.35rem .5rem; margin:0; color:var(--muted); font-size:.85rem; }
.scan-coverage-cell dt,.scan-coverage-cell dd { margin:0; }
.scan-coverage-cell dd { font-family:"Atkinson Hyperlegible Mono",monospace; }
.scan-coverage-cell > a { margin-top:auto; }
.scan-score-pending { display:grid; min-height:140px; place-content:center; color:var(--muted); font:800 2.6rem "Atkinson Hyperlegible Mono",monospace; }
.scan-score-pending small { font-size:.75rem; }
.scan-findings-card { margin-bottom:-1rem; padding:0; overflow:hidden; }
.scan-findings-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; padding:.55rem 1.1rem 0; border-bottom:1px solid var(--line); }
.scan-findings-toolbar .app-tabs { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.scan-findings-toolbar .app-tabs { width:auto; flex:1 1 34rem; }
.scan-findings-toolbar .app-tabs > span { align-self:center; margin-right:.5rem; color:var(--muted); font:700 .75rem "Atkinson Hyperlegible Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.scan-findings-toolbar .app-tabs a { border-bottom:2px solid transparent; border-radius:0; }
.scan-findings-toolbar .app-tabs a[aria-current="page"] { border-bottom-color:var(--brand); background:transparent; color:var(--brand-dark); }
.scan-findings-toolbar .app-tabs small { margin-left:.25rem; color:var(--muted); font:700 .75rem "Atkinson Hyperlegible Mono",monospace; }
.scan-results-card { margin:0; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.scan-results-card .scan-findings-toolbar { padding-top:.55rem; background:#fff; }
.scan-results-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem 1rem; padding:.65rem 1.1rem; border-bottom:1px solid var(--line-soft); color:var(--muted); font:700 .76rem "Atkinson Hyperlegible Mono",monospace; }
.scan-results-table { width:100%; min-width:58rem; margin:0; }
.scan-results-table .impact { display:inline-flex; margin-right:.5rem; }
.app-sort-header a { display:inline-flex; min-height:2rem; align-items:center; gap:.35rem; color:inherit; text-decoration:none; }
.app-sort-header a:hover,.app-sort-header a:focus-visible { color:var(--brand); }
.app-sort-header.is-active { background:var(--blue-tint); color:var(--brand); }
.app-sort-header.is-active a > span:first-child { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.2rem; }
.app-sort-icon { color:var(--muted); font-size:.9rem; line-height:1; }
.app-sort-header.is-active .app-sort-icon { color:var(--brand); }
.score-cost { display:inline-block; white-space:nowrap; font:800 .78rem "Atkinson Hyperlegible Mono",monospace; }
.score-cost.is-neutral { color:var(--muted); font-weight:600; }
.finding-bulk-ownership { display:grid; grid-template-columns:minmax(0,1fr) minmax(17rem,25rem); gap:1rem 2rem; align-items:start; }
.finding-bulk-ownership .notice { grid-column:1/-1; }
.issue-assignment-form { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:.8rem!important; width:100%!important; max-width:none!important; margin:1rem 0 0!important; padding:0!important; border:0!important; background:transparent!important; }
.issue-assignment-form label,.issue-assignment-form input,.issue-assignment-form select { width:100%; min-width:0; }
.issue-assignment-form button { width:max-content; max-width:100%; justify-self:start; }
.issue-assignment-card form.inline { display:grid; grid-template-columns:minmax(0,1fr); gap:.8rem; }
.issue-assignment-card form.inline label:has(select[name="responsibility"]) { display:none; }
.issue-occurrences { display:grid; gap:.75rem; padding:1rem 1.1rem; }
.issue-occurrences .issue-card { margin:0; }
.issue-card>header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.issue-card>header h3,.issue-card>header p { margin:.15rem 0; }
.finding-status-card form,.finding-rail form,.occurrence-body .actions form { width:auto; max-width:none; margin:1rem 0 0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.app-form-stack,.finding-rail form:not(.issue-assignment-form) { display:grid; grid-template-columns:minmax(0,1fr); gap:.8rem; }
.finding-rail > * { order:10; }
.finding-rail > .finding-status-card { order:1; }
.finding-rail > .issue-assignment-card { order:3; }
.finding-rail > .issue-decision-card { order:4; border-color:#f1c7bd; background:#fffaf8; }
.finding-rail > .issue-history { order:20; }
.issue-assignment-card,.issue-decision-card { scroll-margin-top:6rem; }
@media (max-width:1320px) {
    .scan-result-hero { grid-template-columns:minmax(0,340px) minmax(0,1fr); }
    .scan-result-hero > :nth-child(1) { grid-row:1; grid-column:1; }
    .scan-result-hero > :nth-child(3) { grid-row:1; grid-column:2; }
    .scan-result-hero > :nth-child(2) { grid-row:2; grid-column:1 / -1; border-top:1px solid var(--line); }
}
@media (max-width:1080px) {
    .scan-result-hero { grid-template-columns:minmax(0,1fr); }
    .scan-result-hero > :nth-child(1),.scan-result-hero > :nth-child(2),.scan-result-hero > :nth-child(3) { grid-row:auto; grid-column:auto; border-top:0; }
}
@media (max-width:560px) {
    .scan-score-cell .app-gauge { grid-template-columns:112px minmax(0,1fr); gap:1rem; }
    .scan-score-cell .app-gauge svg { width:112px; height:112px; }
    .scan-score-context { margin-left:0; }
    .scan-findings-toolbar { align-items:flex-start; }
    .finding-bulk-ownership { grid-template-columns:minmax(0,1fr); }
    .scan-results-table th:nth-child(n),.scan-results-table td:nth-child(n) { display:table-cell; }
}
.finding-layout { display:grid; width:100%; min-width:0; max-width:100%; grid-template-columns:minmax(0,1fr) minmax(0,24rem); gap:1rem; align-items:start; }
.finding-main,.finding-rail { min-width:0; display:grid; gap:1rem; }
.finding-main > section,.finding-rail > section { margin:0; }
.finding-main > *,.finding-rail > * { width:100%; min-width:0; max-width:100%; overflow-wrap:anywhere; }
.finding-rail { position:sticky; top:6rem; }
.finding-explanation { font-size:1.08rem; line-height:1.55; }
.finding-guidance { margin:1.25rem 0; padding:1rem 1.1rem; border-left:4px solid var(--brand); background:var(--brand-wash); border-radius:0 var(--radius) var(--radius) 0; }
.finding-guidance h3 { margin-top:0; }
.finding-code pre { max-height:18rem; overflow:auto; }
.finding-primary-evidence { margin:1.25rem 0 0; }
.finding-primary-evidence a { display:block; min-height:15rem; padding:.75rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.finding-primary-evidence img { display:block; width:100%; min-height:13.5rem; max-height:34rem; object-fit:contain; border-radius:.35rem; }
.finding-primary-evidence figcaption { margin-top:.45rem; color:var(--muted); font-size:.78rem; }
.contrast-measurement { margin:1rem 0; }
.contrast-measurement > p { margin:.25rem 0; }
.contrast-measurement dl { display:flex; flex-wrap:wrap; gap:.55rem 1.25rem; margin:.65rem 0 0; }
.contrast-measurement dl > div { display:flex; align-items:center; gap:.45rem; }
.contrast-measurement dt { color:var(--muted); font-size:.86rem; }
.contrast-measurement dd { margin:0; }
.app-color-value { display:inline-flex; align-items:center; gap:.4rem; min-width:0; }
.app-color-value__swatches { display:inline-flex; flex:0 0 auto; }
.app-color-value__swatch { display:block; box-sizing:border-box; width:1rem; height:1rem; border:1px solid #252b35; border-radius:.18rem; background:var(--app-color-value); box-shadow:0 0 0 1px rgba(255,255,255,.45) inset; }
.app-color-value__swatch + .app-color-value__swatch { margin-left:-.22rem; }
@media (max-width:520px) {
  .contrast-measurement dl > div { display:block; }
  .contrast-measurement dd { margin-top:.18rem; }
}
.finding-status-card { border-top:4px solid var(--brand); }
.finding-status-card dl { display:grid; grid-template-columns:1fr auto; gap:.55rem .75rem; }
.finding-status-card dt { color:var(--muted); }
.finding-status-card dd { margin:0; text-align:right; font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.finding-status-card form,.finding-rail form { margin-top:1rem; }
.finding-rail form,.finding-rail label,.finding-rail input,.finding-rail select,.finding-rail textarea { width:100%; min-width:0; max-width:100%; }
.finding-pages > summary { font-weight:800; }
.issue-occurrences .issue-card>a { min-width:0; max-width:100%; }
.issue-occurrences .issue-card>.button-link { width:max-content; justify-self:start; }
.issue-occurrences .issue-card img { display:block; width:auto; height:auto; max-width:100%; }
.section-eyebrow { margin:0 0 .3rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }

.needs-you { border-top:4px solid var(--accent); }
.needs-you-row { display:flex; align-items:center; gap:1rem; padding:.7rem 0; border-top:1px solid var(--line-soft); }
.needs-you-row:first-of-type { border-top:0; }
.needs-you-kind { flex:0 0 6.5rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; text-transform:uppercase; padding:.25rem .5rem; border-radius:.35rem; text-align:center; }
.needs-you-row--overdue .needs-you-kind,.needs-you-row--regression .needs-you-kind { color:var(--danger); background:#fbe9e5; }
.needs-you-row--partial .needs-you-kind { color:var(--accent-ink); background:var(--accent-wash); }
.needs-you-row--decision .needs-you-kind { color:var(--brand); background:var(--brand-wash); }
.needs-you-body { flex:1 1 auto; display:grid; gap:.1rem; }
.needs-you-body strong { font-size:.92rem; }
.needs-you-body span { color:var(--muted); font-size:.8rem; }

.app-table th { text-align:left; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); padding:.5rem .7rem; }
.app-table td { padding:.7rem; font-size:.9rem; vertical-align:middle; }
.app-table td > a:not(.button-link) { display:inline-flex; align-items:center; min-height:1.5rem; }
.app-table th.mono,.app-table td.mono { text-align:right; font-family:"Atkinson Hyperlegible Mono",monospace; }
.app-table tr { border-top:1px solid var(--line-soft); }
@media (max-width:650px) {
    .app-table th:nth-child(n+3):nth-child(-n+8),.app-table td:nth-child(n+3):nth-child(-n+8) { display:none; }
    .app-table th,.app-table td { padding-inline:.45rem; }
    .app-table td:last-child { text-align:right; }
}
.app-score--good { color:var(--success); }
.app-score--warn { color:var(--accent-ink); }
.app-score--bad { color:var(--danger); }
.app-sparkline polyline { fill:none; stroke-width:2; }
.app-sparkline--up polyline { stroke:var(--success); }
.app-sparkline--down polyline { stroke:var(--danger); }
.app-sparkline--flat polyline { stroke:var(--muted); }

.owner-bar-row { display:grid; gap:.3rem; padding:.6rem 0; }
.owner-bar-label { display:flex; justify-content:space-between; gap:1rem; font-size:.85rem; }
.owner-bar-label span { color:var(--muted); font-size:.78rem; }
.owner-bar-track { height:8px; border-radius:999px; background:var(--line-soft); overflow:hidden; }
.owner-bar-fill { height:100%; background:var(--brand); border-radius:999px; }
.owner-bar-row:nth-of-type(2) .owner-bar-fill { background:var(--brand-dark); opacity:.75; }
.owner-bar-row:nth-of-type(3) .owner-bar-fill { background:var(--blue-light); }

.app-scan-list { list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.app-scan-list li { display:flex; align-items:center; gap:.6rem; font-size:.88rem; }
.app-scan-list a { flex:1 1 auto; text-decoration:none; }
.app-dot { width:8px; height:8px; border-radius:999px; flex:0 0 auto; }
.app-dot--good { background:var(--success); }
.app-dot--bad { background:var(--danger); }
.app-dot--pending { background:var(--accent); }

.app-dialog { width:calc(100% - 2rem); max-width:26rem; padding:0; overflow:hidden; border:0; border-radius:var(--radius); background:#fff; box-shadow:0 20px 50px rgba(20,24,31,.25); }
.app-dialog::backdrop { background:rgba(14,18,24,.55); }
.app-dialog>form { display:grid; grid-template-rows:auto minmax(0,1fr) auto; max-height:calc(100dvh - 2rem); margin:0; padding:0; border:0; background:#fff; }
.app-dialog>form>header { display:flex; min-height:0; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1rem 1.1rem .55rem; border:0; background:#fff; }
.app-dialog>form>header h2 { margin:.1rem 0 0; font-size:1.15rem; }
.app-dialog>form>header p:last-child { margin:.25rem 0 0; color:var(--muted); font-size:.88rem; }
.app-dialog label { display:flex; flex-direction:column; gap:.3rem; margin:0; font-size:.88rem; font-weight:700; }
.app-dialog-actions { display:flex; justify-content:flex-end; gap:.6rem; margin:0; padding:.85rem 1.1rem 1rem; border-top:1px solid var(--line); background:#fff; }
.add-site-dialog { max-width:36rem; }
.invite-member-dialog { max-width:38rem; }
.invite-member-dialog .app-dialog-body label { margin:0; }
.invite-member-dialog label > span { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.invite-member-dialog label small { color:var(--muted); font-family:"Atkinson Hyperlegible Next",sans-serif; font-size:.82rem; font-weight:400; letter-spacing:0; text-transform:none; }
.workspace-member-actions { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1.25rem; padding:1rem; border:1px solid var(--line); border-radius:.75rem; background:var(--surface); }
.workspace-member-actions p { max-width:34rem; margin:0; color:var(--muted); font-size:.88rem; }
.members-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(17rem,1fr); gap:14px; margin-bottom:14px; }
.members-main,.members-side { display:flex; min-width:0; flex-direction:column; gap:14px; }
.members-card { margin:0; padding:0; border:1px solid var(--line); border-radius:.7rem; background:#fff; overflow:hidden; }
.members-card>header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; padding:.8rem 1.1rem; border-bottom:1px solid var(--line); }
.members-card>header h2 { margin:0; font-size:1rem; }
.members-card>header span,.members-card>header a { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.members-card>footer { margin:0; padding:.8rem 1.1rem; border-top:1px solid var(--line); background:var(--surface); color:var(--muted); font-size:.86rem; }
.members-table { width:100%; min-width:0; margin:0; table-layout:fixed; }
.members-table th:nth-child(1) { width:34%; }
.members-table th:nth-child(2) { width:17%; }
.members-table th:nth-child(3) { width:20%; }
.members-table th:nth-child(4) { width:13%; }
.members-table th:nth-child(5) { width:16%; }
.members-table th,.members-table td { padding:.7rem .6rem; border-bottom:1px solid var(--line-soft); text-align:left; vertical-align:middle; }
.members-table th:first-child { padding-left:1.1rem; }
.members-table td:last-child { padding-right:1.1rem; text-align:right; }
.members-table thead th { background:var(--surface); color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.members-table tbody tr:last-child>* { border-bottom:0; }
.members-table tbody th { background:transparent; }
.members-table tr.is-suspended { opacity:.66; }
.member-identity { display:flex; align-items:center; gap:.7rem; }
.member-identity>i { display:grid; place-items:center; width:2rem; height:2rem; flex:0 0 auto; border-radius:50%; background:var(--brand); color:#fff; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; font-style:normal; }
.member-identity strong,.member-identity small { display:block; }
.member-name-line { display:flex; align-items:center; gap:.4rem; min-width:0; }
.member-identity small { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:400; }
.member-identity .member-source { color:var(--brand-dark); }
.member-identity em { display:inline-block; padding:.1rem .45rem; border-radius:999px; background:var(--surface); color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-style:normal; }
.members-inherited { color:var(--muted); font-size:.75rem; }
.client-workspaces { margin-top:0; }
.client-workspaces>header>div p { margin:.15rem 0 0; color:var(--muted); font-size:.86rem; }
.workspace-management-link>header { align-items:center; }
.workspace-management-link>header>div { min-width:0; }
.workspace-management-link .button-link { flex:0 0 auto; }
.client-workspace-submit { display:flex; grid-column:1/-1; justify-content:flex-end; padding-top:.85rem; border-top:1px solid var(--line-soft); }
.workspace-table-switch { margin:0; padding:0; border:0; background:transparent; }
.app-list-link { display:inline-flex; min-height:0; align-items:center; gap:.35rem; padding:0; border:0; border-radius:0; background:transparent; color:var(--brand-dark); font:inherit; font-weight:800; text-align:left; text-decoration:none; box-shadow:none; }
.app-list-link span { transition:transform .15s ease; }
.app-list-link:hover,.app-list-link:focus-visible,button.app-list-link:hover,button.app-list-link:focus-visible { background:transparent; color:var(--brand); text-decoration:underline; transform:none; box-shadow:none; }
.app-list-link:hover span,.app-list-link:focus-visible span { transform:translateX(.16rem); }
.branding-managed { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(18rem,.85fr); gap:14px; align-items:start; }
.site-workspace-transfer form { display:flex; flex-wrap:wrap; align-items:end; gap:.8rem; margin:1rem 0 0; padding:0; border:0; background:transparent; }
.site-workspace-transfer form label { flex:1 1 18rem; }
.member-role { display:inline-block; padding:.12rem .5rem; border-radius:999px; background:#f1f3f7; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.73rem; font-weight:700; white-space:nowrap; }
.member-role.role-owner,.member-role.role-admin { background:#e8eefb; color:var(--brand-dark); }
.member-role.role-viewer { background:#fff4e0; color:#7a4a00; }
.member-status,.members-no-action { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; }
.member-action { position:relative; }
.member-action>summary { color:var(--brand-dark); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; font-weight:700; cursor:pointer; list-style:none; }
.member-action>summary::-webkit-details-marker { display:none; }
.member-action>div { position:absolute; z-index:3; right:0; width:20rem; padding:.8rem; border:1px solid var(--line); border-radius:.5rem; background:#fff; box-shadow:0 8px 24px rgba(20,24,31,.14); text-align:left; }
.member-action form { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 .5rem; }
.member-action form:last-child { margin:0; }
.member-action label { flex:1 1 7rem; margin:0; font-size:.75rem; }
.member-action select { min-height:2.2rem; padding:.3rem; }
.pending-invitations { margin:0; padding:0; list-style:none; }
.pending-invitations li { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1rem; padding:.8rem 1.1rem; border-bottom:1px solid var(--line-soft); }
.pending-invitations li:last-child { border-bottom:0; }
.pending-invitations li>div:first-child { flex:1 1 16rem; min-width:0; }
.pending-invitations strong,.pending-invitations span { display:block; }
.pending-invitations span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; }
.pending-actions { display:flex; gap:.4rem; }
.pending-actions form { margin:0; padding:0; border:0; background:transparent; }
.members-empty { margin:0; padding:1.15rem; color:var(--muted); }
.members-audit-list { margin:0; padding:0; list-style:none; }
.members-audit-list li { display:flex; gap:.7rem; padding:.7rem 1.1rem; border-bottom:1px solid var(--line-soft); }
.members-audit-list li:last-child { border-bottom:0; }
.members-audit-list i { width:.55rem; height:.55rem; margin-top:.42rem; flex:none; border-radius:50%; background:var(--muted); }
.members-audit-list strong,.members-audit-list span { display:block; }
.members-audit-list span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.members-package-card { border-top:4px solid var(--brand); }
.members-package-head { padding:1rem 1.15rem; border-bottom:1px solid var(--line); }
.members-package-head>span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.members-package-head h2 { margin:.2rem 0; font-size:1.35rem; }
.members-package-head p,.members-package-card>p,.members-package-card>a { margin:.2rem 0; color:var(--muted); font-size:.86rem; }
.members-package-card>p,.members-package-card>a { display:block; margin:0; padding:.8rem 1.15rem; }
.members-package-card>a { color:var(--brand-dark); font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.members-seat-usage { padding:1rem 1.15rem; }
.members-seat-usage>div { display:flex; justify-content:space-between; gap:.5rem; font-size:.88rem; }
.members-seat-usage strong { font-family:"Atkinson Hyperlegible Mono",monospace; }
.members-guide dl { margin:0; }
.members-guide dl>div { padding:.75rem 1.1rem; border-bottom:1px solid var(--line-soft); }
.members-guide dl>div:last-child { border-bottom:0; }
.members-guide dt { font-weight:800; }
.members-guide dd { margin:.15rem 0 0; color:var(--muted); font-size:.84rem; }
.invite-role-options { margin:0; padding:0; border:0; }
.invite-role-options legend { margin-bottom:.6rem; padding:0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.invite-role-options label { flex-direction:row; align-items:flex-start; gap:.6rem; margin:.5rem 0; padding:.75rem .85rem; border:1px solid var(--line); border-radius:.5rem; cursor:pointer; }
.invite-role-options label:has(input:checked) { border:2px solid var(--brand); background:#f1f5fe; }
.invite-role-options input { margin-top:.25rem; }
.invite-role-options strong,.invite-role-options small { display:block; }
.invite-note { flex-direction:row!important; align-items:flex-start; gap:.55rem!important; }
.invite-note input { margin-top:.2rem; }
.invite-note strong,.invite-note small { display:block; }
.invite-seat-note { display:flex; gap:.6rem; padding:.85rem 1rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); }
.invite-seat-note>span { font-weight:800; }
.invite-seat-note p { margin:0; color:var(--muted); font-size:.87rem; }
.invite-limit header { display:flex; justify-content:space-between; padding:1.15rem 1.35rem; }
.invite-limit header h2,.invite-limit header p { margin:.15rem 0; }
.audit-layout { display:flex; min-width:0; flex-direction:column; gap:14px; }
.audit-card { margin:0; padding:0; border:1px solid var(--line); border-radius:.7rem; background:#fff; overflow:hidden; }
.app-filter-bar,.audit-filters { display:grid; grid-template-columns:minmax(14rem,1.45fr) minmax(9rem,.8fr) minmax(10rem,.9fr) auto auto; align-items:center; gap:.5rem; margin:0; padding:.65rem 1.1rem; border:0; border-bottom:1px solid var(--line); border-radius:0; background:var(--surface); }
.app-filter-bar--fields-1 { grid-template-columns:minmax(14rem,28rem) auto auto; }
.app-filter-bar label,.audit-filters label { margin:0; }
.app-filter-bar input,.app-filter-bar select,.app-filter-bar button,.audit-filters input,.audit-filters select,.audit-filters button { min-height:2.3rem; padding:.35rem .6rem; font-size:.86rem; }
.audit-search { min-width:0; max-width:none; }
.audit-search input { width:100%; }
.app-filter-bar select,.audit-filters select { width:100%; }
.app-filter-bar>a,.audit-filters>a { display:inline-flex; align-items:center; min-height:2.3rem; padding-inline:.35rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; }
.audit-result-count { justify-self:end; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; white-space:nowrap; }
.audit-table { width:100%; min-width:52rem; margin:0; }
.audit-table th,.audit-table td { padding:.7rem .6rem; border-bottom:1px solid var(--line-soft); text-align:left; vertical-align:top; }
.audit-table th:first-child,.audit-table td:first-child { width:2.4rem; padding-left:1.1rem; }
.audit-table thead th { color:var(--muted); background:#fff; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.audit-table tbody tr:last-child>* { border-bottom:0; }
.audit-table tbody th { background:#fff; font-weight:600; }
.audit-table tbody th strong,.audit-table tbody th small { display:block; }
.audit-table tbody th small { margin-top:.2rem; color:var(--muted); font-size:.76rem; font-weight:400; }
.audit-table td { font-size:.86rem; }
.audit-table time { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; white-space:nowrap; }
.audit-dot { display:block; width:.55rem; height:.55rem; margin-top:.35rem; border-radius:50%; background:var(--muted); }
.audit-dot-remediation { background:var(--accent); }
.audit-dot-billing,.audit-dot-export { background:var(--brand); }
.audit-dot-artifact { background:var(--danger); }
.audit-card>footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem 1rem; padding:.8rem 1.1rem; border-top:1px solid var(--line); background:var(--surface); }
.audit-card>footer p { flex:1 1 24rem; margin:0; color:var(--muted); font-size:.86rem; }
.audit-card>footer>div { display:flex; flex-wrap:wrap; gap:.5rem; }
.audit-empty { padding:2rem 1.1rem; text-align:center; }
.audit-empty p { margin:.25rem 0 0; color:var(--muted); }
.audit-guide>header { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 1.1rem; border-bottom:1px solid var(--line); }
.audit-guide>header h2 { margin:0; font-size:1rem; }
.audit-guide>header span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.audit-guide>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 2rem; padding:1.25rem 1.35rem; }
.audit-guide section { margin:0; padding:0; border:0; }
.audit-guide h3 { margin:0 0 .5rem; font-size:.95rem; }
.audit-guide ul { margin:0; padding-left:1.1rem; color:var(--muted); font-size:.89rem; line-height:1.7; }
.audit-guide p { color:var(--muted); font-size:.86rem; }
.agency-managed-card { min-width:0; margin:0; overflow:hidden; border:1px solid #b9c9ef; border-radius:.7rem; background:#fff; }
.agency-managed-card>header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; padding:.85rem 1.1rem; border-bottom:1px solid #cdd8f1; background:var(--brand-wash); }
.agency-managed-card>header p,.agency-managed-card>header h2 { margin:0; }
.agency-managed-card>header h2 { margin-top:.15rem; font-size:1rem; }
.agency-managed-card>header>span { color:var(--brand-dark); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; font-weight:700; }
.agency-managed-body { padding:1rem 1.15rem; }
.agency-managed-body>p { max-width:52rem; margin:0; color:var(--muted); }
.agency-managed-body dl { margin:1rem 0 0; }
.agency-managed-body dt { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.agency-managed-body dd { margin:.2rem 0 0; font-weight:800; }
.branding-managed .agency-managed-card { grid-column:1; }
.branding-managed-details { grid-column:1; }
.branding-managed .branding-preview { grid-column:2; grid-row:1 / span 2; }
.billing-layout--restricted .agency-managed-card { grid-column:1; }
.data-main>.agency-managed-card { flex:none; }
.app-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem 1rem; padding:.8rem 1.1rem; border-top:1px solid var(--line); background:var(--surface); }
.app-pagination form { margin:0; padding:0; border:0; background:transparent; }
.app-pagination label { display:flex; align-items:center; gap:.5rem; margin:0; color:var(--muted); font-size:.82rem; }
.app-pagination select { min-height:2.2rem; padding:.3rem 1.7rem .3rem .5rem; }
.app-pagination p { margin:0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.app-pagination-pages { display:flex; align-items:center; gap:.25rem; }
.app-pagination-page,.app-pagination-arrow,.app-pagination-ellipsis { display:grid; min-width:2.2rem; min-height:2.2rem; place-items:center; border:1px solid var(--line); border-radius:.4rem; background:#fff; color:var(--ink); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; font-weight:700; text-decoration:none; }
.app-pagination-page:hover,.app-pagination-arrow:hover { border-color:#aebbd0; background:var(--brand-wash); color:var(--brand-dark); }
.app-pagination-page.is-current { border-color:var(--brand); background:var(--brand); color:#fff; }
.app-pagination-arrow.is-disabled { opacity:.38; }
.app-pagination-ellipsis { border-color:transparent; background:transparent; }
.app-client-pagination>label { display:flex; align-items:center; gap:.5rem; }
.app-client-pagination button { padding:.35rem; }
.app-client-pagination button:disabled { cursor:default; }
.app-client-table-filter { border-top:1px solid var(--line); }
.scan-coverage-details { margin-top:1.25rem; border:1px solid var(--line); border-radius:.65rem; background:#fff; overflow:hidden; }
.scan-coverage-details>summary { padding:1rem 1.1rem; font-weight:700; cursor:pointer; }
.scan-coverage-details[open]>summary { border-bottom:1px solid var(--line); }
.scan-coverage-details .app-client-table-filter { border-top:0; }
.scan-coverage-details table { table-layout:fixed; }
.scan-coverage-details th:first-child,.scan-coverage-details td:first-child { width:12.5rem; }
.scan-coverage-details th:nth-child(2),.scan-coverage-details td:nth-child(2) { width:52%; }
.scan-coverage-inventory .summary { margin-top:1rem; }
.scan-coverage-inventory .scan-coverage-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }
.coverage-row-detail { display:block; margin-top:.2rem; color:var(--muted); overflow-wrap:anywhere; }
.dialog-close { display:grid; width:2rem; height:2rem; flex:none; place-items:center; margin:-.25rem -.35rem 0 0; padding:0; border:0; border-radius:.4rem; background:transparent; color:var(--muted); font-size:1.25rem; }
.dialog-close:hover { background:var(--surface); color:var(--ink); }
.app-dialog-body { display:flex; min-height:0; flex-direction:column; gap:1.05rem; padding:.8rem 1.1rem 1.1rem; overflow-y:auto; }
.add-site-dialog .app-dialog-body label { margin:0; }
.add-site-dialog label > span:first-child:not(.checkbox span) { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.add-site-dialog label small { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Next",sans-serif; font-size:.84rem; font-weight:400; letter-spacing:0; text-transform:none; }
.add-site-dialog .add-site-scan-now { flex-direction:row; align-items:flex-start; gap:.6rem; }
.add-site-scan-now input { margin-top:.2rem; }
.add-site-scan-now strong,.add-site-scan-now small { display:block; }
.add-site-first-scan { display:grid; gap:.7rem; margin:0; padding:.9rem; border:1px solid var(--line); border-radius:.65rem; }
.add-site-first-scan > legend { padding:0 .3rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.add-site-scope-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.add-site-scope-options > label { display:flex; align-items:flex-start; gap:.5rem; min-width:0; padding:.7rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); cursor:pointer; }
.add-site-scope-options input { flex:none; margin-top:.2rem; }
.add-site-scope-options strong,.add-site-scope-options small { display:block; }
.add-site-scope-options > label:has(input:checked) { border-color:var(--signal-blue); background:var(--blue-soft); }
.add-site-workspace { display:flex; flex-direction:column; gap:.55rem; margin:0; padding:0; border:0; }
.add-site-workspace legend { margin-bottom:.15rem; padding:0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.add-site-workspace>label { display:flex!important; align-items:center; flex-direction:row!important; gap:.55rem; }
.add-site-workspace>label>input { flex:0 0 auto; }
.add-site-workspace>label>span { display:flex; min-width:0; flex:1; flex-wrap:wrap; align-items:center; gap:.5rem; }
.add-site-workspace select,.add-site-workspace input[name="client_name"] { min-width:10rem; flex:1; }
.add-site-workspace>small { color:var(--muted); font-size:.84rem; font-weight:400; }
.add-site-note { display:flex; gap:.65rem; padding:.85rem 1rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); }
.add-site-note > span { font-weight:800; }
.add-site-note p { margin:0; color:var(--muted); font-size:.87rem; }
.add-site-limit { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; border-top:1px solid var(--line); background:var(--surface); }
.add-site-limit p { margin:.15rem 0 0; color:var(--muted); font-size:.88rem; }

@media (max-width:900px) {
    .app-shell { grid-template-columns:1fr; }
    .app-side { position:static; height:auto; flex-direction:row; flex-wrap:wrap; align-items:center; }
    .app-brand { order:1; }
    .app-to-website { order:2; margin-left:auto; }
    .app-workspace { order:3; flex:1 0 100%; }
    .app-package { display:none; }
    .app-side-nav { display:flex; order:4; flex:1 1 100%; flex-wrap:wrap; }
    .app-side-nav .app-nav-label { display:none; }
    .app-profile-menu { order:5; width:100%; margin-top:0; }
    .app-profile-menu-panel { top:calc(100% + .45rem); bottom:auto; left:0; }
    .app-switcher-panel { left:0; }
    .app-content-header,.app-shell-content main#main { padding-left:1.1rem; padding-right:1.1rem; }
    .app-hero { flex-direction:column; align-items:flex-start; }
    .app-columns { grid-template-columns:1fr; }
    .site-overview-hero { grid-template-columns:1fr; }
    .site-overview-hero > div + div { border-left:0; border-top:1px solid var(--line); }
    .page-result-hero { grid-template-columns:1fr; }
    .page-result-score { border-right:0; border-bottom:1px solid var(--line); }
    .finding-layout { grid-template-columns:1fr; }
    .finding-rail { position:static; }
    .account-tab-panel[data-account-tab="security"] { grid-template-columns:1fr; }
    .account-tab-panel[data-account-tab="security"] #account-sessions,
    .account-tab-panel[data-account-tab="security"] #account-security-history { grid-column:auto; }
}
@media (max-width:700px) {
  .workspace-management-link>header { align-items:flex-start; flex-direction:column; }
  .client-workspace-submit { grid-column:auto; justify-content:stretch; }
  .client-workspace-submit button { width:100%; }
  .app-pagination { align-items:flex-start; flex-direction:column; }
  .app-pagination-pages { max-width:100%; flex-wrap:wrap; }
}
@media (max-width:600px) {
    .app-shell-content main#main .inline { display:grid; grid-template-columns:minmax(0,1fr); align-items:stretch; }
    .app-shell-content main#main .inline > * { width:100%; min-width:0; }
    .trend-list article { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
    .trend-list article > div:first-child { grid-column:1 / -1; }
}

h1,h2,h3 { letter-spacing:-.02em; text-wrap:pretty; }
h1 { font-size:clamp(2.25rem,5vw,3.5rem); line-height:1.06; margin:.25rem 0 1.5rem; font-weight:800; }
h2 { line-height:1.15; }
p,li { text-wrap:pretty; }
section, article, form { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.35rem; }
section { margin:1.25rem 0; }
label { display:grid; gap:.35rem; font-weight:650; flex:1; }
input, select, textarea { min-height:2.8rem; padding:.55rem .7rem; font:inherit; border:1px solid #9098aa; border-radius:.4rem; background:#fff; }
input[type="checkbox"],input[type="radio"] { width:1rem; height:1rem; min-height:0; flex:0 0 1rem; margin:0; padding:0; accent-color:var(--brand); }
/* Checkbox labels opt out of the generic grid/min-height rules above — those are sized for text
   inputs and stretch a checkbox into a tall, misaligned control otherwise. */
label.checkbox { display:flex; align-items:center; gap:.5rem; font-weight:600; }
label.checkbox input[type="checkbox"] { flex:none; }
button { min-height:2.8rem; padding:.55rem .95rem; border:0; border-radius:.55rem; background:var(--brand); color:white; font:inherit; font-weight:700; cursor:pointer; }
button:hover { background:var(--brand-dark); }
.button-link { display:inline-flex; align-items:center; min-height:2.8rem; padding:.55rem .95rem; border:2px solid var(--line); border-radius:.55rem; color:var(--ink); background:#fff; font-weight:700; text-decoration:none; }
.button-link:hover { border-color:#aeb8c7; background:var(--surface); }
.button-link.primary { background:var(--brand); color:#fff; }
.button-link.primary:hover { background:var(--brand-dark); }
.marketing-hero { position:relative; overflow:hidden; padding:clamp(2rem,6vw,5.5rem); background:#fff; border-top:6px solid var(--brand); }
.marketing-hero::after { content:""; position:absolute; width:20rem; height:20rem; right:-7rem; bottom:-11rem; border:4rem solid var(--brand-wash); border-radius:50%; pointer-events:none; }
.marketing-hero > div { position:relative; z-index:1; }
.marketing-hero h1 { max-width:18ch; font-size:clamp(2.25rem,6vw,4.5rem); line-height:1.02; margin:.4rem 0; }
.marketing-hero.compact { padding:clamp(1.5rem,3vw,2.5rem); }
.marketing-hero.compact h1 { font-size:clamp(2.1rem,4vw,3.25rem); }
.hero-security,.hero-privacy,.hero-data_processing { border-top-color:var(--success); }
.lead { max-width:60ch; font-size:1.2rem; color:var(--muted); }
.pricing-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1rem; }
.marketing-grid-frame { container-type:inline-size; }
/* 1 column below 34rem, 2 above, 3 above 54rem — matches Security/Accessibility/Support's fixed 3-section shape. */
.marketing-grid { display:grid; grid-template-columns:1fr; gap:1rem; }
@container (min-width:34rem) { .marketing-grid { grid-template-columns:repeat(2,1fr); } }
@container (min-width:54rem) { .marketing-grid { grid-template-columns:repeat(3,1fr); } }
.marketing-grid article, .pricing-grid article { margin:0; }
.marketing-plain { display:flex; flex-direction:column; gap:1.5rem; max-width:70ch; }
.marketing-plain section { background:none; border:0; border-radius:0; padding:0; }
.marketing-plain h2 { margin-top:0; }
/* Legal page format (Imprint, Privacy, Terms, Data processing) — sticky heading left at 35%,
   prose right at 65%, inside a narrower 1080px reading container. Mirrors the .contained /
   .band-.inside padding taper below, at the legal page's own max-width. See
   GenericContentPage::render()'s plainText branch and handoff/legal-pages.md. */
.legal-container { max-width:1080px; margin-inline:auto; padding-inline:1em; }
@media (min-width:500px) { .legal-container { padding-inline:1.5em; } }
@media (min-width:1400px) { .legal-container { padding-inline:0; } }
.legal-row { display:grid; grid-template-columns:minmax(0,35fr) minmax(0,65fr); gap:0 3.5rem; margin:0; padding:3.25rem 0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; }
.legal-row:first-child { border-top:0; }
.legal-aside { position:sticky; top:1.5rem; align-self:start; display:flex; flex-direction:column; gap:.4rem; }
.legal-num { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; font-weight:700; letter-spacing:.08em; color:var(--muted); }
.legal-h { margin:0; font-size:1.35rem; line-height:1.2; letter-spacing:-.012em; font-weight:800; }
.legal-meta { display:flex; flex-wrap:wrap; gap:1.25rem 3rem; margin:0; padding:0 0 2.25rem; }
.legal-meta dt { margin:0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.legal-meta dd { margin:.25rem 0 0; font-size:1rem; font-weight:600; }
.prose { max-width:68ch; }
.prose > *:first-child { margin-top:0; }
.prose > *:last-child { margin-bottom:0; }
.prose p { margin:0 0 1.15rem; }
.prose h3 { margin:2.5rem 0 .7rem; font-size:1.1rem; line-height:1.35; font-weight:800; }
.prose h4 { margin:1.75rem 0 .5rem; font-size:1rem; line-height:1.4; font-weight:700; color:var(--ink); }
.prose h3 + p, .prose h4 + p { margin-top:0; }
.prose ul { margin:0 0 1.15rem; padding:0 0 0 1.3rem; }
.prose li { margin:0 0 .5rem; }
.prose strong { font-weight:700; }
.prose address { font-style:normal; }
.prose-caps { margin:0 0 1.15rem; padding:1.1rem 1.25rem; border:1px solid var(--line); border-left:4px solid var(--dark-tertiary); border-radius:.5rem; background:#fff; color:var(--muted); font-size:.93rem; line-height:1.6; letter-spacing:.005em; }
.prose-note { margin:0 0 1.15rem; padding:1.1rem 1.25rem; border:1px solid #d3ddf6; border-radius:.5rem; background:var(--blue-tint); color:var(--brand-dark); font-size:.97rem; }
.legal-hero { background:#fff; border-bottom:1px solid var(--line); border-top:6px solid var(--brand); }
.legal-hero-inner { padding:3.5rem 0 2.25rem; display:flex; flex-direction:column; gap:1rem; max-width:60ch; }
.legal-closing { background:#fff; border-top:1px solid var(--line); }
.legal-closing-inner { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 2rem; padding:2.25rem 0 2.5rem; }
.legal-closing-inner p { margin:0; flex:1 1 22rem; color:var(--muted); }
.legal-closing-actions { display:flex; flex-wrap:wrap; gap:.6rem; }

@media (max-width:860px) {
  .legal-row { grid-template-columns:minmax(0,1fr); gap:1.1rem; padding:2.5rem 0; }
  .legal-aside { position:static; }
  .prose { max-width:none; }
}
.pricing-grid .recommended { border:2px solid var(--brand); }
.pricing-grid .checkout-selection { border:3px solid var(--brand); box-shadow:0 0 0 .3rem var(--brand-wash); }
.pricing-section > .section-heading p { max-width:70ch; }
.pricing-grid article { position:relative; display:flex; flex-direction:column; }
.pricing-grid article .button-link { align-self:flex-start; margin-top:auto; }
.pricing-controls { display:grid; gap:.65rem; justify-items:end; }
.billing-switch-row { display:flex; justify-content:center; margin:1rem 0; }
.billing-switch,.currency-switch { display:flex; align-items:center; gap:2px; padding:4px; border:0; border-radius:999px; background:var(--line-soft); }
.billing-switch a,.currency-switch a { padding:9px 18px; border-radius:999px; color:var(--muted); font-weight:700; font-size:.94rem; text-decoration:none; }
.billing-switch a[aria-current="true"],.currency-switch a[aria-current="true"] { background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(20,24,31,.18); }
.saving-pill { display:inline-block; margin-left:.4rem; padding:3px 8px; border-radius:999px; background:var(--accent); color:var(--ink); font-size:.75rem; font-weight:700; }
.profile-list { display:grid; gap:.6rem; padding:0; list-style:none; }
.profile-list li { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem; border:1px solid var(--line); border-radius:.55rem; }
.profile-list li div { display:grid; }
.auth-profiles details > form { margin-top:1rem; }
.auth-profiles fieldset { display:grid; gap:.75rem; margin:0; padding:1rem; border:1px solid var(--line); border-radius:.55rem; }
.auth-profiles fieldset[hidden] { display:none; }
.api-token-once { display:block; overflow-wrap:anywhere; margin-top:.5rem; }
.retention-dial { padding:.9rem 1rem; border:1px solid var(--line); border-radius:.55rem; margin-bottom:.9rem; }
.retention-dial h3 { margin-top:0; }
.plan-badge { align-self:flex-start; margin-bottom:.5rem; padding:.2rem .5rem; border-radius:.25rem; background:var(--brand); color:#fff; font-size:.75rem; font-weight:800; text-transform:uppercase; }
.plan-price { font-size:1.6rem; font-weight:800; }
.annual-price { min-height:2.8rem; color:var(--muted); font-size:.85rem; }
.plan-features { flex:1; padding-left:1.2rem; }
.plan-features li { margin:.35rem 0; }
.pricing-grid dl { display:grid; grid-template-columns:1fr auto; }
.pricing-grid dt, .pricing-grid dd { margin:0; padding:.35rem 0; border-bottom:1px solid var(--line); }
.pricing-matrix th:first-child:not(.matrix-group-row) { position:sticky; left:0; z-index:11; min-width:13rem; background:#fff; }
.pricing-matrix td,.pricing-matrix th:not(:first-child) { min-width:9rem; text-align:center; }
.final-cta { text-align:center; padding:2.5rem; }
.final-cta .actions { justify-content:center; flex-wrap:wrap; margin-top:1rem; }
.product-window { overflow:hidden; border:1px solid #475268; border-radius:.8rem; background:#fff; color:var(--ink); box-shadow:0 1.5rem 4rem rgba(0,0,0,.35); }
.window-bar { display:flex; align-items:center; gap:.35rem; min-height:2.5rem; padding:.55rem .8rem; background:#eef1f6; border-bottom:1px solid var(--line); }
.window-bar span { width:.65rem; height:.65rem; border-radius:50%; background:#aab1bf; }
.window-bar span:first-child { background:var(--accent); }
.window-bar strong { margin-left:.5rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; color:var(--muted); }
.preview-summary { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:1px; background:var(--line); }
.preview-summary > div { display:grid; align-content:center; min-height:7rem; padding:1rem; background:#fff; }
.preview-summary span { color:var(--muted); font-size:.78rem; }
.preview-summary strong { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.8rem; color:var(--brand); }
.preview-score { border-top:4px solid var(--brand); }
.preview-score small { color:var(--muted); }
.preview-list { padding:.5rem 1rem 1rem; }
.preview-list article { display:grid; grid-template-columns:2.5rem minmax(0,1fr) auto; align-items:center; gap:.8rem; padding:.9rem 0; border:0; border-bottom:1px solid var(--line); border-radius:0; }
.preview-list article:last-child { border-bottom:0; }
.preview-list article div { display:grid; min-width:0; }
.preview-list small { color:var(--muted); }
.issue-index { font-family:"Atkinson Hyperlegible Mono",monospace; color:var(--brand); font-weight:700; }
.owner { padding:.2rem .45rem; border-radius:.3rem; background:var(--brand-wash); color:var(--brand-dark); font-size:.75rem; font-weight:700; }
/* Home hero: centered URL field is the primary action, not a button to another page. Its own
   dedicated band/class (not the shared .marketing-hero used by GenericContentPage-based pages,
   which keeps its existing contained-card look elsewhere on the site). */
.home-hero { background:#fff; border-bottom:1px solid var(--line); border-top:6px solid var(--brand); text-align:center; }
.home-hero .inside { display:flex; flex-direction:column; align-items:center; gap:1.25rem; padding-block:clamp(3rem,6vw,5rem); }
.home-hero h1 { max-width:20ch; font-size:clamp(2.25rem,6vw,4.5rem); line-height:1.02; margin:.4rem 0; }
.home-hero .lead { max-width:46ch; margin:0; }
.home-url-form { width:100%; max-width:34rem; margin:.75rem 0 0; padding:0; border:0; border-radius:0; background:none; display:flex; flex-wrap:wrap; gap:.6rem; }
.home-url-form label { flex:1 1 16rem; display:flex; flex-direction:column; gap:.35rem; text-align:left; }
.home-url-form span { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.home-url-form input { padding:.85rem .95rem; border:2px solid var(--line); border-radius:.55rem; background:#fff; font-size:1.05rem; }
.home-url-form button { align-self:flex-end; min-height:3.35rem; padding:.6rem 1.5rem; border:2px solid var(--brand); border-radius:.55rem; background:var(--brand); color:#fff; font-weight:700; cursor:pointer; }
.home-url-form button:hover { background:var(--brand-dark); border-color:var(--brand-dark); }
.home-url-note { margin:0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }

/* Home's one dark band: the funnel promise (Features' dark band is the audit trail — never both
   on one page, and never a second dark band here). */
.home-timeline { background:var(--dark); color:#fff; }
.home-timeline .inside { padding-block:clamp(2rem,5vw,3.5rem); }
.home-timeline-head { display:grid; grid-template-columns:1fr; gap:1.5rem; align-items:end; margin-bottom:2rem; }
@container (min-width:40rem) { .home-timeline-head { grid-template-columns:1fr 1fr; } }
.home-timeline-head .eyebrow { color:var(--accent); }
.home-timeline-head h2 { margin:.4rem 0 0; font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.1; letter-spacing:-.02em; color:#fff; }
.home-timeline-head p { margin:0; color:var(--dark-secondary); }
.home-timeline-steps { display:grid; grid-template-columns:1fr; gap:1.25rem; margin-bottom:2.25rem; }
@container (min-width:36rem) { .home-timeline-steps { grid-template-columns:repeat(2,1fr); } }
@container (min-width:64rem) { .home-timeline-steps { grid-template-columns:repeat(4,1fr); } }
.home-timeline-step { padding:1.25rem 1.3rem; border:1px solid var(--dark-line); border-radius:.85rem; background:#151b23; }
.home-timeline-step > span:first-child { display:block; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.95rem; font-weight:700; color:var(--accent); }
.home-timeline-step strong { display:block; margin:.4rem 0 .35rem; font-size:1.05rem; color:#fff; }
.home-timeline-step-body { color:var(--dark-secondary); font-size:.94rem; }
.home-timeline-step--highlight { border-color:var(--success); background:#12251f; }
.home-timeline-payoff { display:flex; flex-wrap:wrap; gap:2rem 3rem; align-items:center; }
.home-timeline-window { flex:1 1 32rem; min-width:0; margin:0; }
.home-timeline-payoff-copy { flex:1 1 15rem; min-width:0; display:flex; flex-direction:column; gap:1rem; align-items:flex-start; }
.home-timeline-payoff-copy .eyebrow { color:var(--accent); }
.home-timeline-payoff-body { margin:0; color:var(--dark-secondary); font-size:1.05rem; }
.home-timeline-cta { border:2px solid var(--dark-line); background:transparent; color:#fff; }
.home-timeline-cta:hover { background:#fff; border-color:#fff; color:var(--ink); }
.home-timeline-caption { margin:0; color:var(--dark-tertiary); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }

/* Improvement loop: bordered cards, one <ol> with explicit 4/2/1 states (never auto-fit) */
.workflow { background:#fff; border-bottom:1px solid var(--line); }
.workflow .inside { padding-block:clamp(1.5rem,4vw,3rem); }
.workflow-head { max-width:52ch; margin-bottom:2.25rem; }
.workflow-head h2 { margin:.6rem 0 .7rem; font-size:clamp(1.7rem,2.8vw,2.4rem); line-height:1.1; letter-spacing:-.015em; }
.workflow-head-intro { margin:0; color:var(--muted); font-size:1.05rem; }
.workflow-grid ol { display:grid; grid-template-columns:1fr; gap:1.25rem; margin:0; padding:0; list-style:none; }
@container (min-width:32rem) { .workflow-grid ol { grid-template-columns:repeat(2,1fr); } }
@container (min-width:62rem) { .workflow-grid ol { grid-template-columns:repeat(4,1fr); } }
.workflow-card { display:flex; flex-direction:column; gap:.7rem; min-width:0; padding:1.35rem 1.4rem; border:1px solid var(--line); border-top:4px solid var(--brand); border-radius:.85rem; background:#fff; }
.workflow-card--success { border-top-color:var(--success); }
.workflow-card > span:first-child { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.6rem; font-weight:800; color:var(--brand); line-height:1; }
.workflow-card--success > span:first-child { color:var(--success); }
.workflow-card h3 { margin:0; font-size:1.1rem; font-weight:800; }
.workflow-card p { margin:0; color:var(--muted); font-size:.96rem; }
.home-artifact { margin-top:auto; padding-top:.9rem; }
.home-artifact-discover { display:flex; flex-direction:column; gap:.3rem; }
.home-artifact-discover span { display:flex; justify-content:space-between; padding:.3rem .5rem; border-radius:.3rem; background:var(--surface); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; color:var(--muted); }
.home-artifact-muted { background:var(--line-soft) !important; color:#4a5361 !important; }
.home-artifact-stack { position:relative; height:4.2rem; }
.home-artifact-stack-back,.home-artifact-stack-mid { position:absolute; left:1rem; right:0; height:1.5rem; border:1px solid var(--line); border-radius:.3rem; background:var(--surface); }
.home-artifact-stack-mid { left:.5rem; right:.5rem; top:.35rem; background:#fff; }
.home-artifact-stack-back { top:0; }
.home-artifact-stack-front { position:absolute; left:0; right:1rem; top:.7rem; display:flex; align-items:center; justify-content:space-between; height:1.7rem; padding:0 .5rem; border:1px solid var(--brand); border-radius:.3rem; background:var(--blue-tint); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; color:var(--brand-dark); font-weight:700; }
.home-artifact-screenshot { display:flex; align-items:center; gap:.5rem; padding:.6rem; border:1px solid var(--line); border-radius:.4rem; background:var(--surface); }
.home-artifact-bar { flex:1; height:.35rem; border-radius:.2rem; background:var(--line); }
.home-artifact-flag { width:3.2rem; height:1.3rem; border:2px solid var(--danger); border-radius:.25rem; background:#fff; box-shadow:0 0 0 3px rgba(194,50,27,.12); }
.home-artifact-verify { display:flex; flex-direction:column; gap:.3rem; }
.home-artifact-verify span { display:flex; justify-content:space-between; padding:.35rem .5rem; border-radius:.3rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; }
.home-artifact-fail { background:#fdecea; color:var(--danger); }
.home-artifact-pass { background:#e6f4ef; color:var(--success); }

/* "Someone is already turning away" barrier cards */
.home-barriers { background:var(--surface); border-bottom:1px solid var(--line); }
.home-barriers .inside { padding-block:clamp(1.5rem,4vw,3rem); }
.home-barriers-head { max-width:54ch; margin-bottom:2.25rem; }
.home-barriers-head h2 { margin:.6rem 0 .7rem; font-size:clamp(1.7rem,2.8vw,2.4rem); line-height:1.1; letter-spacing:-.015em; }
.home-barriers-head-intro { margin:0; color:var(--muted); font-size:1.08rem; }
.home-barrier-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media (min-width:56rem) { .home-barrier-grid { grid-template-columns:repeat(3,1fr); } }
.home-barrier { display:flex; flex-direction:column; gap:.7rem; padding:1.5rem 1.5rem 1.6rem; border:1px solid var(--line); border-left:5px solid var(--danger); border-radius:.85rem; background:#fff; }
.home-barrier--warning { border-left-color:var(--accent-ink); }
.home-barrier strong { font-size:1.12rem; font-weight:800; }
.home-barrier p { margin:0; color:var(--muted); font-size:.98rem; }
.home-barrier code { margin-top:auto; padding:.5rem .6rem; border-radius:.35rem; background:var(--surface); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; color:var(--muted); }
.home-barriers-closing { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 2rem; margin-top:1.5rem; padding:1.25rem 1.5rem; border:1px solid #d3ddf6; border-radius:.85rem; background:var(--blue-tint); }
.home-barriers-closing p { margin:0; flex:1 1 26rem; color:var(--brand-dark); font-size:1rem; }
.agency-callout { display:grid; grid-template-columns:1.3fr 1fr; gap:2rem; align-items:center; padding:clamp(1.5rem,4vw,3rem); background:linear-gradient(135deg,#fff8df,#fff); border-color:#ead18a; }
.agency-callout h2 { font-size:clamp(1.7rem,3vw,2.5rem); }
.agency-callout ul { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; }
.agency-callout li { padding:.8rem 1rem .8rem 2.7rem; background:#fff; border:1px solid #ead18a; border-radius:.55rem; position:relative; }
.agency-callout li::before { content:"✓"; position:absolute; left:1rem; color:var(--success); font-weight:800; }
.home-pricing-teaser { container-type:inline-size; text-align:center; padding:clamp(1.5rem,4vw,3rem); }
.home-pricing-teaser .lead { margin:.4rem auto 0; }
/* 1 column until there's room for all 3 at once (no 2+1 orphan state), around a 1024px viewport
   once nested container padding is accounted for. */
.mini-plan-cards { display:grid; grid-template-columns:1fr; gap:1rem; margin-top:1.75rem; max-width:26rem; margin-inline:auto; text-align:left; }
@container (min-width:48rem) { .mini-plan-cards { grid-template-columns:repeat(3,1fr); max-width:none; margin-inline:0; } }
.mini-plan-card { position:relative; display:flex; flex-direction:column; gap:.35rem; padding:1.25rem 1.375rem; border:1px solid var(--line); border-radius:.875rem; background:#fff; text-decoration:none; color:inherit; }
.mini-plan-card:hover { border-color:var(--brand); }
.mini-plan-card--recommended { border:2px solid var(--brand); box-shadow:0 .6rem 1.5rem rgba(27,77,209,.14); }
.mini-plan-badge { position:absolute; top:-.7rem; left:1.375rem; padding:.2rem .55rem; border-radius:.3rem; background:var(--brand); color:#fff; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.mini-plan-name { font-size:1.1rem; font-weight:800; letter-spacing:-.01em; }
.mini-plan-price { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.9rem; color:var(--brand); font-weight:700; }
.mini-plan-audience { color:var(--muted); font-size:.9rem; }
.home-pricing-footer { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:1.25rem; margin-top:1.75rem; }
.home-pricing-footer p { margin:0; color:var(--muted); }
@media (max-width:650px) { .home-pricing-footer { flex-direction:column; gap:.75rem; } }

/* Features page redesign — full-bleed bands (see .band/.inside), not floating cards: each
   section spans the viewport with its own background and a border-bottom divider, matching the
   design handover exactly rather than the site's older contained-card convention. */
.features-hero { background:#fff; border-bottom:1px solid var(--line); border-top:6px solid var(--brand); }
/* 1 column below 40rem, 2 above — copy column plus the finding-panel illustration. */
.features-hero-grid { display:grid; grid-template-columns:1fr; align-items:center; gap:clamp(1.75rem,4vw,3.25rem); padding-block:clamp(2rem,5vw,3.5rem) clamp(2.25rem,5vw,3.75rem); }
@container (min-width:40rem) { .features-hero-grid { grid-template-columns:1fr 1fr; } }
.features-hero-copy { display:flex; flex-direction:column; gap:1.15rem; text-align:left; }
.features-hero-copy h1 { margin:0; max-width:none; font-size:clamp(1.85rem,4.4vw,2.6rem); line-height:1.05; letter-spacing:-.03em; }
.features-hero-copy .lead { max-width:46ch; margin:0; }
.hero-trust-line { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; margin:.25rem 0 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.hero-trust-line span[aria-hidden] { color:var(--line); }
.panel-severity-pill { padding:.1rem .5rem; border:1px solid #c2321b; border-radius:999px; color:#c2321b; font-size:.7rem; font-weight:700; }
.feature-visual-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.6rem .75rem; border-radius:.4rem; background:var(--surface); }
.feature-visual-row code { overflow-wrap:anywhere; font-size:.85rem; }
.status-excluded { background:var(--line-soft); color:var(--muted); }

/* Shared small-badge component: .chip--info (fact pill, e.g. "Level A"), .chip--warning
   (paid-tier/status pill, amber-wash), .chip--accent (badge on a dark band, translucent accent). */
.chip { display:inline-block; padding:.15rem .5rem; border-radius:999px; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-weight:700; white-space:nowrap; }
.chip--info { background:var(--brand-wash); color:var(--brand-dark); }
.chip--warning { background:var(--accent-wash); color:var(--accent-ink); }
.chip--accent { background:rgba(255,176,32,.14); color:var(--accent); }

/* Closing CTA: a full-bleed --surface band containing one bordered, rounded white card
   (the only place in this batch a "floating card" is actually correct — the design shows it
   inset inside a band, not the band itself). */
.closing-cta-band { background:var(--surface); }
.closing-cta-band .inside { padding-block:clamp(2rem,5vw,3.5rem); }
.marketing-closing-cta { display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem 2.5rem; padding:clamp(1.75rem,4vw,2.75rem); border:1px solid var(--line); border-radius:1.125rem; background:#fff; }
.marketing-closing-cta > div:first-child { flex:1 1 26rem; }
.marketing-closing-cta h2 { margin:0 0 .5rem; }
.marketing-closing-cta p { margin:0; color:var(--muted); }
.marketing-closing-cta .actions { flex:0 0 auto; flex-wrap:wrap; }

/* Features deep dive: hero scan mock (replaces the old finding-panel figure) */
.scan-mock-figure { margin:0; }
.scan-mock-figure figcaption { margin:.7rem 0 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.74rem; }
.scan-mock { border:1px solid var(--line); border-radius:.85rem; overflow:hidden; background:#fff; box-shadow:0 1.1rem 2.5rem rgba(20,24,31,.09); }
.scan-mock-body { padding:1.4rem 1.35rem 1.6rem; container-type:inline-size; }
.scan-mock-nav { position:relative; display:flex; align-items:center; gap:1rem; padding:.8rem .9rem; border:1px solid var(--line-soft); border-radius:.5rem; background:var(--surface); }
.scan-mock-brand { font-weight:800; font-size:.95rem; letter-spacing:-.01em; }
.scan-mock-links { display:flex; gap:.7rem; color:var(--muted); font-size:.8rem; }
.scan-mock-search { position:relative; margin-left:auto; display:flex; align-items:center; gap:.4rem; padding:.4rem .6rem; border:3px solid var(--danger); border-radius:.35rem; background:#fff; box-shadow:0 0 0 4px rgba(194,50,27,.12); font-size:.78rem; color:var(--muted); }
.scan-mock-connector { width:2px; height:1.9rem; margin:.9rem auto 0 auto; background:var(--danger); }
.scan-mock-violation { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; padding:.85rem 1rem; border:1px solid var(--line); border-left:5px solid var(--danger); border-radius:.5rem; background:#fff; }
.scan-mock-violation code { flex-basis:100%; overflow-wrap:anywhere; font-size:.8rem; color:var(--muted); }
.scan-mock-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:1.1rem; background:var(--line); border:1px solid var(--line); border-radius:.5rem; overflow:hidden; }
.scan-mock-stat { background:#fff; padding:.8rem .7rem; }
.scan-mock-stat span { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; }
.scan-mock-stat strong { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.3rem; }
.stat-brand { color:var(--brand); }
.stat-danger { color:var(--danger); }
.stat-success { color:var(--success); }

/* Chapter rail nav between hero and chapter 1 */
.chapter-nav { display:block; background:var(--brand-wash); }
.chapter-nav .inside { padding-block:.9rem; }
.chapter-nav ol { display:flex; flex-wrap:wrap; gap:.35rem 1.75rem; margin:0; padding:0; list-style:none; }
.chapter-nav a { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; font-weight:700; color:var(--brand-dark); text-decoration:none; }
.chapter-nav a:hover { text-decoration:underline; }
.chapter-nav-number { color:var(--brand-dark); }

/* Each chapter is a full-bleed band with its own background and a border-bottom divider —
   contiguous with its neighbours, not a separated floating card. */
.finding-chapter { background:#fff; border-bottom:1px solid var(--line); }
.finding-chapter .inside { padding-block:clamp(2rem,5vw,3.25rem); }
.finding-chapter--surface { background:var(--surface); }
.finding-chapter--dark { background:var(--dark); color:#fff; border-bottom:0; }
.finding-chapter--dark .finding-chapter-number { color:var(--accent); }
.finding-chapter--dark h2 { color:#fff; }
.finding-chapter--dark p { color:var(--dark-secondary); }
.finding-chapter--dark a { color:var(--blue-light); }
.finding-chapter--dark a:hover { color:#fff; }
.finding-chapter-number { display:block; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:2.4rem; font-weight:800; color:var(--brand); line-height:1; margin-bottom:.5rem; }
.finding-chapter-split { display:grid; grid-template-columns:1fr; gap:clamp(1.75rem,4vw,3rem); align-items:center; }
.finding-chapter-split > .finding-chapter-copy { order:-1; }
@container (min-width:40rem) { .finding-chapter-split { grid-template-columns:1fr 1fr; } .finding-chapter-split > .finding-chapter-copy { order:initial; } }
.finding-chapter-copy h2 { margin:0 0 .75rem; font-size:clamp(1.6rem,2.8vw,2.2rem); line-height:1.12; letter-spacing:-.015em; }
.finding-chapter-copy p { color:var(--muted); font-size:1.05rem; }
.finding-chapter-head { display:grid; grid-template-columns:1fr; gap:clamp(1.5rem,4vw,3rem); align-items:end; margin-bottom:clamp(1.75rem,4vw,2.5rem); }
@container (min-width:38rem) { .finding-chapter-head { grid-template-columns:1fr 1fr; } }
.finding-chapter-head h2 { margin:0; font-size:clamp(1.6rem,2.8vw,2.2rem); line-height:1.12; letter-spacing:-.015em; }
.finding-chapter-head p { margin:0; }
.check-list { display:flex; flex-direction:column; gap:.7rem; margin:.5rem 0 0; padding:0; list-style:none; }
.check-list li { display:flex; gap:.65rem; }
.check-list li > span:first-child { color:var(--success); font-weight:800; }

/* Chapter 01 — crawl coverage card */
.finding-coverage-card { border:1px solid var(--line); border-radius:.8rem; background:#fff; overflow:hidden; }
.finding-card-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1.1rem; background:var(--surface); border-bottom:1px solid var(--line); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; color:var(--muted); }
.finding-card-head strong { text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.finding-coverage-list { margin:0; padding:.75rem; list-style:none; display:flex; flex-direction:column; gap:.45rem; }
.status-included { background:#e6f4ef; color:var(--success); }
.finding-card-foot { margin:0; padding:.85rem 1.1rem; border-top:1px solid var(--line-soft); color:var(--muted); font-size:.92rem; }

/* Chapter 02 — grouped rule card */
.finding-group-card { border:1px solid var(--line); border-radius:.8rem; background:#fff; overflow:hidden; }
.finding-group-head { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; padding:1.1rem 1.2rem; border-bottom:1px solid var(--line); }
.finding-group-head strong { font-size:1.1rem; }
.finding-group-badge { margin-left:auto; padding:.2rem .6rem; border-radius:999px; background:var(--brand-wash); color:var(--brand-dark); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; }
.finding-group-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); }
.finding-group-stat { background:#fff; padding:1rem 1.2rem; }
.finding-group-stat span { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; }
.finding-group-stat strong { font-size:1.3rem; }
.finding-group-note { display:flex; gap:.6rem; align-items:flex-start; margin:0; padding:1rem 1.2rem; background:var(--blue-tint); border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--brand-dark); font-size:.94rem; }
.finding-group-note span { color:var(--brand); font-weight:800; }
.finding-group-pages { margin:0; padding:.8rem 1.2rem; list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.finding-group-pages li { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.finding-group-pages code { overflow-wrap:anywhere; font-size:.85rem; }
.finding-group-pages span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; }
.finding-group-more { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; }

/* Chapter 03 — explained split panel (light "who/evidence/selector" + dark "before/after") */
.finding-explained-panel { border:1px solid var(--line); border-radius:.9rem; background:#fff; overflow:hidden; }
.finding-explained-bar { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; padding:1rem 1.25rem; background:var(--surface); border-bottom:1px solid var(--line); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.82rem; }
.finding-explained-bar a { margin-left:auto; font-size:.78rem; font-weight:700; }
.finding-explained-split { container-type:inline-size; display:grid; grid-template-columns:1fr; }
@container (min-width:50rem) { .finding-explained-split { grid-template-columns:1fr 1fr; } }
.finding-explained-light { padding:1.5rem 1.35rem; display:flex; flex-direction:column; gap:1rem; }
.finding-explained-light p { margin:0; }
.finding-eyebrow { display:block; margin-bottom:.4rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.finding-screenshot-mock { position:relative; display:flex; align-items:center; gap:.75rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); padding:1rem; }
.finding-screenshot-mock > span:first-child { display:block; flex:1; height:.4rem; border-radius:.2rem; background:var(--line); }
.finding-screenshot-mock .flagged { display:flex; align-items:center; padding:.4rem .65rem; border:3px solid var(--danger); border-radius:.35rem; background:#fff; box-shadow:0 0 0 4px rgba(194,50,27,.12); color:#a8b1c0; font-size:.78rem; }
.finding-mono-note { margin:.5rem 0 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; }
.finding-selector { display:block; padding:.5rem .65rem; border-radius:.35rem; background:var(--surface); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; overflow-wrap:anywhere; }
.finding-explained-dark { background:var(--dark); padding:1.5rem 1.35rem; display:flex; flex-direction:column; gap:1.1rem; }
.finding-explained-dark p { margin:0; color:var(--dark-secondary); font-size:.92rem; }
.finding-explained-dark .finding-eyebrow { color:var(--dark-secondary); }
.finding-code { margin:0; padding:.85rem; border:1px solid var(--dark-line); border-radius:.4rem; background:#151b23; color:#e6eaf1; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; line-height:1.6; overflow-x:auto; }
.finding-code--before { border-left:3px solid var(--danger); }
.finding-code--after { border-left:3px solid var(--success); }

/* Chapter 04 — ownership card */
.finding-ownership-card { border:1px solid var(--line); border-radius:.8rem; background:#fff; overflow:hidden; }
.finding-ownership-grid { display:grid; grid-template-columns:1fr; gap:1px; background:var(--line); }
@container (min-width:26rem) { .finding-ownership-grid { grid-template-columns:1fr 1fr; } }
.finding-ownership-field { background:#fff; padding:1.05rem 1.25rem; }
.finding-ownership-field span { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; }
.finding-ownership-field strong { font-size:1.02rem; }
.finding-ownership-note { padding:1.05rem 1.25rem; border-top:1px solid var(--line); }
.finding-ownership-note span { display:block; margin-bottom:.3rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; }
.finding-ownership-note p { margin:0; }
.finding-ownership-note code { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.86rem; }

/* Chapter 05 — dark audit trail */
.finding-audit-trail { display:flex; flex-direction:column; gap:0; margin:0; padding:0; list-style:none; border:1px solid var(--dark-line); border-radius:.9rem; overflow:hidden; background:#151b23; }
.finding-audit-row { display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem 1rem; padding:1.25rem 1.5rem; border-bottom:1px solid var(--dark-line); }
.finding-audit-row:last-child { border-bottom:0; }
.finding-audit-row--highlight { background:#12251f; }
.finding-audit-date { flex:0 0 8.5rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.85rem; color:var(--dark-tertiary); }
.finding-audit-dot { width:.65rem; height:.65rem; border-radius:50%; background:var(--dark-tertiary); }
.finding-audit-dot--danger { background:var(--danger); }
.finding-audit-dot--accent { background:var(--accent); }
.finding-audit-dot--check { display:grid; place-items:center; width:1.25rem; height:1.25rem; border-radius:50%; background:var(--success); color:#fff; font-size:.7rem; }
.finding-audit-body { flex:1 1 18rem; }
.finding-audit-body strong { display:block; font-size:1.05rem; color:#fff; }
.finding-audit-body span { color:var(--dark-secondary); font-size:.96rem; }
.finding-audit-row a { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; font-weight:700; }
.finding-audit-footer { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 2rem; margin-top:1.5rem; padding:1.25rem 1.5rem; border:1px solid var(--dark-line); border-radius:.75rem; background:#151b23; }
.finding-audit-footer p { margin:0; color:var(--dark-secondary); font-size:.98rem; flex:1 1 22rem; }
.finding-audit-footer a { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; font-weight:700; }

/* Accessibility and Security disclosure pages: shared .a11y-band/.disclosure-* structural
   classes (both pages are the same "informational disclosure" genre), plus a few
   page-specific widgets (the accessibility score card, the security data-inventory table). */
.a11y-band { background:#fff; border-bottom:1px solid var(--line); }
.a11y-band .inside { padding-block:clamp(2rem,5vw,3.25rem); }
.a11y-band--wash { background:var(--blue-tint); border-block:1px solid #cddcfb; }
.a11y-band h2 { margin:0; font-size:clamp(1.35rem,2.2vw,1.9rem); line-height:1.15; letter-spacing:-.015em; }
.a11y-hero { background:#fff; border-top:6px solid var(--brand); border-bottom:1px solid var(--line); }
.a11y-hero .inside { padding-block:clamp(2.25rem,5vw,3.5rem); }
.a11y-hero-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr)); gap:2.5rem 3.5rem; align-items:start; }

.a11y-score-card { border:1px solid var(--line); border-radius:.7rem; background:var(--surface); overflow:hidden; }
.a11y-score-card-head { display:flex; align-items:center; gap:1.2rem; padding:1.4rem 1.5rem; background:var(--dark); color:#fff; }
.a11y-score-eyebrow { display:block; color:var(--accent); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.a11y-score-value { display:block; margin-top:.1rem; font-size:2.1rem; line-height:1; font-weight:800; letter-spacing:-.02em; }
.a11y-score-value span { font-size:.95rem; font-weight:700; color:var(--dark-secondary); }
.a11y-score-meta { display:block; margin-top:.25rem; color:var(--dark-secondary); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.a11y-score-note { margin:0; padding:.85rem 1.1rem; background:var(--accent-wash); border-bottom:1px solid var(--line); color:var(--accent-ink); font-size:.93rem; }
.a11y-score-grid { margin:0; display:grid; grid-template-columns:repeat(2,1fr); }
.a11y-score-grid > div { padding:.9rem 1.1rem; border-bottom:1px solid var(--line); border-right:1px solid var(--line); }
.a11y-score-grid > div:nth-child(2n) { border-right:0; }
.a11y-score-grid > div:nth-last-child(-n+2) { border-bottom:0; }
.a11y-score-grid dt { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.66rem; letter-spacing:.07em; text-transform:uppercase; }
.a11y-score-grid dd { margin:.1rem 0 0; font-size:1.2rem; font-weight:800; }
.a11y-score-good { color:var(--success); }

.a11y-test-grid { display:grid; grid-template-columns:1fr; gap:1rem; }
@container (min-width:36rem) { .a11y-test-grid { grid-template-columns:repeat(2,1fr); } }
@container (min-width:64rem) { .a11y-test-grid--four { grid-template-columns:repeat(4,1fr); } }
.a11y-test-card { padding:1.4rem 1.5rem; border:1px solid var(--line); border-top:4px solid var(--brand); border-radius:.6rem; background:#fff; display:flex; flex-direction:column; gap:.5rem; }
.a11y-test-card--accent { border-top-color:var(--accent); }
.a11y-test-eyebrow { color:var(--brand); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.a11y-test-card--accent .a11y-test-eyebrow { color:var(--accent-ink); }
.a11y-test-card strong { font-size:1.15rem; }
.a11y-test-card p { margin:0; color:var(--muted); font-size:.99rem; }

.a11y-review-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr)); gap:2rem 3.5rem; align-items:start; }
.a11y-review-panel { padding:1.2rem 1.3rem; border:1px solid var(--line); border-radius:.6rem; background:#fff; }
.a11y-band--wash .a11y-review-panel { border-color:#cddcfb; }
.a11y-review-panel strong { display:block; font-size:1.05rem; }
.a11y-review-panel p { margin:.3rem 0 0; color:var(--muted); font-size:.99rem; }

.a11y-known-issues { margin:1.25rem 0; padding:0; list-style:none; border:1px solid var(--line); border-radius:.6rem; background:#fff; overflow:hidden; }
.a11y-known-issues li { display:grid; grid-template-columns:minmax(0,1fr) 8rem; gap:1rem; align-items:start; padding:1rem 1.15rem; border-bottom:1px solid var(--line-soft); }
.a11y-known-issues li:last-child { border-bottom:0; }
.a11y-known-issues strong { display:block; font-size:1.02rem; }
.a11y-known-issues .muted { display:block; font-size:.95rem; }
.a11y-known-issues .chip { justify-self:start; }

.a11y-plain-grid { display:grid; grid-template-columns:1fr; gap:1rem; margin-top:1.25rem; }
@container (min-width:36rem) { .a11y-plain-grid { grid-template-columns:repeat(2,1fr); } }
@container (min-width:64rem) { .a11y-plain-grid:not(.a11y-plain-grid--four) { grid-template-columns:repeat(3,1fr); } .a11y-plain-grid--four { grid-template-columns:repeat(4,1fr); } }
.a11y-plain-card { padding:1.3rem 1.4rem; border:1px solid var(--line); border-radius:.6rem; background:#fff; }
.a11y-band--wash .a11y-plain-card { border-color:#cddcfb; }
.a11y-plain-card strong { display:block; font-size:1.05rem; }
.a11y-plain-card p { margin:.35rem 0 0; color:var(--muted); font-size:.97rem; }

.a11y-steps { border:1px solid var(--line); border-radius:.6rem; background:var(--surface); overflow:hidden; }
.a11y-steps-label { margin:0; padding:.7rem 1.1rem; background:#fff; border-bottom:1px solid var(--line); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.a11y-steps ol { margin:0; padding:0; list-style:none; }
.a11y-steps li { display:flex; gap:.8rem; padding:.85rem 1.1rem; border-bottom:1px solid var(--line); font-size:.97rem; }
.a11y-steps li:last-child { border-bottom:0; }
.a11y-steps li span:first-child { flex:0 0 auto; width:1.6rem; height:1.6rem; border-radius:50%; background:var(--dark); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; font-weight:700; }

.a11y-formal-card { border:1px solid var(--line); border-radius:.6rem; background:#fff; padding:1.5rem 1.6rem; }
.a11y-formal-card h2 { font-size:1.1rem; }
.a11y-formal-card > p { margin:.4rem 0 1.1rem; color:var(--muted); font-size:.97rem; max-width:70ch; }
.a11y-formal-grid { margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1rem 2rem; }
.a11y-formal-grid dt { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.a11y-formal-grid dd { margin:.2rem 0 0; font-size:.97rem; }

.disclosure-point { display:flex; gap:.9rem; padding:1.1rem 1.2rem; border:1px solid var(--line); border-left:4px solid var(--brand); border-radius:.5rem; background:var(--surface); }
.disclosure-point--accent { border-left-color:var(--accent); }
.disclosure-point--danger { border-left-color:var(--danger); }
.disclosure-point > span:first-child { font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; color:var(--brand); }
.disclosure-point--accent > span:first-child { color:var(--accent-ink); }
.disclosure-point--danger > span:first-child { color:var(--danger); }
.disclosure-point strong { display:block; }
.disclosure-point .muted { font-size:.97rem; }

.disclosure-table-wrap { border:1px solid var(--line); border-radius:.6rem; background:#fff; overflow-x:auto; }
.disclosure-table { min-width:52rem; }
.disclosure-table-row { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,2fr) 9rem 9rem; gap:1rem; padding:.9rem 1.15rem; border-bottom:1px solid var(--line-soft); align-items:start; }
.disclosure-table-row:last-child { border-bottom:0; }
.disclosure-table-head { padding:.7rem 1.15rem; background:var(--surface); border-bottom:1px solid var(--line); color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.disclosure-table-row--flagged { background:var(--accent-wash); }
.disclosure-table-row strong { display:block; font-size:1rem; }
.disclosure-table-row .muted { font-size:.9rem; }

.disclosure-does-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:1rem; }
.disclosure-list-card { border:1px solid var(--line); border-radius:.6rem; background:#fff; overflow:hidden; }
.disclosure-list-card > p { margin:0; padding:.65rem 1.1rem; background:#e6f4ef; border-bottom:1px solid #d3ece2; color:var(--success); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.disclosure-list-card--never > p { background:#fdecea; border-bottom-color:#f3d5d3; color:var(--danger); }
.disclosure-list-card ul { margin:0; padding:0; list-style:none; }
.disclosure-list-card li { padding:.7rem 1.1rem; border-bottom:1px solid var(--line-soft); font-size:.97rem; }
.disclosure-list-card li:last-child { border-bottom:0; }

.disclosure-callout { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin-top:1rem; padding:1.1rem 1.3rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); }
.disclosure-callout strong { font-size:1rem; }
.disclosure-callout a { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.85rem; font-weight:700; text-decoration:none; }
.disclosure-callout summary { width:100%; color:var(--brand); font-weight:700; cursor:pointer; }
.disclosure-callout[open] summary { margin-bottom:.25rem; }
.disclosure-callout dl { width:100%; display:flex; flex-wrap:wrap; gap:.75rem 2rem; margin:0; }
.disclosure-callout dl div { display:flex; align-items:baseline; gap:.6rem; }
.disclosure-callout dt { color:var(--muted); }
.disclosure-callout dd { margin:0; }

.disclosure-form-preview { border:1px solid var(--line); border-radius:.7rem; background:var(--surface); overflow:hidden; }
.disclosure-form-label { margin:0; padding:.7rem 1.1rem; background:#fff; border-bottom:1px solid var(--line); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.disclosure-hint { padding:.9rem 1rem; border-left:4px solid var(--brand); background:var(--blue-tint); }
.disclosure-hint strong { display:block; font-size:.97rem; }
.disclosure-hint ul { margin:.35rem 0 0; padding-left:1.1rem; color:var(--muted); font-size:.94rem; display:flex; flex-direction:column; gap:.25rem; }
.disclosure-hint p { margin:.5rem 0 0; color:var(--muted); font-size:.92rem; }

/* Sample report page: the hero's tilted PDF mock, the six-sheet document walkthrough (styled as
   physical pages on a grey band), the "in the app" workspace mock, and shared .mono/.chip-impact
   helpers the findings tables and workspace rows both need. */
.mono { font-family:"Atkinson Hyperlegible Mono",monospace; }
.chip-impact { padding:.15rem .5rem; border-radius:.25rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; white-space:nowrap; justify-self:start; }
.chip-impact--critical { background:#fdeceb; color:var(--danger); }
.chip-impact--serious { background:var(--accent-wash); color:var(--accent-ink); }
.chip-impact--moderate { background:var(--blue-tint); color:var(--brand); }
.chip-impact--minor { background:var(--line-soft); color:var(--muted); }
.chip-impact--closed { background:#e6f4ef; color:var(--success); }

.sample-pdf-stack { position:relative; width:min(100%,22rem); padding:.5rem 0 1rem 1.6rem; }
.sample-pdf-mock { position:relative; background:var(--dark); color:#fff; border-radius:.5rem; padding:1.6rem 1.5rem; box-shadow:0 1.4rem 3rem rgba(20,24,31,.22); }
.sample-pdf-mock::before,.sample-pdf-mock::after { content:""; position:absolute; inset:0; background:#fff; border:1px solid var(--line); border-radius:.5rem; z-index:-1; }
.sample-pdf-mock::before { transform:rotate(2.5deg) translate(-1.4rem,.4rem); }
.sample-pdf-mock::after { transform:rotate(1.2deg) translate(-.9rem,.1rem); }
.sample-pdf-eyebrow { display:block; color:var(--accent); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.sample-pdf-mock strong { display:block; margin-top:.35rem; font-size:1.3rem; font-weight:800; letter-spacing:-.015em; }
.sample-pdf-meta { display:block; color:var(--dark-secondary); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.sample-pdf-score { display:flex; align-items:flex-end; gap:1rem; margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--dark-line); }
.sample-pdf-score div strong { margin:0; font-size:2.2rem; line-height:1; font-weight:800; letter-spacing:-.02em; }
.sample-pdf-score div span { color:var(--dark-secondary); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; }

.sample-report-band { background:#e6eaf0 !important; }
.sample-page-sheet { background:#fff; border:1px solid #c9d2e0; border-radius:.35rem; box-shadow:0 .8rem 2rem rgba(20,24,31,.1); overflow:hidden; margin-bottom:1.5rem; }
.sample-page-letterhead { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; padding:1.2rem 2.5rem; background:var(--dark); color:#fff; font-weight:800; font-size:1.02rem; }
.sample-page-letterhead > span:first-child { display:flex; align-items:center; gap:.6rem; }
.sample-page-letterhead > span:last-child { color:var(--dark-secondary); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; font-weight:400; }
.sample-page-mark { display:inline-flex; align-items:center; justify-content:center; width:1.9rem; height:1.9rem; border-radius:.3rem; background:var(--accent); color:var(--ink); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.85rem; font-weight:700; }
.sample-page-body { padding:2.5rem 2.5rem 2rem; display:flex; flex-direction:column; gap:1.5rem; }
.sample-page-label { margin:0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.sample-page-body h3 { margin:.3rem 0 0; }
.sample-page-intro { margin:.4rem 0 0; color:var(--muted); max-width:62ch; }
.sample-page-footer { margin:0; padding:.85rem 2.5rem; border-top:1px solid var(--line); color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; justify-content:space-between; }

.sample-page-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:2rem 3rem; align-items:start; }
.sample-page-copy p { margin:0; color:var(--muted); }
.sample-page-copy p + p { margin-top:.6rem; }
.sample-page-summary { display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem; }
.sample-page-score { grid-column:1 / -1; display:flex; align-items:center; gap:1.1rem; padding:1.1rem 1.2rem; border:1px solid var(--line); border-radius:.4rem; background:var(--surface); }
.sample-page-score strong { display:block; font-size:1.9rem; line-height:1; font-weight:800; letter-spacing:-.02em; }
.sample-page-score strong span { font-size:1rem; font-weight:700; color:var(--muted); }
.sample-score-delta { display:block; margin-top:.2rem; color:var(--success); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; font-weight:700; }
.sample-page-stat { padding:.85rem 1rem; border:1px solid var(--line); border-radius:.4rem; }
.sample-page-stat span { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.66rem; letter-spacing:.07em; text-transform:uppercase; }
.sample-page-stat strong { display:block; margin-top:.15rem; font-size:1.3rem; font-weight:800; }
.sample-page-stat--good strong { color:var(--success); }
.sample-page-stat--bad strong { color:var(--danger); }

.sample-trend { display:flex; flex-direction:column; gap:.6rem; }
.sample-trend-bars { display:flex; align-items:flex-end; gap:.45rem; height:7rem; padding:1rem 1.1rem; border:1px solid var(--line); border-radius:.4rem; background:var(--surface); }
.sample-bar { flex:1; background:#c9d2e0; border-radius:.15rem; }
.sample-bar--rising { background:#9fb3d8; }
.sample-bar--peak { background:var(--brand); }
.sample-trend-caption { margin:0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.88rem; }
.sample-recommendation { display:flex; gap:.9rem; padding:1.1rem 1.2rem; border-left:4px solid var(--accent); background:var(--accent-wash); }
.sample-recommendation p { margin:.3rem 0 0; color:var(--muted); font-size:.96rem; }

.sample-findings-table { border:1px solid var(--line); border-radius:.4rem; overflow:hidden; }
.sample-findings-row { display:grid; grid-template-columns:minmax(0,2.6fr) 6rem 7rem 7rem; gap:1rem; align-items:center; padding:.8rem 1.1rem; border-bottom:1px solid var(--line-soft); }
.sample-page-sheet .sample-findings-row:last-child { border-bottom:0; }
.sample-findings-head { background:var(--surface); border-bottom:1px solid var(--line); color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.sample-findings-row strong { display:block; font-size:1rem; }
.sample-findings-row .muted { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.sample-findings-owner { text-align:right; font-size:.9rem; font-weight:700; }

.sample-finding-detail { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap:1.5rem 2rem; align-items:start; }
.sample-finding-detail > div:first-child { display:flex; flex-direction:column; gap:1rem; }
.sample-finding-detail p { margin:.25rem 0 0; color:var(--muted); font-size:.97rem; }
.sample-finding-facts { margin:0; display:grid; grid-template-columns:auto 1fr; gap:.35rem 1rem; font-size:.92rem; }
.sample-finding-facts dt { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.sample-finding-facts dd { margin:0; font-weight:700; }
.sample-finding-detail > div:last-child { display:flex; flex-direction:column; gap:.75rem; }
.sample-evidence-card { border:1px solid var(--line); border-radius:.4rem; overflow:hidden; }
.sample-evidence-card p { margin:0; padding:.5rem .8rem; background:var(--surface); border-bottom:1px solid var(--line); color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.sample-evidence-mock { padding:1.1rem; display:flex; flex-direction:column; gap:.55rem; }
.sample-evidence-mock span { display:block; height:.6rem; border-radius:.15rem; background:#e6eaf0; }
.sample-evidence-mock span.ok { height:2.1rem; background:var(--surface); border:1px solid var(--line); border-radius:.25rem; }
.sample-evidence-mock span.flag { height:2.1rem; background:#fdeceb; border:2px solid var(--danger); border-radius:.25rem; }
.sample-code-card { border:1px solid var(--line); border-radius:.4rem; overflow:hidden; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; }
.sample-code-card p { margin:0; padding:.45rem .8rem; font-weight:700; }
.sample-code-now { background:#fdeceb; color:var(--danger); border-bottom:1px solid #f3d5d3; }
.sample-code-after { background:#eaf6f1; color:var(--success); border-block:1px solid #d3ece2; }
.sample-code-card pre { margin:0; padding:.7rem .8rem; overflow-x:auto; }

.sample-scope-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr)); gap:1rem; }
.sample-scope-card { padding:1.1rem 1.2rem; border:1px solid var(--line); border-radius:.4rem; }
.sample-scope-card--warning { border-color:var(--accent-line); background:var(--accent-wash); }
.sample-scope-card--warning strong { color:var(--accent-ink); }
.sample-scope-card ul { margin:.5rem 0 0; padding-left:1.1rem; color:var(--muted); font-size:.95rem; display:flex; flex-direction:column; gap:.3rem; }
.sample-method-note { margin:0; padding:1rem 1.2rem; background:var(--surface); border-left:4px solid var(--muted); color:var(--muted); font-size:.95rem; }
.sample-appendix-note { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; padding:1.2rem 1.4rem; border:1px dashed #9aa6b8; border-radius:.5rem; background:var(--surface); }

.sample-app-mock { border:1px solid var(--line); border-radius:.6rem; overflow:hidden; box-shadow:0 .8rem 2rem rgba(20,24,31,.08); margin-top:1.5rem; }
.sample-app-titlebar { display:flex; align-items:center; gap:.6rem; padding:.55rem .9rem; background:var(--dark); }
.sample-app-titlebar span { width:.6rem; height:.6rem; border-radius:50%; background:var(--muted); }
.sample-app-titlebar em { margin-left:.6rem; color:var(--dark-secondary); font-style:normal; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.sample-app-shell { display:grid; grid-template-columns:13rem minmax(0,1fr); background:#fff; }
.sample-app-shell nav { background:var(--dark); padding:1rem .75rem; display:flex; flex-direction:column; gap:.15rem; }
.sample-app-shell nav a { padding:.45rem .55rem; border-radius:.35rem; color:#e6eaf1; font-size:.88rem; font-weight:600; text-decoration:none; }
.sample-app-nav-active { background:var(--brand); color:#fff !important; font-weight:700 !important; }
.sample-app-head { padding:1rem 1.25rem .6rem; border-bottom:1px solid var(--line); }
.sample-app-head h3 { margin:0; font-size:1.1rem; letter-spacing:-.015em; }
.sample-app-head p { margin:.15rem 0 .7rem; color:var(--muted); font-size:.78rem; }
.sample-app-tab { padding:.35rem .7rem; border:1px solid var(--line); border-radius:.35rem; background:#fff; font-size:.85rem; font-weight:600; color:var(--muted); margin-right:.3rem; display:inline-block; }
.sample-app-tab--active { border-color:var(--brand); background:var(--blue-tint); color:var(--brand); font-weight:700; }
.sample-app-list { margin:0; padding:0; list-style:none; }
.sample-app-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.75rem; align-items:center; padding:.75rem 1.25rem; border-bottom:1px solid var(--line-soft); border-left:4px solid var(--line); }
.sample-app-row--critical { border-left-color:var(--danger); }
.sample-app-row--serious { border-left-color:var(--accent); }
.sample-app-row--moderate { border-left-color:#c9d2e0; }
.sample-app-row--closed { border-left-color:var(--success); background:#fafbfc; }
.sample-app-row strong { display:block; font-size:.95rem; }
.sample-app-closed { color:var(--muted); text-decoration:line-through; }
.sample-app-row--closed .mono { color:var(--success); }
.sample-app-row .mono { font-size:.78rem; color:var(--muted); }
.sample-app-footnote { margin:0; padding:.75rem 1.25rem; border-top:1px solid var(--line); background:var(--surface); color:var(--muted); font-size:.88rem; }

/* Capability index: one <ol>, explicit 4/2/1 states (never auto-fit — a 4-child auto-fit grid
   always passes through an orphaning 3-column state on the way down). */
.capability-index-section { background:#fff; border-bottom:1px solid var(--line); }
.capability-index-section .inside { padding-block:clamp(2rem,5vw,3.25rem); }
.capability-index-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin-bottom:2rem; }
.capability-index-head > div { max-width:44ch; }
.capability-index-head h2 { margin:0; font-size:clamp(1.5rem,2.6vw,2.1rem); line-height:1.12; letter-spacing:-.015em; }
.capability-index { container-type:inline-size; }
.capability-index ol { display:grid; grid-template-columns:1fr; gap:1.25rem; margin:0; padding:0; list-style:none; }
@container (min-width:36rem) { .capability-index ol { grid-template-columns:repeat(2,1fr); } }
@container (min-width:64rem) { .capability-index ol { grid-template-columns:repeat(4,1fr); } }
.capability-index-group { background:#fff; border:1px solid var(--line); border-radius:.75rem; padding:1.5rem 1.35rem; }
.capability-index-group h3 { margin:0 0 .9rem; font-size:1.05rem; }
.capability-index-group ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:.6rem; color:var(--muted); font-size:.96rem; }

/* Agencies page redesign */
.agency-hero { background:#fff; border-bottom:1px solid var(--line); border-top:6px solid var(--accent); }
/* Same shape as .features-hero-grid: 1 column below 40rem, 2 above. */
.agency-hero-grid { display:grid; grid-template-columns:1fr; align-items:center; gap:clamp(1.75rem,4vw,3.25rem); padding-block:clamp(2rem,5vw,3.5rem) clamp(2.25rem,5vw,3.75rem); }
@container (min-width:40rem) { .agency-hero-grid { grid-template-columns:1fr 1fr; } }
.agency-hero-copy { display:flex; flex-direction:column; gap:1.15rem; text-align:left; }
.agency-hero-copy h1 { margin:0; max-width:none; font-size:clamp(1.85rem,4.4vw,2.6rem); line-height:1.05; letter-spacing:-.03em; }
.agency-hero-copy .lead { max-width:46ch; margin:0; }
.agency-portfolio-figure { margin:0; }
.agency-portfolio-figure figcaption { margin:.7rem 0 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.74rem; }
.agency-portfolio-mock { border:1px solid var(--line); border-radius:.85rem; overflow:hidden; background:#fff; box-shadow:0 1.1rem 2.5rem rgba(20,24,31,.09); }
.agency-portfolio-list { margin:0; padding:0; list-style:none; }
.agency-portfolio-list li { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:.9rem; padding:.9rem 1.1rem; border-bottom:1px solid var(--line-soft); }
.agency-portfolio-list li:last-child { border-bottom:0; }
.portfolio-score { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.05rem; }
.portfolio-score--success { color:var(--success); }
.portfolio-score--warning { color:var(--accent-ink); }
.portfolio-score--danger { color:var(--danger); }
.agency-portfolio-usage { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1.1rem; background:var(--accent-wash); border-top:1px solid var(--accent-line); color:var(--accent-ink); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.74rem; font-weight:700; }
.agency-portfolio-usage span:last-child { font-weight:400; }

/* Pillar index band: amber-wash, eyebrow+heading beside intro+chip nav */
.pillar-index { background:var(--accent-wash); border-bottom:1px solid var(--accent-line); }
.pillar-index .inside { display:grid; grid-template-columns:1fr; gap:2.5rem; padding-block:clamp(2rem,5vw,3rem); }
.pillar-index-head p.eyebrow { color:var(--accent-ink); }
.pillar-index-head h2 { margin:0; font-size:clamp(1.5rem,2.5vw,2.1rem); line-height:1.12; letter-spacing:-.015em; }
.pillar-index p { margin:0 0 1rem; color:var(--muted); }
.pillar-index-nav { display:flex; flex-wrap:wrap; gap:.4rem .5rem; margin:0; padding:0; list-style:none; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; font-weight:700; }
.pillar-index-nav a { display:inline-block; padding:.35rem .7rem; border:1px solid var(--accent-line); border-radius:999px; background:#fff; color:var(--accent-ink); text-decoration:none; }
.pillar-index-nav a:hover { background:var(--accent-wash); }
.pillar-number { color:var(--accent-ink); }

/* Pillar 01 — workspace cards + dashed "no route" note */
.agency-workspace-grid { display:grid; grid-template-columns:1fr; gap:1rem; }
@container (min-width:26rem) { .agency-workspace-grid { grid-template-columns:1fr 1fr; } }
.agency-workspace-card { border:1px solid var(--line); border-radius:.75rem; background:#fff; overflow:hidden; }
.agency-workspace-card ul { margin:0; padding:.75rem 1rem; list-style:none; display:flex; flex-direction:column; gap:.4rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.agency-dashed-note { display:flex; align-items:center; gap:.75rem; margin-top:1rem; padding:.85rem 1rem; border:1px dashed #c9d2e0; border-radius:.6rem; background:var(--surface); }
.agency-dashed-note span { font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:800; color:var(--danger); }
.agency-dashed-note p { margin:0; color:var(--muted); font-size:.95rem; }

/* Pillar 02 — access matrix table */
.agency-access-table { width:100%; font-size:.94rem; }
.agency-access-table th[scope="col"] { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); text-align:center; }
.agency-access-table th[scope="col"]:first-child { text-align:left; }
.agency-access-table th[scope="row"] { text-align:left; font-weight:700; }
.agency-access-table td { text-align:center; font-weight:800; }
.access-yes { color:var(--success); }
.access-no { color:#a8b1c0; }

/* Pillar 03 — portfolio table + amber pattern panel, full width */
.agency-priorities-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@container (min-width:52rem) { .agency-priorities-grid { grid-template-columns:1.4fr 1fr; } }
.agency-priorities-table,.agency-pattern-panel { margin:0; min-width:0; }
.agency-portfolio-table { width:100%; font-size:.94rem; }
.agency-portfolio-table th[scope="row"] { text-align:left; font-weight:700; }
.agency-portfolio-table .align-right { text-align:right; font-family:"Atkinson Hyperlegible Mono",monospace; }
.agency-portfolio-table .align-left { text-align:left; }
.agency-pattern-card { height:100%; border:1px solid var(--accent-line); border-radius:.85rem; background:var(--accent-wash); overflow:hidden; }
.agency-pattern-card .finding-card-head { background:transparent; border-bottom:1px solid var(--accent-line); color:var(--accent-ink); }
.agency-pattern-card .finding-card-head strong { color:var(--accent-ink); }
.agency-pattern-card > ul { margin:0; padding:1rem 1.25rem 1.25rem; list-style:none; display:flex; flex-direction:column; gap:1rem; }
.agency-pattern-row-head { display:flex; align-items:baseline; justify-content:space-between; gap:.75rem; }
.agency-pattern-row-head span { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; font-weight:700; color:var(--accent-ink); }
.agency-pattern-bar { height:.5rem; margin-top:.4rem; border-radius:999px; background:var(--accent-line); overflow:hidden; }
.agency-pattern-bar span { display:block; height:100%; background:var(--accent); }
.agency-pattern-footnote { margin-top:.25rem; padding-top:.9rem; border-top:1px solid var(--accent-line); color:var(--accent-ink); font-size:.94rem; }

/* Pillar 04 — white-label client report mock */
.agency-report-mock { border:1px solid var(--line); border-radius:.85rem; background:#fff; overflow:hidden; }
.agency-report-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.35rem; border-bottom:1px solid var(--line); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; color:var(--muted); }
.agency-report-logo { display:inline-flex; align-items:center; padding:.3rem .6rem; border:1px dashed #c9d2e0; border-radius:.35rem; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; }
.agency-report-body { padding:1.35rem 1.35rem 1.5rem; }
.agency-report-body h3 { margin:0 0 .35rem; font-size:1.2rem; }
.agency-report-body > p { margin:0 0 1.15rem; color:var(--muted); font-size:.96rem; }
.agency-report-changes { margin:.55rem 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:.55rem; font-size:.95rem; }
.agency-report-range { flex:0 0 6.2rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; }
.agency-report-changes li { display:flex; gap:.6rem; }

/* Pillar 05 — resale invoice card */
.agency-invoice-card { border:1px solid var(--line); border-radius:.85rem; background:#fff; overflow:hidden; }
.agency-invoice-lines { margin:0; padding:1.1rem 1.25rem; list-style:none; display:flex; flex-direction:column; gap:.75rem; }
.agency-invoice-lines li { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.agency-invoice-lines small { color:var(--muted); font-size:.88rem; }
.agency-invoice-lines strong { font-family:"Atkinson Hyperlegible Mono",monospace; }
.agency-invoice-total { padding-top:.75rem; border-top:1px solid var(--line); }
.agency-invoice-total strong:last-child { font-size:1.35rem; color:var(--brand); }
.agency-invoice-per-client { color:var(--muted); font-size:.92rem; }
.agency-invoice-per-client span:last-child { font-family:"Atkinson Hyperlegible Mono",monospace; }
.agency-invoice-note { padding:1rem 1.25rem; background:var(--accent-wash); border-top:1px solid var(--accent-line); color:var(--accent-ink); font-size:.94rem; }

/* Package/pricing band: amber-wash, copy beside a bordered pricing card */
.agency-pricing-band { background:var(--accent-wash); border-bottom:1px solid var(--accent-line); }
.agency-pricing-band-grid { display:grid; grid-template-columns:1fr; gap:2rem; align-items:center; padding-block:clamp(2rem,5vw,3rem); }
@container (min-width:44rem) { .agency-pricing-band-grid { grid-template-columns:1.1fr 1fr; } }
.agency-pricing-band .eyebrow { color:var(--accent-ink); }
.agency-pricing-band h2 { margin:0 0 .5rem; }
.agency-pricing-band .lead { margin:0 0 .75rem; }
.agency-pricing-card { display:flex; flex-direction:column; gap:.9rem; padding:1.75rem; border:1px solid var(--line); border-top:6px solid var(--accent); border-radius:1rem; background:#fff; box-shadow:0 1.1rem 2.6rem rgba(20,24,31,.08); }
.agency-pricing-amount { display:block; margin-top:.2rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:2.2rem; font-weight:800; color:var(--brand); line-height:1.1; }
.agency-pricing-amount span { font-size:1rem; font-weight:600; color:var(--muted); }
.agency-pricing-annual { display:block; margin-top:.15rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; }
.agency-pricing-card .check-list { margin:0; padding-top:1.1rem; border-top:1px solid var(--line-soft); }
.agency-pricing-addon { margin:0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; text-align:center; }
/* Support and Meeting: shared hero (stat strip on the right), routes/reasons cards, booking layout */
.support-hero { background:#fff; border-bottom:1px solid var(--line); border-top:6px solid var(--brand); }
.support-hero .inside { display:flex; flex-wrap:wrap; align-items:flex-end; gap:2rem 3rem; padding-block:clamp(1.75rem,4vw,2.75rem); }
.support-hero--accent { border-top-color:var(--accent); }
.support-hero-copy { flex:1 1 25rem; display:flex; flex-direction:column; gap:1rem; }
.support-hero-copy h1 { margin:0; max-width:none; font-size:clamp(1.85rem,4vw,2.6rem); line-height:1.07; letter-spacing:-.02em; }
.support-hero-copy .lead { max-width:42ch; margin:0; }
.support-stats { flex:1 1 18rem; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
@container (max-width:28rem) { .support-stats { grid-template-columns:1fr; } }
.support-stat { padding:1rem 1.1rem; border:1px solid var(--line); border-radius:.6rem; background:#fff; }
.support-stat span { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.66rem; letter-spacing:.07em; text-transform:uppercase; }
.support-stat strong { display:block; margin-top:.15rem; font-size:1.02rem; line-height:1.35; }

.support-routes { background:var(--surface); border-bottom:1px solid var(--line); }
.support-routes .inside { padding-block:clamp(2rem,4vw,3rem); }
.support-routes h2 { margin:0 0 1.5rem; font-size:clamp(1.35rem,2.2vw,1.7rem); line-height:1.15; letter-spacing:-.01em; }
.support-route-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media (min-width:52rem) { .support-route-grid { grid-template-columns:repeat(3,1fr); } }
.support-route { display:flex; flex-direction:column; gap:.6rem; padding:1.5rem 1.5rem 1.6rem; border:1px solid var(--line); border-top:5px solid var(--brand); border-radius:.85rem; background:#fff; text-decoration:none; color:inherit; }
.support-route:hover { border-color:#c9d2e0; box-shadow:0 .7rem 1.8rem rgba(20,24,31,.08); }
.support-route--muted { border-top-color:var(--muted); }
.support-route--accent { border-top-color:var(--accent); }
.support-route-eyebrow { color:var(--brand); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.support-route--muted .support-route-eyebrow { color:var(--muted); }
.support-route--accent .support-route-eyebrow { color:var(--accent-ink); }
.support-route strong { font-size:1.2rem; font-weight:800; }
.support-route p { margin:0; color:var(--muted); font-size:.98rem; }
.support-route-link { margin-top:auto; padding-top:.6rem; color:var(--brand); font-weight:700; font-size:.96rem; }

/* Form + aside: flex, not grid — a 2:1 split needs flex-basis to collapse cleanly at narrow
   widths, where grid-column spanning could not (see docs handoff for this page). */
.support-form-section { background:#fff; border-bottom:1px solid var(--line); }
.support-form-section .inside { display:flex; flex-wrap:wrap; gap:2.5rem 3rem; align-items:flex-start; padding-block:clamp(2rem,4vw,4rem); }
.support-form { flex:1 1 34rem; min-width:0; margin:0; display:flex; flex-direction:column; gap:1.5rem; }
.support-form h2 { margin:0 0 .5rem; font-size:clamp(1.5rem,2.5vw,2.1rem); line-height:1.12; letter-spacing:-.015em; }
.support-form label { display:flex; flex-direction:column; gap:.4rem; font-weight:700; }
.support-form input,.support-form select,.support-form textarea { padding:.75rem .85rem; border:2px solid var(--line); border-radius:.5rem; background:#fff; font-weight:400; }
.support-form textarea { resize:vertical; line-height:1.55; }
.support-form-row { display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width:600px) { .support-form-row { grid-template-columns:1fr 1fr; } }
.support-guidance { padding:1.15rem 1.35rem; border:1px solid #d3ddf6; border-left:5px solid var(--brand); border-radius:.6rem; background:var(--blue-tint); color:var(--brand-dark); }
.support-guidance-label { display:block; margin-bottom:.4rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.support-guidance p { margin:0 0 .6rem; font-size:1.02rem; }
.support-guidance ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:.4rem; }
.support-guidance ul li { display:flex; gap:.55rem; font-size:.98rem; }
.support-guidance ul li span:first-child { font-weight:800; }
.support-guidance-shortcut { margin:.85rem 0 0; padding-top:.75rem; border-top:1px solid #d3ddf6; font-size:.98rem; }
.support-counter { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.support-form-submit { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; padding-top:.25rem; }
.support-form-submit p { margin:0; color:var(--muted); font-size:.94rem; flex:1 1 18rem; }
.support-field-note { display:block; color:var(--muted); font-size:.82rem; font-weight:400; line-height:1.4; }
.support-secrets-warning { display:flex; gap:.75rem; padding:1rem 1.15rem; border:1px solid var(--accent-line); border-radius:.6rem; background:var(--accent-wash); }
.support-secrets-warning span { color:var(--accent-ink); font-weight:800; }
.support-secrets-warning p { margin:0; color:var(--accent-ink); font-size:.96rem; }
.support-aside { flex:1 1 19rem; min-width:0; display:flex; flex-direction:column; gap:1.25rem; position:sticky; top:1.5rem; }
.support-aside-card { padding:1.25rem 1.35rem; border:1px solid var(--line); border-radius:.85rem; background:#fff; }
.support-aside-card h3 { margin:0 0 .5rem; font-size:1.05rem; font-weight:800; }
.support-aside-card p { margin:0 0 .75rem; color:var(--muted); font-size:.96rem; }
.support-aside-card a { font-weight:700; font-size:.96rem; }

.support-booking { background:#fff; border-bottom:1px solid var(--line); }
.support-booking .inside { display:flex; flex-wrap:wrap; gap:2.5rem 3rem; align-items:flex-start; padding-block:clamp(2rem,4vw,4rem); }
.support-booking-copy { flex:1 1 20rem; min-width:0; display:flex; flex-direction:column; gap:1.15rem; }
.support-booking-copy h2 { margin:0; font-size:clamp(1.5rem,2.5vw,2.1rem); line-height:1.12; letter-spacing:-.015em; }
.support-booking-worth { padding:1.15rem 1.35rem; border:1px solid var(--line); border-radius:.75rem; background:var(--surface); }
.support-booking-worth ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:.5rem; font-size:.98rem; }
.support-booking-worth li { display:flex; gap:.55rem; }
.support-booking-worth li span:first-child { color:var(--success); font-weight:800; }
.support-cal-card,.meeting-cal-card { flex:1 1 30rem; min-width:0; border:1px solid var(--line); border-top:5px solid var(--accent); border-radius:.85rem; background:#fff; overflow:hidden; }
.cal-embed { min-height:44rem; }
.cal-embed iframe { display:block; border:0; }

.support-faq { background:var(--surface); border-bottom:1px solid var(--line); }
.support-faq .inside { padding-block:clamp(2rem,4vw,4rem); }
.support-faq-head { max-width:44ch; margin-bottom:1.5rem; }
.support-faq-head h2 { margin:0 0 .9rem; font-size:clamp(1.5rem,2.5vw,2.1rem); line-height:1.12; letter-spacing:-.015em; }

/* Meeting page specifics */
.meeting-escape-hatch { background:var(--accent-wash); border-bottom:1px solid var(--accent-line); }
.meeting-escape-hatch .inside { display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem 2.5rem; padding-block:1.5rem; }
.meeting-escape-hatch p { margin:0; flex:1 1 26rem; color:var(--accent-ink); font-size:1.02rem; }
.meeting-escape-hatch .actions { flex-wrap:wrap; }
.meeting-reasons { background:var(--surface); border-bottom:1px solid var(--line); }
.meeting-reasons .inside { padding-block:clamp(2rem,4vw,3.5rem); }
.meeting-reasons h2 { margin:0 0 1.5rem; font-size:clamp(1.35rem,2.2vw,1.8rem); line-height:1.15; letter-spacing:-.01em; }
.meeting-reason-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media (min-width:52rem) { .meeting-reason-grid { grid-template-columns:repeat(3,1fr); } }
.meeting-reason { display:flex; flex-direction:column; gap:.6rem; padding:1.5rem 1.5rem 1.6rem; border:1px solid var(--line); border-top:5px solid var(--accent); border-radius:.85rem; background:#fff; }
.meeting-reason--brand { border-top-color:var(--brand); }
.meeting-reason--muted { border-top-color:var(--muted); }
.meeting-reason .support-route-eyebrow { color:var(--accent-ink); }
.meeting-reason--brand .support-route-eyebrow { color:var(--brand); }
.meeting-reason--muted .support-route-eyebrow { color:var(--muted); }
.meeting-reason strong { font-size:1.15rem; font-weight:800; }
.meeting-reason p { margin:0; color:var(--muted); font-size:.98rem; }
.meeting-bring ol { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:.65rem; font-size:.98rem; }
.meeting-bring li { display:flex; gap:.65rem; }
.meeting-bring li span:first-child { flex:0 0 1.1rem; color:var(--accent-ink); font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:800; }

@media (max-width:900px) { .support-hero,.support-form-section,.support-booking,.meeting-escape-hatch { flex-direction:column; } .support-aside { position:static; } }

/* Marketing footer — dark shell, four grid shapes driven by container queries against
   .marketing-shell's width (the footer itself cannot be its own query container — see
   docs/design-system.md). See _design/OpenForall Header and Footer.zip. */
.marketing-shell { container-type:inline-size; }
.marketing-footer { max-width:none; margin:0; padding:0; background:var(--dark); color:#fff; }
.footer-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:44px 40px; max-width:none; margin:0; padding:44px max(1rem,calc((100% - 1240px)/2)) 32px; }
.footer-brand-column,.footer-scorecard--early { grid-column:1 / -1; }
.footer-brand-column { display:flex; flex-direction:column; gap:14px; }
.footer-brand-column .brand { gap:10px; }
.footer-brand-column .brand img { width:30px; height:30px; }
.footer-brand-column .brand-word { font-size:19px; font-weight:800; color:#fff; }
.footer-brand-column .brand-accent { color:var(--blue-light); }
.footer-tagline { max-width:30ch; margin:0; color:var(--dark-secondary); font-size:15px; line-height:1.55; }
.footer-meta { display:flex; flex-direction:column; gap:2px; margin-top:.25rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:12.5px; color:var(--dark-tertiary); }
.footer-nav { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-nav-label { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--dark-tertiary); }
.footer-nav a { color:#fff; font-size:15.5px; font-weight:600; text-decoration:none; }
.footer-nav a:hover { color:var(--blue-light); }
.footer-scorecard { display:flex; flex-direction:column; gap:10px; padding:20px; border:1px solid var(--dark-line); border-radius:12px; background:var(--dark); }
.footer-scorecard--late { display:none; }
.footer-scorecard-label { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); }
.footer-scorecard-version { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:13px; color:var(--dark-secondary); }
.footer-scorecard a { color:var(--blue-light); font-size:14px; font-weight:700; text-decoration:none; }
.footer-bottom { display:flex; flex-wrap:wrap; align-items:center; gap:20px; max-width:none; margin:0; padding:22px max(1rem,calc((100% - 1240px)/2)) 32px; border-top:1px solid var(--dark-line); }
.footer-bottom > span:first-child { color:var(--dark-tertiary); font-size:14.5px; }
.footer-bottom nav { align-items:center; gap:20px; }
.footer-bottom nav a { color:var(--dark-secondary); font-size:14.5px; font-weight:600; text-decoration:none; }
.footer-bottom nav a:hover { color:#fff; }
.footer-version { margin-left:auto; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:12px; color:var(--dark-tertiary); }
.footer-bottom .language-pill { background:var(--dark); border:1px solid var(--dark-line); }
.footer-bottom .language-pill span { background:#fff; color:var(--ink); }
.footer-bottom .language-pill a { color:var(--dark-secondary); }

/* Explicit px thresholds here, not rem: these query .marketing-shell's width (the footer cannot
   be its own query container — see docs/design-system.md), which is the raw viewport width, not
   a rem-scaled content-column width, so this deliberately isn't affected by the 18px root font. */
@container (min-width:800px) {
    .footer-grid { grid-template-columns:repeat(6,1fr); }
    .footer-brand-column,.footer-scorecard--early { grid-column:span 3; }
    .footer-nav { grid-column:span 2; }
}
@container (min-width:1100px) {
    .footer-grid { grid-template-columns:1.3fr 1fr 1fr .85fr 1.15fr; }
    .footer-brand-column,.footer-nav,.footer-scorecard--late { grid-column:auto; }
    .footer-scorecard--early { display:none; }
    .footer-scorecard--late { display:flex; }
}
@media (max-width:559px) { .footer-bottom { flex-direction:column; align-items:flex-start; } .footer-version { margin-left:0; } }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr); gap:clamp(2rem,6vw,5rem); padding:clamp(1.5rem,5vw,4rem); border-top:6px solid var(--brand); }
.contact-layout h1 { max-width:16ch; }
.contact-layout form { display:grid; gap:1rem; align-content:start; box-shadow:0 .75rem 2.5rem rgba(20,24,31,.08); }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.account-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(17rem,1fr)); gap:1rem; }
.plan-teasers { display:grid; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)); gap:.75rem; margin:1rem 0; }
.plan-teaser { display:flex; flex-direction:column; gap:.35rem; padding:1rem; border:1px solid var(--line); border-radius:.55rem; background:#fff; text-decoration:none; color:inherit; }
.plan-teaser:hover { border-color:var(--brand); }
.plan-teaser-name { font-weight:700; }
.plan-teaser-price { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.9rem; }
.plan-teaser--current { background:var(--surface); }
.plan-teaser-badge { align-self:flex-start; padding:.15rem .5rem; border-radius:.3rem; background:var(--brand-wash); color:var(--brand-dark); font-size:.75rem; font-weight:700; }
.plan-teaser-note { color:var(--muted); font-size:.8rem; }
.package-pending { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:0; padding:1rem 1.25rem; border:1px solid var(--accent-line); border-radius:.8rem; background:var(--accent-wash); }
.package-pending > div { display:grid; gap:.15rem; }
.package-pending .eyebrow { margin:0; color:var(--accent-ink); }
.package-pending small { color:var(--muted); }
.package-pending form { margin:0; }
.package-usage-card { margin:0 0 1.25rem; padding:1.35rem 1.5rem 1.15rem; border:1px solid var(--line); border-radius:.7rem; background:#fff; box-shadow:0 .35rem 1.2rem rgb(25 34 51 / .045); }
.package-usage-card > header,.package-choice-section > header,.package-addon-section > header,.package-smaller > header { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.package-usage-card h2,.package-choice-section h2,.package-addon-section h2,.package-smaller h2 { margin:0; font-size:1.03rem; }
.package-usage-card header span,.package-addon-section header span,.package-smaller header span { color:var(--muted); font-size:.8rem; }
.package-usage-card dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:1.1rem 0 0; }
.package-usage-card dl > div { padding:0 1.1rem; border-left:1px solid var(--line); }
.package-usage-card dl > div:first-child { padding-left:0; border-left:0; }
.package-usage-card dt { color:var(--muted); font-size:.76rem; }
.package-usage-card dd { margin:.28rem 0 0; font-family:"Atkinson Hyperlegible Mono",monospace; }
.package-usage-card dd strong { font-size:1.35rem; }
.package-usage-card dd span { color:var(--muted); font-size:.78rem; }
.package-usage-card .is-over dd strong { color:#a9271c; }
.package-usage-card > p { margin:1rem -1.5rem -1.15rem; padding:.8rem 1.5rem; border-top:1px solid #eed9ad; border-radius:0 0 .7rem .7rem; background:#fff7df; color:#59420c; font-size:.82rem; }
.package-builder { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,22rem); gap:1.25rem; align-items:start; margin:0; }
.package-builder,.package-confirm > footer form { max-width:none; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.package-builder-main { display:grid; gap:1rem; }
.package-choice-section,.package-addon-section,.package-smaller,.package-order-rail,.package-confirm { padding:1.35rem 1.5rem; border:1px solid var(--line); border-radius:.7rem; background:#fff; box-shadow:0 .35rem 1.2rem rgb(25 34 51 / .045); }
.package-choice-section .billing-switch { flex:none; }
.package-choice-section .billing-switch label { display:flex; gap:.38rem; align-items:center; margin:0; padding:.42rem .65rem; border-radius:999px; cursor:pointer; font-size:.78rem; }
.package-choice-section .billing-switch label:has(input:checked) { background:#fff; box-shadow:0 1px 3px rgb(20 24 31 / .18); }
.package-choice-section .billing-switch input { width:auto; margin:0; }
.package-choice-section .billing-switch small { color:var(--brand-dark); font-size:.68rem; }
.package-primary-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.package-choice { position:relative; display:grid; align-content:start; gap:.52rem; min-height:8.6rem; margin:0; padding:1rem; border:1px solid var(--line); border-radius:.62rem; background:#fff; cursor:pointer; }
.package-choice:has(input:checked) { border:2px solid var(--brand); padding:calc(1rem - 1px); background:var(--brand-wash); }
.package-choice > input { position:absolute; top:.85rem; right:.85rem; width:1.1rem; margin:0; }
.package-choice > span { display:flex; gap:.45rem; align-items:center; padding-right:1.4rem; }
.package-choice em { padding:.14rem .4rem; border-radius:999px; background:var(--ink); color:#fff; font-size:.68rem; font-style:normal; }
.package-choice b { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.25rem; }
.package-choice b small,.package-choice > small { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Next",sans-serif; font-size:.76rem; font-weight:400; }
.package-choice.is-blocked { background:#f4f2f1; color:#625d5a; cursor:not-allowed; }
.package-choice.is-blocked > small:last-child { color:#9f261d; font-weight:700; }
.package-choice-note { margin:.9rem 0 0; color:var(--muted); font-size:.78rem; }
.package-addon-section { display:grid; gap:.1rem; }
.package-addon-row { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin:0; padding:.9rem 0; border-top:1px solid var(--line); }
.package-addon-section header + .package-addon-row { margin-top:.8rem; }
.package-addon-row > span:first-child { display:grid; gap:.15rem; }
.package-addon-row small { color:var(--muted); font-weight:400; }
.package-addon-control { display:grid; grid-template-columns:auto 4.7rem minmax(7.5rem,auto); gap:.55rem; align-items:center; color:var(--muted); font-size:.76rem; }
.package-addon-control select { margin:0; padding:.45rem .55rem; }
.package-addon-control b { color:var(--ink); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; text-align:right; }
.package-smaller > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin-top:.85rem; }
.package-smaller .package-choice { min-height:0; }
.package-order-rail { position:sticky; top:6.5rem; }
.package-order-rail h2 { margin:.15rem 0 1rem; font-size:1.65rem; }
.package-order-rail dl,.package-confirm-lines { display:grid; gap:.65rem; margin:1rem 0; }
.package-order-rail dl div,.package-confirm-lines > div { display:flex; justify-content:space-between; gap:1rem; padding-top:.65rem; border-top:1px solid var(--line); }
.package-order-rail dd,.package-confirm dd { margin:0; font-family:"Atkinson Hyperlegible Mono",monospace; text-align:right; }
.package-order-rail > p:not(.eyebrow):not(.error) { color:var(--muted); font-size:.82rem; }
.package-order-rail button { width:100%; }
.package-confirm-stage { margin:-2rem; padding:2rem; min-height:calc(100vh - 8rem); background:#f4f5f8; }
.package-confirm { max-width:40rem; margin:0 auto; padding:0; overflow:hidden; }
.package-confirm > header,.package-confirm > footer { padding:1.35rem 1.5rem; }
.package-confirm > header { display:grid; gap:.3rem; border-bottom:1px solid var(--line); }
.package-confirm > header h2 { margin:0; font-size:1.3rem; }
.package-confirm > header p { margin:.35rem 0 0; color:var(--muted); font-size:.82rem; }
.package-confirm-body { display:grid; gap:1rem; padding:1.35rem 1.5rem; }
.package-confirm-lines { margin:0; }
.package-confirm-lines dt small { display:block; margin-top:.22rem; color:var(--muted); font-size:.72rem; font-weight:400; }
.package-after-charge { margin:-.45rem 0 0; color:var(--muted); font-size:.8rem; text-align:right; }
.package-confirm-lines .credit { color:#157347; }
.package-due-now { margin-top:.25rem; padding:.85rem 0 0!important; border-top:2px solid var(--ink)!important; }
.package-due-now dd { font-size:1.18rem; font-weight:700; }
.package-confirm-changes { padding:1rem; border-radius:.55rem; background:var(--brand-wash); }
.package-confirm-changes ul { margin:.55rem 0 0; padding-left:1.25rem; }
.package-confirm-changes li + li { margin-top:.25rem; }
.package-stripe-note { display:flex; gap:.75rem; align-items:flex-start; padding:.9rem 1rem; border:1px solid #cbdaf8; border-radius:.55rem; background:#f2f6ff; color:#2a436b; }
.package-stripe-note span { display:grid; place-items:center; flex:0 0 1.3rem; height:1.3rem; border:1px solid currentColor; border-radius:50%; font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.package-stripe-note p { margin:0; font-size:.8rem; }
.package-confirm > footer { display:flex; justify-content:space-between; align-items:center; gap:1rem; border-top:1px solid var(--line); background:#fafafa; }
.package-confirm > footer form { margin:0; }
.package-terms,.package-terms-accepted { margin:0; padding:.85rem; border-radius:.55rem; background:var(--surface); }
.package-terms { align-items:flex-start; font-size:.88rem; font-weight:400; }
@media (max-width:800px){
  .package-builder { grid-template-columns:1fr; }
  .package-usage-card dl { grid-template-columns:repeat(2,1fr); row-gap:1rem; }
  .package-usage-card dl > div:nth-child(3) { padding-left:0; border-left:0; }
  .package-choice { min-height:0; }
  .package-order-rail { position:static; grid-row:2; }
}
@media (max-width:600px){
  .package-usage-card,.package-choice-section,.package-addon-section,.package-smaller { padding:1rem; }
  .package-usage-card > header,.package-choice-section > header,.package-addon-section > header,.package-smaller > header { display:grid; }
  .package-primary-choices,.package-smaller > div { grid-template-columns:1fr; }
  .package-addon-row { display:grid; }
  .package-addon-control { grid-template-columns:auto 4.7rem 1fr; }
  .package-confirm-stage { margin:-1rem; padding:1rem; }
  .package-confirm > footer { align-items:stretch; flex-direction:column-reverse; }
  .package-confirm > footer form,.package-confirm > footer button,.package-confirm > footer a { width:100%; }
}
.timeline { list-style:none; padding:0; }
.timeline li { border-left:3px solid var(--brand); padding:0 0 1.5rem 1rem; }
.timeline span { display:block; color:var(--muted); font-size:.9rem; }
.summary.review-summary, .summary.work-summary { grid-template-columns:repeat(4,1fr); }
.review-checklist { display:grid; gap:.75rem; margin:1.25rem 0; }
.review-check { margin:0; border:1px solid var(--line); border-left:5px solid var(--line); border-radius:.55rem; background:#fff; }
.review-check.review-pass { border-left-color:#137a4a; }
.review-check.review-fail { border-left-color:#b3261e; }
.review-check.review-not_tested { border-left-color:#c58a00; }
.review-check.review-not_applicable { border-left-color:#667085; }
.review-check > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; cursor:pointer; }
.review-check > summary > span:first-child { display:grid; gap:.2rem; }
.review-check > summary small { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; }
.review-status { flex:none; padding:.25rem .55rem; border-radius:999px; background:var(--soft); font-size:.85rem; font-weight:700; }
.review-pass .review-status { color:#075b35; background:#dcf7e9; }
.review-fail .review-status { color:#8d1711; background:#ffe1de; }
.review-not_tested .review-status { color:#684900; background:#fff0c2; }
.review-check-body { padding:0 1.1rem 1.1rem; border-top:1px solid var(--line); }
.review-check-body form { margin-top:1rem; }

/* Focused human decisions and the full per-scan rule ledger. */
.audit-coverage-header { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin:0 0 .85rem; padding:0 0 .85rem; border-bottom:1px solid var(--line); }
.audit-coverage-header h2 { margin:0; font-size:1.35rem; }
.audit-coverage-header p { margin:.15rem 0 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; }
.audit-coverage-card { padding:0; overflow:hidden; border:1px solid var(--line); border-radius:.7rem; background:#fff; }
.audit-coverage-card > .section-eyebrow { margin:0; padding:1.2rem 1.4rem .65rem; }
.audit-coverage-bar { display:flex; height:1.45rem; margin:0 1.4rem; overflow:hidden; border:1px solid var(--line); border-radius:.35rem; background:#f1f3f7; }
.audit-coverage-segment.passed,.audit-coverage-legend i.passed { background:#0f7a5f; }
.audit-coverage-segment.failed,.audit-coverage-legend i.failed { background:#c2321b; }
.audit-coverage-segment.needs_review,.audit-coverage-legend i.needs_review { background:#1b4dd1; }
.audit-coverage-segment.inapplicable,.audit-coverage-legend i.inapplicable { background:#f1f3f7; }
.audit-coverage-legend { display:flex; flex-wrap:wrap; gap:.6rem 1.7rem; margin:.8rem 1.4rem 0; }
.audit-coverage-legend div { display:grid; grid-template-columns:.75rem auto auto; align-items:center; gap:.45rem; }
.audit-coverage-legend i { width:.75rem; height:.75rem; border:1px solid var(--line); border-radius:.18rem; }
.audit-coverage-legend dt { font-size:.9rem; }
.audit-coverage-legend dd { margin:0; font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.audit-coverage-explainer { margin:.8rem 1.4rem 1.15rem; color:var(--muted); font-size:.9rem; }
.audit-coverage-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.55rem; padding:.7rem 1.1rem; border-block:1px solid #edf0f5; background:#f7f8fa; }
.audit-coverage-filters label { display:grid; gap:.2rem; margin:0; }
.audit-coverage-filters label:first-child { flex:1 1 13rem; }
.audit-coverage-filters label span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.audit-coverage-filters input,.audit-coverage-filters select { min-height:2.35rem; padding:.35rem .55rem; }
.audit-coverage-filters button { min-height:2.35rem; padding:.35rem .8rem; }
.audit-filter-count { margin-left:auto; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.audit-rule-table { overflow-x:auto; }
.audit-rule-table table { width:100%; min-width:50rem; border-collapse:collapse; }
.audit-rule-table th,.audit-rule-table td { padding:.75rem .65rem; border-bottom:1px solid #edf0f5; text-align:left; vertical-align:top; }
.audit-rule-table thead th { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.audit-rule-table tbody th { width:42%; padding-left:1.1rem; }
.audit-rule-table tbody th strong,.audit-rule-table tbody th small,.audit-rule-table tbody th code,.audit-rule-table tbody th a { display:block; }
.audit-rule-table tbody th small { margin:.12rem 0; color:var(--muted); font-weight:400; }
.audit-rule-table tbody th a { width:max-content; margin-top:.3rem; font-size:.82rem; }
.audit-outcome { display:inline-block; padding:.16rem .5rem; border-radius:999px; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.74rem; font-weight:700; white-space:nowrap; }
.audit-outcome.passed { background:#e6f4ef; color:#0b654e; }
.audit-outcome.failed { background:#fdecea; color:#a82816; }
.audit-outcome.needs_review { background:#e8eefb; color:#123ba8; }
.audit-outcome.inapplicable { background:#f1f3f7; color:#4a5361; }
.audit-coverage-footer { padding:.8rem 1.1rem; background:#f7f8fa; }
.audit-coverage-footer p { margin:0; color:var(--muted); font-size:.85rem; }
.review-workspace-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.85rem; padding-bottom:.85rem; border-bottom:1px solid var(--line); }
.review-workspace-header h2 { margin:0; font-size:1.35rem; }
.review-workspace-header p { margin:.15rem 0 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; }
.review-workspace { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(16rem,.75fr); gap:.9rem; align-items:start; }
.review-workspace main,.review-workspace aside { display:grid; gap:.9rem; min-width:0; }
.review-question-card,.review-decision-card,.review-queue-card,.review-judge-card,.review-focused-history { margin:0; overflow:hidden; border:1px solid var(--line); border-radius:.7rem; background:#fff; }
.review-question-card { padding:1.25rem 1.4rem; }
.review-question-card > h3 { margin:.2rem 0 .45rem; font-size:1.25rem; }
.review-evidence-context { margin-top:1rem; padding:1rem; border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:.45rem; background:#f7f8fa; }
.review-evidence-context p { margin:.25rem 0 .5rem; color:var(--muted); }
.review-question-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1rem 0 0; }
.review-question-meta dt,.review-note > span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.review-question-meta dd { margin:.15rem 0 0; overflow-wrap:anywhere; }
.review-decision-card > header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.4rem 1rem; padding:.75rem 1.1rem; border-bottom:1px solid var(--line); }
.review-decision-card > header h3 { margin:0; font-size:1rem; }
.review-decision-card > header span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.review-decision-card form { display:grid; gap:.65rem; padding:1.1rem 1.4rem; }
.review-answer { display:flex; align-items:flex-start; gap:.7rem; margin:0; padding:.85rem 1rem; border:2px solid var(--line); border-radius:.5rem; cursor:pointer; }
.review-answer:has(input:checked) { border-color:var(--accent); background:#f1f5fe; }
.review-answer input { position:absolute; opacity:0; pointer-events:none; }
.review-answer > span:first-of-type { flex:0 0 1.25rem; font-size:1.05rem; font-weight:800; text-align:center; }
.review-answer strong,.review-answer small { display:block; }
.review-answer small { margin-top:.1rem; color:var(--muted); font-size:.87rem; font-weight:400; }
.review-answer--pass > span:first-of-type { color:#0f7a5f; }
.review-answer--fail > span:first-of-type { color:#c2321b; }
.review-note { display:grid; gap:.3rem; margin:.4rem 0 0; }
.review-decision-note { margin:0; padding:.75rem 1.4rem; border-top:1px solid var(--line); background:#f7f8fa; color:var(--muted); font-size:.86rem; }
.review-queue-card { border-top:4px solid var(--accent); }
.review-queue-card > h3,.review-judge-card > h3 { margin:0; padding:.75rem 1rem; border-bottom:1px solid var(--line); font-size:1rem; }
.review-queue-progress { display:grid; grid-template-columns:1fr auto; gap:.25rem .5rem; padding:.85rem 1rem; }
.review-queue-progress span { color:var(--muted); }
.review-queue-progress strong { font-family:"Atkinson Hyperlegible Mono",monospace; }
.review-queue-progress progress { grid-column:1/-1; width:100%; height:.45rem; accent-color:var(--accent); }
.review-queue-card ol { max-height:20rem; margin:0; padding:0 .65rem; overflow-y:auto; list-style:none; }
.review-queue-card li a { display:flex; justify-content:space-between; gap:.7rem; padding:.55rem .45rem; border-radius:.35rem; color:inherit; font-size:.87rem; text-decoration:none; }
.review-queue-card li[aria-current="step"] a { background:#e8eefb; color:#123ba8; font-weight:700; }
.review-queue-card li small { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; }
.review-queue-card nav { display:flex; justify-content:space-between; gap:.5rem; padding:.8rem 1rem; border-top:1px solid var(--line); }
.review-judge-card p { margin:.8rem 1rem; color:var(--muted); font-size:.88rem; }
.review-focused-history { padding:1rem 1.4rem; }
.review-history { margin-top:1.25rem; }
.issue-detail-shot { display:block; max-width:min(100%,42rem); max-height:24rem; object-fit:contain; border:1px solid var(--line); }
.organization-switcher { align-items:center; flex-wrap:wrap; background:#fff; border:1px solid var(--line); padding:.75rem; border-radius:.7rem; }
.organization-switcher a { padding:.4rem .65rem; text-decoration:none; border-radius:.35rem; }
.organization-switcher a[aria-current="page"] { background:var(--brand); color:#fff; }
.onboarding-panel { display:grid; grid-template-columns:minmax(15rem,.8fr) minmax(24rem,1.4fr); gap:2rem; padding:clamp(1.5rem,4vw,2.5rem); background:linear-gradient(135deg,var(--brand-wash),#fff); border-top:5px solid var(--brand); }
.onboarding-panel h2 { font-size:clamp(1.6rem,3vw,2.5rem); margin:.3rem 0; }
.onboarding-panel ol { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin:0; padding:0; list-style:none; }
.onboarding-panel li { display:grid; align-content:start; gap:.35rem; padding:1rem; border:1px solid var(--line); border-radius:.55rem; background:rgba(255,255,255,.75); color:var(--muted); }
.onboarding-panel li[aria-current="step"] { border:2px solid var(--brand); background:#fff; color:var(--ink); }
.onboarding-panel li strong { color:var(--ink); }
.onboarding-panel li span { font-size:.9rem; }
.first-scan-panel, .scan-panel { display:grid; grid-template-columns:minmax(15rem,.8fr) minmax(22rem,1.2fr); gap:2rem; align-items:center; padding:clamp(1.5rem,4vw,2.5rem); }
.first-scan-panel { background:var(--brand-wash); border-color:#bdcaec; }
.first-scan-panel h2, .scan-panel h2 { margin:.25rem 0; }
.scan-choices { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.scan-choices form { display:grid; gap:.6rem; align-content:start; height:100%; background:#fff; }
.scan-choices small { color:var(--muted); }
.package-usage { padding:1.25rem; }
.package-usage .section-heading { margin-bottom:.8rem; }
.package-usage .section-heading h2,.package-usage .section-heading p { margin:.15rem 0; }
.package-usage .trial-state { display:inline-block; margin-top:.5rem; padding:.3rem .55rem; border-radius:.3rem; background:var(--brand-wash); color:var(--brand-dark); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; font-weight:700; }
.verification-callout { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; border-left:6px solid var(--accent); background:#fff6df; }
.verification-callout > * { min-width:0; }
.verification-callout h2,.verification-callout p { margin:.25rem 0; }
.development-link { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.85rem; }
.usage-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:.55rem; background:var(--line); }
.usage-grid > div { display:grid; gap:.35rem; align-content:start; padding:1rem; background:#fff; }
.usage-grid > .capacity-warning { box-shadow:inset 0 4px 0 var(--accent); background:#fffaf0; }
.usage-grid > .capacity-full { box-shadow:inset 0 4px 0 var(--danger); background:#fff3f0; }
.usage-grid > .capacity-warning small,.usage-grid > .capacity-full small { color:var(--ink); font-weight:700; }
.usage-grid span,.usage-grid small { color:var(--muted); }
.usage-grid strong { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.3rem; }
.usage-grid progress { width:100%; height:.55rem; accent-color:var(--brand); }
.trend-list { display:grid; gap:.6rem; }
.trend-list article { display:grid; grid-template-columns:2fr 1fr 1.5fr; gap:1rem; align-items:center; }
.trend-list article div { display:grid; }
.trend-list article div > strong { font-size:1.25rem; }
.trend-list article span { color:var(--muted); font-size:.9rem; }
.trend-list .regression-summary { display:grid; gap:.15rem; margin:.5rem 0 0; }
.regression-summary a { display:flex; flex-wrap:wrap; gap:.45rem; text-decoration:none; }
.regression-summary strong { padding:.15rem .4rem; border-radius:.3rem; font-size:.8rem; }
.regression-new { color:#9d2118; background:#fff0ed; }
.regression-resolved { color:#176535; background:#e8f7ed; }
.portfolio-week { display:grid; gap:.5rem; margin:0; padding:0; list-style:none; }
.portfolio-week li { padding:.6rem .85rem; border:1px solid var(--line); border-radius:.5rem; background:#fff; }
.portfolio-week strong { color:var(--brand-dark); }
.heatmap { border-collapse:collapse; }
.heatmap th, .heatmap td { padding:.5rem .65rem; text-align:center; border:1px solid var(--line); }
.heatmap thead th { background:var(--surface); font-weight:700; }
.heatmap th[scope="row"] { text-align:left; font-weight:700; background:var(--surface); }
.heatmap-cell { display:inline-block; min-width:2.2rem; padding:.15rem .4rem; border-radius:.3rem; font-variant-numeric:tabular-nums; font-weight:700; }
td.heatmap-cell { display:table-cell; border-radius:0; }
.heatmap-0 { background:#f7f8fa; color:#14181f; }
.heatmap-1-3 { background:#e8eefb; color:#14181f; }
.heatmap-4-8 { background:#b9c9ee; color:#14181f; }
.heatmap-9-15 { background:#6b93e4; color:#14181f; }
.heatmap-16plus { background:#1b4dd1; color:#fff; }
.portfolio-legend { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; color:var(--muted); font-size:.85rem; }
.portfolio-heatmap>.section-heading { margin-bottom:.85rem; }
.portfolio-heatmap-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.8rem; }
.portfolio-heatmap-footer .portfolio-legend { margin:0; }
.portfolio-measure-picker { display:flex; align-items:center; gap:.55rem; margin:0; color:var(--muted); font-size:.78rem; }
.portfolio-measure-picker>span { font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.portfolio-measure-picker select { width:auto; min-width:9rem; min-height:2.35rem; padding:.35rem 2rem .35rem .65rem; }
.portfolio-agency-picker { justify-self:start; margin:0; padding:0; border:0; background:transparent; }
.portfolio-agency-picker label { margin:0; }
.portfolio-hero small { font-family:"Atkinson Hyperlegible Next",Arial,sans-serif; font-weight:400; }
.portfolio-workspaces { padding:0; overflow:hidden; }
.portfolio-workspaces>.section-heading { margin:0; padding:1.1rem 1.25rem; border-bottom:1px solid var(--line); }
.portfolio-workspaces>.section-heading h2,.portfolio-workspaces>.section-heading p { margin:.15rem 0; }
.portfolio-workspaces>.section-heading>span { flex:none; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.portfolio-workspace-list { display:grid; gap:0; }
.portfolio-workspace { margin:0; padding:0; border:0; border-bottom:1px solid var(--line); border-radius:0; }
.portfolio-workspace>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1.25rem; border-bottom:1px solid var(--line-soft); background:var(--surface); }
.portfolio-workspace>header h3,.portfolio-workspace>header p { margin:.1rem 0; }
.portfolio-workspace>header h3 { font-size:1rem; }
.portfolio-workspace>header p { color:var(--muted); font-size:.82rem; }
.portfolio-workspace>header form { margin:0; padding:0; border:0; background:transparent; }
.portfolio-workspace>header button { min-height:2.35rem; padding:.35rem .7rem; }
.portfolio-sites-table { width:100%; margin:0; border-collapse:collapse; table-layout:fixed; }
.portfolio-sites-table col.portfolio-site-score { width:7rem; }
.portfolio-sites-table col.portfolio-site-coverage { width:7rem; }
.portfolio-sites-table col.portfolio-site-date { width:13rem; }
.portfolio-sites-table col.portfolio-site-status { width:11rem; }
.portfolio-sites-table th,.portfolio-sites-table td { padding:.7rem .8rem; border-bottom:1px solid var(--line-soft); text-align:left; vertical-align:middle; }
.portfolio-sites-table thead th { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; }
.portfolio-sites-table td:not(:first-child) { white-space:nowrap; }
.portfolio-sites-table tbody tr:last-child>* { border-bottom:0; }
.portfolio-workspace>.members-empty { margin:0; padding:1rem 1.25rem; }
.portfolio-workspace-create { padding:1.1rem 1.25rem 1.25rem; }
.portfolio-workspace-create>header h3,.portfolio-workspace-create>header p { margin:.1rem 0; }
.portfolio-workspace-create>header h3 { font-size:1rem; }
.portfolio-workspace-create>header p { color:var(--muted); font-size:.86rem; }
.app-form-grid.portfolio-workspace-form { grid-template-columns:repeat(3,minmax(0,1fr)); margin:1rem 0 0; padding:0; border:0; border-radius:0; background:transparent; }
.portfolio-workspace-form>footer { display:flex; grid-column:1/-1; justify-content:flex-end; padding-top:.85rem; border-top:1px solid var(--line-soft); }
.report-status { display:inline-block; padding:.15rem .55rem; border-radius:1rem; font-size:.82rem; font-weight:700; }
.report-status--ready { background:#e8f7ed; color:#176535; }
.report-status--blocked { background:#fff0ed; color:#9d2118; }
.report-status--coverage_low { background:var(--accent-wash); color:var(--accent-ink); }
.work-main,.work-results { min-width:0; }
.work-main { display:grid; gap:0; }
.work-results { margin:0; padding:0; overflow:hidden; }
.work-results>.section-heading { margin:0; padding:.8rem 1rem; border-bottom:1px solid var(--line); }
.work-filter-bar { grid-template-columns:minmax(12rem,1fr) minmax(9rem,.55fr) minmax(12rem,.8fr) auto auto; border:1px solid var(--line); border-radius:.7rem .7rem 0 0; }
.work-results { border-radius:0 0 .7rem .7rem; }
.backlog-list { display:grid; gap:0; }
.backlog-item { display:grid; grid-template-columns:auto 9rem minmax(14rem,1fr) minmax(10rem,.35fr); gap:1rem; align-items:center; padding:1rem; border:0; border-bottom:1px solid var(--line); border-radius:0; background:#fff; }
.backlog-item:last-child { border-bottom:0; }
.backlog-select { padding:0; border:0; }
.backlog-item h3,.backlog-item p { margin:.25rem 0; }
.backlog-shot { display:grid; place-items:center; width:100%; min-height:6rem; overflow:hidden; border:1px solid var(--line); border-radius:.45rem; background:var(--surface); }
.backlog-shot img { width:100%; max-height:8rem; object-fit:contain; }
.backlog-shot.no-shot { color:var(--muted); font-size:.85rem; }
.backlog-copy { min-width:0; }
.backlog-context { color:var(--muted); }
.backlog-inline-meta { display:flex; flex-wrap:wrap; gap:.45rem 1.25rem; margin:.7rem 0 0; }
.backlog-inline-meta>div { display:flex; flex-wrap:wrap; gap:.3rem; }
.backlog-inline-meta dt,.backlog-assignee dt { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.backlog-inline-meta dd,.backlog-assignee dd { margin:0; overflow-wrap:anywhere; font-size:.85rem; }
.backlog-assignee { display:grid; gap:.25rem; margin:0; }
.backlog-url { overflow-wrap:anywhere; color:var(--muted); font-size:.88rem; }
.overdue { color:#9d2118; font-weight:700; }
.work-layout { display:grid; grid-template-columns:14rem 1fr; gap:1.5rem; align-items:start; }
.view-rail ul { list-style:none; margin:0; padding:0; display:grid; gap:.15rem; }
.view-rail a { display:flex; justify-content:space-between; gap:.5rem; padding:.55rem .7rem; border-radius:.5rem; color:var(--ink); text-decoration:none; }
.view-rail a:hover { background:var(--surface); }
.view-rail-current a { background:var(--brand-wash); color:var(--brand-dark); font-weight:700; }
.view-rail-count { color:var(--muted); font-variant-numeric:tabular-nums; }
.view-rail-current .view-rail-count { color:inherit; }
.bulk-bar { display:grid; grid-template-columns:minmax(12rem,1fr) minmax(9rem,.75fr) auto minmax(9rem,.65fr) auto auto; align-items:end; gap:.6rem; padding:.8rem 1rem; border-bottom:1px solid var(--line); background:var(--brand-wash); }
.work-selection-form { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.bulk-bar-intro { align-self:center; }
.bulk-bar-intro strong,.bulk-bar-intro span { display:block; }
.bulk-bar-intro span { margin-top:.15rem; color:var(--muted); font-size:.8rem; }
.bulk-bar label { display:grid; min-width:0; gap:.2rem; margin:0; }
.bulk-bar label>span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.bulk-bar select,.bulk-bar input { width:100%; min-width:0; }
.bulk-bar select,.bulk-bar input,.bulk-bar button { min-height:2.35rem; padding:.35rem .6rem; font-size:.84rem; }
@media (max-width:1200px) { .work-filter-bar { grid-template-columns:minmax(12rem,1fr) minmax(8rem,.55fr) auto auto; } .work-filter-bar .work-organization-filter { grid-column:1/3; } .bulk-bar { grid-template-columns:minmax(12rem,1fr) minmax(9rem,.8fr) auto; } .bulk-bar-intro { grid-row:span 2; } }
@media (max-width:900px) { .work-layout { grid-template-columns:1fr; } .view-rail ul { display:flex; flex-wrap:wrap; } }
@media (max-width:700px) { .work-filter-bar,.bulk-bar { grid-template-columns:minmax(0,1fr); } .work-filter-bar .work-organization-filter,.bulk-bar-intro { grid-column:auto; grid-row:auto; } .work-filter-bar>*,.bulk-bar>* { width:100%; min-width:0; } .backlog-item { position:relative; grid-template-columns:minmax(0,1fr); align-items:start; padding-right:3rem; } .backlog-select { position:absolute; top:1rem; right:1rem; } .backlog-shot,.backlog-copy,.backlog-assignee { grid-column:1; } .backlog-shot { width:min(10rem,100%); } }
.notifications-header { display:block; min-height:0; padding:.7rem 1.5rem 0; border-bottom:1px solid var(--line); background:#fff; }
.notifications-header nav { margin-bottom:.35rem; }
.notifications-header ol { display:flex; margin:0; padding:0; list-style:none; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.notifications-header>div { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem; padding-bottom:.8rem; }
.notifications-header>div>div:first-child { flex:1 1 20rem; min-width:0; }
.notifications-header h1 { margin:0; font-size:1.22rem; font-weight:800; letter-spacing:-.015em; }
.notifications-header p { margin:.1rem 0 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.notifications-header-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.notifications-header-actions form { margin:0; padding:0; border:0; background:transparent; }
.notifications-header-actions .button-link,.notifications-header-actions button { min-height:2.4rem; padding:.4rem .9rem; }
.notifications-columns { display:grid; grid-template-columns:minmax(0,232px) minmax(0,1fr); gap:14px; align-items:start; padding:14px 1.5rem 2rem; }
.notification-filters { position:sticky; top:14px; display:block; overflow:hidden; padding:0; border:1px solid var(--line); border-radius:.7rem; background:#fff; }
.notification-filters header { padding:.8rem 1.1rem; border-bottom:1px solid var(--line); }
.notification-filters h2 { margin:0; font-size:.95rem; font-weight:800; }
.notification-filters>div { display:flex; flex-direction:column; gap:1px; padding:.5rem .55rem; }
.notification-filters .notification-filter-all { border-top:1px solid var(--line-soft); }
.notification-filters a { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.5rem .7rem; border-radius:.4rem; color:var(--ink); font-size:.92rem; font-weight:600; text-decoration:none; }
.notification-filters a:hover { background:var(--paper); }
.notification-filters a[aria-current="page"] { background:#e8eefb; color:var(--brand-dark); font-weight:700; }
.notification-filters a strong { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.notification-filters a strong.notification-filter-unread { color:#c2321b; }
.notification-feed { display:flex; min-width:0; flex-direction:column; gap:14px; }
.notification-group { overflow:hidden; margin:0; padding:0; border:1px solid var(--line); border-radius:.7rem; background:#fff; }
.notification-group>header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; padding:.8rem 1.1rem; border-bottom:1px solid var(--line); }
.notification-group>header h2 { margin:0; font-size:1rem; font-weight:800; }
.notification-group>header p { margin:.1rem 0 0; color:var(--muted); font-size:.86rem; }
.notification-group>header>span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.notification-group ul { margin:0; padding:0; list-style:none; }
.notification { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:.85rem; margin:0; padding:.85rem 1.1rem; border:0; border-bottom:1px solid var(--line-soft); border-left:4px solid var(--line); border-radius:0; background:#fff; box-shadow:none; }
.notification:last-child { border-bottom:0; }
.notification.unread { background:#fbfcfe; }
.notification-danger { border-left-color:#c2321b; }
.notification-brand { border-left-color:var(--brand); }
.notification-accent { border-left-color:var(--accent); }
.notification-dot { width:.6rem; height:.6rem; margin-top:.45rem; border:1px solid var(--line); border-radius:50%; background:transparent; }
.notification.unread .notification-dot { border:0; background:var(--brand); }
.notification-danger.unread .notification-dot { background:#c2321b; }
.notification-accent.unread .notification-dot { background:var(--accent); }
.notification>div { min-width:0; }
.notification>div>strong { font-size:.95rem; }
.notification p { margin:.15rem 0 .3rem; color:var(--muted); font-size:.89rem; }
.notification time { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.notification>a { padding:.35rem .75rem; border:1px solid var(--line); border-radius:.4rem; background:#fff; color:var(--ink); font-size:.85rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.notification>a:hover { border-color:#c9d2e0; background:var(--paper); }
.notification-empty { min-height:16rem; display:grid; align-content:center; justify-items:center; padding:1.5rem; border:1px solid var(--line); border-radius:.7rem; background:#fff; text-align:center; }
.notification-empty h2 { margin:.2rem 0; }
.notification-empty p { color:var(--muted); }
.notification-digest { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; padding:1.1rem 1.25rem; border:1px solid #d3ddf6; border-radius:.7rem; background:#f1f5fe; }
.notification-digest>div { flex:1 1 22rem; min-width:0; }
.notification-digest h2 { margin:0 0 .3rem; color:var(--brand-dark); font-size:1rem; font-weight:800; }
.notification-digest p { margin:0; color:var(--brand-dark); font-size:.9rem; }
.notification-digest .button-link { min-height:2.5rem; padding:.45rem 1.1rem; }
@media (max-width:1080px) { .notifications-columns { grid-template-columns:minmax(0,1fr); } .notification-filters { position:static; } }
@media (max-width:640px) {
  .notifications-header { padding-inline:1rem; }
  .notifications-header>div { align-items:flex-start; flex-direction:column; }
  .notifications-header>div>div:first-child { flex-basis:auto; }
  .notifications-columns { padding:12px 1rem 2rem; }
  .notification { grid-template-columns:auto minmax(0,1fr); }
  .notification>a { grid-column:2; justify-self:start; }
  .notification-digest { align-items:flex-start; flex-direction:column; }
  .notification-digest>div { flex-basis:auto; }
}
.app-shell-content main#main.workspace-settings-main { max-width:none; padding:0 0 4rem; gap:0; }
.workspace-settings-header { display:block; min-height:0; margin:0; padding:.75rem 1.5rem 0; border-bottom:1px solid var(--line); background:#fff; }
.workspace-settings-heading { display:flex; align-items:center; gap:1rem; padding-bottom:.55rem; }
.workspace-settings-heading>div:first-child { flex:1; min-width:0; }
.workspace-settings-heading h1 { margin:0; font-size:1.22rem; }
.workspace-settings-heading p { margin:.1rem 0 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.workspace-settings-actions { display:flex; gap:.5rem; }
.workspace-settings-actions button { min-height:2.4rem; }
.workspace-settings-header .workspace-tabs { margin:0 0 -1px; }
.workspace-tab-panel { min-width:0; padding:14px 1.5rem 0; }
.workspace-tab-panel>section { margin-top:0; }
.account-settings-body { display:flex; min-width:0; flex-direction:column; gap:14px; padding:14px 1.5rem 0; }
.account-settings-body>.notice,.account-settings-body>.error,.account-settings-body>section { margin:0; }
.account-settings-header .workspace-tabs { max-width:34rem; }
.account-tab-panel { gap:14px; }
.account-tab-panel>section,.account-tab-panel>.account-grid article { border-radius:.7rem; }
.account-profile-layout { display:grid; grid-template-columns:minmax(0,1.62fr) minmax(17rem,.72fr); gap:14px; align-items:start; }
.account-profile-main,.account-profile-rail { display:flex; min-width:0; flex-direction:column; gap:14px; }
.account-card { margin:0; padding:0; border:1px solid var(--line); border-radius:.7rem; background:#fff; overflow:hidden; }
.account-card-heading { display:flex; min-height:0; align-items:center; justify-content:space-between; gap:.75rem 1rem; padding:.8rem 1.1rem; border-bottom:1px solid var(--line); }
.account-card-heading h2 { margin:0; font-size:1rem; }
.account-card-heading span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.account-profile-form { display:flex; flex-wrap:wrap; align-items:flex-start; gap:1.5rem; margin:0; padding:1.25rem 1.35rem; border:0; border-radius:0; background:transparent; }
.account-avatar { display:grid; flex:0 0 auto; place-items:center; width:4.5rem; height:4.5rem; border-radius:50%; background:var(--brand); color:#fff; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.5rem; font-weight:700; }
.account-profile-fields { display:grid; flex:1 1 30rem; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 1.5rem; min-width:0; }
.account-profile-fields label { display:flex; min-width:0; flex-direction:column; gap:.3rem; margin:0; }
.account-profile-fields label>span:first-child { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.account-profile-fields input,.account-profile-fields select { width:100%; font-family:"Atkinson Hyperlegible Next",sans-serif; }
.account-profile-fields small { color:var(--muted); font-size:.84rem; }
.account-access-card { border-top:4px solid var(--brand); }
.account-access-list { display:flex; flex-direction:column; gap:.75rem; margin:0; padding:1rem 1.15rem; font-size:.9rem; }
.account-access-list div { display:flex; justify-content:space-between; gap:1rem; }
.account-access-list dt { color:var(--muted); }
.account-access-list dd { margin:0; font-weight:700; text-align:right; }
.account-card-copy { margin:0; padding:1rem 1.15rem; color:var(--muted); }
.account-card-note { margin:0; padding:.8rem 1.15rem; border-top:1px solid var(--line-soft); background:var(--surface); color:var(--muted); font-size:.84rem; }
.account-card-note a { font-weight:700; }
.account-danger-card { border-color:#e6b4aa; }
.account-danger-card .account-card-heading { border-color:#f0d6d0; background:#fdf3f1; }
.account-danger-card .account-card-heading h2 { color:var(--danger); }
.account-danger-body { display:flex; flex-direction:column; gap:.8rem; padding:1rem 1.15rem; }
.account-danger-body p,.account-danger-body small { margin:0; color:var(--muted); }
.account-danger-body button { align-self:stretch; }
.account-danger-body button:disabled { border-color:var(--line); background:#f1f3f7; color:var(--muted); opacity:1; cursor:not-allowed; }
.account-security-layout { display:grid; grid-template-columns:minmax(0,1.62fr) minmax(17rem,.72fr); gap:14px; align-items:start; }
.account-security-main,.account-security-rail { display:flex; min-width:0; flex-direction:column; gap:14px; }
.account-card-body { display:flex; flex-direction:column; gap:1.15rem; padding:1.2rem 1.35rem; }
.account-status-pill { display:inline-flex; padding:.14rem .5rem; border-radius:999px; font-family:"Atkinson Hyperlegible Mono",monospace!important; font-size:.75rem!important; font-weight:700; white-space:nowrap; }
.account-status-pill.is-on { background:#e6f4ef; color:#0f735a!important; }
.account-status-pill.is-off { background:#f1f3f7; color:var(--muted)!important; }
.account-status-pill.is-current { background:var(--brand-wash); color:var(--brand-dark)!important; }
.account-security-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.25rem; margin:0; padding:0 0 1.15rem; border:0; border-bottom:1px solid var(--line-soft); border-radius:0; background:transparent; }
.account-security-form label,.account-enrollment label,.account-email-card label,.account-auth-actions label { display:flex; min-width:0; flex-direction:column; gap:.3rem; margin:0; }
.account-security-form label>span,.account-enrollment label>span,.account-email-card label>span,.account-auth-actions label>span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.account-security-form input,.account-enrollment input,.account-email-card input,.account-auth-actions input { font-family:"Atkinson Hyperlegible Next",sans-serif; }
.account-security-form small { color:var(--muted); font-size:.84rem; }
.account-security-form button { justify-self:start; align-self:end; }
.account-authenticator { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1rem; padding:.9rem 1rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); }
.account-authenticator>div:first-child { flex:1 1 16rem; min-width:0; }
.account-authenticator strong,.account-authenticator span { display:block; }
.account-authenticator span { margin-top:.12rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.account-authenticator form { margin:0; padding:0; border:0; background:transparent; }
.account-auth-actions { display:flex; flex-wrap:wrap; gap:.4rem; }
.account-auth-actions details { position:relative; }
.account-auth-actions summary { display:inline-flex; min-height:2.3rem; align-items:center; padding:.35rem .75rem; border:1px solid var(--line); border-radius:.4rem; background:#fff; font-weight:700; cursor:pointer; list-style:none; }
.account-auth-actions details[open] form { position:absolute; z-index:2; right:0; display:grid; width:min(20rem,80vw); gap:.7rem; margin-top:.35rem; padding:1rem; border:1px solid var(--line); border-radius:.5rem; background:#fff; box-shadow:0 .8rem 2rem rgba(20,24,31,.16); }
.account-enrollment { flex:1 1 100%; display:grid; gap:.75rem; }
.account-enrollment p { margin:0; color:var(--muted); }
.account-enrollment code { overflow-wrap:anywhere; padding:.65rem; border-radius:.35rem; background:#fff; }
.account-recovery-codes { flex:1 1 100%; }
.account-sessions { display:grid; gap:.6rem; }
.account-subheading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.account-subheading h3 { margin:0; font-size:.95rem; }
.account-subheading form { margin:0; padding:0; border:0; background:transparent; }
.account-sessions ul { display:flex; flex-direction:column; gap:1px; margin:0; padding:0; border:1px solid var(--line); border-radius:.5rem; background:var(--line); list-style:none; overflow:hidden; }
.account-sessions li { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; padding:.7rem .9rem; background:#fff; }
.account-sessions li>span:first-child { flex:1 1 14rem; min-width:0; }
.account-sessions li strong,.account-sessions li small { display:block; }
.account-sessions li small { margin-top:.1rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.account-sessions li form { margin:0; padding:0; border:0; background:transparent; }
.account-email-card .account-card-body>p { margin:0; color:var(--muted); }
.account-email-value { overflow-wrap:anywhere; }
.account-email-card details summary { color:var(--brand-dark); font-weight:700; cursor:pointer; }
.account-email-card details form { display:grid; gap:.8rem; margin-top:.8rem; padding:0; border:0; background:transparent; }
.account-security-history { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; }
.account-security-history li { display:flex; justify-content:space-between; gap:1rem; padding-bottom:.65rem; border-bottom:1px solid var(--line-soft); }
.account-security-history span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.74rem; text-align:right; }
.account-notifications-layout { display:grid; grid-template-columns:minmax(0,1.62fr) minmax(17rem,.72fr); gap:14px; align-items:start; }
.account-notifications-layout>div,.account-notifications-layout>aside { min-width:0; }
.account-notification-card>form { display:flex; flex-direction:column; gap:1.2rem; margin:0; padding:1.2rem 1.35rem; border:0; border-radius:0; background:transparent; }
.account-notification-card fieldset { display:flex; flex-direction:column; gap:.85rem; margin:0; padding:0; border:0; }
.account-notification-card legend { margin-bottom:.85rem; font-size:.95rem; font-weight:800; }
.account-notification-row { display:flex; align-items:flex-start; gap:.6rem; margin:0; font-size:.9rem; cursor:pointer; }
.account-notification-row input { flex:0 0 auto; margin-top:.22rem; }
.account-notification-row strong,.account-notification-row small { display:block; }
.account-notification-row small { margin-top:.12rem; color:var(--muted); font-size:.84rem; font-weight:400; }
.account-notification-delivery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 1.5rem; padding-top:1.15rem; border-top:1px solid var(--line-soft); }
.account-notification-delivery label { display:flex; min-width:0; flex-direction:column; gap:.3rem; margin:0; }
.account-notification-delivery label>span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.account-notification-delivery select { font-family:"Atkinson Hyperlegible Next",sans-serif; }
.account-notification-delivery small { color:var(--muted); font-size:.84rem; }
.account-notification-card>form>button { align-self:flex-start; }
.account-preference-history ol { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; }
.account-preference-history li { display:grid; gap:.15rem; padding-bottom:.65rem; border-bottom:1px solid var(--line-soft); }
.account-preference-history li span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.74rem; }
.account-data-layout { display:grid; grid-template-columns:minmax(0,1.62fr) minmax(17rem,.72fr); gap:14px; align-items:start; }
.account-data-layout>div,.account-data-layout>aside { display:flex; min-width:0; flex-direction:column; gap:14px; }
.account-data-export .account-card-body>p,.account-data-trail .account-card-body>p { max-width:48rem; margin:0; color:var(--muted); }
.account-data-export .button-link { align-self:flex-start; }
.account-data-access { border-top:4px solid var(--brand); }
.account-data-access ul { display:flex; flex-direction:column; gap:1px; margin:0; padding:0; background:var(--line); list-style:none; }
.account-data-access li { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1.05rem; background:#fff; }
.account-data-access li div { min-width:0; }
.account-data-access li strong,.account-data-access li small { display:block; overflow-wrap:anywhere; }
.account-data-access li small { margin-top:.1rem; color:var(--muted); }
.account-data-access li>span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.74rem; text-align:right; }
.account-data-access .account-data-empty { color:var(--muted); }
.branding-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(18rem,.85fr); gap:14px; margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.branding-main,.branding-side { display:flex; flex-direction:column; gap:14px; min-width:0; }
.branding-card { margin:0; padding:0; border:1px solid var(--line); border-radius:.7rem; background:#fff; overflow:hidden; }
.branding-card>header { display:flex; min-height:0; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1.1rem; border-bottom:1px solid var(--line); }
.branding-card>header h2 { margin:0; font-size:1rem; }
.branding-card>header>span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.branding-card-body { padding:1.25rem 1.35rem; }
.branding-card>footer { padding:.8rem 1.15rem; border-top:1px solid var(--line); background:var(--surface); color:var(--muted); font-size:.84rem; }
.branding-logo-card .branding-card-body { display:flex; flex-wrap:wrap; gap:1.25rem; }
.branding-logo-file { flex:1 1 16rem; display:flex; align-items:center; gap:.9rem; padding:1rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); }
.branding-logo-file img,.branding-monogram { display:grid; place-items:center; width:3rem; height:3rem; object-fit:contain; border-radius:.4rem; background:var(--ink); color:#fff; font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.branding-logo-file span:last-child,.branding-logo-file strong,.branding-logo-file small { display:block; min-width:0; }
.branding-logo-file small { color:var(--muted); }
.branding-logo-actions { flex:1 1 12rem; display:flex; flex-direction:column; justify-content:center; gap:.5rem; }
.branding-logo-actions label { cursor:pointer; }
.branding-logo-actions .danger { color:#b52f1d; border-color:#e6b4aa; }
.branding-accent-card fieldset { margin:0 0 1.25rem; padding:0; border:0; }
.branding-accent-card legend,.branding-field>span:first-child { margin-bottom:.55rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.branding-swatches { display:flex; flex-wrap:wrap; gap:.7rem; }
.branding-swatch { position:relative; display:flex; min-width:8.2rem; align-items:center; gap:.55rem; padding:.5rem .7rem; border:1px solid var(--line); border-radius:.45rem; cursor:pointer; }
.branding-swatch:has(input:checked) { border:2px solid #1b4dd1; padding:calc(.5rem - 1px) calc(.7rem - 1px); background:#f1f5fe; }
.branding-swatch input { position:absolute; opacity:0; }
.branding-swatch i,.branding-colour-input>i { width:1.1rem; height:1.1rem; border-radius:.25rem; background:var(--swatch); }
.branding-swatch-copy { display:flex; min-width:0; flex-direction:column; align-items:flex-start; line-height:1.15; }
.branding-swatch-copy strong { white-space:nowrap; }
.branding-swatch-copy small { margin-top:.18rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; }
.branding-valid { padding:.12rem .5rem; border-radius:999px; background:#e6f4ef; color:#0f735a!important; font-weight:700; }
.branding-valid.is-invalid { background:#fdf3f1; color:var(--danger)!important; }
.branding-field { display:flex; flex-direction:column; gap:.3rem; }
.branding-field+.branding-field { margin-top:1.15rem; }
.branding-field input,.branding-field textarea { font-family:"Atkinson Hyperlegible Next",sans-serif; }
.branding-field small { color:var(--muted); }
.branding-colour-input { display:flex; gap:.5rem; align-items:center; }
.branding-colour-input>i { width:2.5rem; height:2.5rem; border:1px solid var(--line); flex:0 0 auto; }
.branding-colour-input input { flex:1; font-family:"Atkinson Hyperlegible Mono",monospace; }
.branding-credit { display:flex; gap:.55rem; align-items:flex-start; margin-top:1.25rem; }
.branding-credit strong,.branding-credit small { display:block; }
.branding-credit small { margin-top:.2rem; color:var(--muted); }
.branding-preview-stage { width:100%; padding:1.1rem; background:#eef1f6; }
.branding-card.branding-preview { display:block; justify-items:normal; gap:0; margin:0; }
.branding-report { width:100%; border:1px solid var(--line); background:#fff; box-shadow:0 2px 8px rgba(20,24,31,.06); }
.branding-report>header { display:flex; min-height:0; align-items:center; justify-content:space-between; padding:.9rem 1rem; background:var(--ink); color:#fff; }
.branding-report>header small,.branding-report>header strong { display:block; }
.branding-report>header small { color:#ffb020; font-family:"Atkinson Hyperlegible Mono",monospace; text-transform:uppercase; }
.branding-report>header img,.branding-report>header>span { display:grid; place-items:center; width:2rem; height:2rem; object-fit:contain; border-radius:.3rem; color:var(--ink); font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.branding-report>header img { width:min(7rem,42%); background:transparent; object-position:right center; }
.branding-report>header>span { background:#fff; }
.branding-report-score { display:flex; align-items:center; gap:.9rem; padding:1rem; }
.branding-report-score svg { display:block; width:5.25rem; height:5.25rem; flex:0 0 auto; }
.branding-report-score b { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.5rem; color:var(--report-accent); }
.branding-report-score span { display:block; margin-top:.25rem; color:#0f7a5f; font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.branding-report-lines { padding:0 1rem 1rem; }
.branding-report-lines i { display:block; width:100%; height:.35rem; border-radius:99px; background:#edf0f5; }
.branding-report-lines i:last-child { width:70%; margin-top:.35rem; }
.branding-card.branding-preview>footer { width:100%; max-width:none; margin:0; }
.branding-custom-colour { padding:.7rem; border:1px solid transparent; border-radius:.55rem; }
.branding-custom-colour.is-selected { border-color:#b9c9f6; background:#f1f5fe; }
.branding-client-list { margin:0; padding:0; list-style:none; }
.branding-client-list li { display:flex; justify-content:space-between; gap:1rem; padding:.65rem 1.15rem; border-bottom:1px solid #edf0f5; }
.branding-client-list small { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; }
.branding-client-list .empty { color:var(--muted); }
.branding-footer-actions { display:flex; justify-content:flex-end; padding:.15rem 0; }
.workspace-feature-lock { padding:1.25rem; border:1px dashed #aab4c4; border-radius:.9rem; background:#f7f9fc; }
.workspace-audit-list { margin:1rem 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.workspace-audit-list li { display:grid; grid-template-columns:8rem minmax(0,1fr); gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.workspace-audit-list p { margin:.25rem 0; color:var(--muted); }
.workspace-audit-list small { display:block; }
.billing-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(17rem,1fr); gap:14px; align-items:start; }
.billing-main,.billing-side { display:flex; flex-direction:column; gap:14px; min-width:0; }
.billing-card { margin:0; padding:0; border:1px solid var(--line); border-radius:.7rem; background:#fff; overflow:hidden; }
.billing-card>header { display:flex; min-height:0; align-items:center; justify-content:space-between; gap:.75rem; padding:.8rem 1.1rem; border-bottom:1px solid var(--line); background:#fff; }
.billing-card>header h2 { margin:0; font-size:1rem; }
.billing-card>header span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.billing-card-body { padding:1rem 1.15rem; }
.billing-card-body>:first-child { margin-top:0; }
.billing-card-body>:last-child { margin-bottom:0; }
.billing-usage-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 2rem; margin:0; padding:1.25rem 1.35rem; }
.billing-usage-item>div { display:flex; justify-content:space-between; gap:.75rem; font-size:.9rem; }
.billing-usage-label { color:var(--muted); }
.billing-usage-value { font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.billing-meter { display:block; height:.42rem; margin-top:.35rem; overflow:hidden; border-radius:999px; background:#edf0f5; }
.billing-meter i { display:block; height:100%; border-radius:inherit; background:var(--brand); }
.billing-usage-item.warning .billing-meter i { background:var(--accent); }
.billing-card-footer { margin:0; padding:.8rem 1.35rem; border-top:1px solid var(--line); background:var(--paper); color:var(--muted); font-size:.86rem; }
.billing-table { min-width:36rem; margin:0; }
.billing-table th,.billing-table td { padding:.7rem 1.1rem; }
.billing-table thead th { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; }
.billing-table .numeric { text-align:right; font-family:"Atkinson Hyperlegible Mono",monospace; }
.billing-status { display:inline-block; padding:.12rem .5rem; border-radius:999px; background:#f1f3f7; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; }
.billing-status.status-completed { background:#e6f4ef; color:#0f7a5f; }
.billing-status.status-failed { background:#fdf3f1; color:var(--danger); }
.billing-empty { padding:1.25rem 1.35rem; }
.billing-empty p { max-width:42rem; margin:.35rem 0 0; color:var(--muted); }
.billing-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem 2rem; padding:1.25rem 1.35rem; }
.billing-details span,.billing-kicker { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.billing-details p { margin:.25rem 0 0; }
.billing-card-actions { padding:0 1.35rem 1.15rem; }
.billing-card-actions form { margin:0; padding:0; border:0; background:transparent; }
.billing-event-list { display:flex; flex-direction:column; gap:.75rem; margin:0; padding:0; list-style:none; }
.billing-event-list li { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:.25rem 1rem; padding-bottom:.75rem; border-bottom:1px solid var(--line-soft); }
.billing-event-list li>div { min-width:0; flex:1 1 18rem; }
.billing-event-list li p { margin:.2rem 0 0; color:var(--muted); font-size:.86rem; }
.billing-event-list li:last-child { padding-bottom:0; border-bottom:0; }
.billing-event-list span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.billing-package-card { border-top:4px solid var(--brand); }
.billing-package-card h2 { margin:.25rem 0; font-size:1.35rem; }
.billing-package-card .billing-card-body>p { color:var(--muted); font-size:.88rem; }
.billing-package-card>dl { display:flex; flex-direction:column; gap:.7rem; margin:0; padding:1rem 1.15rem; border-top:1px solid var(--line); }
.billing-package-card>dl>div { display:flex; justify-content:space-between; gap:1rem; }
.billing-package-card dt { color:var(--muted); }
.billing-package-card dd { margin:0; text-align:right; font-weight:700; }
.billing-package-actions { padding:0 1.15rem 1.15rem; }
.billing-package-actions .button-link { width:100%; justify-content:center; }
.billing-limit-card .billing-card-body { border-left:4px solid var(--accent); }
.billing-cancel-card { border-color:#e6b4aa; }
.billing-cancel-card>header { background:#fdf3f1; border-bottom-color:#f0d6d0; }
.billing-cancel-card>header h2 { color:var(--danger); }
.billing-layout--restricted { grid-template-columns:minmax(0,2fr) minmax(17rem,1fr); }
.billing-restricted-card { grid-column:1; }
.billing-restricted-card>header { border-top:4px solid var(--brand); }
.billing-restricted-card footer { padding:.8rem 1.15rem; border-top:1px solid var(--line); background:var(--surface); color:var(--muted); font-size:.86rem; }
.billing-restricted-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem 2rem; margin:1.25rem 0 0; }
.billing-restricted-facts dt { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.billing-restricted-facts dd { margin:.2rem 0 0; font-weight:700; }

/* Workspace data follows the supplied two-column card composition. The copy stays factual where
   the handover anticipated capabilities that are not yet implemented. */
.data-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(17rem,1fr); gap:14px; align-items:start; }
.data-main,.data-side { display:flex; min-width:0; flex-direction:column; gap:14px; }
.data-card { min-width:0; margin:0; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:.7rem; background:#fff; }
.data-card>header { display:flex; min-height:0; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.45rem 1rem; padding:.8rem 1.1rem; border-bottom:1px solid var(--line); background:#fff; }
.data-card>header h2 { margin:0; font-size:1rem; }
.data-card>header span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.data-card>footer { padding:.8rem 1.35rem; border-top:1px solid var(--line); background:var(--surface); color:var(--muted); font-size:.84rem; }
.data-card>footer p { margin:0; }
.data-card-body { display:flex; flex-direction:column; gap:1rem; padding:1.2rem 1.35rem; }
.data-card-body>p { margin:0; color:var(--muted); font-size:.9rem; }
.data-retention-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 2rem; padding:1.25rem 1.35rem; }
.data-retention-field { display:grid; min-width:0; gap:.55rem; margin:0; padding:0; border:0; background:transparent; }
.data-retention-field label,.data-retention-field.is-fixed { flex-direction:column; align-items:stretch; }
.data-retention-field label { display:flex; min-width:0; flex:1; gap:.3rem; margin:0; }
.data-retention-field label>span,.data-field-label { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.data-retention-field select { width:100%; font-family:"Atkinson Hyperlegible Next",sans-serif; font-size:.9rem; font-weight:600; }
.data-retention-field small { min-height:2.6em; color:var(--muted); font-size:.82rem; line-height:1.3; }
.data-retention-field.is-fixed strong { display:flex; align-items:center; min-height:2.75rem; padding:.5rem .65rem; border:1px solid var(--line); border-radius:.4rem; background:var(--surface); font-size:.9rem; }
.data-retention-actions { display:flex; justify-content:flex-start; }
.data-retention-field button { min-height:2.35rem; padding:.35rem .8rem; }
.data-history { margin:0 1.35rem 1.15rem; padding-top:.8rem; border-top:1px solid var(--line-soft); }
.data-history summary,.data-schedules summary { color:var(--brand-dark); font-weight:700; cursor:pointer; }
.data-history ol { display:grid; gap:.55rem; margin:.8rem 0 0; padding:0; list-style:none; }
.data-history li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.25rem 1rem; font-size:.84rem; }
.data-history li span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.data-export-request { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.6rem; margin:0; padding:0; border:0; background:transparent; }
.data-export-request label { display:flex; flex-direction:column; gap:.25rem; margin:0; }
.data-export-request label>span,.data-schedule-form label { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.data-export-request small { flex:1 1 14rem; align-self:center; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.data-export-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem .9rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); }
.data-export-row strong,.data-export-row small { display:block; }
.data-export-row small { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.data-export-row>a,.data-export-row>span { flex:0 0 auto; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; font-weight:700; }
.data-empty { padding:.75rem .9rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); }
.data-schedules { padding-top:.8rem; border-top:1px solid var(--line-soft); }
.data-schedules summary span { display:inline-grid; place-items:center; min-width:1.5rem; min-height:1.5rem; margin-left:.35rem; border-radius:999px; background:var(--brand-wash); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; }
.data-schedules ul { display:grid; gap:.55rem; margin:.85rem 0; padding:0; list-style:none; }
.data-schedules li { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.65rem .75rem; border:1px solid var(--line-soft); border-radius:.45rem; }
.data-schedules li strong,.data-schedules li small { display:block; }
.data-schedules li small { color:var(--muted); font-size:.78rem; }
.data-schedules li form { margin:0; padding:0; border:0; background:transparent; }
.data-schedule-form { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:.6rem; margin:.85rem 0 0; padding:.9rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); }
.data-schedule-form label { display:flex; flex-direction:column; gap:.25rem; margin:0; }
.data-location-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 2rem; margin:0; padding:1.25rem 1.35rem; }
.data-location-list dt { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.data-location-list dd { margin:.2rem 0 0; font-size:.94rem; font-weight:600; }
.data-location-list dd small { display:block; color:var(--muted); font-size:.82rem; font-weight:400; }
.data-location-list dd small a { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; font-weight:700; text-decoration:none; }
.data-storage-card { border-top:4px solid var(--brand); }
.data-storage-list { display:flex; flex-direction:column; gap:.78rem; margin:0; padding:1rem 1.15rem; font-size:.88rem; }
.data-storage-list>div { display:flex; justify-content:space-between; gap:1rem; }
.data-storage-list dt { color:var(--muted); }
.data-storage-list dd { margin:0; font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.data-storage-list .is-total { padding-top:.75rem; border-top:1px solid var(--line); }
.data-storage-list .is-total dt { color:var(--ink); font-weight:700; }
.data-danger-card { border-color:#e6b4aa; }
.data-danger-card>header { border-bottom-color:#f0d6d0; background:#fdf3f1; }
.data-danger-card>header h2 { color:var(--danger); }
.data-danger-card .button-link.danger { justify-content:center; border-color:#e6b4aa; background:#fff; color:var(--danger); }
.data-danger-card .button-link.danger:hover { border-color:var(--danger); background:#fdf3f1; }
.data-export-lock .button-link { align-self:flex-start; }

.advanced-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(17rem,1fr); gap:14px; align-items:start; }
.advanced-main,.advanced-side { display:flex; min-width:0; flex-direction:column; gap:14px; }
.advanced-card { min-width:0; margin:0; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:.7rem; background:#fff; }
.advanced-card>header { display:flex; min-height:0; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.45rem 1rem; padding:.8rem 1.1rem; border-bottom:1px solid var(--line); background:#fff; }
.advanced-card>header h2 { margin:0; font-size:1rem; }
.advanced-card>header span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.advanced-card-body { display:flex; flex-direction:column; gap:1rem; padding:1.2rem 1.35rem; }
.advanced-card-body>p { max-width:46rem; margin:0; color:var(--muted); font-size:.9rem; }
.advanced-token-once { display:grid; gap:.5rem; margin:1.2rem 1.35rem 0; padding:1rem; border:1px solid #b9c9ef; border-radius:.55rem; background:var(--brand-wash); }
.advanced-token-once code { display:block; max-width:100%; overflow-wrap:anywhere; padding:.7rem; border-radius:.35rem; background:#fff; font-size:.78rem; user-select:all; }
.advanced-token-list,.advanced-workflow-list { display:grid; gap:.6rem; margin:0; padding:0; list-style:none; }
.advanced-token-list>li { display:grid; grid-template-columns:minmax(9rem,1fr) minmax(18rem,1.8fr) auto; align-items:center; gap:1rem; padding:.8rem .9rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); }
.advanced-token-list>li>div strong,.advanced-token-list>li>div code { display:block; }
.advanced-token-list>li>div code { margin-top:.15rem; color:var(--muted); font-size:.76rem; }
.advanced-token-list dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin:0; }
.advanced-token-list dl>div { min-width:0; }
.advanced-token-list dt { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; }
.advanced-token-list dd { margin:.12rem 0 0; font-size:.8rem; }
.advanced-token-list form { margin:0; padding:0; border:0; background:transparent; }
.advanced-token-list .is-disabled,.advanced-workflow-list .is-disabled { border-style:dashed; background:var(--surface); }
.advanced-token-list .advanced-empty { display:flex; flex-direction:column; align-items:flex-start; gap:.2rem; }
.advanced-empty span { color:var(--muted); font-size:.84rem; }
.advanced-create-form { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(8rem,.7fr) auto; align-items:end; gap:.65rem; margin:0; padding:1rem; border:1px solid var(--line); border-radius:.55rem; background:#fff; }
.advanced-create-form label,.advanced-workflow-form label { display:flex; flex-direction:column; gap:.25rem; margin:0; }
.advanced-create-form label>span,.advanced-workflow-form label>span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.advanced-quickstart { padding-top:.8rem; border-top:1px solid var(--line-soft); }
.advanced-quickstart summary { color:var(--brand-dark); font-weight:700; cursor:pointer; }
.advanced-quickstart pre { max-width:100%; overflow:auto; padding:.85rem; border-radius:.5rem; background:var(--dark); color:#fff; }
.advanced-quickstart p { margin:.5rem 0 0; color:var(--muted); font-size:.82rem; }
.advanced-workflow-list>li { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:.75rem; padding:.75rem .9rem; border:1px solid var(--line); border-radius:.5rem; }
.advanced-workflow-list>li>div strong,.advanced-workflow-list>li>div small { display:block; }
.advanced-workflow-list>li>div small { margin-top:.12rem; color:var(--muted); font-size:.8rem; }
.advanced-position { display:grid; place-items:center; min-width:2.25rem; height:2.25rem; border-radius:.45rem; background:var(--brand-wash); color:var(--brand-dark); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; }
.advanced-status { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.74rem; white-space:nowrap; }
.advanced-workflow-list form { margin:0; padding:0; border:0; background:transparent; }
.advanced-workflow-form { display:grid; grid-template-columns:minmax(8rem,1fr) minmax(10rem,1.25fr) 5.5rem auto; align-items:end; gap:.65rem; margin:0; padding:1rem; border:1px solid var(--line); border-radius:.55rem; background:var(--surface); }
.advanced-workflow-form button { padding-inline:.7rem; white-space:nowrap; }
.advanced-readonly { padding:.75rem .9rem; border-left:4px solid var(--brand); background:var(--surface); }
.advanced-capacity-card { border-top:4px solid var(--brand); }
.advanced-capacity-list { display:flex; flex-direction:column; gap:.8rem; margin:0; padding:1rem 1.15rem; }
.advanced-capacity-list>div { display:flex; justify-content:space-between; gap:1rem; }
.advanced-capacity-list dt { color:var(--muted); }
.advanced-capacity-list dd { margin:0; text-align:right; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.82rem; font-weight:700; }
.advanced-safeguards { display:grid; gap:.65rem; margin:0; padding-left:1.15rem; }
.advanced-safeguards li::marker { color:var(--success); }
.advanced-lock .button-link { align-self:flex-start; }
@media (max-width:1200px) and (min-width:761px) {
  .app-filter-bar,.audit-filters { grid-template-columns:minmax(12rem,1.4fr) minmax(8rem,1fr) minmax(9rem,1fr) auto auto; }
  .audit-result-count { grid-column:1 / -1; }
}
@media (max-width:760px) {
  .portfolio-hero .page-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; flex-shrink:1; }
  .portfolio-hero .page-stats span { min-width:0; white-space:normal; }
  .portfolio-workspace>header { align-items:flex-start; flex-wrap:wrap; }
  .portfolio-workspace>header form,.portfolio-workspace>header button { width:100%; }
  .portfolio-workspace-create>header { display:block; }
  .portfolio-workspace-create>header p { margin-top:.4rem; }
  .portfolio-heatmap-footer { align-items:flex-start; flex-direction:column; }
  .workspace-settings-header { padding-left:1rem; padding-right:1rem; }
  .workspace-tab-panel { padding-left:1rem; padding-right:1rem; }
  .account-settings-body { padding-left:1rem; padding-right:1rem; }
  .workspace-settings-heading { align-items:flex-start; flex-wrap:wrap; }
  .workspace-settings-heading>div:first-child { flex:1 1 100%; }
  .workspace-settings-heading>a,.workspace-settings-heading>button { width:100%; justify-content:center; }
  .workspace-settings-actions { display:none; }
  .workspace-settings-header .workspace-tabs { display:flex; flex-wrap:wrap; }
  .account-settings-header .account-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }
  .workspace-tabs a { justify-content:flex-start; text-align:left; }
  .account-profile-layout { grid-template-columns:1fr; }
  .account-security-layout { grid-template-columns:1fr; }
  .account-notifications-layout { grid-template-columns:1fr; }
  .account-data-layout { grid-template-columns:1fr; }
  .account-profile-fields { grid-template-columns:1fr; }
  .account-security-form { grid-template-columns:1fr; }
  .account-notification-delivery { grid-template-columns:1fr; }
  .account-notification-card .account-card-heading { align-items:flex-start; flex-direction:column; }
  .account-profile-form { padding:1rem; }
  .account-avatar { width:3.75rem; height:3.75rem; font-size:1.2rem; }
  .branding-layout { grid-template-columns:1fr; }
  .branding-managed { grid-template-columns:1fr; }
  .branding-footer-actions button { width:100%; }
  .workspace-audit-list li { grid-template-columns:1fr; gap:.45rem; }
  .billing-layout { grid-template-columns:1fr; }
  .billing-side { order:-1; }
  .billing-usage-grid,.billing-details { grid-template-columns:1fr; }
  .members-layout { grid-template-columns:1fr; }
  .app-form-grid.portfolio-workspace-form { grid-template-columns:1fr; }
  .members-table { min-width:0; }
  .members-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .members-table,.members-table tbody,.members-table tr,.members-table th,.members-table td { display:block; }
  .members-table tr { position:relative; padding:.85rem 5.5rem .85rem 1rem; border-bottom:1px solid var(--line-soft); }
  .members-table th,.members-table td,.members-table th:first-child,.members-table td:last-child { padding:.12rem 0; border:0; text-align:left; }
  .members-table td:last-child { position:absolute; top:1rem; right:1rem; }
  .member-action>div { position:fixed; inset:auto 1rem 1rem; width:auto; }
  .pending-actions { width:100%; }
  .pending-actions form { flex:1; }
  .pending-actions button { width:100%; }
  .app-filter-bar,.audit-filters { grid-template-columns:minmax(0,1fr); }
  .app-filter-bar>*,.audit-filters>* { width:100%; min-width:0; }
  .audit-result-count { justify-self:start; }
  .audit-table { min-width:0; }
  .audit-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .audit-table,.audit-table tbody,.audit-table tr,.audit-table th,.audit-table td { display:block; }
  .audit-table tr { position:relative; padding:.8rem 1rem .8rem 2.2rem; border-bottom:1px solid var(--line-soft); }
  .audit-table th,.audit-table td,.audit-table th:first-child,.audit-table td:first-child { width:auto; padding:.12rem 0; border:0; }
  .audit-table td:first-child { position:absolute; top:.85rem; left:1rem; }
  .audit-guide>div { grid-template-columns:1fr; }
  .data-layout { grid-template-columns:1fr; }
  .data-retention-grid,.data-location-list { grid-template-columns:1fr; }
  .data-retention-field { align-items:stretch; }
  .data-retention-field button { align-self:flex-start; }
  .data-schedule-form { grid-template-columns:1fr; }
  .advanced-layout { grid-template-columns:1fr; }
  .advanced-side { order:-1; }
  .advanced-token-list>li { grid-template-columns:1fr; }
  .advanced-token-list dl { grid-template-columns:1fr 1fr; }
  .advanced-token-list form button { width:100%; }
  .advanced-create-form,.advanced-workflow-form { grid-template-columns:1fr; }
  .advanced-workflow-list>li { grid-template-columns:auto minmax(0,1fr); }
  .advanced-workflow-list .advanced-status { grid-column:2; }
  .advanced-workflow-list form { grid-column:1 / -1; }
  .advanced-workflow-list form button { width:100%; }
}
@media (max-width:420px) {
  .branding-card>header { align-items:flex-start; }
  .branding-card>header>span { text-align:right; }
  .branding-swatches { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .branding-swatch { min-width:0; }
}
.site-list-hero { align-items:end; }
.finding-state-stats { display:grid; width:min(100%,35rem); min-width:0; grid-template-columns:repeat(5,minmax(0,1fr)); }
.findings-group-tabs { margin:1rem 0; }
.findings-filters { display:grid; grid-template-columns:minmax(12rem,1.5fr) repeat(3,minmax(9rem,1fr)) auto auto; align-items:end; }
.site-findings-list { padding:0; border:0; background:transparent; }
.finding-group { margin:0 0 1rem; border:1px solid var(--line); border-radius:.9rem; background:#fff; overflow:hidden; }
.finding-group>h3 { margin:0; padding:.85rem 1rem; border-bottom:1px solid var(--line); background:var(--surface); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; overflow-wrap:anywhere; }
.site-finding-row { display:grid; grid-template-columns:7.5rem minmax(0,1.6fr) minmax(10rem,.75fr) auto; gap:1rem; align-items:center; padding:1rem; }
.site-finding-row+.site-finding-row { border-top:1px solid var(--line); }
.site-finding-row h3,.site-finding-row p { margin:.2rem 0; }
.site-finding-shot { display:grid; place-items:center; width:7.5rem; height:5rem; border:1px solid var(--line); border-radius:.55rem; overflow:hidden; background:var(--surface); color:var(--muted); text-align:center; font-size:.72rem; }
.site-finding-shot img { width:100%; height:100%; object-fit:contain; }
.site-finding-row dl { display:grid; grid-template-columns:auto 1fr; gap:.25rem .6rem; margin:0; font-size:.8rem; }
.site-finding-row dt { color:var(--muted); }
.site-finding-row dd { margin:0; overflow-wrap:anywhere; }
.scan-month-meter { min-width:16rem; padding:1rem; border-radius:.8rem; background:var(--ink); color:#fff; }
.scan-month-meter>strong,.scan-month-meter>span { display:block; }
.scan-month-meter>strong { font-size:1.5rem; }
.scan-month-meter>span { color:#c8ced9; }
.scan-month-meter>div { display:grid; grid-template-columns:repeat(10,1fr); gap:.25rem; margin-top:.75rem; }
.scan-month-meter>div span { height:.45rem; border-radius:999px; background:#344052; }
.scan-month-meter>div span.used { background:var(--accent); }
.single-page-scan { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.25rem; border:1px solid #c7d7f9; background:#f0f5ff; }
.single-page-scan h2,.single-page-scan p { margin:.2rem 0; }
.single-page-scan form { margin:0; padding:0; border:0; background:transparent; }
.site-scan-history { padding:0; overflow:hidden; }
.site-scan-history>h2 { margin:0; padding:1rem 1.15rem; border-bottom:1px solid var(--line); font-size:1.25rem; }
.site-scan-history>.trend-list { padding:1.15rem; }
@media (max-width:1000px) {
  .findings-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-finding-row { grid-template-columns:6rem minmax(0,1fr) auto; }
  .site-finding-shot { width:6rem; }
  .site-finding-row dl { grid-column:2; }
}
@media (max-width:700px) {
  .finding-state-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-finding-row { grid-template-columns:5.5rem minmax(0,1fr); align-items:start; }
  .site-finding-shot { width:5.5rem; height:4.5rem; }
  .site-finding-row dl,.site-finding-row>.button-link { grid-column:1/-1; }
  .single-page-scan { align-items:flex-start; flex-direction:column; }
}
@media (max-width:480px) { .findings-filters { grid-template-columns:1fr; } .scan-month-meter { min-width:0; width:100%; box-sizing:border-box; } }
nav form, .actions form, .site form, td form { border:0; padding:0; background:none; }
.login-form { max-width:24rem; margin:0 auto; display:grid; gap:1rem; }
.login-form h1 { margin:0; font-size:1.6rem; }
.login-register-callout { max-width:24rem; margin:1.25rem auto 0; text-align:center; color:var(--muted); }
.order-flow { container-type:inline-size; width:min(100% - 2rem,62rem); margin:3rem auto 5rem; }
.order-flow--website { width:min(100% - 2rem,48rem); }
.start-step { max-width:62rem; margin:0 auto; }
.order-flow .start-step,.order-account-layout > section { padding:0; border:0; border-radius:0; background:transparent; }
.start-step h1,.order-account-layout h1 { max-width:38rem; margin:.25rem 0 .35rem; font-size:clamp(2rem,5cqw,3rem); line-height:1.08; letter-spacing:-.035em; }
.start-intro { max-width:38rem; margin:.35rem 0 1.6rem; color:var(--muted); font-size:1.05rem; }
.start-domain-form { max-width:42rem; margin:1.75rem 0 0; display:grid; gap:1rem; text-align:left; }
.start-domain-form,.order-account-layout .order-form { padding:0; border:0; border-radius:0; background:transparent; }
.start-domain-form label,.order-form label { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.73rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.start-domain-form input { min-height:4rem; padding:.85rem 1rem; border:2px solid var(--ink); font-size:1.25rem; font-weight:700; letter-spacing:0; text-transform:none; }
.start-submit-row { display:flex; align-items:center; gap:1rem; }
.start-submit-row button { min-width:9rem; }
.start-submit-row span { color:var(--muted); font-size:.82rem; }
.start-reassurance { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1.5rem; max-width:42rem; margin:1.4rem 0 0; padding:1.2rem 0 0; border-top:1px solid var(--line); list-style:none; color:var(--muted); font-size:.82rem; }
.start-reassurance li::before,.start-feature-list li::before { content:"✓"; margin-right:.45rem; color:var(--success); font-weight:800; }
/* 1 column below 32rem, 2 above — the fixed Free/Solo comparison shape. */
.start-compare { display:grid; grid-template-columns:1fr; gap:1rem; margin-top:1.75rem; }
@container (min-width:32rem) { .start-compare { grid-template-columns:repeat(2,1fr); } }
.start-option { position:relative; display:flex; flex-direction:column; min-height:25rem; padding:0; border:1px solid var(--line); border-radius:.65rem; background:#fff; overflow:hidden; }
.start-option--highlight { border:2px solid var(--brand); box-shadow:none; overflow:hidden; }
.start-option-head { position:relative; display:flex; flex-direction:column; gap:.55rem; padding:1.5rem 1.5rem 1.25rem; }
.start-option--highlight .start-option-head { background:var(--blue-tint); }
.start-option-body { display:flex; flex:1; flex-direction:column; padding:0 1.5rem 1.5rem; }
.start-picked { position:absolute; top:1rem; right:1rem; padding:.2rem .5rem; border-radius:.3rem; background:var(--brand); color:#fff; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; font-weight:700; }
.start-option-name { font-size:1.25rem; font-weight:800; }
.start-option-price { color:var(--ink); font-size:1.65rem; font-weight:800; }
.start-option-price small { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:600; }
.start-domain-inline { font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; color:var(--ink); }
.start-option-head > p { min-height:3.2rem; margin:.1rem 0 .5rem; color:var(--muted); }
.start-feature-list { display:grid; gap:.45rem; margin:.25rem 0 1rem; padding:1rem 0 0; border-top:1px solid var(--line-soft); list-style:none; font-size:.88rem; }
.start-option .button-link { margin-top:auto; text-align:center; justify-content:center; }
.start-compare-all { margin:1.25rem 0 0; padding-top:1rem; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }
.order-summary { max-width:26rem; margin:0 auto; text-align:left; }
.order-summary h1 { margin:.35rem 0; font-size:1.9rem; }
.order-fineprint { margin-top:.75rem; color:var(--muted); font-size:.85rem; }
.order-breakdown { display:grid; grid-template-columns:1fr auto; gap:.3rem .75rem; margin:.75rem 0 0; padding:.75rem 1rem; border:1px solid var(--line); border-radius:.55rem; background:var(--surface); font-size:.9rem; }
.order-breakdown dt { color:var(--muted); }
.order-breakdown dd { margin:0; text-align:right; font-weight:700; }
.order-form { max-width:26rem; margin:1.5rem auto 0; display:grid; gap:1rem; }
.order-form input,.order-form select,.order-form textarea { font-family:"Atkinson Hyperlegible Next",Arial,sans-serif; font-size:1rem; font-weight:400; letter-spacing:0; text-transform:none; }
.order-form label small,.order-field small { font-family:"Atkinson Hyperlegible Next",Arial,sans-serif; font-size:.78rem; font-weight:400; letter-spacing:0; line-height:1.4; text-transform:none; color:var(--muted); }
.order-field { display:grid; gap:.35rem; }
.order-field label { display:block; }
.order-domain { margin:0; padding:.75rem 1rem; border:1px solid var(--line); border-radius:.55rem; background:var(--surface); }
.order-domain--confirmed { display:grid; gap:.1rem; max-width:30rem; margin:1.25rem 0; border-color:#cfdbf8; background:var(--blue-tint); color:var(--brand); }
.order-domain--confirmed span { color:var(--muted); font-size:.78rem; }
.order-account-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,22rem); gap:clamp(2rem,7cqw,5rem); align-items:start; }
.order-account-layout .order-form { max-width:30rem; margin:1.25rem 0 0; }
.order-account-layout--paid { grid-template-columns:minmax(0,1fr) minmax(20rem,24rem); }
.order-next { padding:1.7rem; border-radius:.65rem; background:var(--ink); color:#fff; }
.order-next .eyebrow { color:var(--accent); }
.order-next h2 { margin:.25rem 0 .8rem; font-size:1.35rem; line-height:1.15; }
.order-next > p:not(.eyebrow) { color:var(--dark-secondary); font-size:.88rem; }
.order-next ol { display:grid; gap:.75rem; margin:1.25rem 0; padding-left:1.5rem; color:#e6eaf1; font-size:.86rem; }
.order-next li::marker { color:var(--accent); font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.order-next-note { display:grid; gap:.25rem; margin-top:1.3rem; padding:1rem; border:1px solid var(--dark-line); border-radius:.45rem; background:#19212c; }
.order-next-note span { color:var(--dark-secondary); font-size:.78rem; }
.order-price-box h3 { margin:1.35rem 0 .55rem; color:#fff; font-size:.78rem; font-family:"Atkinson Hyperlegible Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.order-interval { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:1.2rem 0; padding:.25rem; border-radius:.4rem; background:#202a37; }
.order-interval a { padding:.45rem .35rem; border-radius:.3rem; color:var(--dark-secondary); font-size:.75rem; text-align:center; text-decoration:none; }
.order-interval a[aria-current="page"] { background:#fff; color:var(--ink); }
.order-interval span { padding:.05rem .3rem; border-radius:999px; background:var(--accent); color:var(--ink); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.62rem; font-weight:700; }
.order-price { margin:.7rem 0 1rem; }
.order-price strong { color:#fff; font-size:2.3rem; line-height:1; }
.order-price span { color:var(--dark-secondary); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; }
.order-price-box .order-breakdown { border-color:var(--dark-line); background:#19212c; color:#fff; }
.order-price-box .order-breakdown dt { color:var(--dark-secondary); }
.order-price-terms { margin:1.25rem 0 0; color:var(--dark-secondary) !important; font-size:.75rem !important; }
.order-payment-note { margin:0; color:var(--muted); font-size:.75rem; text-align:center; }
.order-legal { margin:.1rem 0 0; color:var(--muted); font-size:.75rem; line-height:1.45; text-align:center; }
.checkbox-terms { align-items:flex-start; }
.checkbox-terms input { margin-top:.2rem; }
.checkbox-terms span { flex:1; min-width:0; font-weight:400; }
.start-compare-trial { margin-top:.75rem; font-size:.9rem; font-weight:700; }
/* Three-step progress marker (Website → Package → Account) shared by /start and /order/{plan}. */
.order-progress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; width:100%; list-style:none; margin:0 0 2.25rem; padding:0; font-size:.76rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; color:var(--muted); }
.order-progress-step { position:relative; display:flex; align-items:center; gap:.45rem; }
.order-progress-step:not(:last-child)::after { content:""; height:1px; flex:1; margin:0 .75rem; background:var(--line); }
.order-progress-marker { display:inline-flex; align-items:center; justify-content:center; width:1.6rem; height:1.6rem; border-radius:50%; border:2px solid var(--line); font-size:.75rem; line-height:1; }
.order-progress-step--done { color:var(--success); }
.order-progress-step--done .order-progress-marker { background:#e3f5ef; border-color:#b9e4d5; color:var(--success); font-weight:900; }
.order-progress-step--current { color:var(--ink); }
.order-progress-step--current .order-progress-marker { border-color:var(--brand); color:var(--brand); }
@container (max-width:42rem) {
  .order-account-layout { grid-template-columns:1fr; }
  .order-next { order:2; }
}
@container (max-width:30rem) {
  .order-progress { justify-content:space-between; gap:.5rem; }
  .order-progress-step { gap:.3rem; }
  .order-progress-step:not(:last-child)::after { margin:0 .25rem; }
  .start-submit-row { align-items:stretch; flex-direction:column; }
  .start-submit-row button { width:100%; }
  .start-reassurance { grid-template-columns:1fr; }
  .start-option { min-height:0; }
}
/* Four-segment password strength bar, filled client-side by app.js as the visitor types. */
.password-strength { display:flex; gap:.3rem; margin-top:.3rem; }
.password-strength span { flex:1; height:.35rem; border-radius:999px; background:var(--line); }
.password-strength[data-strength="1"] span.is-filled { background:var(--danger); }
.password-strength[data-strength="2"] span.is-filled { background:var(--accent-ink); }
.password-strength[data-strength="3"] span.is-filled { background:var(--brand); }
.password-strength[data-strength="4"] span.is-filled { background:var(--success); }
.password-strength-caption { margin:.1rem 0 0; font-family:"Atkinson Hyperlegible Next",Arial,sans-serif; font-weight:400; color:var(--muted); font-size:.82rem; letter-spacing:0; text-transform:none; }
/* Per-page discovery-origin tags and the crawl-fallback notice on /sites/{id}/pages. */
.pages-origin { display:inline-block; margin-top:.3rem; padding:1px 7px; border-radius:.3rem; font-size:.72rem; font-weight:700; }
.pages-origin--sitemap { background:var(--surface); color:var(--muted); }
.pages-origin--crawl { background:var(--accent-wash); color:var(--accent-ink); }
.pages-origin--duplicate { background:var(--surface); color:var(--muted); border:1px solid var(--line); margin-left:.3rem; }
.pages-crawl-notice { margin:0 0 1.25rem; padding:.85rem 1rem; border:1px solid var(--accent-line); border-radius:.55rem; background:var(--accent-wash); color:var(--accent-ink); font-size:.9rem; }
.meeting-placeholder { display:grid; place-items:center; gap:.5rem; min-height:14rem; padding:2rem; border:2px dashed var(--line); border-radius:.75rem; background:var(--surface); text-align:center; color:var(--muted); }
.site { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:.75rem 0; }
.site h3, .site p { margin:.2rem 0; }
.site-actions { flex-wrap:wrap; gap:.5rem; }
.site-actions button.secondary { min-height:2.4rem; padding:.4rem .75rem; font-size:.85rem; }
.site-schedule { display:flex; align-items:end; gap:.5rem; }
.site-schedule label { flex:none; }
.site-schedule select { min-height:2.4rem; }
.summary { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:0; overflow:hidden; background:var(--line); }
.admin-summary { grid-template-columns:repeat(5,1fr); }
.admin-intro { max-width:48rem; margin-bottom:1rem; }
.admin-intro p { margin:.2rem 0; }
.styleguide-page { display:grid; gap:1.5rem; }
.styleguide-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.styleguide-intro h2,.styleguide-intro p { margin:.2rem 0; }
.styleguide-intro>div>p:last-child { max-width:52rem; color:var(--muted); }
.styleguide-intro dl { display:grid; grid-template-columns:repeat(3,minmax(5rem,1fr)); gap:.75rem; min-width:19rem; margin:0; }
.styleguide-intro dl div { padding:.7rem .8rem; border-left:2px solid var(--brand); background:var(--blue-tint); }
.styleguide-intro dt { font:800 1.25rem "Atkinson Hyperlegible Mono",monospace; }
.styleguide-intro dd { margin:0; color:var(--muted); font-size:.78rem; }
.styleguide-jump { position:sticky; top:0; z-index:4; padding:.35rem .55rem 0; border:1px solid var(--line); border-radius:.65rem; background:rgba(255,255,255,.96); box-shadow:0 5px 18px rgba(20,24,31,.06); }
.styleguide-jump a { font-size:.82rem; }
.styleguide-section { scroll-margin-top:9rem; }
.styleguide-section>header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }
.styleguide-section>header h2,.styleguide-section>header p { margin:.1rem 0; }
.styleguide-section>header>div>p:last-child { max-width:54rem; color:var(--muted); }
.styleguide-section>header>a { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; text-decoration:none; }
.styleguide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.styleguide-specimen { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.styleguide-specimen>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border-bottom:1px solid var(--line); }
.styleguide-specimen>header span { display:block; color:var(--muted); font:700 .66rem "Atkinson Hyperlegible Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.styleguide-specimen>header h3 { margin:.18rem 0 0; font-size:1rem; }
.styleguide-specimen>header h3 code { color:var(--ink); }
.styleguide-specimen>header>a { display:grid; width:2rem; height:2rem; place-items:center; border-radius:.4rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; text-decoration:none; }
.styleguide-specimen>header>a:hover,.styleguide-specimen>header>a:focus-visible { background:var(--brand-wash); color:var(--brand); }
.styleguide-preview { min-height:9rem; display:flex; align-items:center; padding:1.25rem; overflow:auto; background:var(--surface); }
.styleguide-specimen>footer { display:grid; grid-template-columns:3rem 1fr; align-items:center; gap:.7rem; padding:.85rem 1rem; border-top:1px solid var(--line); }
.styleguide-specimen>footer strong { color:var(--muted); font:700 .68rem "Atkinson Hyperlegible Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.styleguide-specimen>footer p { margin:0; color:var(--muted); font-size:.82rem; }
.styleguide-type { width:100%; }
.styleguide-type p { margin:.25rem 0; }
.styleguide-type-display { font-size:clamp(1.45rem,3vw,2.15rem); font-weight:800; line-height:1.05; letter-spacing:-.03em; }
.styleguide-row { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; }
.styleguide-stack { display:grid; width:100%; gap:.75rem; }
.styleguide-stack>* { margin:0; }
.app-form-grid,.styleguide-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:1rem; width:100%; }
.app-form-grid label,.styleguide-form-grid label { display:grid; align-self:start; gap:.35rem; margin:0; }
.app-form-grid label>span,.styleguide-form-grid label>span { font:700 .75rem "Atkinson Hyperlegible Mono",monospace; }
.app-form-grid label>small,.styleguide-form-grid label>small { color:var(--muted); font:400 .8rem "Atkinson Hyperlegible Next","Atkinson Hyperlegible",Arial,sans-serif; }
.app-form-grid input,.app-form-grid select,.app-form-grid textarea,.styleguide-form-grid input,.styleguide-form-grid select,.styleguide-form-grid textarea { width:100%; font-family:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",Arial,sans-serif; }
.styleguide-wide { grid-column:1/-1; }
.styleguide-choices { display:grid; gap:.65rem; }
.styleguide-choices label { display:flex; align-items:center; gap:.5rem; margin:0; font-family:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",Arial,sans-serif; font-size:.88rem; font-weight:600; }
.styleguide-status { display:inline-flex; align-items:center; min-height:1.8rem; padding:.2rem .55rem; border-radius:999px; font:700 .75rem "Atkinson Hyperlegible Mono",monospace; }
.styleguide-status.is-success { background:#dff4ed; color:#09624d; }
.styleguide-status.is-warning { background:#fff0c2; color:#744f00; }
.styleguide-status.is-neutral { background:#e7e9ef; color:#343b46; }
.styleguide-tabs { margin:0; }
.styleguide-linked-list { display:grid; width:100%; overflow:hidden; border:1px solid var(--line); border-radius:.6rem; background:#fff; }
.styleguide-linked-list a { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:4rem; padding:.75rem 1rem; color:var(--ink); text-decoration:none; }
.styleguide-linked-list a+a { border-top:1px solid var(--line); }
.styleguide-linked-list a:hover,.styleguide-linked-list a:focus-visible { background:var(--brand-wash); color:var(--brand-dark); }
.styleguide-linked-list span:first-child { display:grid; gap:.1rem; }
.styleguide-linked-list small { color:var(--muted); }
.styleguide-dark-preview { width:100%; padding:1rem; border-radius:.7rem; background:var(--ink); }
.styleguide-dark-preview .app-workspace { max-width:17rem; margin:auto; }
.styleguide-dark-preview .app-side-nav,.styleguide-dark-preview .app-profile-menu { max-width:17rem; margin:auto; }
.styleguide-dark-preview .impersonation-banner { max-width:17rem; margin:auto; padding:.8rem; border:1px solid #394454; border-radius:.7rem; background:#1c232c; color:#fff; }
.styleguide-inert { opacity:.9; }
.styleguide-swatches { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; width:100%; }
.styleguide-swatches>div { display:grid; min-width:0; gap:.1rem; }
.styleguide-swatches span { display:block; aspect-ratio:1.8; margin-bottom:.3rem; border:1px solid rgba(20,24,31,.15); border-radius:.45rem; background:var(--swatch); }
.styleguide-swatches code,.styleguide-swatches small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.styleguide-swatches small { color:var(--muted); font-size:.7rem; }
@media (max-width:850px) {
  .styleguide-intro { align-items:stretch; flex-direction:column; }
  .styleguide-intro dl { min-width:0; }
  .styleguide-grid { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .styleguide-intro { padding:1.1rem; }
  .styleguide-intro dl { grid-template-columns:1fr; }
  .styleguide-form-grid { grid-template-columns:1fr; }
  .styleguide-wide { grid-column:auto; }
  .styleguide-swatches { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .styleguide-specimen>footer { grid-template-columns:1fr; }
}
.admin-section-heading { margin-top:2.25rem; }
.admin-section-heading > span { max-width:28rem; color:var(--muted); font-size:.86rem; text-align:right; }
.admin-health-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; margin-bottom:2.25rem; }
.admin-health-card { min-width:0; margin:0; padding:1.15rem; }
.admin-health-card:last-child:nth-child(odd) { grid-column:1 / -1; }
.admin-health-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; margin-bottom:1rem; }
.admin-health-heading h2 { margin:0; font-size:1rem; }
.admin-status { flex:0 1 12rem; min-width:0; max-width:12rem; padding:.2rem .55rem; overflow:hidden; border-radius:999px; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.admin-status--ok { color:#075d49; background:#dff3ec; }
.admin-status--warn { color:#765300; background:#fff0c2; }
.admin-status--bad { color:#8e2019; background:#fee4e2; }
.admin-mini-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--line); border-radius:.5rem; overflow:hidden; }
.admin-mini-metrics span { display:flex; justify-content:space-between; gap:.6rem; padding:.65rem .7rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--muted); font-size:.8rem; }
.admin-mini-metrics span:nth-child(2n) { border-right:0; }
.admin-mini-metrics span:nth-last-child(-n+2) { border-bottom:0; }
.admin-mini-metrics strong { color:var(--ink); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.9rem; }
.admin-capacity-lines { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.admin-capacity-lines div { display:grid; grid-template-columns:1fr auto; gap:.15rem .7rem; padding:.8rem; border:1px solid var(--line); border-radius:.5rem; }
.admin-capacity-lines strong { font-family:"Atkinson Hyperlegible Mono",monospace; }
.admin-capacity-lines small { grid-column:1 / -1; color:var(--muted); }
.admin-organizations { margin-top:0; }
.admin-organizations .table-wrap { width:100%; max-width:100%; }
.admin-organizations table { min-width:58rem; }
.admin-filters { display:grid; grid-template-columns:minmax(14rem,1.5fr) minmax(9rem,.7fr) minmax(9rem,.7fr) auto auto; align-items:end; gap:.65rem; margin:0 0 1rem; padding:1rem; border:1px solid var(--line); border-radius:.65rem; background:var(--surface); }
.admin-filters label { display:grid; gap:.3rem; min-width:0; margin:0; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; }
.admin-filters input,.admin-filters select { width:100%; min-width:0; }
.admin-filters > a { align-self:center; font-size:.82rem; font-weight:700; }
.admin-organizations td:first-child small { display:block; margin-top:.2rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; }
.admin-type { display:inline-flex; padding:.15rem .45rem; border-radius:999px; background:var(--surface-alt); font-size:.78rem; font-weight:700; }
.admin-pagination { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; padding-top:1rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.admin-pagination a:last-child { justify-self:end; }
.summary div { background:white; padding:1.25rem; display:grid; gap:.3rem; }
.summary span { color:var(--muted); }
.summary strong { font-size:1.5rem; }
.notice, .error { padding:1rem; border-radius:.5rem; }
.notice { background:#fff7d6; border-left:5px solid #b68000; }
.notice--standalone { margin:0 0 14px; }
.error { background:#ffe8e8; border-left:5px solid #b42318; margin-bottom:1rem; }
.impersonation-banner { display:grid; gap:.7rem; color:#fff; }
.impersonation-identity { display:flex; min-width:0; align-items:center; gap:.65rem; }
.impersonation-identity .app-nav-icon { color:var(--accent); }
.impersonation-identity>span:last-child { min-width:0; }
.impersonation-identity small,.impersonation-identity strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.impersonation-identity small { margin-bottom:.12rem; color:var(--dark-tertiary); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.67rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.impersonation-identity strong { font-size:.8rem; }
.impersonation-banner form { width:100%; max-width:none; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.impersonation-banner button { display:flex; width:100%; min-height:2.2rem; align-items:center; justify-content:space-between; padding:.4rem .65rem; border:1px solid #455061; border-radius:.4rem; background:#252e3a; color:#fff; font-size:.78rem; font-weight:700; cursor:pointer; }
.impersonation-banner button:hover { border-color:#637086; background:#303a48; }
.app-side .impersonation-banner { margin-top:auto; padding:.8rem; border:1px solid #394454; border-radius:.7rem; background:#1c232c; overflow:visible; }
.app-side .impersonation-banner + .app-profile-menu { margin-top:0; }
@media (max-width:900px) {
    .app-side .impersonation-banner { flex:1 0 100%; order:10; margin-top:0; }
}
.danger-zone { border-color:#b42318; }
.danger-zone h2 { color:#b42318; }
.admin-danger-zone { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.admin-danger-zone h2,.admin-danger-zone p { margin:.2rem 0; }
.danger-button { border-color:#b42318!important; color:#912018!important; }
.destructive-dialog { max-width:36rem; padding:0; overflow:hidden; }
.destructive-dialog header { display:flex; justify-content:space-between; gap:1rem; padding:1.25rem 1.35rem; border-bottom:1px solid var(--line); }
.destructive-dialog header h2,.destructive-dialog header p { margin:.15rem 0; }
.destructive-dialog .app-dialog-actions { margin:0; padding:1rem 1.35rem; border-top:1px solid var(--line); background:var(--surface); }
.finding { margin:1rem 0; }
.report-nav { position:sticky; top:0; z-index:2; align-items:center; gap:.5rem; margin:1rem 0; padding:.65rem; background:rgba(246,247,251,.96); border:1px solid var(--line); border-radius:.7rem; }
.report-nav a { padding:.45rem .75rem; border-radius:.4rem; background:#fff; text-decoration:none; font-weight:700; }
/* Grid, not flex: these forms carry anywhere from 2 to 7 fields depending on the page, and a
   flex row that merely wraps still lets a select/input's own min-content width force neighbors
   to overlap once several fields share a wrapped line. A grid gives every field its own track
   with a guaranteed minimum, so fields reflow onto new rows instead of colliding. */
.report-filters .inline { display:grid; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); gap:.85rem 1rem; align-items:end; }
.report-filters label:first-child { grid-column:span 2; min-width:0; }
.report-filters label { min-width:0; }
.report-filters .inline > button, .report-filters .inline > a { align-self:end; justify-self:start; }
.section-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1rem; }
.section-heading h2, .section-heading p { margin:.1rem 0; }
.currency-switch { display:flex; gap:.35rem; padding:.25rem; border:1px solid var(--line); border-radius:.55rem; background:#fff; }
.currency-switch a { padding:.4rem .65rem; border-radius:.35rem; color:var(--ink); text-decoration:none; font-family:"Atkinson Hyperlegible Mono",monospace; font-weight:700; }
.currency-switch a[aria-current="true"] { background:var(--brand); color:#fff; }
.eyebrow { color:var(--brand); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.rule-panel, .occurrence { margin:.75rem 0; border:1px solid var(--line); border-radius:.65rem; background:#fff; overflow:hidden; }
.rule-panel > summary, .occurrence > summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem; cursor:pointer; }
.rule-panel > summary { background:#f8f9fc; }
.rule-panel summary span:first-child, .occurrence summary span:first-child { display:grid; gap:.2rem; min-width:0; }
.rule-panel summary small, .occurrence summary small { color:var(--muted); overflow-wrap:anywhere; }
.rule-body { padding:0 1rem 1rem; }
.occurrence-body { padding:0 1rem 1rem; border-top:1px solid var(--line); }
.evidence.compact { max-width:34rem; }
.evidence.compact img { max-height:18rem; object-fit:contain; background:var(--surface); }
.page-hero { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:2rem; }
.page-hero > div:first-child { flex:1 1 20rem; min-width:0; }
.page-hero h2, .page-hero p { margin:.25rem 0; }
.page-stats { display:flex; flex-wrap:wrap; flex-shrink:0; gap:.75rem; }
.page-stats span { white-space:nowrap; }
.page-stats span { display:grid; padding:.65rem .85rem; background:var(--surface); border-radius:.5rem; color:var(--muted); }
.page-stats strong { color:var(--ink); font-size:1.25rem; }
.page-occurrence { margin:1rem 0; background:#fff; }
.evidence-missing { padding:.8rem; color:var(--muted); background:var(--surface); border-left:4px solid var(--line); }
.rule-thumb { display:block; width:7rem; height:4.5rem; border:1px solid var(--line); border-radius:.4rem; overflow:hidden; background:var(--surface); }
.rule-thumb img { width:100%; height:100%; object-fit:contain; }
.muted { color:var(--muted); }
.issue-hero h2 { font-size:clamp(1.5rem,4vw,2.4rem); }
.issue-occurrences { display:grid; gap:1rem; }
.issue-card { display:grid; grid-template-columns:minmax(12rem,20rem) 1fr; column-gap:1.25rem; align-items:start; }
.issue-card h3, .issue-card > p { grid-column:2; }
.issue-shot { grid-column:1; grid-row:1 / span 6; display:block; border:1px solid var(--line); border-radius:.5rem; overflow:hidden; background:var(--surface); }
.issue-shot img { display:block; width:100%; max-height:18rem; object-fit:contain; }
.issue-card details { grid-column:2; }
.score-explanation, .evidence { margin:1rem 0; padding:1rem; background:#fff; border:1px solid var(--line); border-radius:.8rem; }
.score-explanation summary { cursor:pointer; font-weight:750; }
.scan-report-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:.8rem; border-bottom:1px solid var(--border); }
.scan-report-heading h2 { margin:0; font-size:clamp(1.18rem,1.5vw,1.38rem); }
.scan-report-heading p { margin:.15rem 0 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.scan-progress,.scan-failure { border:1px solid var(--border); border-top:4px solid var(--brand); border-radius:.7rem; background:#fff; overflow:hidden; }
.scan-progress { padding:0; }
.scan-progress-main { display:flex; align-items:center; gap:clamp(1.5rem,4vw,3rem); padding:1.6rem 1.75rem; }
.scan-progress-gauge { display:flex; flex:0 0 auto; align-items:center; gap:1.25rem; }
.scan-progress-gauge svg { width:8rem; height:8rem; overflow:visible; }
.scan-progress-gauge circle { fill:none; stroke-width:6; stroke-linecap:round; }
.scan-progress-track,.scan-progress-value { transform:rotate(-90deg); transform-origin:center; }
.scan-progress-track { stroke:var(--surface-alt); }
.scan-progress-value { stroke:var(--brand); }
.scan-progress-gauge .scan-progress-marker { fill:var(--accent); stroke:none; }
.scan-progress-gauge span,.scan-progress-gauge small { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.scan-progress-gauge span { font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.scan-progress-gauge strong { display:block; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:2.4rem; line-height:1; }
.scan-progress-copy { flex:1; min-width:0; }
.scan-progress-copy h2 { margin:0 0 .45rem; font-size:1.05rem; }
.scan-progress-copy > p { max-width:50rem; margin:0; color:var(--muted); }
.scan-progress-copy dl { display:flex; flex-wrap:wrap; gap:1rem 2.5rem; margin:1rem 0 0; }
.scan-progress-copy dl div { display:flex; flex-direction:column; }
.scan-progress-copy dt { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.scan-progress-copy dd { order:-1; margin:0; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.4rem; font-weight:800; }
.scan-progress footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem 1.5rem; padding:.75rem 1.75rem; border-top:1px solid var(--border); background:var(--surface-alt); color:var(--muted); font-size:.86rem; }
.scan-live-grid { display:grid; width:100%; min-width:0; max-width:100%; grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr); gap:14px; }
.scan-live-findings,.scan-stage-panel { min-width:0; padding:0; overflow:hidden; }
.scan-live-findings .table-wrap { width:100%; min-width:0; max-width:100%; overflow-x:auto; }
.scan-live-section-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1.1rem; border-bottom:1px solid var(--border); }
.scan-live-section-head h2 { margin:0; font-size:1rem; }
.scan-live-section-head span { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.77rem; }
.scan-live-findings [data-live-findings] > .notice { margin:.8rem 1.1rem; }
.scan-live-findings table { margin:0; min-width:35rem; table-layout:fixed; font-size:.88rem; }
.scan-live-findings col.scan-live-rule { width:54%; }
.scan-live-findings col.scan-live-impact { width:22%; }
.scan-live-findings col.scan-live-pages { width:24%; }
.scan-live-findings th small { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.73rem; font-weight:400; }
.scan-live-more { margin:0; padding:.7rem 1.1rem; background:var(--surface-alt); color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.scan-stage-panel ol { margin:0; padding:0; list-style:none; }
.scan-stage { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.8rem; padding:.8rem 1.1rem; border-bottom:1px solid #edf0f5; }
.scan-stage:last-child { border-bottom:0; }
.scan-stage-mark { display:inline-flex; width:1.5rem; height:1.5rem; align-items:center; justify-content:center; border-radius:50%; background:var(--surface-alt); color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.8rem; font-weight:800; }
.scan-stage div { min-width:0; }
.scan-stage strong,.scan-stage small { display:block; }
.scan-stage strong { font-size:.9rem; }
.scan-stage small,.scan-stage-state { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.73rem; }
.scan-stage-state { white-space:nowrap; }
.scan-stage.is-done .scan-stage-mark,.scan-stage.is-done .scan-stage-state { background:#e6f4ef; color:#0b6b53; }
.scan-stage.is-done .scan-stage-state,.scan-stage.is-running .scan-stage-state { padding:.12rem .5rem; border-radius:999px; font-weight:700; }
.scan-stage.is-running .scan-stage-mark,.scan-stage.is-running .scan-stage-state { background:var(--brand-wash); color:var(--brand-dark); }
.scan-stage-note { margin:0!important; padding:.8rem 1.1rem; border-top:1px solid var(--border); background:var(--surface-alt); color:var(--muted); font-size:.84rem; }
.scan-failure { display:flex; align-items:center; justify-content:space-between; gap:2rem; border-top-color:var(--danger); padding:1.2rem; }
.scan-progress h2,.scan-progress p,.scan-failure h2,.scan-failure p { margin:.25rem 0; }
.progress-count { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.85rem; }
.progress-actions { display:grid; gap:.6rem; justify-items:stretch; min-width:12rem; }
.progress-actions p { color:var(--muted); font-size:.9rem; }
button.secondary { border:2px solid var(--line); color:var(--ink); background:#fff; }
button.secondary:hover { background:var(--surface); }
.scan-failure { border-left-color:#b42318; background:linear-gradient(135deg,#ffe8e8,#fff); }
.scan-failure code { display:block; margin-top:.6rem; }
.evidence img { display:block; width:100%; max-height:28rem; object-fit:cover; object-position:top; border:1px solid var(--line); border-radius:.45rem; }
.evidence figcaption { margin-top:.6rem; color:var(--muted); }
.finding-head { display:flex; flex-wrap:wrap; gap:.6rem; color:var(--muted); }
.impact { text-transform:uppercase; font-size:.75rem; font-weight:800; padding:.15rem .45rem; border-radius:.25rem; background:#e7e9ef; color:#222; }
.impact.critical, .impact.serious { background:#fee4e2; color:#912018; }
.impact.moderate { background:#fff0c2; color:#744f00; }
code, pre, samp, kbd, .plan-price, .summary strong, .page-stats strong { font-family:"Atkinson Hyperlegible Mono",monospace; }
.checkout-total { display:flex; flex-wrap:wrap; align-items:baseline; gap:.4rem; padding:.75rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.checkout-total strong { font-size:1.25rem; color:var(--ink); }
.client-report { max-width:70rem; margin:0 auto; }
.client-report-cover { display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; padding:1.5rem; border-top:.5rem solid var(--report-accent,var(--brand)); background:#fff; }
.client-report-cover h2 { margin:.2rem 0; font-size:clamp(2rem,5vw,3.5rem); }
.client-report-brand { display:flex; align-items:center; gap:.8rem; margin-bottom:1.2rem; }
.client-report-brand img { display:block; width:auto; max-width:12rem; height:3.5rem; object-fit:contain; object-position:left center; }
.client-report-brand span { color:var(--muted); }
.report-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.comparison-picker form { align-items:end; }
.comparison-picker label { min-width:min(100%,17rem); }
.comparison-url { max-width:24rem; overflow-wrap:anywhere; }
.branding-settings { display:grid; grid-template-columns:minmax(16rem,1fr) minmax(20rem,1fr); gap:2rem; align-items:start; }
.branding-preview { display:grid; justify-items:start; gap:.5rem; margin:1rem 0; }
.branding-preview img { display:block; width:auto; max-width:min(100%,20rem); height:6rem; object-fit:contain; object-position:left center; padding:.75rem; border:1px solid var(--line); border-radius:.5rem; background:#fff; }
.client-report-method { margin-top:2rem; padding:1.5rem; background:var(--surface); border-top:1px solid var(--line); }
@media print { @page { margin:15mm; } .app-topbar,.app-frame>aside,.report-actions,.skip { display:none!important; } .application-shell,.app-frame,.app-frame>main { display:block; width:auto; margin:0; padding:0; background:#fff; } .client-report { max-width:none; color:#000; } .client-report section,.client-report tr,.client-report li { break-inside:avoid; } .client-report a { color:#000; text-decoration:none; } .client-report a[href]::after { content:" (" attr(href) ")"; font-size:.8em; overflow-wrap:anywhere; } .client-report .summary { border:1px solid #bbb; } }
code, pre { white-space:pre-wrap; word-break:break-word; }
.table-wrap { width:100%; min-width:0; max-width:100%; overflow-x:auto; }
.table-wrap--dragging { cursor:grabbing; user-select:none; }
table { width:100%; border-collapse:collapse; text-align:left; }
th, td { padding:.75rem; border-bottom:1px solid var(--line); vertical-align:top; }
th { background:var(--surface); }
.audit-rule-table tbody th { background:#fff; }
@media (max-width:900px) { .usage-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:900px) { .onboarding-panel,.first-scan-panel,.scan-panel { grid-template-columns:1fr; } }
@media (max-width:650px) { .usage-grid { grid-template-columns:1fr; } }
@media (max-width:650px) { .onboarding-panel ol,.scan-choices,.add-site-scope-options { grid-template-columns:1fr; } }
@media (max-width:900px) { .product-proof { grid-template-columns:1fr; } .workflow ol { grid-template-columns:repeat(2,1fr); } .app-frame { grid-template-columns:minmax(0,1fr); } .app-frame > aside { position:static; width:100%; height:auto; padding:.65rem 1rem; border-right:0; border-bottom:1px solid var(--line); } .app-nav { display:flex; flex-wrap:wrap; width:100%; min-width:0; } .app-nav a { flex:1 1 9rem; min-width:0; justify-content:center; } .app-nav-label,.app-domain { display:none; } .app-frame > main { padding-top:1.5rem; } .organization-switcher { flex-wrap:wrap; } }
@media (max-width:900px) { .backlog-item { grid-template-columns:7rem minmax(0,1fr); } .backlog-item dl,.backlog-meta { grid-column:2; } }
@media (max-width:900px) { .contact-layout { grid-template-columns:1fr; } .app-topbar { gap:.5rem; } .app-topbar .brand img { width:8rem; } .pricing-controls { justify-items:start; } }
@media (max-width:600px) { .pagination { grid-template-columns:1fr 1fr; grid-template-areas:"status status" "previous next"; } }
@media (max-width:650px) { :root { font-size:17px; } .preview-summary { grid-template-columns:1fr; } .preview-summary > div { min-height:5rem; } .preview-list article { grid-template-columns:2rem minmax(0,1fr); } .preview-list .owner { grid-column:2; justify-self:start; } .workflow ol,.agency-callout { grid-template-columns:1fr; } .inline, .site { align-items:stretch; flex-direction:column; } .site .actions { width:100%; align-items:stretch; flex-direction:column; } .site .actions form,.site .actions select,.site .actions button { width:100%; } .summary { grid-template-columns:1fr; } .review-check > summary { align-items:flex-start; } .issue-card { grid-template-columns:1fr; } .issue-card h3, .issue-card > p, .issue-shot, .issue-card details { grid-column:1; grid-row:auto; } }
@media (max-width:650px) { .scan-coverage-inventory .scan-coverage-summary { grid-template-columns:1fr; } }
@media (max-width:650px) {
  .scan-coverage-details .table-wrap { overflow:visible; }
  .scan-coverage-details table,.scan-coverage-details tbody,.scan-coverage-details tr,.scan-coverage-details td { display:block; width:100%; }
  .scan-coverage-details tr[hidden] { display:none; }
  .scan-coverage-details thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .scan-coverage-details tbody tr[data-search] { padding:.75rem 1rem; border-bottom:1px solid var(--line); }
  .scan-coverage-details tbody tr[data-search] td { display:grid; grid-template-columns:5.5rem minmax(0,1fr); gap:.5rem; padding:.22rem 0; border:0; }
  .scan-coverage-details tbody tr[data-search] td::before { content:attr(data-label); color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
  .scan-coverage-details tbody tr[data-search] code { overflow-wrap:anywhere; }
  .scan-coverage-details .app-client-table-empty:not([hidden]) { display:block; padding:1rem; }
  .scan-coverage-details .app-client-table-empty td { display:block; }
}
@media (max-width:850px) { .admin-health-grid { grid-template-columns:1fr; } .admin-health-card:last-child:nth-child(odd) { grid-column:auto; } .admin-filters { grid-template-columns:1fr 1fr; } .admin-filters label:first-child { grid-column:1 / -1; } }
@media (max-width:520px) { .admin-mini-metrics,.admin-capacity-lines,.admin-filters { grid-template-columns:1fr; } .admin-mini-metrics span,.admin-mini-metrics span:nth-child(2n),.admin-mini-metrics span:nth-last-child(-n+2) { border-right:0; border-bottom:1px solid var(--line); } .admin-mini-metrics span:last-child { border-bottom:0; } .admin-filters label:first-child { grid-column:auto; } .admin-filters button { width:100%; } .admin-section-heading > span { text-align:left; } }
@media (max-width:650px) {
  .audit-coverage-header { align-items:flex-start; flex-direction:column; }
  .audit-coverage-header p { line-height:1.55; }
  .audit-coverage-card > .section-eyebrow { padding-inline:1rem; }
  .audit-coverage-bar,.audit-coverage-legend,.audit-coverage-explainer { margin-inline:1rem; }
  .audit-coverage-legend { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
  .audit-coverage-filters { align-items:stretch; }
  .audit-coverage-filters label,.audit-coverage-filters label:first-child,.audit-coverage-filters button { flex:1 1 100%; width:100%; }
  .audit-filter-count { margin-left:0; }
  .audit-rule-table { overflow:visible; }
  .audit-rule-table table,.audit-rule-table tbody,.audit-rule-table tr,.audit-rule-table th,.audit-rule-table td { display:block; min-width:0; width:auto; }
  .audit-rule-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .audit-rule-table tr { padding:1rem; border-bottom:1px solid var(--line); }
  .audit-rule-table tbody th,.audit-rule-table td { padding:.15rem 0; border:0; }
  .audit-rule-table td:nth-of-type(1),.audit-rule-table td:nth-of-type(2),.audit-rule-table td:nth-of-type(3) { display:inline-block; margin:.35rem .65rem 0 0; }
  .audit-rule-table td:last-child { margin-top:.55rem; }
  .review-workspace-header { align-items:flex-start; flex-direction:column; }
  .review-workspace { grid-template-columns:1fr; }
  .review-question-meta { grid-template-columns:1fr; gap:.6rem; }
  .review-queue-card ol { max-height:12rem; }
}
@media (max-width:800px) { .scan-live-grid { grid-template-columns:1fr; } }
@media (max-width:650px) { .scan-report-heading { align-items:flex-start; } .scan-progress-main { align-items:stretch; flex-direction:column; padding:1.1rem; } .scan-progress-gauge { align-items:center; } .scan-progress-gauge svg { width:6.5rem; height:6.5rem; } .scan-progress-copy dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; } .scan-progress-copy dt { font-size:.66rem; } .scan-progress footer { padding:.75rem 1.1rem; } .scan-live-findings .table-wrap { overflow:visible; } .scan-live-findings table,.scan-live-findings tbody,.scan-live-findings th,.scan-live-findings td { display:block; width:auto; min-width:0; } .scan-live-findings thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); } .scan-live-findings tr { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.3rem .75rem; padding:.85rem 1rem; border-bottom:1px solid var(--line); } .scan-live-findings th,.scan-live-findings td { padding:0; border:0; background:#fff; } .scan-live-findings th { grid-column:1/-1; } .scan-live-findings td:last-child { white-space:nowrap; } .scan-failure { align-items:stretch; flex-direction:column; } .progress-actions { width:100%; } }
@media (max-width:650px) { .branding-settings { grid-template-columns:1fr; } .client-report-cover { flex-direction:column; } }
@media (max-width:650px) { .backlog-item { grid-template-columns:1fr; } .backlog-shot { max-width:12rem; } .backlog-item dl,.backlog-meta { grid-column:1; } }

/* Pricing page redesign (design_handoff_pricing) */
[data-pricing] { container-type:inline-size; }
.pricing-heading,.pricing-matrix-section,.pricing-addons,.pricing-faq,.pricing-closing-cta { background:transparent; border:0; padding:0; margin:2.75rem 0 0; }
.pricing-heading { display:grid; justify-items:center; gap:.8rem; text-align:center; padding-top:1rem; }
.pricing-heading h1 { margin:0; font-size:2.625rem; line-height:1.1; letter-spacing:-.03em; }
.pricing-heading .lead { max-width:38rem; margin:0; text-align:center; }
.pricing-controls-row { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:1.375rem; margin-top:.5rem; }
/* Package tiers — three explicit states (design_handoff_pricing, handover 2): 3-up above
   1024px, one column of wide flat rows 1024→760px (identity+price left, features in a
   bordered middle column, CTA right via `order`, no 2+1 orphan state), stacked below 760px.
   Reading/DOM order stays head → cta → feats throughout; only `order` moves things visually. */
.tier-grid { display:grid; gap:1rem; align-items:start; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:2.25rem; }
.tier { display:flex; flex-direction:column; padding:0; border:1px solid var(--line); border-radius:1rem; background:#fff; overflow:hidden; }
.tier--rec { margin-top:-14px; border:2px solid var(--brand); box-shadow:0 10px 30px rgba(27,77,209,.14); background:linear-gradient(to bottom, var(--brand) 0, var(--brand) 44px, #fff 44px, #fff 100%); }
.plan-card-ribbon { padding:.55rem; color:#fff; font-size:.8rem; font-weight:700; letter-spacing:.04em; text-align:center; white-space:nowrap; }
.tier-body { display:flex; flex-direction:column; gap:18px; padding:26px 24px; flex:1; }
.tier-head { display:flex; flex-direction:column; gap:14px; }
.plan-card-head { display:flex; flex-direction:column; gap:.35rem; }
.plan-card-name { font-size:1.25rem; font-weight:800; letter-spacing:-.02em; }
.tier-desc { min-height:44px; color:var(--muted); font-size:.94rem; line-height:1.45; }
.plan-card-price { display:flex; flex-direction:column; gap:.25rem; }
.plan-card-price-row { display:flex; align-items:baseline; gap:.4rem; }
.plan-card-amount { font-size:2.5rem; font-weight:800; letter-spacing:-.03em; line-height:1; }
.plan-card-per { color:var(--muted); font-size:.94rem; font-weight:600; }
.plan-card-note { display:block; min-height:1.125rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.tier-cta { display:flex; flex-direction:column; gap:8px; }
.plan-card-cta { text-align:center; padding:.75rem 1.125rem; border:2px solid var(--brand); border-radius:.65rem; background:#fff; color:var(--brand); font-size:1rem; font-weight:700; text-decoration:none; }
.plan-card-cta:hover { background:var(--brand-wash); color:var(--brand-dark); }
.tier-cta .button-link.primary { justify-content:center; padding:.875rem 1.125rem; }
.plan-card-secondary { text-align:center; color:var(--muted); font-size:.875rem; font-weight:600; text-decoration:none; }
.plan-card-secondary:hover { color:var(--ink); }
.tier-feats { margin:0; padding:18px 0 0; list-style:none; display:flex; flex-direction:column; gap:10px; border-top:1px solid var(--line-soft); }
.tier-feats li { display:flex; gap:.625rem; font-size:.94rem; line-height:1.4; }

@container (max-width:1024px) {
  .tier-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .tier--rec { margin-top:0; }
  .tier-body { display:grid; grid-template-columns:minmax(11rem,.85fr) minmax(13rem,1.3fr) minmax(10rem,11.5rem); gap:0 30px; align-items:center; padding:22px 26px; }
  .tier-head { order:1; gap:10px; }
  .tier-desc { min-height:0; }
  .tier-feats { order:2; border-top:0; border-left:1px solid var(--line-soft); padding:4px 0 4px 30px; gap:9px; }
  .tier-cta { order:3; }
}

@container (max-width:760px) {
  .tier-body { display:flex; flex-direction:column; gap:18px; padding:24px 22px; }
  .tier-head, .tier-feats, .tier-cta { order:0; }
  .tier-head { gap:14px; }
  .tier-feats { border-left:0; border-top:1px solid var(--line-soft); padding:18px 0 0; gap:10px; }
}
.cell-yes { color:var(--success); font-weight:800; }
.cell-no { color:var(--muted); font-weight:700; }
.free-strip { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1.5rem; margin-top:1rem; padding:1.25rem 1.5rem; border:1px solid var(--line); border-radius:.875rem; background:var(--surface); }
.free-strip-head { display:flex; align-items:baseline; gap:.75rem; font-size:1.125rem; font-weight:800; letter-spacing:-.02em; }
.free-strip-price { color:var(--brand); }
.free-strip p { max-width:38rem; margin:0; color:var(--muted); font-size:.94rem; }
.free-strip-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-left:auto; }
.free-strip-actions > a:first-child { color:var(--muted); font-size:.94rem; font-weight:600; text-decoration:none; }
.free-strip-actions > a:first-child:hover { color:var(--ink); }
.pricing-matrix-section { padding-top:4.5rem; }
.pricing-matrix-section .section-heading { align-items:baseline; margin-bottom:1.25rem; }
.pricing-matrix-section h2 { margin:0; font-size:1.875rem; letter-spacing:-.025em; }
.catalog-stamp { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.pricing-matrix-section .table-wrap { border:1px solid var(--line); border-radius:1rem; overflow-x:auto; overflow-y:hidden; }
.plan-matrix--grouped th,.plan-matrix--grouped td { border-bottom:0; }
.plan-matrix--grouped thead th { position:sticky; top:0; z-index:10; background:#fff; border-bottom:1px solid var(--line); padding:1rem .75rem; text-align:center; }
.plan-matrix--grouped thead th:first-child { text-align:left; width:30%; }
.plan-matrix--grouped thead th.matrix-team-column { background:#f4f7fe; border-left:1px solid var(--line); border-right:1px solid var(--line); }
.matrix-plan-name { display:block; font-size:1.0625rem; font-weight:800; }
.matrix-team-column .matrix-plan-name,.matrix-team-column .matrix-plan-price { color:var(--brand); }
.matrix-plan-price,.matrix-plan-note { display:block; margin-top:.2rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:400; }
.matrix-plan-note { font-size:.7rem; }
.plan-matrix--grouped .matrix-group-row { position:sticky; left:0; z-index:2; padding:1.125rem 1.25rem .6rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface); color:var(--brand); font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-align:left; }
.plan-matrix--grouped tbody tr:first-child .matrix-group-row { border-top:0; }
.plan-matrix--grouped tbody th[scope="row"] { padding:.8rem 1.25rem; border-top:1px solid var(--line-soft); background:#fff; font-size:.94rem; font-weight:600; text-align:left; }
.plan-matrix--grouped tbody td { padding:.8rem .75rem; border-top:1px solid var(--line-soft); background:#fff; text-align:center; font-size:.94rem; line-height:1.35; }
.plan-matrix--grouped tbody td.matrix-team-column { background:#f4f7fe; border-left:1px solid var(--line); border-right:1px solid var(--line); }
.matrix-cta-row td, .matrix-cta-row th { padding:1.1rem .75rem; border-top:2px solid var(--line); }
.matrix-cta-row .button-link { width:100%; justify-content:center; }
.enterprise-band { display:grid; grid-template-columns:minmax(17.5rem,1.15fr) minmax(16.25rem,1fr); align-items:center; gap:2.25rem; margin-top:1.75rem; padding:2.125rem 2.25rem; border-radius:1rem; background:var(--ink); color:#fff; }
.enterprise-copy { display:flex; flex-direction:column; gap:.75rem; }
.enterprise-eyebrow { color:var(--accent); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:600; letter-spacing:.08em; }
.enterprise-band h3 { margin:0; max-width:26ch; font-size:1.625rem; line-height:1.2; letter-spacing:-.025em; color:#fff; }
.enterprise-band p { margin:0; max-width:32rem; color:#b7c0ce; font-size:1rem; line-height:1.55; }
.enterprise-actions { display:flex; flex-direction:column; gap:.875rem; }
.enterprise-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.enterprise-chip { padding:.4rem .8rem; border:1px solid #3a4453; border-radius:999px; color:#fff; font-size:.875rem; font-weight:600; }
.enterprise-chip--planned { border-style:dashed; color:#b7c0ce; }
.enterprise-ctas { display:flex; flex-wrap:wrap; gap:.6rem; }
.enterprise-cta-primary,.enterprise-cta-secondary { padding:.875rem 1.5rem; border-radius:.65rem; font-size:1rem; font-weight:700; text-decoration:none; }
.enterprise-cta-primary { background:var(--accent); color:var(--ink); }
.enterprise-cta-secondary { padding:.75rem 1.375rem; border:2px solid #3a4453; color:#fff; }
.enterprise-cta-primary:hover { background:#ffe096; }
.enterprise-cta-secondary:hover { border-color:#fff; background:#fff; color:var(--ink); }
.pricing-addons { padding-top:4rem; }
.pricing-addons .section-heading { align-items:baseline; margin-bottom:1.125rem; }
.pricing-addons h2 { margin:0; font-size:1.625rem; letter-spacing:-.025em; }
.pricing-addons .section-heading p { max-width:35rem; margin:0; color:var(--muted); font-size:.94rem; }
/* 1 column below 34rem, 2 above, 3 above 54rem. */
.addon-cards { display:grid; grid-template-columns:1fr; gap:1rem; }
@container (min-width:34rem) { .addon-cards { grid-template-columns:repeat(2,1fr); } }
@container (min-width:54rem) { .addon-cards { grid-template-columns:repeat(3,1fr); } }
.addon-card { display:flex; align-items:center; gap:1.125rem; padding:1.25rem 1.375rem; border:1px solid var(--line); border-radius:.875rem; background:#fff; }
.addon-price { font-size:1.625rem; font-weight:800; letter-spacing:-.02em; white-space:nowrap; }
.addon-name { font-size:1rem; font-weight:700; }
.addon-plans { margin-top:.15rem; color:var(--muted); font-size:.875rem; }
.pricing-faq { max-width:56.25rem; margin-left:auto; margin-right:auto; padding-top:4.5rem; }
.pricing-faq h2 { margin:0 0 1.25rem; font-size:1.625rem; letter-spacing:-.025em; text-align:center; }
.faq-list { display:flex; flex-direction:column; gap:.625rem; }
.faq-list details { border:1px solid var(--line); border-radius:.75rem; background:#fff; }
.faq-list summary { display:flex; justify-content:space-between; gap:1rem; padding:1.125rem 1.375rem; font-size:1.0625rem; font-weight:700; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-plus { color:var(--brand); }
.faq-list p { margin:0; padding:0 1.375rem 1.25rem; color:var(--muted); font-size:1rem; line-height:1.6; }
.pricing-closing-cta { display:flex; align-items:center; flex-wrap:wrap; gap:2.5rem; margin-top:3.5rem; margin-bottom:2.5rem; padding:2.5rem 2.75rem; border:1px solid var(--line); border-radius:1.125rem; background:#fff; }
.pricing-closing-cta .button-link:not(.primary) { background:var(--surface); }
.pricing-closing-cta > div:first-child { display:flex; flex-direction:column; gap:.6rem; max-width:35rem; }
.pricing-closing-cta h2 { margin:0; font-size:1.75rem; letter-spacing:-.025em; }
.pricing-closing-cta p { margin:0; color:var(--muted); font-size:1.0625rem; line-height:1.55; }
.pricing-closing-actions { display:flex; flex-wrap:wrap; gap:.625rem; margin-left:auto; }
@media (max-width:900px) { .enterprise-band,.free-strip { grid-template-columns:1fr; } .pricing-closing-cta { flex-direction:column; align-items:flex-start; } .free-strip-actions,.pricing-closing-actions { margin-left:0; } }
@media (max-width:650px) { .pricing-heading h1 { font-size:2rem; } .pricing-controls-row { justify-content:flex-start; } }

/* Methodology page redesign */
.methodology-stepper { list-style:none; margin:2.5rem 0 0; padding:0; }
.methodology-stepper > li { position:relative; display:grid; grid-template-columns:3.5rem 1fr; gap:1.5rem; padding-bottom:2.75rem; }
.methodology-stepper > li:last-child { padding-bottom:0; }
.methodology-stepper > li:not(:last-child)::before { content:""; position:absolute; top:3.5rem; bottom:0; left:1.75rem; width:2px; background:var(--line); }
.methodology-step-number { display:grid; place-items:center; width:3.5rem; height:3.5rem; border-radius:50%; background:var(--brand); color:#fff; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.4rem; font-weight:800; z-index:1; }
.methodology-step-body h2 { margin:.1rem 0 .4rem; font-size:clamp(1.35rem,2.5vw,1.75rem); }
.methodology-step-body ul { display:flex; flex-direction:column; gap:.35rem; margin:.75rem 0 0; padding-left:1.2rem; color:var(--muted); }
.methodology-comparison { background:transparent; border:0; margin-top:2.5rem; padding:clamp(1.5rem,4vw,2.5rem) 0 0; }
.methodology-comparison .table-wrap { margin-top:1.25rem; border:1px solid var(--line); border-radius:.7rem; overflow:hidden; }
.methodology-comparison table { font-size:.94rem; }
.methodology-comparison td { background:#fff; }
.methodology-standards { background:transparent; border:0; margin-top:1.5rem; padding:clamp(1.5rem,4vw,2.5rem) 0 0; }
.standards-list { display:flex; flex-direction:column; gap:.75rem; margin-top:1.25rem; }
.standards-item { display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem 1rem; padding:1rem 1.25rem; border:1px solid var(--line); border-radius:.6rem; background:#fff; }
.standards-item strong { flex:0 0 11em; }
.standards-item span { flex:1 1 20rem; color:var(--muted); }
@media (max-width:650px) { .methodology-stepper > li { grid-template-columns:2.75rem 1fr; gap:1rem; } .methodology-step-number { width:2.75rem; height:2.75rem; font-size:1.1rem; } .methodology-stepper > li:not(:last-child)::before { top:2.75rem; left:1.375rem; } }

/* Methodology hero (design_handoff_heroes) */
.methodology-hero { container-type:inline-size; margin-top:0; padding:0; border:1px solid var(--line); border-radius:1rem; background:#fff; overflow:hidden; }
.methodology-ink-strip { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1.25rem; padding:.75rem 1.5rem; background:var(--ink); }
.methodology-ink-strip span:first-child { color:var(--accent); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.methodology-ink-strip span:last-child { color:#b7c0ce; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
/* 1 column below 39rem, 2 above — copy column plus the classification card. */
.methodology-hero-grid { display:grid; grid-template-columns:1fr; align-items:start; gap:clamp(1.75rem,4vw,3rem); padding:clamp(1.75rem,4vw,2.75rem) clamp(1.25rem,4vw,2.75rem) clamp(1.75rem,4vw,2.5rem); }
@container (min-width:39rem) { .methodology-hero-grid { grid-template-columns:1fr 1fr; } }
.methodology-hero-copy { display:flex; flex-direction:column; gap:1rem; }
.methodology-hero-copy h1 { margin:0; font-size:clamp(1.7rem,3.8vw,2.35rem); line-height:1.08; letter-spacing:-.03em; }
.methodology-hero-copy .lead { max-width:50ch; margin:0; }
.hero-caveat { margin:0; padding:.85rem 1.1rem; border-left:4px solid var(--accent); border-radius:0 .5rem .5rem 0; background:#fff8ea; font-size:.94rem; line-height:1.55; }
.classification-card { border:1px solid var(--line); border-radius:.75rem; padding:1.35rem; }
.classification-heading { display:block; margin-bottom:.25rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; letter-spacing:.08em; }
.classification-bar { display:flex; gap:2px; height:.8rem; margin:.75rem 0 1.1rem; border-radius:999px; overflow:hidden; }
.bar-automated { flex:9; background:var(--brand); }
.bar-advisory { flex:.5; background:var(--accent); }
.bar-manual { flex:.5; background:var(--muted); }
.classification-legend { display:flex; flex-direction:column; gap:.75rem; }
.classification-row { display:flex; gap:.75rem; }
.classification-chip { flex:none; width:.75rem; height:.75rem; margin-top:.3rem; border-radius:.2rem; }
.chip-automated { background:var(--brand); }
.chip-advisory { background:var(--accent); }
.chip-manual { background:var(--muted); }
.classification-row strong { display:block; font-size:.95rem; }
.classification-row p { margin:.15rem 0 0; color:var(--muted); font-size:.88rem; }
.classification-link { display:block; margin-top:1rem; font-weight:700; text-decoration:none; }

/* Scan comparison */
.comparison-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; }
.comparison-hero h2 { margin:.2rem 0 .4rem; }
.comparison-hero p:last-child { max-width:48rem; margin-bottom:0; }
.comparison-pair { display:grid; grid-template-columns:1fr auto 1fr; align-items:stretch; gap:1rem; background:var(--ink); color:#fff; }
.comparison-pair article { display:grid; grid-template-columns:1fr auto; gap:.25rem 1rem; padding:1.1rem 1.25rem; border:1px solid #3a4453; border-radius:.75rem; background:#fff; color:var(--ink); }
.comparison-pair article span,.comparison-pair article time,.comparison-pair article small { color:var(--muted); }
.comparison-pair article strong { font-size:1.2rem; }
.comparison-pair article b { grid-row:1 / span 2; grid-column:2; align-self:center; font-size:1.65rem; }
.comparison-pair article small { grid-column:2; text-align:right; }
.comparison-arrow { align-self:center; color:var(--accent); font-size:1.6rem; font-weight:800; }
.comparison-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; }
.comparison-summary div { padding:1rem 1.1rem; border-radius:.65rem; background:var(--surface); }
.comparison-summary span,.comparison-summary small { display:block; color:var(--muted); }
.comparison-summary strong { display:block; margin:.2rem 0; font-size:1.65rem; }
.comparison-summary .resolved { background:#e9f7ef; }
.comparison-summary .resolved strong { color:#087443; }
.comparison-summary .introduced { background:#fff0ed; }
.comparison-summary .introduced strong { color:#b62f1d; }
.comparison-coverage { display:grid; grid-template-columns:minmax(0,1fr) minmax(15rem,.7fr); align-items:center; gap:2rem; }
.comparison-coverage h2 { margin:.25rem 0 .5rem; }
.comparison-coverage p:last-child { margin-bottom:0; }
.comparison-coverage details,.comparison-complete { padding:1rem; border:1px solid var(--line); border-radius:.65rem; background:var(--surface); }
.comparison-coverage summary { font-weight:700; cursor:pointer; }
.comparison-coverage ul { list-style:none; margin:1rem 0 0; padding:0; }
.comparison-coverage li { display:flex; flex-direction:column; gap:.2rem; padding:.65rem 0; border-top:1px solid var(--line); }
.comparison-coverage li span { color:var(--muted); font-size:.85rem; }
.comparison-complete { color:#087443; font-weight:700; }
.comparison-changes { display:grid; gap:1rem; }
.comparison-change-group .section-heading { margin-bottom:.8rem; }
.comparison-change-group .section-heading h2 { margin:0; }
.comparison-change-group .section-heading > span { display:grid; place-items:center; min-width:2rem; height:2rem; border-radius:999px; background:var(--surface); font-weight:700; }
.comparison-change-group article { display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,.65fr); gap:1.5rem; padding:1rem 0; border-top:1px solid var(--line); }
.comparison-change-group article div { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:.4rem .65rem; }
.comparison-change-group article code { grid-column:2; }
.comparison-change-group article p { margin:0; overflow-wrap:anywhere; }
.report-center-tabs { margin-top:-.75rem; }
.report-center-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding:0; border:0; background:transparent; }
.report-center-actions article { display:flex; flex-direction:column; padding:1.35rem; border:1px solid var(--line); border-radius:.75rem; background:#fff; }
.report-center-actions article.primary { border-color:#b9cdfa; background:var(--accent-wash); }
.report-center-actions h2 { margin:.3rem 0 .5rem; }
.report-center-actions p:not(.eyebrow) { flex:1; color:var(--muted); }
.report-latest-scan { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.report-latest-scan h2 { margin:.25rem 0; }
.report-latest-scan dl { display:grid; grid-template-columns:repeat(3,auto); gap:.35rem 2rem; margin:0; }
.report-latest-scan dt { grid-row:1; color:var(--muted); }
.report-latest-scan dd { grid-row:2; margin:0; font-size:1.35rem; font-weight:800; }
.report-export-cards,.active-deliveries { display:grid; gap:.65rem; }
.report-export-cards article,.active-deliveries article { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid var(--line); border-radius:.65rem; }
.report-export-cards article div,.active-deliveries article > div { display:flex; flex-direction:column; }
.report-export-cards span,.active-deliveries article span { color:var(--muted); }
.report-delivery-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(17rem,.7fr); align-items:start; gap:1rem; }
.report-delivery-layout > *,.report-delivery-form label { min-width:0; }
.report-delivery-form { display:grid; gap:1rem; margin-top:1.25rem; }
.report-delivery-form label { margin:0; }
.report-delivery-form select { width:100%; min-width:0; }
.report-includes { background:var(--ink); color:#fff; }
.report-includes .eyebrow { color:var(--accent); }
.report-includes h2 { color:#fff; }
.report-includes ul { display:grid; gap:.65rem; padding-left:1.2rem; color:#d6dbe4; }
.active-deliveries article dl { display:grid; grid-template-columns:auto 1fr; gap:.25rem .7rem; margin:0; }
.active-deliveries article dt { color:var(--muted); }
.active-deliveries article dd { margin:0; }
.report-commentary { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:2rem; }
.report-commentary form { display:grid; gap:1rem; }
.settings-route-card { display:flex; align-items:center; justify-content:space-between; gap:2rem; background:var(--surface); }
@media (max-width:850px) {
  .report-center-actions { grid-template-columns:1fr; }
  .report-delivery-layout,.report-commentary { grid-template-columns:1fr; }
}
@media (max-width:650px) {
  .report-latest-scan,.report-export-cards article,.active-deliveries article,.settings-route-card { align-items:stretch; flex-direction:column; }
  .report-latest-scan dl { grid-template-columns:repeat(3,1fr); gap:.35rem .75rem; }
  .active-deliveries article dl { margin:.5rem 0; }
}
@media (max-width:750px) {
  .comparison-hero { display:block; }
  .comparison-hero .button-link { margin-top:1rem; }
  .comparison-summary { grid-template-columns:repeat(2,1fr); }
  .comparison-coverage { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .comparison-pair { grid-template-columns:1fr; }
  .comparison-arrow { justify-self:center; transform:rotate(90deg); }
  .comparison-summary { grid-template-columns:1fr 1fr; }
  .comparison-change-group article { grid-template-columns:1fr; }
}

/* Client report family — the report document is the primary surface, faithfully following the
   Workspace & Reports handover instead of wrapping the evidence in generic dashboard cards. */
.report-header { display:block; margin:0; padding:.7rem 1.5rem 0; border-bottom:1px solid var(--line); background:#fff; }
.report-heading { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem; padding-bottom:.55rem; }
.report-heading>div:first-child { flex:1 1 20rem; min-width:0; }
.report-heading h1 { margin:0; font-size:1.22rem; font-weight:800; letter-spacing:-.015em; }
.report-heading p { margin:.1rem 0 0; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.report-header-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.report-header-actions form { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.report-export-progress { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem 1.25rem; margin:14px 1.5rem 0; background:#eef4ff; border-left-color:var(--brand); }
.report-export-progress span { flex:1 1 auto; color:var(--muted); }
.report-export-progress.is-ready { background:#edf8f1; border-left-color:var(--success); }
.report-export-progress.is-failed { background:#fff0f0; border-left-color:var(--danger); }
.report-export-refresh { margin:0; padding:.75rem 1.15rem; border:0; border-top:1px solid var(--line-soft); border-radius:0; background:#fff; }
.report-export-refresh button { width:auto; }
.report-tabs { display:flex; flex-wrap:wrap; gap:.2rem; margin:0 0 -1px; }
.report-tabs a { display:inline-flex; align-items:center; padding:.5rem .85rem; border:1px solid transparent; border-radius:.4rem .4rem 0 0; color:var(--muted); font-size:.92rem; font-weight:700; text-decoration:none; }
.report-tabs a:hover { color:var(--ink); background:var(--surface); }
.report-tabs a[aria-current="page"] { border-color:var(--line); border-bottom-color:#fff; background:#fff; color:var(--brand-dark); }
.report-layout { display:grid; grid-template-columns:minmax(0,1fr) 304px; align-items:start; gap:14px; padding:14px 1.5rem 2rem; }
.report-preview-card,.report-rail>section { min-width:0; margin:0; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:.7rem; background:#fff; }
.report-preview-card>header,.report-rail>section>header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; padding:.7rem 1.1rem; border-bottom:1px solid var(--line); background:var(--surface); }
.report-preview-card>header>div { display:flex; align-items:center; gap:.6rem; }
.report-preview-card>header h2,.report-rail>section>header h2 { margin:0; font-size:.95rem; font-weight:800; }
.report-preview-card>header span,.report-period { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.report-desk { padding:1.5rem; background:#eef1f6; }
.report-document { max-width:52rem; margin:0 auto; border:1px solid var(--line); background:#fff; box-shadow:0 2px 10px rgba(20,24,31,.06); }
.report-document>header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1.5rem 1.75rem; background:var(--ink); color:#fff; }
.report-document>header span,.report-document>header strong,.report-document>header small { display:block; }
.report-document>header span { color:var(--accent); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.report-document>header strong { margin-top:.2rem; font-size:1.35rem; font-weight:800; letter-spacing:-.015em; }
.report-document>header small { margin-top:.15rem; color:#b7c0ce; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.78rem; }
.report-document-logo { display:block; max-width:8rem; max-height:3rem; object-fit:contain; filter:drop-shadow(0 0 1px rgba(255,255,255,.3)); }
.report-document-monogram { display:grid!important; place-items:center; flex:none; width:2.75rem; height:2.75rem; border-radius:.4rem; background:#fff; color:var(--ink)!important; font-size:.9rem!important; letter-spacing:0!important; }
.report-score-section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:1.5rem 2rem; margin:0; padding:1.75rem; border:0; border-bottom:1px solid var(--line-soft); border-radius:0; }
.report-score-wrap { display:flex; align-items:center; gap:1.25rem; }
.report-score-wrap svg { display:block; flex:0 0 168px; overflow:visible; }
.report-score-wrap text { fill:var(--ink); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:15px; font-weight:800; }
.report-score-wrap text.was { fill:var(--muted); font-size:6.5px; font-weight:400; }
.report-score-wrap>div>span { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.report-score-wrap>div>strong,.report-score-wrap>div>small { display:block; }
.report-score-wrap>div>strong { margin-top:.2rem; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.05rem; }
.report-score-wrap .positive { color:var(--success); }
.report-score-wrap .negative { color:var(--danger); }
.report-score-wrap>div>small { margin-top:.15rem; color:var(--muted); font-size:.82rem; }
.report-score-section h2,.report-open h2,.report-decisions h2 { margin:0 0 .65rem; font-size:1rem; }
.report-score-section ul { margin:0; padding-left:1.1rem; font-size:.92rem; line-height:1.6; }
.report-open,.report-decisions { margin:0; padding:1.5rem 1.75rem; border:0; border-bottom:1px solid var(--line-soft); border-radius:0; }
.report-table-wrap { max-width:100%; overflow-x:auto; }
.report-open table { width:100%; min-width:34rem; margin:0; font-size:.9rem; border-collapse:collapse; }
.report-open thead { background:var(--surface); }
.report-open th,.report-open td { padding:.6rem .7rem; border-bottom:1px solid var(--line-soft); text-align:left; }
.report-open thead th { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; }
.report-open tbody th { font-size:.92rem; font-weight:600; }
.report-open th:nth-child(3),.report-open td:nth-child(3) { text-align:right; }
.report-open th:last-child,.report-open td:last-child { width:7rem; }
.report-open code { color:var(--muted); font-size:.78rem; }
.report-state { display:inline-block; padding:.12rem .5rem; border-radius:999px; background:#f1f3f7; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; white-space:nowrap; }
.report-state-handled { background:#fff4e0; color:#7a4a00; }
.report-state-verifying { background:#e8eefb; color:var(--brand-dark); }
.report-decisions { background:var(--surface); }
.report-decisions>p { margin:0 0 .75rem; color:var(--muted); font-size:.9rem; }
.report-human-decision { margin:.65rem 0 0; padding:.85rem 1rem; border:1px solid var(--line); border-left:4px solid var(--muted); border-radius:.4rem; background:#fff; }
.report-human-decision strong,.report-human-decision span,.report-human-decision small { display:block; }
.report-human-decision span { margin-top:.2rem; color:var(--muted); font-size:.88rem; }
.report-human-decision small { margin-top:.35rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.report-document>footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem 1rem; padding:1.25rem 1.75rem; }
.report-document>footer p { flex:1 1 20rem; margin:0; color:var(--muted); font-size:.86rem; }
.report-document>footer span { display:inline-flex; align-items:center; gap:.4rem; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.report-preview-note { margin:0; padding:.8rem 1.1rem; border-top:1px solid var(--line); background:var(--surface); color:var(--muted); font-size:.86rem; }
.report-empty { color:var(--muted); font-size:.86rem; }
.report-rail { display:flex; flex-direction:column; gap:14px; min-width:0; }
.report-checks { border-top:4px solid var(--accent)!important; }
.report-checks ul { margin:0; padding:0; list-style:none; }
.report-checks li { display:flex; gap:.6rem; padding:.7rem 1.15rem; border-bottom:1px solid var(--line-soft); font-size:.89rem; }
.report-checks li b { flex:none; }
.report-checks li.ok b { color:var(--success); }
.report-checks li.warn b { color:#7a4a00; }
.report-checks>p { margin:0; padding:.8rem 1.15rem; border-top:1px solid var(--line); background:#fff8ec; color:#7a4a00; font-size:.84rem; }
.report-rail-card>div { display:flex; flex-direction:column; gap:.9rem; padding:1rem 1.15rem; }
.report-rail-label { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.report-next-send { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.05rem; }
.report-delivery-person { display:flex; align-items:center; gap:.7rem; padding:.7rem .85rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); }
.report-delivery-person>span { display:grid; place-items:center; flex:none; width:2rem; height:2rem; border-radius:50%; background:var(--muted); color:#fff; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; }
.report-delivery-person strong,.report-delivery-person small { display:block; overflow-wrap:anywhere; }
.report-delivery-person small { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; }
.report-rail-card>div>p { margin:0; color:var(--muted); font-size:.86rem; }
.report-rail-card a,.report-history a { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; font-weight:700; text-decoration:none; }
.report-history ol { margin:0; padding:0; list-style:none; }
.report-history li { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.65rem 1.15rem; border-bottom:1px solid var(--line-soft); font-size:.89rem; }
.report-history li small { display:block; color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.report-history>p { margin:0; padding:.8rem 1.15rem; border-top:1px solid var(--line); background:var(--surface); color:var(--muted); font-size:.84rem; }
.report-tab-content { display:grid; gap:14px; padding:14px 1.5rem 2rem; }
.report-tool-card { min-width:0; margin:0; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:.7rem; background:#fff; }
.report-tool-card>header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem 1rem; min-height:0; padding:.8rem 1.1rem; border-bottom:1px solid var(--line); background:#fff; }
.report-tool-card>header h2 { margin:0; font-size:1rem; }
.report-tool-card>header p { margin:.15rem 0 0; color:var(--muted); font-size:.86rem; }
.report-tool-body { padding:1.25rem; }
.report-compare-form { display:grid; grid-template-columns:minmax(12rem,1fr) auto minmax(12rem,1fr) auto; align-items:end; gap:1rem; padding:1.1rem; }
.report-compare-form label { display:grid; gap:.3rem; margin:0; }
.report-compare-form label>span,.report-delivery-form-new label>span:first-child { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.report-compare-arrow { align-self:center; color:var(--brand); font-size:1.3rem; font-weight:800; }
.report-comparison-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); }
.report-comparison-summary>div { display:grid; gap:.1rem; padding:1.2rem; background:#fff; }
.report-comparison-summary span,.report-comparison-summary small { color:var(--muted); }
.report-comparison-summary strong { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.5rem; }
.report-comparison-summary .positive strong { color:var(--success); }
.report-comparison-summary .negative strong { color:var(--danger); }
.report-change-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; padding:1rem; border-top:1px solid var(--line); }
.report-change-counts>div { padding:1rem; border-radius:.55rem; background:var(--surface); }
.report-change-counts strong,.report-change-counts span { display:block; }
.report-change-counts strong { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.4rem; }
.report-change-counts span { color:var(--muted); font-size:.84rem; }
.report-change-counts .resolved { background:#e9f7ef; }
.report-change-counts .introduced { background:#fff0ed; }
.report-change-list>section { margin:0; padding:1rem 1.1rem; border:0; border-bottom:1px solid var(--line); border-radius:0; }
.report-change-list h3 { display:flex; align-items:center; gap:.5rem; margin:0 0 .6rem; font-size:.95rem; }
.report-change-list h3 span { display:grid; place-items:center; min-width:1.7rem; height:1.7rem; padding:0 .35rem; border-radius:999px; background:var(--surface); font-size:.75rem; }
.report-change-list article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.15rem 1rem; margin:0; padding:.75rem 0; border:0; border-top:1px solid var(--line-soft); border-radius:0; }
.report-change-list article div { display:grid; }
.report-change-list article code { color:var(--muted); font-size:.75rem; }
.report-change-list article p { grid-column:1 / -1; margin:0; color:var(--muted); font-size:.8rem; overflow-wrap:anywhere; }
.report-change-list>footer { padding:.8rem 1.1rem; background:var(--surface); color:var(--muted); font-size:.84rem; }
.report-delivery-page { grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr); align-items:start; }
.report-delivery-page>.report-active-deliveries { grid-column:1 / -1; }
.report-feature-label,.report-brand-status { padding:.15rem .55rem; border-radius:999px; background:var(--accent-wash); color:var(--accent-ink); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; font-weight:700; }
.report-brand-status.ok { background:#e9f7ef; color:var(--success); }
.report-delivery-form-new { display:grid; gap:1rem; margin:0; padding:0; border:0; background:transparent; }
.report-delivery-form-new>label,.report-delivery-form-new>div>label { display:grid; gap:.3rem; margin:0; }
.report-delivery-form-new>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.report-delivery-form-new small { display:block; color:var(--muted); font-size:.82rem; }
.report-delivery-form-new .checkbox { display:flex; align-items:flex-start; }
.report-delivery-form-new .checkbox>span strong,.report-delivery-form-new .checkbox>span small { display:block; }
.report-access-note { margin:0; padding:1.15rem; border:1px solid #d3ddf6; border-radius:.7rem; background:var(--blue-tint); }
.report-access-note strong { color:var(--brand-dark); }
.report-access-note p { margin:.35rem 0 .75rem; color:var(--brand-dark); font-size:.88rem; }
.report-access-note a { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.76rem; font-weight:700; text-decoration:none; }
.report-empty-state { padding:1.4rem; text-align:center; }
.report-empty-state p { margin:.25rem auto .8rem; max-width:36rem; color:var(--muted); }
.report-active-deliveries>div { display:grid; }
.report-active-deliveries article { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.8rem; margin:0; padding:.85rem 1.1rem; border:0; border-bottom:1px solid var(--line-soft); border-radius:0; }
.report-active-deliveries article>div strong,.report-active-deliveries article>div small { display:block; overflow-wrap:anywhere; }
.report-active-deliveries article>div small { color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; }
.report-active-deliveries article form { margin:0; padding:0; border:0; background:transparent; }
.report-recipient-avatar { display:grid; place-items:center; width:2.2rem; height:2.2rem; border-radius:50%; background:var(--muted); color:#fff; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.75rem; font-weight:700; }
.report-branding-page { grid-template-columns:minmax(0,.8fr) minmax(24rem,1.2fr); align-items:start; }
.report-branding-page>.report-access-note { grid-column:1 / -1; }
.report-branding-overview { display:grid; gap:0; }
.report-branding-overview>div { display:grid; gap:.2rem; padding:1rem 1.1rem; border-bottom:1px solid var(--line-soft); }
.report-branding-overview>div>small { color:var(--muted); }
.report-brand-colour { display:flex; align-items:center; gap:.55rem; font-family:"Atkinson Hyperlegible Mono",monospace; }
.report-brand-colour i { width:1.4rem; height:1.4rem; border-radius:.3rem; background:var(--swatch); box-shadow:0 0 0 1px var(--line); }
.report-tool-card>footer { padding:.85rem 1.1rem; background:var(--surface); }
.report-brand-preview-stage { padding:1.4rem; background:#eef1f6; }
.report-brand-preview-stage>article { max-width:42rem; margin:0 auto; border:1px solid var(--line); background:#fff; box-shadow:0 2px 10px rgba(20,24,31,.06); }
.report-brand-preview-stage article>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:0; padding:1.35rem; background:var(--ink); color:#fff; }
.report-brand-preview-stage article>header small,.report-brand-preview-stage article>header strong,.report-brand-preview-stage article>header span { display:block; }
.report-brand-preview-stage article>header small { color:var(--accent); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.report-brand-preview-stage article>header strong { font-size:1.15rem; }
.report-brand-preview-stage article>header span { color:#b7c0ce; font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.72rem; }
.report-brand-preview-stage article>header>span { display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:.4rem; background:#fff; color:var(--ink); font-weight:700; }
.report-brand-preview-stage article>header img { max-width:8rem; max-height:2.5rem; object-fit:contain; }
.report-brand-preview-stage article>div { display:flex; align-items:center; gap:1.2rem; padding:1.35rem; }
.report-brand-preview-stage article>div>p { margin:0; color:var(--muted); font-size:.85rem; }
.report-brand-mini-gauge { display:grid; place-items:center; width:6rem; height:6rem; flex:none; border:8px solid var(--report-accent); border-left-color:var(--line-soft); border-radius:50%; }
.report-brand-mini-gauge b,.report-brand-mini-gauge span { display:block; line-height:1; text-align:center; }
.report-brand-mini-gauge b { font-family:"Atkinson Hyperlegible Mono",monospace; font-size:1.2rem; }
.report-brand-mini-gauge span { color:var(--muted); font-size:.68rem; }
@media (max-width:1100px) {
  .report-layout { grid-template-columns:1fr; }
  .report-rail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-rail .report-checks { grid-column:1 / -1; }
  .report-branding-page { grid-template-columns:1fr; }
  .report-branding-page>.report-access-note { grid-column:auto; }
}
@media (max-width:760px) {
  .report-header,.report-layout,.report-tab-content { padding-left:1rem; padding-right:1rem; }
  .report-score-section { grid-template-columns:1fr; }
  .report-rail { grid-template-columns:1fr; }
  .report-rail .report-checks { grid-column:auto; }
  .report-compare-form { grid-template-columns:1fr; }
  .report-compare-arrow { justify-self:center; transform:rotate(90deg); }
  .report-comparison-summary { grid-template-columns:1fr; }
  .report-change-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-delivery-page { grid-template-columns:1fr; }
  .report-delivery-page>.report-active-deliveries { grid-column:auto; }
}
@media (max-width:520px) {
  .report-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-tabs a { justify-content:center; border-radius:.35rem; }
  .report-tabs a[aria-current="page"] { border-bottom-color:var(--line); background:var(--accent-wash); }
  .report-desk { padding:.75rem; }
  .report-document>header,.report-score-section,.report-open,.report-decisions,.report-document>footer { padding:1rem; }
  .report-score-wrap { align-items:flex-start; flex-direction:column; }
  .report-score-wrap svg { align-self:center; }
}

/* Page inventory becomes a readable result card instead of a squeezed table. */
@media (max-width:650px) {
  .site-scan-history .trend-list article { grid-template-columns:minmax(0,1fr); }
  .site-scan-history .trend-list article > div:first-child { grid-column:auto; }
  .portfolio-workspace>.table-wrap { overflow:visible; }
  .portfolio-sites-table,.portfolio-sites-table tbody,.portfolio-sites-table tr { display:block; width:100%; }
  .portfolio-sites-table colgroup,.portfolio-sites-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .portfolio-sites-table tr { padding:.8rem 1rem; border-bottom:1px solid var(--line-soft); }
  .portfolio-sites-table th,.portfolio-sites-table td { display:block; padding:.25rem 0; border:0; white-space:normal; }
  .portfolio-sites-table th { padding-bottom:.55rem; }
  .portfolio-sites-table td { display:grid; grid-template-columns:minmax(7rem,42%) minmax(0,1fr); gap:.75rem; align-items:center; }
  .portfolio-sites-table td::before { content:attr(data-label); color:var(--muted); font-family:"Atkinson Hyperlegible Mono",monospace; font-size:.7rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
  .page-inventory-section .table-wrap { overflow:visible; }
  .page-inventory-section table,
  .page-inventory-section tbody,
  .page-inventory-section tr { display:block; width:100%; }
  .page-inventory-section thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
  .page-inventory-section tr { padding:1rem 0; border-top:1px solid var(--line); }
  .page-inventory-section td { display:grid; grid-template-columns:minmax(6rem,40%) minmax(0,1fr); gap:.75rem; padding:.35rem 0; border:0; overflow-wrap:anywhere; }
  .page-inventory-section td:first-child { display:block; padding-bottom:.8rem; }
  .page-inventory-section td:first-child code { display:block; margin-top:.25rem; font-size:.82rem; }
  .page-inventory-section td::before { color:var(--muted); font-size:.82rem; font-weight:700; }
  .page-inventory-section td:nth-child(2)::before { content:"HTTP"; }
  .page-inventory-section td:nth-child(3)::before { content:"WCAG 2.2 combined"; }
  .page-inventory-section td:nth-child(4)::before { content:"Active issues"; }
  .page-inventory-section td:nth-child(5)::before { content:"Violations"; }
  .page-inventory-section td:nth-child(6)::before { content:"Review"; }
  .page-inventory-section td:nth-child(7)::before { content:"Last checked"; }
  html[lang="de"] .page-inventory-section td:nth-child(3)::before { content:"WCAG 2.2 kombiniert"; }
  html[lang="de"] .page-inventory-section td:nth-child(4)::before { content:"Aktive Probleme"; }
  html[lang="de"] .page-inventory-section td:nth-child(5)::before { content:"Verstöße"; }
  html[lang="de"] .page-inventory-section td:nth-child(6)::before { content:"Prüfung"; }
  html[lang="de"] .page-inventory-section td:nth-child(7)::before { content:"Zuletzt geprüft"; }
}
