.report-view-actions { display: flex; align-items: center; justify-self: end; gap: .25rem; }
.report-view-control { position: relative; color: #21325e; font-family: inherit; }
.report-view-floating { display: flex; position: fixed; top: 1rem; right: 1rem; z-index: 100; }
.report-view-menu button, #report-account button, #report-account a { font: inherit; cursor: pointer; }
.report-view-menu { position: absolute; z-index: 100; top: calc(100% + .5rem); right: 0; width: min(22rem, calc(100vw - 2rem)); max-height: calc(100dvh - 6rem); overflow: auto; background: #fff; color: #21325e; border: 1px solid #ccd2df; border-radius: 12px; box-shadow: 0 18px 48px #17254533; }
.report-view-menu[hidden] { display: none; }
.report-view-menu h2 { font-size: 1.1rem; margin: 0; padding: 1rem; }
.report-view-option { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border-top: 1px solid #e0e4ed; font-size: .9rem; cursor: pointer; }
.report-view-option small { display: block; font-size: .75rem; margin-top: .2rem; }
.report-view-option input { width: 2rem; height: 1.5rem; accent-color: #6d1afe; }
.report-view-menu button, #report-account a, #report-account button { display: block; min-height: 44px; padding: .65rem 1rem; border: 0; background: transparent; color: #21325e; text-align: left; font-size: .85rem; }
#report-account { border-top: 1px solid #ccd2df; padding: .5rem 0; }
#report-account p { margin: .5rem 1rem; font-size: .8rem; line-height: 1.5; }
#report-account a { text-decoration: underline; }
#report-account button:disabled { opacity: .6; cursor: wait; }
.report-view-control :focus-visible, #report-account :focus-visible { outline: 3px solid #6d1afe; outline-offset: -3px; }
.report-view-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
html[data-report-controls="true"] .accessibility-menu { max-height: calc(100dvh - 6rem); overflow: auto; }
@media screen {
  html[data-report-delivery-view="true"][data-report-grayscale="true"] body { filter: grayscale(1); }
  html[data-report-delivery-view="true"][data-report-enlarged="true"] .slide { inset: 0; width: 100%; height: 100%; transform: none; zoom: 1.15; overflow: auto; }
  html[data-report-delivery-view="true"][data-report-enlarged="true"] .preview-page { zoom: 1.15; }
}
@media print { .report-view-control, #report-account { display: none !important; } }
@media (max-width: 600px) {
  .report-view-menu, html[data-report-controls="true"] .accessibility-menu { position: fixed; top: 4.5rem; right: 1rem; width: calc(100vw - 2rem); box-sizing: border-box; }
}

/* Preview pages have no report shell stylesheet; use the same button treatment. */
:is(.report-view-floating, .report-preview-actions) .icon-button { font: inherit; font-size: .88rem; font-weight: 700; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border: 0; background: transparent; color: #21325e; cursor: pointer; }
:is(.report-view-floating, .report-preview-actions) .icon-button svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.preview-topbar { gap: 1rem; }
.preview-topbar > span { margin-left: auto; }
.report-preview-actions { flex: none; margin-left: auto; }

/* Compatibility theme for the custom Impact of AI report; print stays light. */
@media screen {
  html:is([data-report-custom-theme="impact-ai"], [data-report-preview-theme="true"])[data-report-dark="true"] {
    color-scheme: dark;
    --purple: #b99cff; --navy: #edf1ff; --navy-deep: #dce5ff;
    --ink: #f4f5fa; --muted: #b8becd; --paper: #0f1220; --white: #181c2b;
    --sky: #75deff; --periwinkle: #aeb2ff; --pink: #f083da;
    --line: #343b52; --line-strong: #59637e; --soft: #222738; --focus: #75deff;
  }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] :is(.topbar, .controls) { background: var(--paper); }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] :is(.slide--cover, .slide--chapter, .slide--contact, .creative-story-card, .closing-card, .contents-comparison) { background: #14182a; color: var(--ink); }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] :is(.slide--cover, .slide--chapter, .slide--contact, .creative-story-card, .closing-card, .contents-comparison) :is(h1,h2,h3,p,a,span,strong,.chapter-inner) { color: var(--ink); }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] body.cover-mode :is(.topbar, .controls) { background: #14182a; color: var(--ink); border-color: var(--line); }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] body.cover-mode :is(.topbar__brand, .topbar__chapter, .icon-button, .nav-button, .progress-copy) { color: var(--ink); }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] :is(.bar-fill, .forecast-fill) { background: var(--pink); }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] .heat-1 { background: #1e3444; }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] .heat-2 { background: #234454; }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] .heat-3 { background: #29586a; }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] .heat-4 { background: var(--sky); color: #172545; }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] .map-surface { fill: var(--soft); }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] :is(.map-bin-1,.map-bin-2,.map-bin-3,.map-bin-4,.map-bin-5) { color: #172545; }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] .creative-overlap__segments div { background: var(--soft); color: var(--ink); }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] .creative-overlap__segments div:nth-child(2) { background: var(--pink); color: #172545; }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] .creative-overlap__segments div:nth-child(3) { background: var(--sky); color: #172545; }
  html[data-report-custom-theme="impact-ai"][data-report-dark="true"] .conclusion-panel__number { color: var(--muted); }
  html[data-report-dark="true"] .report-view-menu { background: #181c2b; color: #f4f5fa; border-color: #343b52; }
  html[data-report-dark="true"] :is(.report-view-menu button, #report-account a, #report-account button) { color: #edf1ff; }
  html[data-report-dark="true"] :is(.report-view-option, #report-account) { border-color: #343b52; }
  html[data-report-dark="true"] .report-view-option input { accent-color: #75deff; }
  html[data-report-dark="true"] :is(.report-view-control, #report-account) :focus-visible { outline-color: #75deff; }
}

@media screen {
  /* Use the transparent brand mark instead of the purple-backed reversed art. */
  html[data-report-dark="true"] :is(.topbar__brand img, .cover-logo-wrap img, .preview-topbar img, .preview-identity img) {
    content: url("/iab-europe-logo-vector.svg?v=1");
    filter: brightness(0) invert(1);
    object-fit: contain;
  }
  html[data-report-dark="true"] :is(.report-view-control, .accessibility-control, #accessibility-button) {
    background: transparent;
  }
}

.report-view-option select, .accessibility-option select { font: inherit; max-width: 8rem; min-height: 44px; padding: .4rem .6rem; border: 1px solid var(--line-strong, #abb4ca); border-radius: 6px; background: var(--white, #fff); color: var(--ink, #30323a); }
@media screen {
  html[data-report-dark="true"] .preview-topbar { background: var(--paper); }
  html[data-report-dark="true"] .preview-cover { background: #14182a; }
  html[data-report-dark="true"] .preview-release-wrap { background: #0f122080; }
  html[data-report-dark="true"] .preview-release { background: var(--white); }
  html[data-report-dark="true"] .preview-button { background: var(--sky); color: #172545; }
  html[data-report-dark="true"] .preview-button:hover { background: var(--pink); }
  html[data-report-dark="true"] .report-preview-actions .icon-button { color: var(--ink); }
  html[data-report-dark="true"] .preview-page :focus-visible { outline-color: var(--sky); }
}

/* Vector brand art also upgrades immutable custom bundles and preview pages. */
html[data-report-controls="true"] :is(.topbar__brand img, .cover-logo-wrap img, .preview-topbar img, .preview-identity img) {
  content: url("/iab-europe-logo-vector.svg?v=1");
  object-fit: contain;
}
html[data-report-controls="true"] :is(.cover-logo-wrap img, .preview-identity img),
html[data-report-controls="true"] body.cover-mode .topbar__brand img {
  filter: brightness(0) invert(1);
}
