.conteudo.conteudo-campanhas { max-width: none; padding: 0; background: #f8f5ef; overflow: auto; }
.ads-dashboard { max-width: 1240px; margin: 0 auto; padding: clamp(1.25rem, 3vw, 3rem); color: var(--text-primary); }
.ads-cabecalho { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; padding-bottom: 2rem; border-bottom: 1px solid var(--border); }
.ads-sobretitulo { margin: 0 0 .5rem; color: var(--terracota-texto); font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; }
.ads-cabecalho h1 { margin: 0; font: 400 clamp(2.2rem, 4vw, 3.8rem)/1.05 var(--f-display); }
.ads-cabecalho h1 em { color: var(--terracota-texto); font-weight: 400; }
.ads-cabecalho p:last-child { margin: .7rem 0 0; font-size: .87rem; color: var(--text-muted); }
.ads-filtro { display: grid; gap: .35rem; min-width: 175px; font-size: .72rem; color: var(--text-muted); }
/* Reutiliza os botões de período do painel e permite quebra em telas estreitas. */
.ads-cabecalho { flex-wrap: wrap; }
.ads-filtro { max-width: 100%; }
.ads-periodos { flex-wrap: wrap; margin-bottom: 0; border-radius: 1.25rem; }
.ads-periodos .periodo-opcao { min-height: 44px; }
.ads-periodos .periodo-opcao:focus-visible { outline: 2px solid var(--terracota); outline-offset: 2px; }
.ads-intervalo { display: flex; flex-wrap: wrap; align-items: end; gap: .6rem; margin-top: .5rem; }
.ads-intervalo[hidden] { display: none; }
.ads-intervalo label { display: grid; gap: .3rem; }
.ads-intervalo input { min-width: 0; max-width: 100%; padding: .5rem; border: 1px solid var(--border); border-radius: .4rem; background: var(--bg-section); color: var(--text-primary); font: inherit; font-size: .85rem; }
.ads-periodo { margin: 1.5rem 0; color: var(--text-muted); font-size: .8rem; }
.ads-fontes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ads-fonte, .ads-tabela-bloco { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 1.4rem; }
.ads-fonte-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: 1.5rem; }
.ads-fonte h2, .ads-tabela-bloco h2 { margin: 0; font: 400 1.65rem/1.1 var(--f-display); }
.ads-estado { border-radius: 100px; padding: .3rem .7rem; background: #f1eee8; color: var(--text-muted); font-size: .72rem; }
.ads-estado.conectada { background: #e6f1e9; color: #315d43; }
.ads-estado.erro { background: #f8e9e4; color: #934f3c; }
.ads-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem .8rem; }
.ads-kpis div { display: grid; gap: .25rem; min-width: 0; }
.ads-kpis span { font-size: .72rem; color: var(--text-muted); }
.ads-kpis strong { font: 400 clamp(1.2rem, 2vw, 1.8rem)/1 var(--f-display); overflow-wrap: anywhere; }
.ads-aviso { margin: 0; font-size: .87rem; color: var(--text-muted); line-height: 1.5; }
.ads-carregando { padding: 2rem; color: var(--text-muted); }
.ads-tabelas { display: grid; gap: 1rem; margin-top: 1rem; }
.ads-tabela-bloco h2 { margin-bottom: 1rem; }
.ads-tabela-bloco h2 span { font: 400 .75rem var(--f-body); color: var(--text-muted); }
.ads-tabela-scroll { overflow-x: auto; }
.ads-tabela-bloco table { width: 100%; border-collapse: collapse; text-align: left; font-size: .8rem; }
.ads-tabela-bloco th, .ads-tabela-bloco td { padding: .85rem .6rem; border-bottom: 1px solid var(--border); white-space: nowrap; }
.ads-tabela-bloco tbody th { font-weight: 400; min-width: 210px; white-space: normal; }
.ads-tabela-bloco thead th { color: var(--text-muted); font-weight: 400; font-size: .72rem; }
.ads-nota { margin: 1.4rem 0 0; max-width: 760px; font-size: .73rem; line-height: 1.5; color: var(--text-muted); }
@media (max-width: 800px) { .ads-fontes { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .ads-cabecalho { display: grid; } .ads-filtro { min-width: 0; } .ads-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
