/* Overview and product walkthrough. Local system fonts and inline SVG only. */
:root { --presentation-clearance: 92px; --ease-out: cubic-bezier(.22, .7, .35, 1); }
body { background: #f2f4ef; font-size: 14px; }
.app-shell { grid-template-columns: 232px minmax(0, 1fr); }
.sidebar { background: #102f28; color: #f0f4eb; border: 0; padding-top: 28px; }
.brand { gap: 12px; margin-bottom: 30px; }
.brand-mark { background: #e0d4a8; color: #14372d; box-shadow: none; }
.brand-mark span { color: #365849; }
.brand-name { font-size: 19px; font-weight: 650; }
.brand-alpha { color: #b2c5b5; font-size: 13px; }
.workspace-switch { background: #193b31; border-color: #355046; padding: 12px 10px; }
.workspace-switch strong { font-size: 12px; }
.workspace-switch div > span { color: #b7c8bc; overflow-wrap: anywhere; font-size: 9px; }
.workspace-symbol { color: #e0d4a8; background: #24483a; border-color: #496053; }
.nav-label { color: #91ac9c; font-size: 10px; }
.nav-item { color: #bbcfc0; font-size: 13px; min-height: 43px; }
.nav-item .icon { color: #8fac98; }
.nav-item:hover, .nav-item.is-active { color: #fff; background: #24483a; }
.nav-item:hover .icon, .nav-item.is-active .icon { color: #e0d4a8; }
.nav-item.is-active::before { background: #d6c58c; }
.reference-notice { background: #17372d; border-color: #355046; }
.reference-notice strong { font-size: 10px; color: #dce7dc; }
.reference-notice p { color: #a8bfae; }
.reference-notice a { color: #dfd3aa; }
.session-card { border-color: #355046; }
.session-card div > span { color: #a8bfae; }
.session-card .session-avatar { color: #d6c58c; background: #24483a; border-color: #486251; }
.topbar { min-height: 68px; gap: 16px; background: rgba(255,255,255,.97); }
.topbar-right { gap: 10px; }
.content { max-width: 1680px; padding: 30px 36px 42px; }
.page-heading { margin-bottom: 26px; }
.page-heading h1 { font-size: clamp(24px, 2vw, 33px); font-weight: 630; letter-spacing: -1.1px; }
.page-heading > div > p:last-child { font-size: 13px; max-width: 760px; }
.eyebrow { font-size: 10px; }
.quiet-label { font-size: 9.5px; }
.primary-button, .secondary-button, .ghost-button { min-height: 39px; font-size: 12px; }
.presentation-button { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #d3dacc; border-radius: 8px; color: var(--brand); background: #fff; white-space: nowrap; font-size: 11px; font-weight: 650; }
.presentation-button:hover { background: #eef3e8; border-color: #9eac91; }
.presentation-button .icon { width: 15px; height: 15px; }
.section-kicker { margin: 0 0 7px; font-size: 9.5px; letter-spacing: .14em; font-weight: 750; color: #71816c; }
.dashboard-view { display: grid; gap: 24px; }

/* Opening frame */
.assurance-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: 1.05fr 1fr; gap: 44px; overflow: hidden; padding: 42px 42px 35px; border-radius: 18px; background: #153d31; color: #edf4e9; }
.assurance-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 88% 15%, #42644a80, transparent 55%), linear-gradient(125deg, #102d26, #1b4a37); }
.assurance-hero::after { content: ''; position: absolute; top: -120px; right: -160px; width: 620px; height: 620px; border: 1px solid #d9e5b50e; border-radius: 50%; z-index: -1; box-shadow: 0 0 0 60px #d9e5b506, 0 0 0 120px #d9e5b505; pointer-events: none; }
.hero-copy { padding-top: 4px; display: flex; flex-direction: column; align-items: flex-start; }
.hero-eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 24px; font-size: 10px; letter-spacing: .18em; font-weight: 650; color: #bfd1b5; }
.hero-eyebrow > span { width: 6px; height: 6px; border-radius: 50%; background: #ddcd92; box-shadow: 0 0 0 4px #ddcd9214; }
.hero-copy h2 { font-size: clamp(42px, 4vw, 70px); line-height: 1.03; letter-spacing: -2.9px; font-weight: 530; margin: 0 0 23px; }
.hero-copy h2 em { color: #d9cd9f; font-style: normal; }
.hero-definition { max-width: 420px; font-size: 16px; line-height: 1.6; color: #edf4e9; margin-bottom: 13px; }
.hero-description { max-width: 420px; font-size: 13px; line-height: 1.75; color: #b5cbb6; margin-bottom: 26px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.hero-primary, .hero-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 43px; padding: 10px 15px; border-radius: 7px; font-size: 12px; font-weight: 650; }
.hero-primary { background: #dfd3a8; color: #173a2b; border: 1px solid #dfd3a8; box-shadow: 0 10px 24px -12px #00000059; transition: background .16s, transform .16s, box-shadow .16s; }
.hero-primary:hover { background: #eee3be; border-color: #eee3be; transform: translateY(-1px); box-shadow: 0 14px 28px -12px #00000066; }
.hero-secondary { background: transparent; color: #e3eadc; border: 1px solid #8ea98c66; transition: background .16s, border-color .16s, transform .16s; }
.hero-secondary:hover { background: #ffffff09; border-color: #b9c9a8; transform: translateY(-1px); }
.hero-primary .icon { width: 16px; transition: transform .18s; }
.hero-primary:hover .icon { transform: translateX(3px); }
.hero-boundary { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 25px; font-size: 10px; color: #adbea9; }
.hero-boundary .icon { width: 13px; height: 13px; color: #c1cdaa; }
.assurance-map { align-self: center; padding: 21px 22px 15px; border-radius: 13px; border: 1px solid #a7c49a35; background: #0a241e75; box-shadow: 0 18px 38px #061b1a25; }
.map-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; color: #9db69e; font-size: 8.5px; letter-spacing: .11em; font-weight: 650; }
.map-version { font-family: ui-monospace, Menlo, monospace; color: #d1d8b9; letter-spacing: 0; font-size: 9px; }
.map-node { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; background: #ffffff08; color: #e4eddd; padding: 13px 14px; border-radius: 8px; border: 1px solid #c8daba33; transition: background .18s, border-color .18s, transform .18s; }
.map-node:hover { background: #ffffff12; border-color: #bdcfa078; transform: translateY(-1px); }
.map-icon { display: grid; place-items: center; width: 32px; height: 34px; color: #d2d4a5; border-radius: 8px; background: #9fbe7c12; }
.map-node > span:nth-child(2) { min-width: 0; }
.map-node small { display: block; font-size: 8px; letter-spacing: .13em; color: #a6bf9b; margin-bottom: 4px; }
.map-node strong { display: block; font-size: 13px; font-weight: 620; }
.map-detail { display: block; margin-top: 5px; font-size: 9px; color: #a5b99f; font-family: ui-monospace, Menlo, monospace; overflow-wrap: anywhere; }
.map-arrow { width: 14px; margin-left: auto; color: #9db191; transition: transform .18s; }
.map-node:hover .map-arrow { transform: translate(2px, -2px); }
.map-connector { position: relative; padding: 11px 0 11px 29px; color: #97ae91; font-size: 9px; }
.map-connector::before { content: ''; position: absolute; top: 0; bottom: 0; left: 15px; width: 1px; background: #a8c08b40; }
.map-connector::after { content: ''; position: absolute; left: 12px; bottom: 0; width: 5px; height: 5px; border-right: 1px solid #a8c08b8c; border-bottom: 1px solid #a8c08b8c; transform: rotate(45deg); }
.map-outcomes { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
.map-outcomes span { padding: 7px 8px; border-radius: 5px; background: #507a5438; border: 1px solid #a8c08b30; color: #c7d9b8; font-size: 9px; font-family: ui-monospace, Menlo, monospace; font-weight: 550; text-align: center; }
.map-outcomes span:nth-child(2) { border-color: #b17b6b50; color: #e8b9a7; background: #b17b6b10; }
.map-outcomes span:nth-child(3) { border-color: #b4a06b50; color: #ddce9c; background: #b4a06b10; }
.map-outcomes span:nth-child(4) { border-color: #92acaf50; color: #b9ced0; background: #92acaf10; }
.map-evidence { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 11px 13px; background: #d5d8ac0d; color: #d9dec2; border: 1px solid #d5d8ac4a; border-radius: 7px; font-size: 11px; }
.map-evidence:hover { background: #d5d8ac1a; }
.map-evidence > span { margin-right: auto; }
.map-evidence .icon { width: 15px; height: 15px; }

/* Measured summary */
.overview-metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); padding: 21px 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.overview-metric { padding: 0 24px; border-right: 1px solid var(--line); }
.overview-metric:last-child { border: 0; }
.metric-label { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 600; color: #66745e; }
.metric-label .icon { width: 15px; height: 15px; color: #82916b; }
.metric-value { display: block; margin: 10px 0 3px; font-size: 32px; line-height: 1.2; font-weight: 570; letter-spacing: -1px; color: #233d2e; font-variant-numeric: tabular-nums; }
.metric-note { display: block; font-size: 10px; color: #829079; }

/* Outcomes and human attention */
.dashboard-columns { display: grid; grid-template-columns: minmax(0,1.62fr) minmax(285px,1fr); gap: 22px; }
.dashboard-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 22px 24px 18px; }
.dashboard-panel-heading h2 { margin: 0; font-size: 19px; font-weight: 590; line-height: 1.3; letter-spacing: -.5px; }
.dashboard-panel-heading > .icon { color: #8a956e; }
.sample-label { font-size: 8px; font-weight: 650; letter-spacing: .08em; color: #809078; text-align: right; }
.outcome-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; padding: 0 22px 18px; }
.outcome-tab { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; padding: 10px 5px; min-height: 64px; border: 1px solid #e0e6d8; border-radius: 7px; background: #fbfcf8; color: #637360; font-size: 8px; font-weight: 700; letter-spacing: .02em; white-space: nowrap; }
.outcome-tab .outcome-glyph { font-size: 16px; font-weight: 500; line-height: 1; }
.outcome-tab[aria-pressed=true] { background: #eaf2e6; color: #306b41; border-color: #98b68a; box-shadow: inset 0 0 0 1px #98b68a30; }
.outcome-tab.deny[aria-pressed=true] { color: #a4493c; background: #faf0ec; border-color: #d9aa9c; }
.outcome-tab.review[aria-pressed=true] { color: #8c6c29; background: #faf5e6; border-color: #d2bf88; }
.outcome-tab.unverifiable[aria-pressed=true] { color: #566d7b; background: #edf2f5; border-color: #b0c0c9; }
.outcome-tab:hover { border-color: #a6b49a; }
.outcome-preview { padding: 23px 24px 0; border-top: 1px solid var(--line); background: linear-gradient(140deg, #f9fbf5, #fff 70%); border-radius: 0 0 12px 12px; }
.outcome-preview[data-decision=DENY] { background: linear-gradient(140deg,#fff8f4,#fff 65%); }
.outcome-preview[data-decision=REVIEW_REQUIRED] { background: linear-gradient(140deg,#fffbed,#fff 65%); }
.outcome-preview[data-decision=UNVERIFIABLE] { background: linear-gradient(140deg,#f5f8fa,#fff 65%); }
.preview-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.preview-id { margin: 0 0 5px; color: #8a967f; font: 10px ui-monospace, Menlo, monospace; }
.preview-heading h3 { margin: 0; font-size: 21px; letter-spacing: -.6px; font-weight: 590; }
.preview-heading .decision-badge { margin-top: 5px; }
.preview-explanation { font-size: 13px; color: #64735e; line-height: 1.8; min-height: 47px; margin-bottom: 20px; }
.preview-facts { display: grid; grid-template-columns: 1fr 1.2fr .75fr; gap: 12px; margin-bottom: 19px; }
.preview-facts span { display: block; margin-bottom: 5px; color: #8b977f; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.preview-facts strong { font-weight: 600; font-size: 11px; }
.preview-evidence { display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 21px; }
.preview-evidence-item { display: flex; align-items: center; gap: 5px; font-size: 9px; padding: 5px 7px; border: 1px solid #dfe7d7; border-radius: 5px; background: #f5f8f0; color: #5f7958; }
.preview-evidence-item .icon { width: 12px; height: 12px; }
.preview-evidence-item.missing { background: #faf0ec; border-color: #ebd6cb; color: #a66e54; }
.preview-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid var(--line); padding: 13px 0; }
.preview-footer > span { font-size: 9px; color: #859078; }
.preview-footer .text-button { font-size: 11px; }
.attention-list { padding: 0 22px; }
.attention-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 18px 0; text-align: left; border: 0; border-top: 1px solid #e7ebdf; background: transparent; }
.attention-marker { display: grid; place-items: center; align-self: flex-start; width: 30px; height: 31px; border-radius: 8px; font-size: 14px; background: var(--red-soft); color: var(--red); }
.attention-item.review .attention-marker { background: var(--gold-soft); color: var(--gold-deep); }
.attention-item.unverifiable .attention-marker { background: var(--slate-soft); color: var(--slate); }
.attention-copy { flex: 1; min-width: 0; }
.attention-copy small { display: block; color: #819074; font-size: 8px; font-weight: 650; letter-spacing: .1em; margin-bottom: 5px; }
.attention-copy strong { display: block; font-size: 12px; font-weight: 650; color: #2a4231; }
.attention-copy > span { display: block; font-size: 10px; color: #819074; margin-top: 5px; }
.attention-item > .icon { width: 14px; color: #94a180; transition: transform .16s; }
.attention-item:hover > .icon { transform: translateX(3px); }
.attention-item:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.dashboard-panel-note { margin: 0; padding: 16px 22px; font-size: 10px; color: #7c8c73; background: #fbfcf7; border-top: 1px solid #e7ebdf; border-radius: 0 0 12px 12px; }

/* Evidence closing frame */
.proof-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; padding: 33px 38px; background: #e7eddf; border: 1px solid #d6dfca; border-radius: 14px; }
.proof-intro .section-kicker { color: #788366; }
.proof-intro h2 { font-size: 31px; line-height: 1.18; font-weight: 560; letter-spacing: -1px; margin-bottom: 14px; }
.proof-intro > p:not(.section-kicker) { max-width: 350px; font-size: 12px; line-height: 1.75; color: #718064; }
.proof-action { display: flex; align-items: center; gap: 14px; border: 0; border-bottom: 1px solid #adb99b; padding: 10px 0 7px; background: transparent; color: #31513a; font-size: 12px; font-weight: 650; }
.proof-action:hover { border-color: #31513a; }
.proof-action .icon { width: 15px; }
.proof-steps { display: flex; gap: 14px; align-items: center; margin-bottom: 17px; }
.proof-steps > span { display: flex; align-items: center; gap: 7px; font-size: 11px; color: #4a6243; font-weight: 650; }
.proof-steps .icon { width: 14px; color: #7e8d6a; }
.proof-steps b { font-size: 12px; color: #94a280; font-weight: 400; }
.proof-details dl { margin: 0; }
.proof-details dl > div { display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid #cdd7c1; padding: 8px 0; }
.proof-details dt { font-size: 10px; color: #728264; }
.proof-details dd { margin: 0; text-align: right; font: 10px ui-monospace, Menlo, monospace; color: #425b37; }
.proof-details > p { margin: 12px 0 0; font-size: 9px; line-height: 1.7; color: #79896a; }
.open-specifications { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding: 8px 0; }
.open-specifications h2 { font-size: 19px; font-weight: 600; letter-spacing: -.5px; margin-bottom: 8px; }
.open-specifications p:not(.section-kicker) { color: #7a8870; font-size: 11px; margin: 0; line-height: 1.65; }
.specification-links { display: grid; gap: 9px; }
.specification-links a { display: flex; align-items: center; gap: 11px; padding: 14px 16px; background: #fff; border: 1px solid var(--line); border-radius: 9px; text-decoration: none; color: #405a35; }
.specification-links a:hover { border-color: #a1b491; box-shadow: var(--shadow-s); }
.specification-links a > .icon { width: 16px; }
.specification-links a > .icon:last-child { margin-left: auto; width: 14px; color: #8c9c7d; }
.specification-links strong { display: block; font: 11px ui-monospace, Menlo, monospace; }
.specification-links small { display: block; margin-top: 3px; font-size: 10px; color: #8a967d; }

/* More legible workbench */
.workbench, #panel-review, .registry-toolbar, #proof-panel { scroll-margin-top: 90px; }
.sub-panel-heading h3 { font-size: 14px; }
.decision-badge { font-size: 10px; }
.registry-table td { font-size: 12px; }
.control-name strong { font-size: 12px; }
.control-name > span { font-size: 10px; }
.control-state { font-size: 9px; }
.fact dd { font-size: 13px; }
.fact dt { font-size: 9px; }
.decision-banner p { font-size: 13px; line-height: 1.75; }
.review-lede { font-size: 13px; line-height: 1.75; }
.review-form label { font-size: 12px; }
.review-form textarea, .review-form select { font-size: 13px; }

/* Filming mode uses the actual workspace, without rewriting records. */
.chapter-banner { display: flex; gap: 20px; align-items: center; padding: 21px 36px; background: #e8eddf; border-bottom: 1px solid #d7dfcc; }
.chapter-number { display: grid; place-items: center; align-self: stretch; min-width: 72px; border-right: 1px solid #c9d3bb; padding-right: 20px; color: #758363; font: 11px ui-monospace, Menlo, monospace; }
.chapter-banner p { margin: 0 0 4px; color: #7d896d; font-size: 8px; letter-spacing: .15em; font-weight: 700; }
.chapter-banner h2 { margin: 0; font-size: 21px; letter-spacing: -.5px; line-height: 1.35; font-weight: 580; }
.chapter-boundary { margin-left: auto; color: #79876a; font-size: 10px; white-space: nowrap; }
.is-presenting .app-shell { grid-template-columns: minmax(0,1fr); }
.is-presenting .sidebar { display: none; }
.is-presenting .topbar { position: sticky; }
.is-presenting .global-search, .is-presenting #presentation-start, .is-presenting .topbar-avatar { display: none; }
.is-presenting .topbar { grid-template-columns: 1fr auto; }
.is-presenting .content { padding-bottom: 130px; max-width: 1500px; }
.is-presenting .page-heading { display: none; }
.is-presenting .assurance-hero { margin-top: 0; }
.is-presenting .hero-actions { display: none; }
.is-presenting .chapter-banner { position: sticky; top: 68px; z-index: 25; }
.is-presenting .workbench, .is-presenting #panel-review, .is-presenting .registry-toolbar, .is-presenting #proof-panel { scroll-margin-top: 180px; }
.is-presenting #view-overview .kpi-grid, .is-presenting #view-overview .analytics-row { display: none; }
[data-presentation-scene="outcomes"] #workbench { display: none; }
[data-presentation-scene="closing"] .assurance-hero,
[data-presentation-scene="closing"] .overview-metrics,
[data-presentation-scene="closing"] .dashboard-columns { display: none; }
[data-presentation-scene="explanation"] .registry-toolbar, [data-presentation-scene="explanation"] .filter-bar,
[data-presentation-scene="review"] .registry-toolbar, [data-presentation-scene="review"] .filter-bar,
[data-presentation-scene="explanation"] .registry-main > .table-panel, [data-presentation-scene="review"] .registry-main > .table-panel,
[data-presentation-scene="explanation"] .registry-rail, [data-presentation-scene="review"] .registry-rail,
[data-presentation-scene="explanation"] .signals-panel, [data-presentation-scene="review"] .signals-panel,
[data-presentation-scene="review"] [aria-labelledby="timeline-panel-title"] { display: none; }
[data-presentation-scene="explanation"] .registry-layout, [data-presentation-scene="review"] .registry-layout { grid-template-columns: minmax(0,1fr); }
.presentation-controls { position: fixed; z-index: 60; bottom: 18px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 15px; width: min(1160px, calc(100% - 40px)); padding: 13px 16px; border: 1px solid #e4e8da; border-radius: 12px; background: #fffffff5; backdrop-filter: blur(14px); box-shadow: 0 8px 40px #1a382324; }
.tour-icon-button { display: grid; place-items: center; width: 32px; height: 34px; flex-shrink: 0; border-radius: 6px; background: #f4f6ee; color: #516849; border: 1px solid #e2e6d8; font-size: 17px; }
.tour-chapters { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; flex: 1; }
.tour-chapter { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 4px 8px 10px; border: 0; border-bottom: 2px solid #e3e8d9; background: transparent; text-align: left; color: #89967e; }
.tour-chapter > span { font: 9px ui-monospace, Menlo, monospace; }
.tour-chapter small { font-size: 9px; white-space: nowrap; font-weight: 550; }
.tour-chapter.is-complete { color: #627d50; border-bottom-color: #aebf95; }
.tour-chapter[aria-current=step] { color: #264e32; border-bottom-color: #284c31; }
.tour-next { display: flex; justify-content: center; align-items: center; gap: 12px; padding: 10px 13px; min-height: 36px; border: 1px solid #234632; border-radius: 7px; background: #234632; color: #f4f5e9; font-size: 10px; font-weight: 600; white-space: nowrap; }
.tour-next:hover { background: #356344; }
.tour-options { display: flex; align-items: center; gap: 12px; border-left: 1px solid #e3e8d9; padding-left: 12px; }
.tour-options button { border: 0; padding: 8px 0; color: #75816a; background: transparent; font-size: 10px; white-space: nowrap; }
.tour-options button:hover { color: #234632; }
.tour-options kbd { font-size: 8px; border: 1px solid #e0e5d5; padding: 2px; border-radius: 3px; margin-left: 2px; }
.presenter-notes { position: fixed; z-index: 59; bottom: 112px; right: 25px; width: min(420px, calc(100% - 40px)); max-height: min(55vh,500px); overflow: auto; padding: 22px; border: 1px solid #d7dfcb; border-radius: 12px; background: #fcfdf8; box-shadow: 0 10px 35px #213f3025; }
.presenter-notes > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 17px; }
.presenter-notes h2 { font-size: 13px; margin: 0; }
.presenter-notes select { padding: 5px 8px; border: 1px solid #dce3d1; border-radius: 6px; background: #fff; color: #61724f; font-size: 11px; }
.presenter-notes p { font-size: 13px; line-height: 1.85; color: #4e6441; }
.presenter-notes > span { display: block; border-top: 1px solid #e1e7d7; padding-top: 13px; font-size: 10px; line-height: 1.7; color: #8a9378; }

@media (min-width: 1800px) { .assurance-hero { padding: 48px; gap: 70px; } }
@media (max-width: 1650px) { .bundle-pill { display: none; } }
@media (max-width: 1280px) {
  .content { padding: 25px 26px 36px; }
  .assurance-hero { gap: 25px; padding: 32px; }
  .hero-copy h2 { font-size: 51px; }
  .hero-definition { font-size: 14px; }
  .hero-description { font-size: 12px; }
  .map-node strong { font-size: 11px; }
  .dashboard-columns { grid-template-columns: 1fr; }
  .attention-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
  .attention-item { align-items: flex-start; }
  .attention-item > .icon { display: none; }
  .attention-copy strong { font-size: 11px; }
  .proof-panel { gap: 30px; padding: 29px; }
  .overview-metric { padding: 0 18px; }
  .metric-note { font-size: 9px; }
  .tour-chapter { padding-left: 4px; padding-right: 4px; }
  .tour-chapter small { font-size: 8px; }
  .presentation-controls { gap: 10px; }
}
@media (max-width: 1100px) {
  .assurance-hero { grid-template-columns: 1fr; gap: 30px; }
  .hero-copy h2 { font-size: 58px; }
  .hero-definition, .hero-description { max-width: 600px; }
  .hero-boundary { padding-top: 20px; }
  .assurance-map { width: 100%; }
  .map-node strong { font-size: 13px; }
  .proof-panel { grid-template-columns: 1fr; gap: 25px; }
  .proof-intro h2 br { display: none; }
  .proof-intro > p:not(.section-kicker) { max-width: none; }
  .open-specifications { grid-template-columns: 1fr; gap: 19px; }
  .overview-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 24px; }
  .overview-metric:nth-child(2) { border: 0; }
  .tour-chapter small { display: none; }
  .tour-chapter { align-items: center; padding-bottom: 8px; }
  .tour-chapter > span { font-size: 11px; }
  .chapter-boundary { display: none; }
}
@media (max-width: 860px) {
  .app-shell { grid-template-columns: minmax(0,1fr); }
  .sidebar { padding: 17px 18px 12px; }
  .brand { margin-bottom: 17px; }
  .nav-item { min-height: 36px; font-size: 12px; }
  .topbar { gap: 12px; padding: 8px 18px; }
  .topbar-right .icon-link, .topbar-avatar { display: none; }
  .topbar-right { gap: 8px; }
  .presentation-button { font-size: 10px; }
  .environment-pill { font-size: 9px; padding: 6px 8px; }
  .global-search input { font-size: 11px; }
  .content { padding: 24px 20px 36px; }
  .page-heading { gap: 13px; }
  .page-heading h1 { font-size: 26px; }
  .assurance-hero { padding: 30px; }
  .hero-copy h2 { font-size: 58px; }
  .attention-list { grid-template-columns: 1fr; gap: 0; }
  .attention-item > .icon { display: block; }
  .attention-copy strong { font-size: 13px; }
  .chapter-banner { padding: 15px 20px; gap: 14px; }
  .chapter-banner h2 { font-size: 17px; }
  .chapter-number { min-width: 60px; padding-right: 14px; }
  .presentation-controls { padding: 11px 12px; bottom: 10px; width: calc(100% - 24px); }
  .tour-options { gap: 10px; }
  .tour-options kbd { display: none; }
  .presenter-notes { right: 12px; bottom: 90px; }
  .is-presenting .breadcrumb { display: flex; }
}
@media (max-width: 560px) {
  .content { padding: 21px 14px 30px; }
  .topbar { padding: 8px 14px; }
  .global-search kbd, .presentation-button span { display: none; }
  .presentation-button { padding: 7px; min-height: 30px; }
  .page-heading h1 { font-size: 25px; }
  .page-heading > div > p:last-child { font-size: 12px; }
  .hero-copy h2 { font-size: 54px; }
  .assurance-hero { padding: 26px 23px; border-radius: 12px; }
  .hero-definition { font-size: 14px; }
  .hero-eyebrow { font-size: 8px; }
  .hero-actions { width: 100%; }
  .hero-primary, .hero-secondary { width: 100%; }
  .hero-boundary { font-size: 9px; align-items: flex-start; }
  .assurance-map { padding: 16px 13px; }
  .map-version { font-size: 8px; }
  .map-node { padding: 11px; }
  .map-node strong { font-size: 11px; }
  .map-detail { font-size: 8px; }
  .overview-metric { padding: 0 15px; }
  .metric-label { font-size: 10px; gap: 5px; }
  .metric-value { font-size: 28px; }
  .metric-note { line-height: 1.5; }
  .dashboard-panel-heading { padding: 21px 18px 16px; }
  .dashboard-panel-heading h2 { font-size: 18px; }
  .sample-label { display: none; }
  .outcome-tabs { padding-left: 15px; padding-right: 15px; gap: 4px; }
  .outcome-tab { font-size: 7px; }
  .outcome-preview { padding: 20px 18px 0; }
  .preview-heading { flex-direction: column; gap: 7px; }
  .preview-heading h3 { font-size: 21px; }
  .preview-explanation { font-size: 12px; }
  .preview-facts { grid-template-columns: 1fr 1fr; }
  .preview-footer { flex-direction: column; align-items: flex-start; gap: 3px; }
  .attention-list { padding: 0 18px; }
  .proof-panel { padding: 25px 22px; }
  .proof-intro h2 { font-size: 27px; }
  .proof-steps { gap: 9px; }
  .proof-steps > span { font-size: 10px; }
  .proof-details dl > div { flex-direction: column; gap: 6px; }
  .proof-details dd { text-align: left; }
  .open-specifications { padding: 4px; }
  .chapter-banner { padding: 14px; }
  .chapter-banner h2 { font-size: 15px; }
  .chapter-number { min-width: 48px; padding-right: 10px; font-size: 9px; }
  .chapter-banner p { font-size: 7px; }
  .tour-chapters { gap: 3px; }
  .tour-chapter { padding: 4px 0 8px; }
  .tour-chapter > span { font-size: 9px; }
  .tour-icon-button { width: 25px; height: 31px; }
  .presentation-controls { gap: 7px; flex-wrap: wrap; }
  .tour-next { font-size: 9px; padding: 8px; }
  .tour-options { gap: 8px; padding-left: 8px; }
  .tour-options button { font-size: 9px; }
  .is-presenting .content { padding-bottom: 125px; }
}
@media (prefers-reduced-motion: reduce) { .attention-item > .icon { transition: none; } }

/* ---------- Dashboard polish layer ---------- */

/* View transition when switching sections */
.view:not([hidden]) { animation: view-in .32s var(--ease-out) both; }
@keyframes view-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }

/* Hero texture and headline emphasis */
.assurance-hero::before {
  background:
    radial-gradient(#e0d4a80f 1px, transparent 1.4px),
    radial-gradient(ellipse at 88% 15%, #42644a80, transparent 55%),
    linear-gradient(125deg, #102d26, #1b4a37);
  background-size: 26px 26px, auto, auto;
}
.hero-copy h2 em { background: linear-gradient(105deg, #ecdfae 10%, #c7b274 90%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.assurance-map { transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out); }
.assurance-map:hover { transform: translateY(-2px); box-shadow: 0 24px 44px #061b1a2e; }
.map-evidence { transition: background .16s, transform .16s; }
.map-evidence:hover { transform: translateY(-1px); }
.map-evidence .icon:last-child { transition: transform .18s; }
.map-evidence:hover .icon:last-child { transform: translateX(3px); }
.hero-eyebrow > span { animation: hero-pulse 2.6s ease-in-out infinite; }
@keyframes hero-pulse { 0%, 100% { box-shadow: 0 0 0 4px #ddcd9214; } 50% { box-shadow: 0 0 0 7px #ddcd921f; } }

/* KPI band */
.metric-chip { display: grid; place-items: center; flex-shrink: 0; width: 27px; height: 27px; border-radius: 8px; background: var(--brand-soft); color: var(--brand); }
.metric-chip .icon { width: 14px; height: 14px; color: var(--brand); }
.metric-label { gap: 9px; }
.overview-metrics { position: relative; overflow: hidden; }
.overview-metrics::after { content: ''; position: absolute; top: 0; left: 24px; right: 24px; height: 2px; background: linear-gradient(90deg, transparent, #d6c58c66 30%, #98b68a66 70%, transparent); pointer-events: none; }

/* Decision explorer */
.outcome-tab { position: relative; overflow: hidden; transition: transform .16s var(--ease-out), border-color .16s, background .16s, box-shadow .16s, opacity .16s; }
.outcome-tab:hover:not(:disabled) { transform: translateY(-2px); box-shadow: var(--shadow-s); }
.outcome-tab:disabled { cursor: not-allowed; opacity: .42; }
.outcome-tab::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2.5px; background: transparent; transition: background .16s; }
.outcome-tab.allow[aria-pressed=true]::before { background: var(--ok); }
.outcome-tab.deny[aria-pressed=true]::before { background: var(--red); }
.outcome-tab.review[aria-pressed=true]::before { background: var(--gold); }
.outcome-tab.unverifiable[aria-pressed=true]::before { background: var(--slate); }
.outcome-count { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; background: #edf1e4; color: #6d7c63; font-size: 8.5px; font-weight: 750; font-variant-numeric: tabular-nums; }
.outcome-tab[aria-pressed=true] .outcome-count { background: #ffffffc9; color: inherit; }

.outcome-preview { position: relative; }
.outcome-preview::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--ok); border-radius: 0 0 0 12px; }
.outcome-preview[data-decision=DENY]::before { background: var(--red); }
.outcome-preview[data-decision=REVIEW_REQUIRED]::before { background: var(--gold); }
.outcome-preview[data-decision=UNVERIFIABLE]::before { background: var(--slate); }
.outcome-preview > * { animation: preview-in .36s var(--ease-out) both; }
.outcome-preview > *:nth-child(2) { animation-delay: .05s; }
.outcome-preview > *:nth-child(3) { animation-delay: .1s; }
.outcome-preview > *:nth-child(4) { animation-delay: .15s; }
.outcome-preview > *:nth-child(5) { animation-delay: .2s; }
@keyframes preview-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.preview-heading h3 { font-size: 22px; }
.preview-facts strong { font-size: 12px; letter-spacing: -.1px; }
.preview-evidence { gap: 7px; }
.preview-evidence-item { padding: 6px 9px; border-radius: 6px; background: #fff; border-color: #e2e9d8; font-size: 9.5px; transition: border-color .15s, background .15s; }
.preview-evidence-item .icon { color: var(--ok); }
.preview-evidence-item:hover { border-color: #b9c9a8; }
.preview-evidence-item.missing { background: var(--red-soft); border-color: var(--red-line); color: #96513f; }
.preview-evidence-item.missing .icon { color: var(--red); }
.preview-footer .text-button .icon { transition: transform .16s; }
.preview-footer .text-button:hover .icon { transform: translateX(3px); }

/* Review priorities */
.attention-item { position: relative; transition: background .15s; }
.attention-item::after { content: ''; position: absolute; left: -10px; top: 20px; bottom: 20px; width: 2.5px; border-radius: 0 3px 3px 0; background: transparent; transition: background .16s; }
.attention-item.deny:hover::after { background: var(--red); }
.attention-item.review:hover::after { background: var(--gold); }
.attention-item.unverifiable:hover::after { background: var(--slate); }
.attention-item:hover { background: #fafcf5; }
.attention-count { display: inline-flex; align-items: center; margin-left: 10px; padding: 3px 8px; border-radius: 999px; background: var(--red-soft); border: 1px solid var(--red-line); color: var(--red); font-size: 9px; font-weight: 750; letter-spacing: .02em; vertical-align: 3px; }

/* Proof panel */
.proof-panel { position: relative; overflow: hidden; isolation: isolate; }
.proof-panel::after { content: ''; position: absolute; top: -140px; right: -110px; width: 380px; height: 380px; border: 1px solid #31513a14; border-radius: 50%; z-index: -1; box-shadow: 0 0 0 45px #31513a0a, 0 0 0 90px #31513a06; pointer-events: none; }
.proof-steps > span .icon { width: 27px; height: 27px; padding: 6px; box-sizing: border-box; background: #ffffffa8; border-radius: 8px; box-shadow: inset 0 0 0 1px #ffffff; }
.proof-steps { gap: 12px; }

/* Specification links */
.specification-links a { transition: transform .18s var(--ease-out), box-shadow .18s, border-color .18s; }
.specification-links a:hover { transform: translateY(-2px); box-shadow: var(--shadow-m); }
.specification-links a > .icon:first-child { width: 31px; height: 31px; padding: 8px; box-sizing: border-box; background: var(--brand-soft); color: var(--brand); border-radius: 9px; }

/* Sidebar refinement */
.nav-item { transition: background .15s, color .15s; }
.nav-item.is-active { box-shadow: inset 0 0 0 1px #ffffff14; }
.sidebar .status-dot { box-shadow: 0 0 0 3px #2e7d4f33; }

@media (prefers-reduced-motion: reduce) {
  .view:not([hidden]), .outcome-preview > *, .hero-eyebrow > span { animation: none; }
  .outcome-tab, .specification-links a, .map-node, .map-evidence, .assurance-map, .hero-primary, .hero-secondary, .attention-item { transition: none; }
}
