/* Laterais só quando sobram 160px de cada lado, sem reduzir o relatório. */
.page-layout{display:grid;grid-template-columns:minmax(0,1fr);max-width:1504px;margin-inline:auto}
.page-layout>main{width:100%;min-width:0}
.ad-rail{display:none;padding-top:160px;width:160px}
.advertising-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.ad-rail>.advertising-label{display:block;text-align:center;margin-bottom:12px}
.ad-rail-preview{height:600px;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:20px 16px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:16px;color:var(--muted)}
.ad-rail-preview>span{font-size:28px;color:#8b9cb3}
.ad-rail-preview strong{font-size:14px;font-weight:500;color:#52657d}
.ad-rail-preview p{font-size:11px}
@media(min-width:1536px){.page-layout:has(.ad-rail:not([hidden])){grid-template-columns:160px minmax(0,1088px) 160px;column-gap:48px}.ad-rail:not([hidden]){display:block}}
/* A publicidade ocupa uma linha própria: não sobrepõe a importação ou a lista. */
body.has-ad-dock{height:100dvh;overflow:hidden;display:flex;flex-direction:column}
.has-ad-dock>.page-scroll{min-height:0;flex:1;overflow-y:auto;scroll-behavior:auto;scroll-padding-block:24px}
.ad-dock{flex:none;padding:0 12px;background:transparent;border:0}
.ad-dock-inner{width:100%;max-width:728px;margin-inline:auto}
.ad-dock-toolbar{display:flex;justify-content:center;height:24px}
.ad-control{display:inline-flex;align-items:center;justify-content:center;width:56px;height:24px;padding:0;background:var(--surface);border:1px solid var(--border);border-bottom:0;border-radius:6px 6px 0 0;color:#617187;cursor:pointer}
.ad-control .icon{width:16px;height:16px}
.ad-control[aria-expanded="true"] .icon{transform:rotate(180deg)}
.ad-control:hover{background:#edf3ff;color:var(--blue)}
.ad-dock.is-collapsed{background:transparent}
.ad-dock-content{min-height:90px;display:flex;flex-direction:column;justify-content:center;padding:12px 16px;border:1px solid var(--border);border-radius:3px 3px 0 0;text-align:center;background:var(--surface);color:var(--muted)}
.ad-dock-content strong{font-size:12px;font-weight:500;color:#52657d}
.ad-dock-content p{font-size:11px;margin-top:4px}
@media(max-width:640px){.ad-dock{padding-inline:12px}.ad-dock-content{padding:8px;min-height:64px}.ad-dock-content p{font-size:10px}}
@media(max-height:550px){.ad-dock-content{min-height:0;padding:4px}.ad-dock-content p{display:none}}


/* Prévia da vinheta: saída imediata por botão, Escape ou fundo. */
dialog.vignette-preview{width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;background:transparent;box-shadow:none;overflow-y:auto;color:var(--muted)}
.vignette-preview::backdrop{background:#172b4680;backdrop-filter:blur(2px)}
.vignette-close{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;background:var(--surface);color:#172b46;border:0;border-radius:6px 6px 0 0;padding:10px 14px;min-height:44px;font-size:12px}
.vignette-creative{min-height:min(480px,70dvh);padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:8px 0 8px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px}
.vignette-label{text-transform:uppercase;letter-spacing:1px;font-size:10px}
.vignette-art{font-size:48px;color:var(--blue);background:#edf3ff;border-radius:16px;width:88px;height:88px;display:grid;place-items:center}
.vignette-creative h2{margin:0;font-size:26px;color:#172b46}
.vignette-creative p{margin:0;font-size:13px}
.vignette-footnote{font-size:11px}
