/*
 * InspectAI Core — component styles for the portal, auth pages, share pages
 * and the public-site shortcodes. Reads the InspectAI theme's tokens
 * (--wp--preset--*) and falls back to the same values under any other theme.
 */
:root {
	--ia-ink: var(--wp--preset--color--ink, #0a1f3d);
	--ia-harbour: var(--wp--preset--color--harbour, #14335f);
	--ia-paper: var(--wp--preset--color--paper, #f6f8fb);
	--ia-surface: var(--wp--preset--color--surface, #fff);
	--ia-text: var(--wp--preset--color--slate, #1b2433);
	--ia-muted: var(--wp--preset--color--muted, #556074);
	--ia-line: var(--wp--preset--color--line, #d9dee7);
	--ia-signal: var(--wp--preset--color--signal, #f2a33a);
	--ia-signal-ink: var(--wp--preset--color--signal-ink, #1a1206);
	--ia-ok: var(--wp--preset--color--verified, #1e7f52);
	--ia-fail: var(--wp--preset--color--failed, #b42f25);
	--ia-pend: var(--wp--preset--color--pending, #8a5a00);
	--ia-link: #1d4c9a;
	--ia-ok-bg: color-mix(in srgb, var(--ia-ok) 12%, var(--ia-surface));
	--ia-fail-bg: color-mix(in srgb, var(--ia-fail) 10%, var(--ia-surface));
	--ia-pend-bg: color-mix(in srgb, var(--ia-pend) 12%, var(--ia-surface));
	--ia-r-control: var(--wp--custom--radius--control, 6px);
	--ia-r-panel: var(--wp--custom--radius--panel, 12px);
	--ia-display: var(--wp--preset--font-family--display, system-ui, sans-serif);
}
:root[data-theme="dark"] { --ia-link: #8db4f5; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) { --ia-link: #8db4f5; }
}

/* ---------- Primitives ---------- */
.ia-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
	min-height: 44px; padding: .65rem 1.15rem; border-radius: var(--ia-r-control);
	border: 1px solid transparent; font: inherit; font-weight: 600; font-size: .975rem;
	line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color .15s, border-color .15s;
}
.ia-btn--primary { background: var(--ia-ink); color: #fff; }
.ia-btn--primary:hover { background: var(--ia-harbour); }
.ia-btn--accent { background: var(--ia-signal); color: var(--ia-signal-ink); }
.ia-btn--accent:hover { background: #e08e1f; }
.ia-btn--secondary { background: var(--ia-surface); color: var(--ia-text); border-color: var(--ia-line); }
.ia-btn--secondary:hover { border-color: var(--ia-muted); }
.ia-btn--ghost { background: transparent; color: inherit; border-color: color-mix(in srgb, currentColor 35%, transparent); }
.ia-btn--link { background: none; border: 0; padding: 0; min-height: 0; color: var(--ia-link); text-decoration: underline; font-weight: 500; }
.ia-btn--block { width: 100%; }
.ia-btn[disabled], .ia-btn:disabled { opacity: .5; cursor: not-allowed; }
.ia-btn:focus-visible, .ia-form :is(input, select, textarea, button):focus-visible, .inspectai-portal a:focus-visible, .ia-report-row summary:focus-visible, .ia-query__edit summary:focus-visible {
	outline: 2px solid var(--ia-signal); outline-offset: 2px;
}
.ia-muted { color: var(--ia-muted); }
.ia-text-error { color: var(--ia-fail); }
.ia-req { color: var(--ia-fail); }
.ia-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Forms ---------- */
.ia-form { display: grid; gap: 1rem; }
.ia-field { display: grid; gap: .35rem; min-width: 0; }
.ia-field label, .ia-form legend { font-weight: 600; font-size: .925rem; }
.ia-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.ia-form select, .ia-form textarea, .ia-filters :is(input, select) {
	width: 100%; min-height: 44px; padding: .6rem .75rem; border: 1px solid var(--ia-line);
	border-radius: var(--ia-r-control); background: var(--ia-surface); color: var(--ia-text); font: inherit; font-size: 1rem;
}
.ia-form textarea { min-height: 7rem; resize: vertical; }
.ia-form input[readonly] { background: var(--ia-paper); }
.ia-field.has-error :is(input, textarea, select) { border-color: var(--ia-fail); }
.ia-field-error { color: var(--ia-fail); font-size: .875rem; margin: 0; }
.ia-help { color: var(--ia-muted); font-size: .875rem; margin: 0; }
.ia-check { display: block; position: relative; padding-left: 1.75rem; font-weight: 400 !important; }
.ia-check input { position: absolute; left: 0; top: .2rem; margin: 0; width: 1.05rem; height: 1.05rem; accent-color: var(--ia-ink); }
.ia-form--inline { grid-template-columns: 1fr auto; align-items: end; }
.ia-grid-2 { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ia-grid-3 { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ia-form-wrap { max-width: 760px; }

/* ---------- Alerts ---------- */
.ia-alert { padding: .8rem 1rem; border-radius: var(--ia-r-control); border-left: 4px solid; margin: 0 0 1rem; background: var(--ia-surface); }
.ia-alert--success { border-color: var(--ia-ok); background: var(--ia-ok-bg); }
.ia-alert--error { border-color: var(--ia-fail); background: var(--ia-fail-bg); }
.ia-alert--warning, .ia-alert--info { border-color: var(--ia-pend); background: var(--ia-pend-bg); }

/* ---------- Status language (shared by report, sample, portal) ---------- */
.ia-status { font-weight: 600; white-space: nowrap; }
.ia-status--successful { color: var(--ia-ok); }
.ia-status--failed { color: var(--ia-fail); }
.ia-status--pending, .ia-status--unverified { color: var(--ia-pend); }
.ia-badge { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: .8125rem; font-weight: 600; background: var(--ia-paper); border: 1px solid var(--ia-line); color: var(--ia-text); vertical-align: middle; }
.ia-badge--active, .ia-badge--released, .ia-badge--successful { background: var(--ia-ok-bg); border-color: transparent; color: var(--ia-ok); }
.ia-badge--failed, .ia-badge--cancelled, .ia-badge--expired { background: var(--ia-fail-bg); border-color: transparent; color: var(--ia-fail); }
.ia-badge--pending, .ia-badge--unverified, .ia-badge--completed, .ia-badge--none { background: var(--ia-pend-bg); border-color: transparent; color: var(--ia-pend); }
.ia-badge--queued, .ia-badge--in_progress { background: color-mix(in srgb, var(--ia-harbour) 10%, var(--ia-surface)); border-color: transparent; }

/* ---------- Tables ---------- */
.ia-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ia-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.ia-table caption { text-align: left; font-weight: 600; padding: 0 0 .5rem; font-family: var(--ia-display); }
.ia-table th { text-align: left; font-weight: 600; color: var(--ia-muted); font-size: .85rem; border-bottom: 1px solid var(--ia-line); padding: .6rem .75rem; }
.ia-table td { border-bottom: 1px solid var(--ia-line); padding: .7rem .75rem; vertical-align: top; }
@media (max-width: 720px) {
	.inspectai-portal .ia-table thead { position: absolute; left: -9999px; }
	.inspectai-portal .ia-table, .inspectai-portal .ia-table tbody, .inspectai-portal .ia-table tr, .inspectai-portal .ia-table td { display: block; width: 100%; }
	.inspectai-portal .ia-table tr { border-bottom: 1px solid var(--ia-line); padding: .5rem 0; }
	.inspectai-portal .ia-table td { border: 0; padding: .25rem 0; display: grid; grid-template-columns: 9rem 1fr; gap: .5rem; }
	.inspectai-portal .ia-table td[data-label]::before { content: attr(data-label); color: var(--ia-muted); font-size: .85rem; }
}

/* ---------- Pricing (shortcode) ---------- */
.ia-pricing { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); align-items: stretch; margin: 0 0 1.5rem; }
.ia-plan { display: flex; flex-direction: column; gap: .75rem; padding: 1.5rem; border: 1px solid var(--ia-line); border-radius: var(--ia-r-panel); background: var(--ia-surface); }
.ia-plan--featured { background: var(--ia-ink); color: #eaf0f8; border-color: var(--ia-ink); }
.ia-plan--featured .ia-plan__eyebrow, .ia-plan--featured .ia-plan__per { color: #a9b8ce; }
.ia-plan__eyebrow { margin: 0; color: var(--ia-muted); font-size: .9rem; }
.ia-plan__name { margin: 0; font-family: var(--ia-display); font-size: 1.35rem; color: inherit; }
.ia-plan__price { margin: 0; display: flex; align-items: baseline; gap: .25rem; }
.ia-plan__amount { font-family: var(--ia-display); font-size: 2.4rem; font-weight: 600; letter-spacing: -.02em; }
.ia-plan__price--quote { font-family: var(--ia-display); font-size: 1.25rem; font-weight: 600; padding: .55rem 0; }
.ia-plan__list { margin: 0; padding-left: 1.1rem; display: grid; gap: .35rem; flex: 1; align-content: start; }
.ia-plan--featured .ia-btn--primary { background: var(--ia-signal); color: var(--ia-signal-ink); }
.ia-pricing__custom { margin: 0 0 2rem; }

/* ---------- Sample report (shortcode) ---------- */
.ia-sample { margin: 0; border: 1px solid var(--ia-line); border-radius: var(--ia-r-panel); background: var(--ia-surface); overflow: hidden; }
.ia-sample__label { padding: .55rem 1rem; background: var(--ia-pend-bg); color: var(--ia-pend); font-weight: 600; font-size: .9rem; border-bottom: 1px solid var(--ia-line); }
.ia-sample__table td:first-child, .ia-sample__table th:first-child { width: 2.5rem; text-align: right; color: var(--ia-muted); }
.ia-sample__platform, .ia-sample__meta { display: block; color: var(--ia-muted); font-size: .85rem; margin-top: .25rem; font-weight: 400; }
.ia-sample figcaption { padding: .75rem 1rem; color: var(--ia-muted); font-size: .875rem; border-top: 1px solid var(--ia-line); }

/* ---------- Free check ---------- */
.ia-free-check__form { grid-template-columns: 1fr auto; }
.ia-check-result { margin-top: 1.5rem; padding: 1.25rem; border: 1px solid var(--ia-line); border-radius: var(--ia-r-panel); background: var(--ia-surface); }
.ia-check-result h3 { margin-top: 0; }

/* ---------- Definition lists ---------- */
.ia-dl { display: grid; gap: .1rem; margin: 0; }
.ia-dl > div { display: grid; grid-template-columns: minmax(8rem, 13rem) 1fr; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--ia-line); }
.ia-dl > div:last-child { border-bottom: 0; }
.ia-dl dt { color: var(--ia-muted); }
.ia-dl dd { margin: 0; overflow-wrap: anywhere; }

.ia-platforms { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; font-family: var(--ia-display); font-weight: 600; font-size: 1.05rem; }
.ia-disclaimer { color: var(--ia-muted); font-size: .85rem; }

/* ======================================================================
   Portal
   ====================================================================== */
.inspectai-portal .ia-main { background: var(--ia-paper); color: var(--ia-text); min-height: 60vh; }
.ia-page-wrap { max-width: 1200px; margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 4vw, 2.5rem); }
.ia-app { max-width: 1240px; margin: 0 auto; padding: clamp(1rem, 3vw, 2rem) clamp(1rem, 4vw, 2.5rem) 4rem; display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 2rem; align-items: start; }
.ia-app-nav { position: sticky; top: 5.5rem; }
.ia-app-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; }
.ia-app-nav a { display: block; padding: .6rem .8rem; border-radius: var(--ia-r-control); color: var(--ia-text); text-decoration: none; font-weight: 500; }
.ia-app-nav a:hover { background: var(--ia-surface); }
.ia-app-nav a.is-active { background: var(--ia-ink); color: #fff; }
.ia-app-nav__logout { margin-top: 1rem; border-top: 1px solid var(--ia-line); padding-top: .75rem; }
.ia-app-nav__logout a { color: var(--ia-muted); }
.ia-preview-bar { background: var(--ia-signal); color: var(--ia-signal-ink); padding: .65rem 1rem; text-align: center; font-weight: 600; }
.ia-preview-bar a { color: inherit; margin-left: 1rem; }

.ia-page-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin: 0 0 1.5rem; }
.ia-page-head h1 { margin: 0; font-family: var(--ia-display); font-size: clamp(1.6rem, 3vw, 2.2rem); letter-spacing: -.02em; line-height: 1.15; }
.ia-page-intro { margin: .35rem 0 0; color: var(--ia-muted); max-width: 62ch; }
.ia-eyebrow { margin: 0 0 .25rem; color: var(--ia-muted); font-size: .9rem; }
.ia-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: 0; }

.ia-card { background: var(--ia-surface); border: 1px solid var(--ia-line); border-radius: var(--ia-r-panel); padding: clamp(1rem, 2.5vw, 1.5rem); margin: 0 0 1.25rem; }
.ia-card > h2 { margin: 0 0 1rem; font-family: var(--ia-display); font-size: 1.2rem; letter-spacing: -.01em; }
.ia-card h3 { font-size: 1.05rem; margin: 1.25rem 0 .5rem; }
.ia-card--inset { background: var(--ia-paper); }
.ia-card--compact p { margin: 0; }
.ia-callout { border-left: 4px solid var(--ia-signal); background: var(--ia-surface); padding: 1rem 1.25rem; border-radius: 0 var(--ia-r-control) var(--ia-r-control) 0; margin: 0 0 1.25rem; }
.ia-callout p { margin: 0 0 .5rem; } .ia-callout p:last-child { margin: 0; }
.ia-empty { border: 1px dashed var(--ia-line); border-radius: var(--ia-r-panel); padding: 1.5rem; text-align: left; background: var(--ia-surface); }
.ia-empty__title { font-weight: 600; margin: 0 0 .25rem; }
.ia-empty p { margin: 0 0 .75rem; }

/* Dashboard stats: a ledger strip, not a card grid. */
.ia-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--ia-line); border-radius: var(--ia-r-panel); background: var(--ia-surface); margin: 0 0 1.25rem; }
.ia-stat { padding: 1rem 1.25rem; display: grid; gap: .2rem; border-left: 1px solid var(--ia-line); }
.ia-stat:first-child { border-left: 0; }
.ia-stat__label { color: var(--ia-muted); font-size: .875rem; }
.ia-stat__value { font-family: var(--ia-display); font-size: 1.75rem; font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.2; }
.ia-stat__note { color: var(--ia-muted); font-size: .85rem; }

.ia-progress { display: grid; gap: .3rem; min-width: 10rem; }
.ia-progress__bar { height: .5rem; background: var(--ia-line); border-radius: 999px; overflow: hidden; }
.ia-progress__bar span { display: block; height: 100%; background: var(--ia-ok); border-radius: 999px; }
.ia-progress__text { font-size: .85rem; color: var(--ia-muted); font-variant-numeric: tabular-nums; }
.ia-progress-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.ia-countdown { font-family: var(--ia-display); font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 600; letter-spacing: -.01em; margin: .25rem 0 .75rem; font-variant-numeric: tabular-nums; }
.ia-counts { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.ia-counts strong { font-family: var(--ia-display); font-size: 1.4rem; margin-right: .25rem; font-variant-numeric: tabular-nums; }
.ia-counts .is-ok strong { color: var(--ia-ok); } .ia-counts .is-fail strong { color: var(--ia-fail); }
.ia-counts .is-pending strong, .ia-counts .is-unverified strong { color: var(--ia-pend); }
.ia-copy-row { display: flex; gap: .5rem; margin: 0 0 1rem; }
.ia-copy-row input { flex: 1; min-height: 44px; padding: .5rem .75rem; border: 1px solid var(--ia-line); border-radius: var(--ia-r-control); font: inherit; }

/* Wizard */
.ia-stepper { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .25rem; counter-reset: none; }
.ia-stepper__item > :is(a, span) { display: flex; gap: .5rem; align-items: center; padding: .55rem .5rem; border-top: 3px solid var(--ia-line); color: var(--ia-muted); text-decoration: none; font-size: .9rem; }
.ia-stepper__n { display: inline-grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; border: 1px solid currentColor; font-size: .8rem; font-weight: 600; flex: none; }
.ia-stepper__item.is-done > a { border-color: var(--ia-ok); color: var(--ia-text); }
.ia-stepper__item.is-current > span { border-color: var(--ia-ink); color: var(--ia-text); font-weight: 600; }
.ia-wizard h2 { font-family: var(--ia-display); margin: 0 0 .35rem; font-size: 1.35rem; }
.ia-wizard__nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--ia-line); }
.ia-kw-list { display: grid; gap: .5rem; }
.ia-kw-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: .75rem; }
.ia-kw-row + .ia-kw-row label { position: absolute; left: -9999px; }
.ia-choice-group { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ia-choice-group legend { margin-bottom: .5rem; width: 100%; }
.ia-choice { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; padding: .75rem 1rem; border: 1px solid var(--ia-line); border-radius: var(--ia-r-control); background: var(--ia-surface); cursor: pointer; min-height: 44px; }
.ia-choice:has(input:checked) { border-color: var(--ia-ink); box-shadow: inset 0 0 0 1px var(--ia-ink); }
.ia-choice.is-disabled { opacity: .65; }
.ia-choice input[type="number"] { width: 7rem; min-height: 36px; padding: .3rem .5rem; border: 1px solid var(--ia-line); border-radius: var(--ia-r-control); }
.ia-choice .ia-help { flex-basis: 100%; }
.ia-checks { display: grid; gap: 1rem; margin: 1rem 0; }
.ia-check-card { border: 1px solid var(--ia-line); border-left: 4px solid var(--ia-line); border-radius: var(--ia-r-control); padding: 1rem; }
.ia-check-card--ok { border-left-color: var(--ia-ok); } .ia-check-card--failed { border-left-color: var(--ia-fail); }
.ia-check-card h3 { margin: 0 0 .5rem; font-size: 1rem; overflow-wrap: anywhere; }
.ia-query-summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 1rem 0; }
.ia-query-summary p { margin: 0; }
.ia-query-list { margin: 0 0 1rem; padding: 0; list-style: none; border-top: 1px solid var(--ia-line); }
.ia-query { padding: .75rem 0; border-bottom: 1px solid var(--ia-line); display: grid; gap: .4rem; }
.ia-query.is-duplicate { background: var(--ia-fail-bg); padding-inline: .5rem; }
.ia-query__n { color: var(--ia-muted); font-variant-numeric: tabular-nums; margin-right: .35rem; }
.ia-query__text { overflow-wrap: anywhere; }
.ia-query__meta { display: block; color: var(--ia-muted); font-size: .85rem; }
.ia-query__edit summary { cursor: pointer; color: var(--ia-link); font-size: .9rem; width: max-content; }
.ia-query__edit .ia-form { margin-top: .5rem; }
.ia-pagination { display: flex; flex-wrap: wrap; gap: .35rem; margin: 1rem 0; }
.ia-pagination a { min-width: 2.5rem; min-height: 2.5rem; display: grid; place-items: center; border: 1px solid var(--ia-line); border-radius: var(--ia-r-control); text-decoration: none; color: var(--ia-text); background: var(--ia-surface); }
.ia-pagination a.is-current { background: var(--ia-ink); color: #fff; border-color: var(--ia-ink); }

/* Report: the evidence ledger */
.ia-integrity { background: var(--ia-surface); border: 1px solid var(--ia-line); border-radius: var(--ia-r-control); padding: .75rem 1rem; margin: 0 0 1.25rem; }
.ia-integrity summary { cursor: pointer; font-weight: 600; }
.ia-filters { display: grid; grid-template-columns: 2fr 1fr 1fr auto; gap: .75rem; align-items: end; margin: 0 0 1rem; }
.ia-report-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ia-line); }
.ia-report-row { border-bottom: 1px solid var(--ia-line); background: var(--ia-surface); border-left: 4px solid var(--ia-line); }
.ia-report-row--successful { border-left-color: var(--ia-ok); }
.ia-report-row--failed { border-left-color: var(--ia-fail); }
.ia-report-row--pending, .ia-report-row--unverified { border-left-color: var(--ia-pend); }
.ia-report-row summary { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) minmax(9rem, 14rem); gap: 1rem; padding: .85rem 1rem; cursor: pointer; list-style: none; align-items: start; }
.ia-report-row summary::-webkit-details-marker { display: none; }
.ia-report-n { color: var(--ia-muted); font-variant-numeric: tabular-nums; }
.ia-report-q { overflow-wrap: anywhere; }
.ia-report-platform { display: block; color: var(--ia-muted); font-size: .85rem; margin-top: .2rem; }
.ia-report-s { font-weight: 600; }
.ia-report-row--successful .ia-report-s { color: var(--ia-ok); }
.ia-report-row--failed .ia-report-s { color: var(--ia-fail); }
.ia-report-row--pending .ia-report-s, .ia-report-row--unverified .ia-report-s { color: var(--ia-pend); }
.ia-drawer { padding: 0 1rem 1.25rem 5.5rem; }
.ia-drawer__links { margin: 1rem 0; }
.ia-drawer__h { font-size: 1rem; margin: 1rem 0 .5rem; }
.ia-answer { white-space: normal; background: var(--ia-paper); border: 1px solid var(--ia-line); border-radius: var(--ia-r-control); padding: 1rem; max-height: 28rem; overflow: auto; font-size: .95rem; overflow-wrap: anywhere; }

/* Auth and messages */
.ia-auth-card { max-width: 460px; margin: clamp(1rem, 5vw, 3.5rem) auto; background: var(--ia-surface); border: 1px solid var(--ia-line); border-radius: var(--ia-r-panel); padding: clamp(1.25rem, 4vw, 2.25rem); }
.ia-auth-card h1 { font-family: var(--ia-display); font-size: 1.6rem; letter-spacing: -.02em; margin: 0 0 .5rem; }
.ia-auth-intro { color: var(--ia-muted); margin: 0 0 1.25rem; }
.ia-auth-links { margin: 1.25rem 0 0; font-size: .95rem; color: var(--ia-muted); }
.ia-message { max-width: 620px; margin: clamp(2rem, 8vw, 6rem) auto; }
.ia-message__code { font-family: var(--ia-display); font-size: 4rem; font-weight: 600; color: var(--ia-line); margin: 0; line-height: 1; }
.ia-message h1 { font-family: var(--ia-display); margin: .5rem 0; }
.ia-account-links { display: flex; gap: .5rem; align-items: center; }
.ia-account-menu { position: relative; }
.ia-account-menu summary { cursor: pointer; list-style: none; padding: .55rem .8rem; border-radius: var(--ia-r-control); }
.ia-account-menu ul { position: absolute; right: 0; top: calc(100% + .25rem); min-width: 12rem; margin: 0; padding: .35rem; list-style: none; background: var(--ia-surface); border: 1px solid var(--ia-line); border-radius: var(--ia-r-control); z-index: 50; }
.ia-account-menu ul a { display: block; padding: .5rem .65rem; color: var(--ia-text); text-decoration: none; border-radius: 4px; }
.ia-account-menu ul a:hover { background: var(--ia-paper); }

@media (max-width: 900px) {
	.ia-app { grid-template-columns: 1fr; gap: 1rem; }
	.ia-app-nav { position: static; overflow-x: auto; }
	.ia-app-nav ul { display: flex; gap: .25rem; }
	.ia-app-nav a { white-space: nowrap; }
	.ia-app-nav__logout { margin: 0; border: 0; padding: 0; }
	.ia-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ia-stat:nth-child(3) { border-left: 0; }
	.ia-stat:nth-child(n+3) { border-top: 1px solid var(--ia-line); }
	.ia-stepper { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ia-filters { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	.ia-grid-2, .ia-grid-3, .ia-kw-row, .ia-form--inline, .ia-free-check__form, .ia-filters { grid-template-columns: 1fr; }
	.ia-kw-row + .ia-kw-row { border-top: 1px solid var(--ia-line); padding-top: .5rem; }
	.ia-dl > div { grid-template-columns: 1fr; gap: .1rem; }
	.ia-report-row summary { grid-template-columns: 2.5rem minmax(0, 1fr); }
	.ia-report-s { grid-column: 2; }
	.ia-drawer { padding: 0 1rem 1rem; }
	.ia-stepper__item > :is(a, span) { font-size: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
	.ia-btn, .ia-progress__bar span { transition: none; }
}
@media print {
	.ia-app-nav, .ia-filters, .ia-actions, .wp-block-template-part { display: none !important; }
	.ia-app { display: block; }
	.ia-report-row details > .ia-drawer { display: block; }
}

/* Sample report table stacks on small screens */
@media (max-width: 640px) {
	.ia-sample__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ia-sample__table, .ia-sample__table tbody { display: block; width: 100%; }
	.ia-sample__table tr { display: grid; grid-template-columns: 2rem minmax(0, 1fr); padding: .75rem 0; border-bottom: 1px solid var(--ia-line); }
	.ia-sample__table td { display: block; min-width: 0; border: 0; padding: .2rem .5rem; overflow-wrap: anywhere; }
	.ia-sample__table td:nth-child(3) { grid-column: 2; }
	.ia-sample__table td:first-child { width: auto; padding: .2rem 0; text-align: left; color: var(--ia-muted); }
}

/* Form controls never exceed their column */
.ia-form :where(input, select, textarea, button), .ia-btn { box-sizing: border-box; max-width: 100%; }

/* Structural list items and table text are not prose: no reading measure */
.ia-app :where(li[class], .ia-table td, .ia-table th, .ia-card p), .ia-report-row, .ia-pricing li { max-width: none; }
.ia-table td a[href*="/app/orders/"] { white-space: nowrap; }

@media (max-width: 900px) {
	.ia-app-nav { position: static; }
	.ia-app-nav ul { display: flex; gap: .25rem; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; padding-bottom: .35rem; }
	.ia-app-nav a { white-space: nowrap; }
}
@media (max-width: 480px) {
	.ia-account-menu summary { max-width: 7.5rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-inline: .4rem; }
}
