/* Organização do painel: áreas de leitura distintas para desktop e celular. */
.app .conteudo { min-width: 0; }
.painel-menu-mobile { display: none; }
.app .pagina { width: 100%; }
.app .cabecalho-pagina, .app .topo { gap: 16px; padding-top: 28px; padding-bottom: 22px; margin-left: 0; }
.app .titulo-com-ajuda { gap: 12px; }
.app .secao { margin-top: 32px; }
.app .secao-topo { gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.app .lista { gap: 14px; }
.app .chips.rolagem { flex-wrap: wrap; overflow: visible; margin-left: 0; margin-right: 0; padding: 0; gap: 10px; }
.app .filtro-momentos, .app .filtro-frente { margin-top: 22px; margin-bottom: 22px; }
.app .chip { min-height: 44px; padding: 10px 16px; white-space: normal; text-align: center; line-height: 1.35; }
.app .barra-ver { margin: 4px 0 24px; gap: 16px; flex-wrap: wrap; }
.app .numeros { gap: 16px; margin: 24px 0; }
.app .numero { padding: 22px; gap: 10px; }
.app .numero b { font-size: 23px; }
.app .vazio { padding: 38px 24px; display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 18px; }
.app .item-menu { min-height: 110px; padding: 24px; gap: 18px; }
.app .item-menu > span:first-child { gap: 9px; min-width: 0; }
.app .item-menu small { line-height: 1.55; }
.app .item-menu:hover { background: #fffaf1; box-shadow: 0 6px 20px #542b3808; }
.app .menu-ajustes { margin: 28px 0; }
.app .abas-resultados { gap: 24px; flex-wrap: wrap; margin-bottom: 24px; }
.app .barra-periodo { gap: 12px; padding: 18px; margin: 24px 0 12px; border: 1px solid var(--borda); background: var(--cartao); border-radius: 16px; }
.app .barra-periodo .chips { flex: 1 1 360px; }
.app .periodo-personalizado form { gap: 12px; }
.app .kpis { gap: 16px; margin-top: 24px; }
.app .kpi { padding: 24px; min-height: 132px; gap: 12px; }
.app .kpis-menores { gap: 14px 24px; margin: 20px 0 28px; }
.app .grade-resultados { gap: 24px; margin-top: 24px; }
.app .bloco, .app .bloco-fin { padding: 26px; }
.app .bloco h2 { margin: 0 0 20px; font-size: 23px; }
.app .grafico-semanas { height: 230px; padding: 20px 0 0; gap: 8px; overflow: visible; }
.app .coluna-grafico { flex: 1 1 0; min-width: 0; }
.app .coluna-grafico small { margin-bottom: 0; white-space: normal; font-size: 11px; text-align: center; }
.app .barras-par { min-height: 0; }
.app .legenda-grafico { gap: 16px; margin-top: 18px; flex-wrap: wrap; }
.app .funil-anuncio { gap: 18px 16px; grid-template-columns: minmax(100px, 150px) minmax(0, 1fr) auto; }
.app .tabela-campanhas { margin-top: 24px; padding: 26px; }
.app .evento-item { padding: 22px; }
.app .evento-topo { gap: 18px; }
.app .evento-itens { gap: 10px; margin-top: 18px; }
.app .rotulo-secao { margin: 20px 0 8px; }
.app .resumo-fin { padding: 26px 12px; margin-top: 4px; }
.app .resumo-fin div { padding: 0 18px; gap: 10px; }
.app .resumo-fin b { font-size: clamp(18px, 2vw, 28px); }
.app .a-receber { padding: 24px; margin-top: 24px; }
.app .botoes-fin { margin: 24px 0; gap: 16px; }
.app .bloco-fin { margin-top: 24px; gap: 22px; }
.app .lanc { padding: 20px; gap: 18px; }
.app .musica { padding: 22px; gap: 18px; }
.app .lista-musicas { margin-top: 18px; }
.dashboard-cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.dashboard-cabecalho p { max-width: 580px; color: var(--sobre-primaria-suave); margin: 16px 0 0; line-height: 1.65; }
.dashboard-cabecalho .botao { background: var(--sobre-primaria); color: var(--primaria); flex: none; }
.dashboard-grade { display: grid; gap: 32px; }
.dashboard-grade > .secao { min-width: 0; }
.blog-status { padding: 24px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; }
.blog-status .dica { margin-top: 8px; }
.blog-biblioteca { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); gap: 20px; }
.blog-editor { display: grid; gap: 28px; margin-top: 40px; scroll-margin-top: 24px; }
.blog-conteudo,.blog-config { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.blog-bloco { padding: 26px; display: flex; flex-direction: column; gap: 20px; }
.blog-bloco h2 { margin: 0; }
.blog-dupla { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.blog-ferramentas { display: flex; flex-wrap: wrap; gap: 8px; }
.blog-texto { min-height: 420px; font-size: 16px; line-height: 1.8; }
.blog-preview { line-height: 1.8; overflow-wrap: anywhere; }
.blog-preview h2,.blog-preview h3 { margin: 28px 0 14px; }
.blog-preview p { white-space: pre-wrap; }
.blog-config img { max-height: 180px; object-fit: cover; border-radius: 12px; }
.blog-snippet { padding: 20px; background: #fff; border: 1px solid var(--borda); border-radius: 12px; overflow-wrap: anywhere; }
.blog-snippet small { display: block; font-size: 12px; color: var(--suave); }
.blog-snippet b { display: block; color: #234d88; margin-top: 8px; font-size: 20px; line-height: 1.4; }
.blog-snippet p { margin: 8px 0 0; font-size: 14px; line-height: 1.6; }
.blog-checklist { padding: 0; margin: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; font-size: 13px; }
.blog-salvar { grid-column: 1 / -1; align-items: center; z-index: 4; }
.blog-salvar .dica { flex: 2; }
@media(min-width:1200px){.blog-editor{grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);}.app .blog-painel{max-width:1600px;}}
@media(max-width:650px){.blog-bloco{padding:20px;}.blog-dupla{grid-template-columns:1fr;}.blog-texto{min-height:340px;}.blog-salvar{position:static;}.blog-salvar .dica{flex-basis:100%;}}
.app .dashboard .resumo { max-width: none; }
.app .dashboard .resumo div { gap: 12px; padding: 8px 24px; }
.app .dashboard .resumo b { font-size: clamp(22px, 2.2vw, 32px); }
.app .dashboard .pendencia { padding: 20px 18px; }
.app .dashboard .evento { padding: 22px; }
@media (min-width: 1024px) {
  .app .lateral-arcos { width: 160px; height: 160px; left: 18px; bottom: 24px; opacity: .18; }
  .app .lateral { scrollbar-width: thin; scrollbar-color: var(--destaque) var(--primaria); }
  .app .pagina, .app .pagina.estreita { max-width: 1480px; padding: 0 clamp(28px, 3.4vw, 64px) 48px; margin: 0 auto; }
  .app .pagina.estreita:has(> .formulario) { max-width: 1000px; }
  .app .pagina .secao { max-width: none; }
  .app h1.titulo { font-size: 36px; }
  .app h2.titulo { font-size: 25px; }
  .app .menu-ajustes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .app .barra-ver .busca { width: auto; flex: 1 1 320px; max-width: 600px; }
  .app .busca { max-width: 760px; min-height: 52px; }
  .app .numeros.dois { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app .eventos-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .app .eventos-lista .rotulo-secao { grid-column: 1 / -1; }
  .app .pagina-repertorio { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 0 32px; align-items: start; }
  .app .pagina-repertorio > :not(#ensaio) { grid-column: 1; }
  .app .pagina-repertorio > .cabecalho-pagina { grid-column: 1 / -1; }
  .app .pagina-repertorio > #ensaio { grid-column: 2; grid-row: 2 / span 5; margin-top: 0; padding: 24px; background: var(--divisor); border-radius: 20px; }
  .app .pagina-repertorio #ensaio .secao-topo { align-items: flex-start; flex-direction: column; gap: 8px; }
  .app .dashboard-grade { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); padding-top: 38px; }
  .app .dashboard-grade > .secao { margin-top: 0; }
  .app .dashboard-grade > .so-celular { display: none; }
  .app .dashboard .faixa { padding: 36px clamp(28px, 3.4vw, 64px) 96px; }
  .app .dashboard .faixa h1 { font-size: 42px; }
  .app .dashboard .resumo { margin: -52px clamp(28px, 3.4vw, 64px) 0; padding: 22px 10px; }
}
@media (min-width: 1024px) and (max-width: 1250px) {
  .app .kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .app .grade-resultados { grid-template-columns: 1fr; }
}
@media (max-width: 1023px) {
  .painel-menu-mobile { display: flex; position: sticky; top: 0; z-index: 20; align-items: center; justify-content: space-between; padding: 12px 20px; background: var(--cartao); border-bottom: 1px solid var(--borda); }
  .painel-nome { font: 24px var(--fonte-titulo); text-decoration: none; }
  .painel-menu-mobile summary { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--borda); border-radius: 12px; list-style: none; font-weight: bold; color: var(--primaria); cursor: pointer; }
  .painel-menu-mobile summary::-webkit-details-marker { display: none; }
  .painel-menu-mobile details[open] summary { background: var(--primaria); color: var(--sobre-primaria); }
  .painel-menu-mobile nav { position: absolute; top: 100%; left: 12px; right: 12px; padding: 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; background: var(--cartao); border: 1px solid var(--borda); border-radius: 16px; box-shadow: 0 14px 32px #542b3826; }
  .painel-menu-mobile nav a { display: flex; align-items: center; gap: 10px; padding: 14px 10px; min-height: 54px; background: var(--fundo); border-radius: 12px; text-decoration: none; font-size: 14px; }
  .painel-menu-mobile nav a[aria-current] { background: var(--primaria); color: var(--sobre-primaria); }
  .app .pagina { padding-left: 20px; padding-right: 20px; }
  .app .cabecalho-pagina { flex-wrap: wrap; padding-top: 24px; }
  .app .abas-resultados { gap: 12px 20px; }
  .app .bloco, .app .bloco-fin, .app .tabela-campanhas { padding: 20px; }
  .app .kpi { padding: 20px; }
  .app .item-menu { min-height: 100px; padding: 20px; }
  .app .funil-anuncio { grid-template-columns: minmax(90px, 120px) minmax(0, 1fr) auto; gap: 16px 10px; font-size: 13px; }
  .app .dashboard-cabecalho { align-items: flex-start; flex-direction: column; gap: 18px; }
  .app .dashboard-cabecalho h1 { margin-top: 20px; }
  .app .dashboard .faixa { padding-bottom: 96px; }
  .app .dashboard .resumo div { padding: 4px 10px; gap: 8px; }
  .app .dashboard .resumo b { font-size: 20px; }
  .app .dashboard-grade { gap: 0; }
  .app .musica { flex-wrap: wrap; }
  .app .musica-texto { min-width: 0; overflow-wrap: anywhere; }
  .app .chip { font-size: 13px; padding: 9px 13px; }
}
@media (prefers-reduced-motion: no-preference) {
  .app .botao, .app .chip, .app .item-menu, .app .lateral-nav a { transition: background .18s ease, box-shadow .18s ease, border-color .18s ease; }
}

/* Painel inicial: visão operacional com dados reais da conta. */
.app .dashboard-v2 .faixa { padding-bottom: 70px; }
.dashboard-visao { position:relative; display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:-34px clamp(28px,3.4vw,64px) 0; }
.dashboard-indicador { display:flex; flex-direction:column;gap:14px;padding:24px;text-decoration:none; }
.dashboard-indicador-topo { display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:14px; }
.dashboard-indicador-topo svg {flex-shrink:0;color:var(--primaria);}
.dashboard-indicador b {font:42px var(--fonte-titulo);line-height:1;}
.dashboard-indicador small {font-size:12px;color:var(--suave);line-height:1.5;}
.dashboard-acoes {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px clamp(28px,3.4vw,64px) 0;}
.dashboard-acoes a {display:flex;align-items:center;gap:12px;min-height:60px;padding:14px 16px;border:1px solid var(--borda);border-radius:14px;text-decoration:none;font-size:14px;}
.dashboard-acoes a span {flex:1;}.dashboard-acoes svg {flex-shrink:0;}
.app .dashboard-v2 .dashboard-grade {padding-top:32px;align-items:start;}
.dashboard-frentes {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.dashboard-frente {padding:24px;}.dashboard-frente h3 {margin:0;font:23px var(--fonte-titulo);}
.dashboard-frente .secao-topo>span {font-size:12px;color:var(--suave);}
.dashboard-etapa {display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:18px;font-size:14px;}
.dashboard-barra {grid-column:1/-1;height:6px;border-radius:8px;background:var(--divisor);overflow:hidden;}
.dashboard-barra i {display:block;height:100%;background:var(--primaria);border-radius:8px;}
.dashboard-valores {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.dashboard-valores .cartao {display:flex;flex-direction:column;gap:14px;padding:24px;}
.dashboard-valores b {font:30px var(--fonte-titulo);}.dashboard-valores span {font-size:14px;}.dashboard-valores small {font-size:12px;color:var(--suave);line-height:1.5;}
#prioridades {scroll-margin-top:90px;}
@media(min-width:1024px){.app .dashboard-grade>.dashboard-funil,.app .dashboard-grade>.dashboard-financeiro {grid-column:1/-1;margin-top:4px;}}
@media(max-width:1023px){.dashboard-visao{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:20px;margin-right:20px;gap:12px;}.dashboard-indicador{padding:18px;gap:12px;}.dashboard-indicador b{font-size:34px;}.dashboard-indicador-topo{font-size:13px;}.dashboard-acoes{grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 20px 0;gap:10px;}.dashboard-acoes a{font-size:13px;padding:14px 12px;}.dashboard-acoes a>svg:last-child{display:none;}.dashboard-frentes{grid-template-columns:1fr;}.dashboard-valores{grid-template-columns:1fr;gap:12px;}.app .dashboard-v2 .dashboard-grade{gap:28px;}.dashboard-v2 .so-celular{display:none;}}
@media(prefers-reduced-motion:no-preference){.dashboard-indicador,.dashboard-acoes a{transition:transform .18s ease,box-shadow .18s ease;}.dashboard-indicador:hover,.dashboard-acoes a:hover{transform:translateY(-2px);box-shadow:0 6px 18px #542b3812;}}

.dashboard-indicador-topo { min-height:40px; }

.blog-upload{display:flex;flex-direction:column;gap:14px;padding:18px;background:var(--fundo);border:1px dashed var(--borda);border-radius:14px;margin-bottom:20px;}.blog-upload .campo{margin:0;}.blog-upload input[type=file]{height:auto;padding:12px;max-width:100%;font-size:13px;}.blog-upload [role=status]:empty{display:none;}.blog-biblioteca-fotos{margin:18px 0;}.blog-biblioteca-fotos summary{cursor:pointer;padding:14px 0;font-weight:600;}.blog-fotos-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:380px;overflow:auto;scrollbar-width:thin;}.blog-foto-opcao{padding:0;background:var(--cartao);border:1px solid var(--borda);border-radius:10px;overflow:hidden;cursor:pointer;min-width:0;text-align:left;}.blog-foto-opcao img{width:100%;height:100px;object-fit:cover;}.blog-foto-opcao span{display:block;padding:8px;font-size:11px;overflow-wrap:anywhere;}.blog-foto-opcao:hover,.blog-foto-opcao:focus-visible{border-color:var(--primaria);}.blog-arquivo-info{overflow-wrap:anywhere;}.blog-midia>.botao-texto{margin-bottom:18px;}
