[data-app-design-v2] .appV2ExceptionsPage.appV2ExceptionsPage { box-sizing: border-box; background: var(--app-v2-paper); color: var(--app-v2-ink); font-family: var(--app-v2-font); min-height: 0; padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)); overflow-wrap: anywhere; }
[data-app-design-v2] .appV2ExceptionsTitle.appV2ExceptionsTitle { font-family: var(--app-v2-font-display); color: var(--app-v2-ink); line-height: 1.5; overflow-wrap: anywhere; }
[data-app-design-v2] .appV2ExceptionsText.appV2ExceptionsText { font-family: var(--app-v2-font); line-height: 1.75; overflow-wrap: anywhere; color: var(--app-v2-ink); }
[data-app-design-v2] .appV2ExceptionsContent.appV2ExceptionsContent { background: var(--app-v2-surface); font-family: var(--app-v2-font); color: var(--app-v2-ink); border-color: var(--app-v2-rule); }
[data-app-design-v2] .appV2ExceptionsLabel.appV2ExceptionsLabel { font: 500 15px/1.6 var(--app-v2-font); color: var(--app-v2-ink); min-height: 44px; }
[data-app-design-v2] .appV2ExceptionsInput.appV2ExceptionsInput { box-sizing: border-box; min-width: 0; max-width: 100%; min-height: 48px; border: 1px solid var(--app-v2-rule); border-radius: 16px; padding: 12px 14px; background: var(--app-v2-surface); color: var(--app-v2-ink); font: 400 16px/1.6 var(--app-v2-font); }
[data-app-design-v2] .appV2ExceptionsControl.appV2ExceptionsControl { accent-color: var(--app-v2-plum); min-width: 44px; min-height: 44px; }
[data-app-design-v2] .appV2ExceptionsButton.appV2ExceptionsButton { box-sizing: border-box; min-width: 44px; min-height: 44px; border-radius: 28px; border-color: var(--app-v2-rule); padding: 12px 18px; background: var(--app-v2-gradient); color: var(--app-v2-on-night); font: 600 15px/1.5 var(--app-v2-font); overflow-wrap: anywhere; }
[data-app-design-v2] .appV2ExceptionsLink.appV2ExceptionsLink { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; color: var(--app-v2-plum); font-family: var(--app-v2-font); text-underline-offset: 3px; overflow-wrap: anywhere; }
[data-app-design-v2] .appV2ExceptionsButton:focus-visible { outline: var(--app-v2-focus); outline-offset: 3px; }
[data-app-design-v2] .appV2ExceptionsLink:focus-visible { outline: var(--app-v2-focus); outline-offset: 3px; }
[data-app-design-v2] .appV2ExceptionsInput:focus-visible { outline: var(--app-v2-focus); outline-offset: 3px; }
[data-app-design-v2] .appV2ExceptionsControl:focus-visible { outline: var(--app-v2-focus); outline-offset: 3px; }
[data-app-design-v2] .appV2ExceptionsButton:disabled, [data-app-design-v2] .appV2ExceptionsButton[aria-disabled="true"] { opacity: 0.45; cursor: default; }
[data-app-design-v2] .appV2ExceptionsText[role="alert"] { color: var(--app-v2-error); }

[data-app-design-v2] .appV2ExceptionsButton .appV2ExceptionsInline, [data-app-design-v2] .appV2ExceptionsLink .appV2ExceptionsInline { color: inherit; }

/* Report guide, shorts denial and app-only route exceptions. */
[data-app-design-v2] .appV2ExceptionsReport { min-width: 0; width: 100%; }
[data-app-design-v2] .appV2ExceptionsArt { width: 5rem; margin: 1rem 0; }
[data-app-design-v2] .appV2ExceptionsArt .appV2Mascot { display: block; width: 100%; height: auto; }
[data-app-design-v2] .appV2ExceptionsReport .appV2ExceptionsTitle { font-size: clamp(1.625rem, 8vw, 2rem); }
[data-app-design-v2] .appV2ExceptionsReport .appV2ExceptionsText { font-size: .9375rem; }
[data-app-design-v2] .appV2ExceptionsContent.appV2ExceptionsContent { padding: 1rem; border-radius: 1.25rem; }
[data-app-design-v2] .appV2ExceptionsContent .appV2ExceptionsTitle { font: 700 1.125rem/1.6 var(--app-v2-font); }
[data-app-design-v2] .appV2ExceptionsSteps { display: grid; gap: 1rem; padding-left: 1.25rem; }
[data-app-design-v2] .appV2ExceptionsStep { padding-left: .25rem; font: 400 .9375rem/1.8 var(--app-v2-font); color: var(--app-v2-ink); overflow-wrap: anywhere; }
[data-app-design-v2] .appV2ExceptionsStep::marker { color: var(--app-v2-plum); font-weight: 700; }
[data-app-design-v2] .appV2ExceptionsPrimary.appV2ExceptionsPrimary { display: flex; justify-content: center; padding: .875rem 1rem; border-radius: 1.75rem; background: var(--app-v2-gradient); color: var(--app-v2-on-night); font-size: 1rem; }
[data-app-design-v2] .appV2ExceptionsPage.appV2Page { display: grid; gap: 1.25rem; padding: 2rem 1.25rem; border-radius: 1.75rem; background: var(--app-v2-hero); }
[data-app-design-v2] .appV2ExceptionsPage .appV2Heading { margin: 0; font: 600 1.75rem/1.5 var(--app-v2-font-display); overflow-wrap: anywhere; }
[data-app-design-v2] .appV2ExceptionsPage .appV2Body { margin: 0; font-size: 1rem; }
[data-app-design-v2] .appV2ExceptionsPage .appV2Solid { min-height: 52px; background: var(--app-v2-plum); color: var(--app-v2-on-night); }

/* PX-B: S32 numbered guide; S33 existing shared denial markup. */
[data-app-design-v2] .appV2ExceptionsPage.appV2ExceptionsPage { padding: 12px 20px 28px; }
[data-app-design-v2] .appV2ExceptionsBack { display: grid; place-items: center; width: 44px; min-height: 44px; color: var(--app-v2-ink); margin-bottom: 20px; }
[data-app-design-v2] .appV2ExceptionsBackIcon { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
[data-app-design-v2] .appV2ExceptionsHero { display: grid; grid-template-columns: minmax(0,1fr) 78px; align-items: center; gap: 12px; }
[data-app-design-v2] .appV2ExceptionsArt { grid-column: 2; grid-row: 1; width: 78px; margin: 0; }
[data-app-design-v2] .appV2ExceptionsHero .appV2ExceptionsTitle { grid-column: 1; grid-row: 1; font-size: 1.875rem; line-height: 1.4; }
[data-app-design-v2] .appV2ExceptionsContent.appV2ExceptionsContent { padding: 0; border: 0; background: transparent; }
[data-app-design-v2] .appV2ExceptionsSteps { list-style: none; padding: 0; gap: 0; counter-reset: report-step; }
[data-app-design-v2] .appV2ExceptionsStep { position: relative; padding: 4px 0 20px 46px; counter-increment: report-step; font-size: .875rem; line-height: 1.6; }
[data-app-design-v2] .appV2ExceptionsStep::before { content: counter(report-step); position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--app-v2-plum); color: var(--app-v2-on-night); font-weight: 700; }
[data-app-design-v2] .appV2ExceptionsStep:not(:last-child)::after { content: ""; position: absolute; left: 15px; top: 34px; bottom: 2px; width: 2px; background: var(--app-v2-rule); }
[data-app-design-v2] .appV2ExceptionsActions { position: sticky; bottom: 8px; margin-top: 24px; padding: 10px 14px; background: rgba(255,253,251,.95); border: 1px solid var(--app-v2-rule); border-radius: 34px; }
[data-app-design-v2] .appV2ExceptionsPrimary.appV2ExceptionsPrimary { background: linear-gradient(100deg,#4e2c3c 0%,#7a3a52 55%,#b74434 100%); }
[data-app-design-v2] .appV2ExceptionsBack:focus-visible { outline: var(--app-v2-focus); outline-offset: 3px; }
[data-app-design-v2] .appV2ExceptionsPage.appV2Page { min-height: 100dvh; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(330px,1fr) auto auto auto; gap: 12px; padding: 24px 22px; border-radius: 0; background: var(--app-v2-hero); }
[data-app-design-v2] .appV2ExceptionsPage.appV2Page .appV2Kicker { grid-row: 1; text-align: center; }
[data-app-design-v2] .appV2ExceptionsPage.appV2Page .appV2Mascot { grid-row: 2; align-self: center; justify-self: center; width: 180px; height: auto; }
[data-app-design-v2] .appV2ExceptionsPage.appV2Page .appV2Heading { margin: 0 -14px -12px; padding: 22px 18px 12px; border-radius: 34px 34px 0 0; background: rgba(255,253,251,.95); font-size: 1.5rem; }
[data-app-design-v2] .appV2ExceptionsPage.appV2Page .appV2Body { margin-inline: -14px; padding: 0 18px 16px; background: rgba(255,253,251,.95); font-size: .875rem; }
[data-app-design-v2] .appV2ExceptionsPage.appV2Page .appV2Solid { margin-bottom: env(safe-area-inset-bottom,0px); box-shadow: 0 0 0 14px rgba(255,253,251,.95); }

/* PX-B2: S32 .d-l/.lead/.tl and S33 .d-m/.ds. */
[data-app-design-v2] .appV2ExceptionsHero .appV2ExceptionsTitle { font-size: 30px; line-height: 1.28; }
[data-app-design-v2] .appV2ExceptionsReport .appV2ExceptionsText { font-size: 14px; line-height: 22px; }
[data-app-design-v2] .appV2ExceptionsReport .appV2ExceptionsLead { font-size: 15px; line-height: 23px; }
[data-app-design-v2] .appV2ExceptionsContent .appV2ExceptionsTitle { font: 700 17px/1.35 var(--app-v2-font); }
[data-app-design-v2] .appV2ExceptionsContent .appV2ExceptionsText { font-size: 13px; line-height: 20px; }
[data-app-design-v2] .appV2ExceptionsStep { font-size: 13.5px; line-height: 1.55; }
[data-app-design-v2] .appV2ExceptionsPrimary.appV2ExceptionsPrimary { min-height: 56px; font-size: 16px; line-height: 1.4; }
[data-app-design-v2] .appV2ExceptionsPage.appV2Page .appV2Heading { font-size: 24px; line-height: 1.35; }
[data-app-design-v2] .appV2ExceptionsPage.appV2Page .appV2Body { font-size: 14px; line-height: 21px; }
[data-app-design-v2] .appV2ExceptionsPage.appV2Page .appV2Solid { font-size: 16px; line-height: 1.4; }

/* PF7N O1/O4: one recovery card, followed by the shared PF8 dock in flow. */
[data-app-design-v2] .appV2RouteException.appV2Page { min-height: calc(100dvh - var(--app-v2-tab-height) - 16px); grid-template-rows: auto minmax(180px,1fr) auto; padding: 24px 8px 0; }
[data-app-design-v2] .appV2ExceptionCard { display: grid; gap: 16px; padding: 22px 18px; border-radius: 34px; background: rgba(255,253,251,.95); }
[data-app-design-v2] .appV2ExceptionCard .appV2Heading.appV2Heading,
[data-app-design-v2] .appV2ExceptionCard .appV2Body.appV2Body { margin: 0; padding: 0; background: transparent; border-radius: 0; }
[data-app-design-v2] .appV2ExceptionCard .appV2Solid.appV2Solid { margin: 0; box-shadow: none; }
[data-app-design-v2] .appV2ReportPage.appV2ExceptionsPage { padding-bottom: 0; }
[data-app-design-v2] .appV2ReportPage .appV2ExceptionsActions { position: static; }
[data-app-design-v2] .appV2ReportPage .appV2ExceptionsPrimary { text-decoration: none; }
[data-app-design-v2].appV2DocumentTransition { position: fixed; inset: 0; z-index: 100; overflow: auto; background: var(--app-v2-paper); }
