/* Empulse Lab — identidade emPulse: amarelo #FFB400, laranja #FF5F00, vermelho #FF0000 e preto.
   Aplicada de leve: o degradê só aparece em destaques (linha do topo, botões principais, selo Lab). */
:root {
  --marca-amarelo: #FFB400;
  --marca-laranja: #FF5F00;
  --marca-vermelho: #FF0000;
  --degrade: linear-gradient(110deg, #FFB400 0%, #FF5F00 55%, #FF0000 100%);
  --degrade-botao: linear-gradient(110deg, #FF7A00 0%, #FF4A00 60%, #F01800 100%);
  --fundo: #F7F5F3;
  --cartao: #FFFFFF;
  --tinta: #0E0E0E;
  --apagado: #65605C;
  --linha: #E8E3DF;
  --laranja: #FF5F00;
  --laranja-escuro: #C94400;
  --laranja-suave: #FFF0E5;
  --verde: #1E8A4C;   --verde-suave: #E3F5EA;
  --azul: #2563C9;    --azul-suave: #E5EEFC;
  --amarelo: #A86A00; --amarelo-suave: #FFF4D9;
  --vermelho: #C42B2B; --vermelho-suave: #FDE7E7;
  --raio: 10px;
  --sombra: 0 1px 2px rgba(26, 21, 18, .06), 0 4px 14px rgba(26, 21, 18, .05);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--tinta);
  background: var(--fundo);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--fundo); font-size: 15px; line-height: 1.5; }
a { color: var(--laranja-escuro); }
h1 { font-size: 1.5rem; margin: 0 0 1rem; }
h2 { font-size: 1.1rem; margin: 1.5rem 0 .75rem; }

/* Barra superior */
.barra {
  display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
  background: var(--cartao); border-bottom: 1px solid var(--linha);
  padding: .6rem 1.25rem; position: sticky; top: 0; z-index: 10;
}
/* Linha fina com o degradê da marca no topo de todas as telas. */
.barra::before, .conteudo-solto .cartao::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--degrade);
}
.conteudo-solto .cartao { position: relative; overflow: hidden; padding-top: 1.6rem; }
.marca { display: flex; align-items: center; gap: .55rem; color: var(--tinta); text-decoration: none; }
.marca-logo { height: 32px; width: auto; display: block; }
.marca-lab { font-weight: 800; font-size: .95rem; letter-spacing: .04em; color: #fff; background: var(--degrade); padding: .15rem .55rem; border-radius: 6px; line-height: 1.3; text-shadow: 0 1px 1px rgba(0,0,0,.18); }
.entrar-marca { display: flex; align-items: center; justify-content: center; gap: .7rem; margin: .3rem 0 1.4rem; }
.entrar-logo { height: 54px; width: auto; }
.entrar-marca .marca-lab { font-size: 1.2rem; }
.menu { display: flex; gap: .25rem; flex-wrap: wrap; flex: 1; }
.menu a { display: inline-flex; align-items: center; gap: .45rem; color: var(--apagado); text-decoration: none; padding: .45rem .8rem; border-radius: 8px; font-weight: 500; }
.menu a svg { flex: none; }
.menu a:hover { background: var(--fundo); color: var(--tinta); }
.menu a.ativo { background: var(--laranja-suave); color: var(--laranja-escuro); box-shadow: inset 0 -2px 0 var(--marca-laranja); }
.quem { display: flex; gap: .75rem; align-items: center; color: var(--apagado); font-size: .9rem; }

.conteudo { max-width: 1180px; margin: 0 auto; padding: 1.5rem 1.25rem 4rem; }
.conteudo-solto { max-width: 440px; padding-top: 8vh; }

/* Cartões e formulários */
.cartao { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.25rem; box-shadow: var(--sombra); margin-bottom: 1.25rem; }
.cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.cabecalho h1 { margin: 0; }
label { display: block; font-weight: 600; margin: .9rem 0 .3rem; font-size: .92rem; }
.dica { color: var(--apagado); font-size: .85rem; font-weight: 400; margin: .25rem 0 0; }
input[type=text], input[type=email], input[type=password], input[type=url], input[type=datetime-local], select, textarea {
  width: 100%; padding: .6rem .7rem; border: 1px solid var(--linha); border-radius: 8px;
  font: inherit; background: #fff; color: var(--tinta);
}
textarea { min-height: 120px; resize: vertical; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--laranja-suave); border-color: var(--laranja); }
.opcoes { display: flex; gap: 1rem; flex-wrap: wrap; }
.opcoes label { font-weight: 500; display: flex; gap: .4rem; align-items: center; margin: .2rem 0; }

.botao {
  display: inline-flex; align-items: center; gap: .4rem; border: 0; cursor: pointer;
  background: var(--degrade-botao); color: #fff; font: inherit; font-weight: 700;
  padding: .6rem 1.1rem; border-radius: 8px; text-decoration: none;
  box-shadow: 0 1px 2px rgba(240, 24, 0, .18);
}
.botao:hover { filter: brightness(.94); }
.botao-claro { background: var(--cartao); color: var(--tinta); border: 1px solid var(--linha); box-shadow: none; }
.botao-claro:hover { background: var(--fundo); filter: none; }
.botao-pequeno { padding: .35rem .7rem; font-size: .85rem; }
.acoes { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: 1.25rem; }

/* Avisos */
.aviso { padding: .75rem 1rem; border-radius: 8px; margin-bottom: 1rem; border: 1px solid transparent; }
.aviso-ok { background: var(--verde-suave); color: var(--verde); border-color: #bfe5cd; }
.aviso-erro { background: var(--vermelho-suave); color: var(--vermelho); border-color: #f5c4c4; }
.aviso-info { background: var(--azul-suave); color: var(--azul); border-color: #c8d8f5; }

/* Tabelas */
.tabela { width: 100%; border-collapse: collapse; }
.tabela th, .tabela td { text-align: left; padding: .6rem .5rem; border-bottom: 1px solid var(--linha); vertical-align: middle; }
.tabela th { color: var(--apagado); font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; }
.rolagem { overflow-x: auto; }
.avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; background: var(--linha); vertical-align: middle; }

/* Etiquetas de status / rede */
.etiqueta { display: inline-block; padding: .15rem .55rem; border-radius: 99px; font-size: .78rem; font-weight: 600; white-space: nowrap; }
.st-agendado { background: var(--azul-suave); color: var(--azul); }
.st-publicando, .st-processando { background: var(--amarelo-suave); color: var(--amarelo); }
.st-publicado { background: var(--verde-suave); color: var(--verde); }
.st-erro { background: var(--vermelho-suave); color: var(--vermelho); }
.rede-ig { background: #FCE7F3; color: #B0246B; }
.rede-fb { background: var(--azul-suave); color: var(--azul); }
.rede-nao { background: var(--fundo); color: var(--apagado); }

.rede-check { display: inline-flex; align-items: center; gap: .35rem; margin: 0; font-weight: 400; cursor: pointer; }
.rede-check input { width: 16px; height: 16px; accent-color: var(--laranja); }
.destaque { border-color: var(--laranja); border-width: 2px; }
details.cartao summary { cursor: pointer; }

.grade-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.resultado { border-left: 4px solid var(--linha); padding: .5rem .9rem; margin: .5rem 0; background: var(--fundo); border-radius: 0 8px 8px 0; }
.resultado.ok { border-color: var(--verde); }
.resultado.falha { border-color: var(--vermelho); }
.miniatura { max-width: 220px; max-height: 220px; border-radius: 8px; border: 1px solid var(--linha); display: block; margin-top: .5rem; }

/* Página pública de privacidade */
.texto-legal { max-width: 760px; margin: 0 auto; padding: 2rem 1.25rem 4rem; }
.texto-legal h1 { font-size: 1.8rem; }
.texto-legal h2 { margin-top: 2rem; }

/* ================= Tela de entrada (login) ================= */
.tela-login { background: #fff; }
.login { display: grid; grid-template-columns: 1.15fr 1fr; min-height: 100vh; }
.login-arte { position: relative; overflow: hidden; background: #050505; color: #fff; display: flex; flex-direction: column; justify-content: space-between; padding: 3.2rem 3.5rem 3.5rem; isolation: isolate; }
.luz { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; z-index: -1; }
.luz-1 { width: 520px; height: 520px; background: #FFB400; top: -160px; left: -120px; animation: luz-a 18s ease-in-out infinite alternate; }
.luz-2 { width: 460px; height: 460px; background: #FF5F00; top: 30%; right: -160px; animation: luz-b 22s ease-in-out infinite alternate; }
.luz-3 { width: 420px; height: 420px; background: #FF0000; bottom: -200px; left: 25%; opacity: .45; animation: luz-c 20s ease-in-out infinite alternate; }
@keyframes luz-a { to { transform: translate(140px, 120px) scale(1.1); } }
@keyframes luz-b { to { transform: translate(-160px, -90px) scale(.9); } }
@keyframes luz-c { to { transform: translate(120px, -140px) scale(1.15); } }
.login-grade { position: absolute; inset: 0; z-index: -1;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 48px 48px; mask-image: radial-gradient(ellipse at 40% 40%, #000 30%, transparent 75%); -webkit-mask-image: radial-gradient(ellipse at 40% 40%, #000 30%, transparent 75%); }
.login-marca-dagua { position: absolute; right: -2rem; top: 1.5rem; z-index: -1; font-size: clamp(9rem, 22vw, 20rem); font-weight: 900; line-height: .8; letter-spacing: -.04em;
  color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.14); user-select: none; }
.login-pulso { position: absolute; left: 0; right: 0; top: 46%; width: 100%; height: 120px; z-index: 0; pointer-events: none; opacity: .9; filter: drop-shadow(0 0 10px rgba(255,95,0,.7)); }
.login-pulso path { stroke-dasharray: 900; stroke-dashoffset: 900; animation: pulso 3.2s ease-out .3s forwards; }
@keyframes pulso { to { stroke-dashoffset: 0; } }
/* Escurece a parte de baixo do painel para o texto sempre ter contraste sobre as luzes. */
.login-arte::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 70%; z-index: -1;
  background: linear-gradient(transparent, rgba(5,5,5,.55) 45%, rgba(5,5,5,.88)); }
.login-arte-conteudo { position: relative; max-width: 480px; }
.login-logo { position: relative; width: clamp(240px, 28vw, 380px); max-width: 80%; height: auto; display: block; filter: drop-shadow(0 6px 24px rgba(0,0,0,.35)); }
.login-arte h2 { font-size: clamp(1.9rem, 3.4vw, 2.9rem); line-height: 1.12; margin: 0 0 1rem; font-weight: 800; letter-spacing: -.02em; }
.login-arte h2 span { background: var(--degrade); -webkit-background-clip: text; background-clip: text; color: transparent; }
.login-arte p { color: rgba(255,255,255,.72); font-size: 1.02rem; margin: 0 0 1.6rem; }
.login-recursos { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.login-recursos li { display: inline-flex; align-items: center; gap: .45rem; font-size: .85rem; padding: .38rem .85rem .38rem .7rem; border-radius: 99px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(6px); color: rgba(255,255,255,.9); }
.login-recursos svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.login-form { display: flex; align-items: center; justify-content: center; padding: 2.5rem 1.5rem; background: radial-gradient(circle at 100% 0%, #FFF3E8 0, #fff 45%); }
.login-caixa { width: 100%; max-width: 380px; }
.login-topo { display: flex; align-items: center; gap: .6rem; margin-bottom: 2.2rem; }
.login-logo-escura { height: 38px; width: auto; }
.login-caixa h1 { font-size: 1.8rem; margin: 0 0 .25rem; letter-spacing: -.01em; }
.login-caixa .dica { margin-bottom: 1.2rem; font-size: .95rem; }
.login-caixa label { margin-top: 1rem; }
.login-caixa input { padding: .8rem .9rem; border-radius: 10px; border-color: #DDD6D0; background: #fff; transition: border-color .15s, box-shadow .15s; }
.login-caixa input:focus { outline: 0; border-color: var(--marca-laranja); box-shadow: 0 0 0 4px rgba(255, 95, 0, .14); }
.campo-senha { position: relative; }
.campo-senha input { padding-right: 2.8rem; }
.campo-senha button { position: absolute; right: .4rem; top: 50%; transform: translateY(-50%); border: 0; background: none; color: var(--apagado); cursor: pointer; padding: .35rem; border-radius: 6px; line-height: 0; }
.campo-senha button:hover { color: var(--tinta); }
.login-botao { width: 100%; justify-content: center; margin-top: 1.6rem; padding: .85rem; font-size: 1rem; border-radius: 10px; }
.login-rodape { text-align: center; color: var(--apagado); font-size: .8rem; margin-top: 2.5rem; }
@media (prefers-reduced-motion: reduce) { .luz, .login-pulso path { animation: none; } .login-pulso path { stroke-dashoffset: 0; } }
@media (max-width: 860px) {
  .login { grid-template-columns: 1fr; }
  .login-arte { min-height: 320px; padding: 1.8rem 1.5rem 2rem; gap: 2rem; }
  .login-arte p, .login-recursos { display: none; }
  .login-logo { width: 200px; }
  .login-marca-dagua { font-size: 9rem; }
  .login-topo { display: none; }
  .login-form { padding: 2rem 1.25rem 3rem; }
}

/* ================= Tela "Agendar post" ================= */
.tela-agendar .conteudo { max-width: 1480px; padding-bottom: 6rem; }
.agendar { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(300px, 1fr) 330px; gap: 1.5rem; align-items: start; }
.ag-col { display: flex; flex-direction: column; gap: 1.6rem; }
.ag-bloco { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1rem 1.1rem; box-shadow: var(--sombra); }
.ag-titulo { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .7rem; }
.ag-titulo h3 { margin: 0; font-size: .95rem; }
.ag-icones { display: flex; gap: .2rem; }
.ag-ico { border: 0; background: transparent; cursor: pointer; color: var(--apagado); font-size: .95rem; padding: .2rem .4rem; border-radius: 6px; }
.ag-ico:hover { background: var(--fundo); color: var(--laranja); }
.link-botao { border: 0; background: none; color: var(--laranja); cursor: pointer; font: inherit; font-weight: 600; padding: .4rem 0; text-decoration: underline; }
.av { border-radius: 50%; object-fit: cover; flex: none; vertical-align: middle; background: var(--linha); }
.av-letra { display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--laranja); font-weight: 700; font-size: .75em; }

/* Perfis: caixa de busca com etiquetas */
.combo { position: relative; }
.combo-caixa { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; min-height: 46px; padding: .35rem .5rem; border: 1px solid var(--linha); border-radius: 8px; cursor: text; background: #fff; }
.combo-caixa:focus-within { border-color: var(--laranja); outline: 2px solid var(--laranja-suave); }
#chips { display: contents; }
.chip { display: inline-flex; align-items: center; gap: .35rem; background: var(--fundo); border: 1px solid var(--linha); border-radius: 6px; padding: .15rem .3rem .15rem .35rem; font-size: .82rem; }
.chip button { border: 0; background: none; cursor: pointer; color: var(--apagado); font-size: 1rem; line-height: 1; padding: 0 .1rem; }
.chip button:hover { color: var(--vermelho); }
.combo-caixa input { flex: 1; min-width: 140px; border: 0 !important; outline: 0 !important; padding: .3rem !important; background: transparent; }
.combo-lista { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px); background: #fff; border: 1px solid var(--linha); border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.12); max-height: 320px; overflow-y: auto; padding: .3rem; }
.combo-item { display: flex; align-items: center; gap: .6rem; padding: .45rem .5rem; border-radius: 6px; cursor: pointer; }
.combo-item.destaque, .combo-item:hover { background: var(--fundo); }
.combo-item.sel { background: var(--laranja-suave); }
.ci-nome { flex: 1; display: flex; flex-direction: column; line-height: 1.25; font-size: .9rem; }
.ci-nome small { color: var(--apagado); font-size: .78rem; }
.ci-check { color: var(--laranja); font-weight: 700; width: 1rem; }
.combo-vazio { padding: .8rem; color: var(--apagado); text-align: center; }
.recentes { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; margin-top: .6rem; }
.recentes .dica { margin: 0 .2rem 0 0; }
.rec { border: 2px solid transparent; background: none; padding: 1px; border-radius: 50%; cursor: pointer; line-height: 0; }
.rec:hover { border-color: var(--linha); }
.rec.sel { border-color: var(--laranja); }

/* Canais */
.canais { display: flex; gap: .45rem; flex-wrap: wrap; }
.canal { position: relative; border: 2px solid transparent; background: none; border-radius: 50%; padding: 2px; cursor: pointer; line-height: 0; opacity: .45; filter: grayscale(.6); transition: .12s; }
.canal:hover:not(:disabled) { opacity: .8; filter: none; }
.canal.sel { opacity: 1; filter: none; border-color: var(--laranja); box-shadow: 0 0 0 3px var(--laranja-suave); }
.canal:disabled { cursor: not-allowed; opacity: .2; }
.breve { position: absolute; bottom: -9px; left: 50%; transform: translateX(-50%); background: var(--tinta); color: #fff; font-size: .55rem; line-height: 1; padding: 2px 4px; border-radius: 4px; white-space: nowrap; }
#dica-canais { margin-top: .7rem; }

/* Texto */
.abas { display: flex; gap: .25rem; align-items: flex-end; border-bottom: 1px solid var(--linha); margin-bottom: 0; }
.aba { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 36px; border: 0; background: none; cursor: pointer; padding: .3rem .55rem; font: inherit; font-size: .88rem; line-height: 1; color: var(--apagado); border-bottom: 2px solid transparent; margin-bottom: -1px; }
.aba.ativa { color: var(--tinta); border-bottom-color: var(--laranja); }
.aba .ponto { position: absolute; top: 3px; right: 3px; width: 7px; height: 7px; background: var(--laranja); border-radius: 50%; }
.caixa-texto { border: 1px solid var(--linha); border-top: 0; border-radius: 0 0 8px 8px; overflow: hidden; }
.caixa-texto textarea { border: 0 !important; border-radius: 0; outline: 0 !important; resize: vertical; }
#texto { min-height: 190px; }
.assinatura { min-height: 80px !important; border-top: 1px solid var(--linha) !important; }
.troca-perfil { display: flex; align-items: center; justify-content: space-between; background: var(--fundo); border-top: 1px solid var(--linha); padding: .25rem .4rem; font-size: .85rem; }
.troca-perfil button { border: 0; background: none; cursor: pointer; font-size: 1.2rem; color: var(--apagado); padding: 0 .5rem; }
.troca-perfil button:hover { color: var(--laranja); }
.tp-nome { display: inline-flex; align-items: center; gap: .4rem; }
.tp-nome small { color: var(--apagado); }
.contador { display: flex; justify-content: space-between; padding: .35rem .7rem; font-size: .78rem; color: var(--apagado); border-top: 1px solid var(--linha); background: var(--fundo); }
.contador .alerta { color: var(--vermelho); font-weight: 700; }

.ag-bloco.inativo .caixa-texto, .ag-bloco.inativo .abas { opacity: .45; pointer-events: none; }
.ag-bloco.inativo textarea { background: var(--fundo); }
.aviso-story { font-size: .85rem; padding: .55rem .75rem; margin: 0 0 .7rem; }

/* Barra de ferramentas do texto + janela de Assinaturas */
.ferramentas { display: flex; justify-content: space-around; border-top: 1px solid var(--linha); padding: .35rem; }
.ferr { position: relative; border: 0; background: none; color: #2563C9; cursor: pointer; padding: .35rem .6rem; border-radius: 6px; line-height: 0; }
.ferr:hover { background: var(--azul-suave); }
.ferr[data-dica]:hover::after { content: attr(data-dica); position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); background: #2b2b2b; color: #fff; font-size: .8rem; line-height: 1.2; white-space: nowrap; padding: .45rem .7rem; border-radius: 6px; pointer-events: none; z-index: 5; }
.janela-fundo { position: fixed; inset: 0; z-index: 50; background: rgba(20, 15, 12, .45); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.janela-fundo[hidden] { display: none; }
.janela { width: 100%; max-width: 720px; max-height: 90vh; display: flex; flex-direction: column; background: var(--fundo); border-radius: 14px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.janela-topo { display: flex; align-items: center; gap: .7rem; background: #fff; padding: 1rem 1.2rem; border-bottom: 1px solid var(--linha); }
.janela-topo h3 { margin: 0; flex: 1; font-size: 1.1rem; }
.janela-topo input { width: 240px; padding: .5rem .7rem; border: 1px solid var(--linha); border-radius: 8px; font: inherit; }
.janela-ico { width: 34px; height: 34px; border-radius: 50%; background: var(--laranja); display: flex; align-items: center; justify-content: center; flex: none; }
.janela-corpo { flex: 1; overflow-y: auto; padding: 1rem 1.2rem; min-height: 220px; }
.janela-rodape { display: flex; justify-content: space-between; align-items: center; background: #fff; border-top: 1px solid var(--linha); padding: .8rem 1.2rem; }
.ja-linha { background: #fff; border: 1px solid var(--linha); border-radius: 10px; padding: .8rem 1rem; margin-bottom: .7rem; }
.ja-cab { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.ja-cab b { flex: 1; min-width: 120px; }
.ja-cab select { width: auto; min-width: 220px; flex: 0 1 300px; }
.ja-texto { margin-top: .6rem; background: var(--laranja-suave); color: var(--tinta); border-radius: 8px; padding: .6rem .8rem; font-size: .88rem; }
.ja-gerir { margin-top: .7rem; border-top: 1px dashed var(--linha); padding-top: .7rem; }
.ja-lista { display: flex; flex-direction: column; gap: .4rem; margin-bottom: .7rem; }
.ja-item { display: flex; align-items: center; gap: .5rem; background: var(--fundo); border-radius: 8px; padding: .45rem .6rem; }
.ja-item span { flex: 1; display: flex; flex-direction: column; min-width: 0; font-size: .88rem; }
.ja-item small { color: var(--apagado); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.janela-pequena { max-width: 480px; background: #fff; }
.ok-corpo { padding: 1.6rem 1.4rem .6rem; overflow-y: auto; text-align: center; }
.ok-corpo h3 { margin: .6rem 0 1rem; font-size: 1.35rem; }
.ok-icone { width: 64px; height: 64px; margin: 0 auto; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2rem; font-weight: 800; color: #fff; }
.ok-icone.ok-ok { background: var(--verde); }
.ok-icone.ok-aviso { background: #E07B00; }
.ok-icone.ok-erro { background: var(--vermelho); }
.ok-post { text-align: left; border: 1px solid var(--linha); border-radius: 10px; padding: .75rem .9rem; margin-bottom: .6rem; background: var(--fundo); }
.ok-cab { display: flex; align-items: center; gap: .6rem; }
.ok-cab span { display: flex; flex-direction: column; line-height: 1.3; }
.ok-cab small { color: var(--apagado); font-size: .8rem; }
.ok-quando { font-size: .88rem; margin: .5rem 0 .4rem; font-weight: 600; }
.ok-canais { display: flex; flex-wrap: wrap; gap: .3rem; }
.ok-canal { font-size: .76rem; font-weight: 700; border-radius: 99px; padding: .15rem .55rem; background: var(--azul-suave); color: var(--azul); }
.ok-canal.ok-publicado { background: var(--verde-suave); color: var(--verde); }
.ok-canal.ok-erro { background: var(--vermelho-suave); color: var(--vermelho); }
.ok-canal.ok-processando { background: var(--amarelo-suave); color: var(--amarelo); }
.ok-canal a { color: inherit; }
.ok-msg-erro { width: 100%; font-size: .8rem; color: var(--vermelho); margin-top: .2rem; }
/* Janela rápida do post no calendário */
.janela-post { position: relative; max-width: 860px; flex-direction: row; background: #fff; }
.jp-fechar { position: absolute; top: .5rem; right: .6rem; z-index: 3; border: 0; background: none; font-size: 1.6rem; line-height: 1; color: var(--apagado); cursor: pointer; }
.jp-fechar:hover { color: var(--tinta); }
.jp-prev { flex: 1 1 55%; padding: 1.1rem; overflow-y: auto; border-right: 1px solid var(--linha); background: #fff; }
.jp-info { flex: 1 1 45%; padding: 1.1rem 1.3rem; overflow-y: auto; }
.jp-info h3 { font-size: 1.05rem; margin: .2rem 0 .8rem; }
.jp-info h3:not(:first-of-type) { margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid var(--linha); }
.jp-cab { display: flex; align-items: center; gap: .6rem; margin-bottom: .8rem; position: relative; }
.jp-rede { position: absolute; left: 22px; top: 20px; line-height: 0; background: #fff; border-radius: 50%; padding: 1px; }
.jp-prev .pv-midia img { height: auto; max-height: 540px; object-fit: contain; background: #F4F1EE; }
.jp-prev .pv-story { max-width: 320px; margin: 0 auto; }
.jp-prev .pv-midia video { max-height: 540px; height: auto; object-fit: contain; }
.jp-linha { display: flex; gap: .5rem; align-items: flex-start; color: var(--apagado); font-size: .9rem; margin-bottom: .55rem; }
.jp-linha svg { flex: none; margin-top: 1px; }
.jp-agendado, .jp-agendado svg { color: #E07B00; }
.jp-pausado, .jp-pausado svg { color: var(--apagado); font-weight: 600; }
.jp-ok, .jp-ok svg { color: var(--verde); }
.jp-erro { font-size: .82rem; margin: .6rem 0 0; }
.jp-outros { display: flex; align-items: center; gap: .3rem; flex-wrap: wrap; margin-top: .8rem; }
.jp-outros .dica { margin: 0 .3rem 0 0; width: 100%; }
.jp-canal { border: 2px solid transparent; background: none; border-radius: 50%; padding: 1px; cursor: pointer; line-height: 0; }
.jp-canal.ativo { border-color: var(--laranja); }
.jp-acoes { display: flex; flex-direction: column; gap: .2rem; }
.jp-acoes button, .jp-acoes a { display: flex; align-items: center; gap: .6rem; border: 0; background: none; cursor: pointer; font: inherit; font-weight: 700; color: #2563C9; padding: .55rem .5rem; border-radius: 8px; text-decoration: none; text-align: left; letter-spacing: .02em; }
.jp-acoes button:hover, .jp-acoes a:hover { background: var(--azul-suave); }
.jp-acoes .perigo:hover { background: var(--vermelho-suave); color: var(--vermelho); }
.jp-acoes a { color: var(--apagado); font-weight: 600; font-size: .9rem; }
.jp-form label { margin-top: .6rem; }
.jp-form textarea { min-height: 0; }
.jp-datas { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.jp-aviso { font-size: .85rem; padding: .5rem .7rem; }
.st-pa { color: #8A8580; }
.st-pausado, .st-txt-pausado { background: #EEEAE6; color: #6B625B; }
.cal-item .st-txt-pausado { background: none; text-decoration: line-through; }
@media (max-width: 760px) {
  .janela-post { flex-direction: column; overflow-y: auto; }
  .jp-prev { border-right: 0; border-bottom: 1px solid var(--linha); overflow: visible; }
  .jp-info { overflow: visible; }
}
.tags { display: flex; flex-wrap: wrap; gap: .4rem; margin: .7rem 0; }
.tag { display: inline-flex; align-items: center; gap: .25rem; background: #fff; color: var(--azul); border: 1.5px solid #c8d8f5; border-radius: 99px; padding: .2rem .3rem .2rem .7rem; font-size: .86rem; font-weight: 600; cursor: pointer; user-select: none; }
.tag:hover { border-color: var(--azul); }
.tag.on { background: var(--azul); border-color: var(--azul); color: #fff; }
.tag.on button { background: rgba(255,255,255,.25); color: #fff; }
.tag button { border: 0; background: rgba(37, 99, 201, .12); color: var(--azul); width: 20px; height: 20px; border-radius: 50%; cursor: pointer; line-height: 1; font-size: .95rem; padding: 0; }
.tag button:hover { background: var(--vermelho); color: #fff; }
.tag-add { display: flex; gap: .5rem; }
.tag-add input { flex: 1; }
.ja-form { display: flex; flex-direction: column; gap: .45rem; }
.ja-form textarea { min-height: 80px; }
@media (max-width: 760px) { .janela-topo { flex-wrap: wrap; } .janela-topo input { width: 100%; } .ja-cab select { flex: 1 1 100%; } }

/* Mídias */
.zona-upload { display: flex; gap: .9rem; align-items: center; border: 2px dashed var(--linha); border-radius: 10px; padding: 1rem; cursor: pointer; font-weight: 400; margin: 0; background: var(--fundo); }
.zona-upload:hover, .zona-upload.arrastando { border-color: var(--laranja); background: var(--laranja-suave); }
.zu-icone { width: 42px; height: 42px; flex: none; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: var(--laranja); }
.miniaturas { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: .5rem; margin-top: .7rem; }
.mini { position: relative; aspect-ratio: 1; border-radius: 8px; overflow: hidden; border: 1px solid var(--linha); cursor: grab; }
.mini img, .mini video { width: 100%; height: 100%; object-fit: cover; display: block; background: #222; }
.mini-video { position: absolute; right: 4px; bottom: 4px; background: rgba(0,0,0,.65); color: #fff; font-size: .68rem; border-radius: 4px; padding: 0 5px; }
.pv-midia video, .pv-fb-img video, .pv-story > video { width: 100%; height: 100%; object-fit: cover; display: block; background: #000; }
.pv-reels-base { position: absolute; left: 0; right: 3.2rem; bottom: 0; padding: .8rem; color: #fff; font-size: .82rem; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem;
  background: linear-gradient(transparent, rgba(0,0,0,.6)); }
.pv-reels-base .av { width: 26px; height: 26px; border: 1.5px solid #fff; }
.pv-reels-texto { width: 100%; max-height: 4.2em; overflow: hidden; }
.pv-reels-texto .pv-tag { color: #fff; font-weight: 700; }
.pv-reels-lado { position: absolute; right: .6rem; bottom: 1rem; display: flex; flex-direction: column; gap: 1rem; color: #fff; }
.mini-n { position: absolute; left: 4px; top: 4px; background: rgba(0,0,0,.6); color: #fff; font-size: .7rem; border-radius: 4px; padding: 0 5px; }
.mini-prop { position: absolute; left: 4px; bottom: 4px; background: rgba(0,0,0,.6); color: #fff; font-size: .65rem; border-radius: 4px; padding: 0 5px; }
.mini-fora { outline: 3px solid var(--vermelho); outline-offset: -3px; }
.mini-fora .mini-prop { background: var(--vermelho); }
.mini-alta { outline: 3px solid #E0A100; outline-offset: -3px; }
.mini-alta .mini-prop { background: #B07E00; }
.aviso-alerta { background: var(--amarelo-suave); color: var(--amarelo); border-color: #f0dca0; }
.pv-aviso { font-size: .8rem; padding: .5rem .7rem; margin-bottom: .6rem; }
.mini button { position: absolute; right: 3px; top: 3px; width: 22px; height: 22px; border-radius: 50%; border: 0; background: rgba(0,0,0,.6); color: #fff; cursor: pointer; line-height: 1; }

/* Horários */
.horario { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; border: 1px solid var(--linha); border-radius: 8px; padding: .5rem; margin-bottom: .5rem; background: var(--fundo); }
.h-canais { display: inline-flex; gap: 2px; min-width: 20px; }
.horario input { width: auto !important; flex: 1; min-width: 120px; }

/* Preview */
.ag-preview { position: sticky; top: 70px; background: #EFEBE7; border-radius: var(--raio); padding: 1rem; }
.ag-preview .troca-perfil { background: #fff; border: 1px solid var(--linha); border-radius: 8px; margin-bottom: .6rem; }
.abas-preview { border: 0; margin-bottom: .5rem; }
.pv-vazio { background: #fff; border-radius: 10px; padding: 2rem 1rem; text-align: center; color: var(--apagado); }
.pv-ig, .pv-fb { background: #fff; border-radius: 10px; overflow: hidden; border: 1px solid var(--linha); font-size: .85rem; }
.pv-topo { display: flex; align-items: center; gap: .5rem; padding: .6rem .7rem; }
.pv-topo span { display: flex; flex-direction: column; line-height: 1.2; }
.pv-topo small { color: var(--apagado); font-size: .72rem; }
.pv-midia { position: relative; aspect-ratio: 1; background: var(--fundo); overflow: hidden; }
.pv-midia img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv-semimg { height: 100%; display: flex; align-items: center; justify-content: center; color: var(--apagado); }
.pv-seta { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 30px; height: 30px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: #222; font-size: 1.25rem; line-height: 1; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.3); display: flex; align-items: center; justify-content: center; padding: 0 0 2px; }
.pv-seta:hover { background: #fff; }
.pv-seta.esq { left: 8px; }
.pv-seta.dir { right: 8px; }
.pv-barras i.on { background: #fff; }
.pv-cont { position: absolute; top: 8px; right: 8px; background: rgba(0,0,0,.65); color: #fff; font-size: .7rem; padding: 1px 7px; border-radius: 10px; }
.pv-pontos { display: flex; justify-content: center; gap: 3px; padding-top: 6px; }
.pv-pontos i { width: 6px; height: 6px; border-radius: 50%; background: #c8c8c8; }
.pv-pontos i.on { background: #3897F0; }
.pv-acoes { padding: .55rem .7rem .35rem; display: flex; align-items: center; gap: .9rem; color: #262626; }
.pv-acoes span { margin-left: auto; display: flex; }
.pv-legenda, .pv-fb-texto { padding: 0 .7rem .8rem; white-space: normal; word-wrap: break-word; }
.pv-fb-texto { padding-top: 0; }
.pv-tag { color: #00376B; }
.pv-story { position: relative; aspect-ratio: 9 / 16; background: #222; border-radius: 12px; overflow: hidden; }
.pv-story > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv-story-topo .av { width: 26px; height: 26px; border: 1.5px solid #fff; }
.pv-story .pv-semimg { color: #aaa; }
.pv-story-topo { position: absolute; top: 0; left: 0; right: 0; padding: .6rem; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; color: #fff; font-size: .8rem; background: linear-gradient(rgba(0,0,0,.45), transparent); }
.pv-story-topo span { opacity: .8; }
.pv-barras { display: flex; gap: 3px; width: 100%; }
.pv-barras i { flex: 1; height: 2px; background: rgba(255,255,255,.5); border-radius: 2px; }
.pv-fb-grade { display: grid; gap: 2px; }
.pv-fb-grade.n2, .pv-fb-grade.n4 { grid-template-columns: 1fr 1fr; }
.pv-fb-grade.n3 { grid-template-columns: 1fr 1fr; }
.pv-fb-grade.n3 .pv-fb-img:first-child { grid-column: span 2; }
.pv-fb-img { position: relative; aspect-ratio: 1; }
.pv-fb-grade.n1 .pv-fb-img { aspect-ratio: auto; }
.pv-fb-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv-fb-img span { position: absolute; inset: 0; background: rgba(0,0,0,.5); color: #fff; font-size: 1.6rem; display: flex; align-items: center; justify-content: center; }
.pv-fb-acoes { display: flex; justify-content: space-around; border-top: 1px solid var(--linha); padding: .5rem .3rem; color: #65676B; font-size: .82rem; font-weight: 600; }
.pv-fb-acoes span { display: inline-flex; align-items: center; gap: .35rem; }

/* Barra inferior fixa */
.barra-acoes { position: fixed; left: 0; right: 0; bottom: 0; z-index: 15; display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: #fff; padding: .7rem 1.5rem; box-shadow: 0 -4px 16px rgba(0,0,0,.06); }
.barra-acoes::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--degrade); }
.ba-botoes { display: flex; gap: .6rem; }
.barra-acoes .botao { padding: .7rem 1.4rem; }
.barra-acoes .botao:disabled { opacity: .5; cursor: wait; }
.folhas { display: flex; align-items: center; gap: .3rem; white-space: nowrap; }
.folhas .ag-ico { font-size: 1.3rem; line-height: 1; }
.folhas .ag-ico:disabled { opacity: .3; cursor: default; background: none; }
.folhas b { min-width: 3.2rem; text-align: center; }
.folhas .link-botao { text-decoration: none; margin-left: .6rem; }
#resumo { flex: 1; text-align: right; }
.botao-duplo { position: relative; display: inline-flex; }
.botao-duplo #agendar-btn:not(:only-child) { border-radius: 8px 0 0 8px; }
#agendar-menu-btn { border-radius: 0 8px 8px 0; padding-left: .7rem; padding-right: .7rem; border-left: 1px solid rgba(255,255,255,.35); }
.menu-agendar { position: absolute; right: 0; bottom: calc(100% + 6px); background: #fff; border: 1px solid var(--linha); border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.14); padding: .3rem; min-width: 210px; }
.menu-agendar button { width: 100%; text-align: left; border: 0; background: none; padding: .55rem .7rem; border-radius: 6px; cursor: pointer; font: inherit; font-weight: 600; }
.menu-agendar button:hover { background: var(--laranja-suave); color: var(--laranja-escuro); }
.combo.travado .combo-caixa { background: var(--fundo); cursor: not-allowed; }
.trava { font-size: .78rem; color: var(--apagado); margin-left: auto; }
.ag-erro a { color: inherit; font-weight: 700; }
.ag-erro { position: fixed; bottom: 76px; right: 1.5rem; z-index: 30; max-width: 520px; box-shadow: var(--sombra); }
.ag-erro button { border: 0; background: none; cursor: pointer; font-size: 1.1rem; color: inherit; margin-left: .5rem; }

/* ================= Calendário ================= */
.tela-calendario .conteudo { max-width: 1480px; }
.cal-topo { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.cal-espaco { flex: 1; }
.cal-perfil { position: relative; }
.cal-perfil-botao { display: flex; align-items: center; gap: .5rem; min-width: 260px; height: 44px; padding: 0 .8rem; border: 1px solid var(--linha); border-radius: 8px; background: #fff; cursor: pointer; font: inherit; text-align: left; }
.cal-perfil-botao span:not(.seta) { flex: 1; }
.cal-perfil-botao .seta { color: var(--apagado); }
.cal-perfil-lista { position: absolute; z-index: 25; top: calc(100% + 4px); left: 0; width: 320px; background: #fff; border: 1px solid var(--linha); border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.14); padding: .4rem; }
.cal-perfil-lista input { width: 100%; padding: .5rem .6rem; border: 1px solid var(--linha); border-radius: 6px; font: inherit; margin-bottom: .3rem; }
.cpl-itens { max-height: 340px; overflow-y: auto; }
.cpl-itens a { color: var(--tinta); text-decoration: none; }
.cpl-itens a[hidden] { display: none; }

.cal { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra); overflow: visible; }
.cal-cabeca { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: .7rem 1rem; border-bottom: 1px solid var(--linha); background: var(--fundo); border-radius: var(--raio) var(--raio) 0 0; }
.cal-mes { display: flex; align-items: center; gap: 1rem; font-size: 1.1rem; }
.cal-mes a { color: var(--apagado); text-decoration: none; font-size: 1.5rem; line-height: 1; padding: 0 .4rem; }
.cal-mes a:hover { color: var(--laranja); }
.cal-mes .cal-hoje { font-size: .8rem; border: 1px solid var(--linha); border-radius: 6px; padding: .15rem .5rem; background: #fff; }
.cal-vistas { justify-self: end; display: flex; gap: .3rem; }
.cal-vistas a { text-decoration: none; padding: .35rem .6rem; border-radius: 6px; color: var(--apagado); border-bottom: 2px solid transparent; }
.cal-vistas a.ativa { color: var(--laranja); border-bottom-color: var(--laranja); }
.cal-filtros { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; padding: .7rem 1rem; border-bottom: 1px solid var(--linha); }
.filtro { position: relative; }
.filtro summary { list-style: none; cursor: pointer; border: 1px solid #CFC8C2; color: var(--tinta); background: #fff; border-radius: 99px; padding: .3rem .9rem; font-weight: 600; font-size: .9rem; user-select: none; }
.filtro summary:hover { border-color: var(--marca-laranja); }
.filtro summary::-webkit-details-marker { display: none; }
.filtro.ligado summary { background: var(--laranja-suave); border-color: var(--marca-laranja); color: var(--laranja-escuro); }
.filtro-painel { position: absolute; z-index: 25; top: calc(100% + 6px); left: 0; background: #fff; border: 1px solid var(--linha); border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.14); padding: .4rem; min-width: 230px; }
.filtro-painel label { display: flex; align-items: center; gap: .5rem; margin: 0; padding: .45rem .5rem; border-radius: 6px; font-weight: 500; cursor: pointer; }
.filtro-painel label:hover { background: var(--fundo); }
.filtro-painel input { accent-color: var(--laranja); width: 16px; height: 16px; }
.filtro-limpar { font-size: .85rem; color: var(--apagado); }

.cal-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cal-sem { text-align: center; font-weight: 700; padding: .5rem; background: var(--fundo); border-bottom: 1px solid var(--linha); border-right: 1px solid var(--linha); font-size: .9rem; }
.cal-sem:nth-child(7) { border-right: 0; }
.cal-dia { position: relative; min-height: 150px; border-right: 1px solid var(--linha); border-bottom: 1px solid var(--linha); padding: .3rem .35rem 1.6rem; background: #fff; }
.cal-dia:nth-child(7n) { border-right: 0; }
.cal-dia.fora { background: #F3F0ED; }
.cal-dia.fora .cal-num { color: #B8AFA8; }
.cal-num { text-align: right; font-size: .85rem; color: var(--apagado); padding: 0 .2rem .2rem; }
.cal-num-sem { display: none; }
.cal-dia.hoje .cal-num { color: var(--laranja); font-weight: 800; }
.cal-dia.hoje { box-shadow: inset 0 0 0 2px var(--laranja); }
.cal-itens { display: flex; flex-direction: column; gap: 2px; }
.cal-item { display: flex; align-items: center; gap: .3rem; padding: 2px 3px; border-radius: 4px; color: var(--tinta); text-decoration: none; font-size: .74rem; line-height: 1.3; }
.cal-item:hover { background: var(--laranja-suave); }
.cal-item .ic-canal { flex: none; }
.ci-cli { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.ci-hora { font-weight: 700; font-variant-numeric: tabular-nums; }
.cal-dia:not(.aberto) .cal-item:nth-child(n+7) { display: none; }
.ic-st { flex: none; }
.st-ok, .st-txt-publicado { color: var(--verde); }
.st-ag, .st-txt-agendado { color: #E07B00; }
.st-er, .st-txt-erro { color: var(--vermelho); }
.st-pu, .st-txt-publicando { color: #C9A000; }
.cal-rodape { position: absolute; left: .4rem; right: .4rem; bottom: .25rem; display: flex; justify-content: space-between; font-size: .72rem; color: var(--apagado); }
.cal-mais { border: 0; background: none; color: var(--apagado); cursor: pointer; font: inherit; padding: 0; }
.cal-mais:hover { color: var(--laranja); text-decoration: underline; }
.cal-dia.aberto { z-index: 20; box-shadow: 0 12px 34px rgba(0,0,0,.22); border-radius: 8px; min-height: 150px; height: auto; margin: -4px; padding-bottom: 1.8rem; }
.cal-add { position: absolute; left: 50%; bottom: 1.7rem; transform: translateX(-50%); display: none; background: var(--laranja); color: #fff; text-decoration: none; font-size: .78rem; font-weight: 700; padding: .3rem .8rem; border-radius: 99px; white-space: nowrap; box-shadow: var(--sombra); }
.cal-dia.vazio .cal-add { bottom: 50%; transform: translate(-50%, 50%); }
.cal-dia:hover .cal-add { display: block; }
.cal-dia.aberto .cal-add { display: none; }
.cal-dia:hover:not(.passado) { background: #FFFBF8; }

@media (max-width: 760px) {
  .cal-cabeca { grid-template-columns: auto 1fr; }
  .cal-cabeca > span:first-child { display: none; }
  .cal-perfil-botao { min-width: 0; width: 100%; }
  .cal-perfil, .cal-topo .botao { flex: 1 1 100%; }
  .cal-perfil-lista { width: 100%; }
  .cal-grade { grid-template-columns: 1fr; }
  .cal-sem, .cal-dia.vazio:not(.hoje), .cal-dia.fora { display: none; }
  .cal-dia { min-height: 0; border-right: 0; padding-bottom: 1.8rem; }
  .cal-num { text-align: left; font-weight: 700; color: var(--tinta); }
  .cal-num-sem { display: inline; margin-right: .3rem; }
  .cal-item { font-size: .85rem; padding: 4px; }
  .cal-dia .cal-item:nth-child(n+7) { display: flex; }
  .cal-mais { display: none; }
  .cal-add, .cal-dia.vazio .cal-add { display: block; position: static; transform: none; width: max-content; margin: .4rem 0 0 auto; }
}

/* ================= Insights ================= */
.tela-insights .conteudo { max-width: 1320px; }
.ins-topo { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.ins-perfil { display: flex; align-items: center; gap: .3rem; }
.ins-perfil .cal-perfil-botao { min-width: 300px; height: 52px; }
.ins-seta { width: 36px; height: 52px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--linha); border-radius: 8px; background: #fff; color: var(--apagado); text-decoration: none; font-size: 1.4rem; }
.ins-seta:hover { color: var(--laranja); border-color: var(--laranja); }
.ins-perfil.unico .ins-seta, .ins-perfil.unico .seta { display: none; }
.ins-perfil.unico .cal-perfil-botao { pointer-events: none; }
.cal-perfil-botao:disabled { cursor: default; color: var(--tinta); opacity: 1; }
.form-alterar { border-top: 1px dashed var(--linha); margin-top: 1rem; padding-top: .5rem; }
.alt-canal { border: 1px solid var(--linha); border-radius: 8px; padding: .5rem .6rem; margin-bottom: .5rem; background: var(--fundo); }
.alt-canal textarea { margin-top: .4rem; }
.filtros-hist { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .5rem 1rem; }
.filtros-hist label { margin-top: 0; }
.hist-vazio { text-align: center; padding: 2rem 1rem; }
.hist-vazio b { font-size: 1.05rem; }
.hist-linha { padding: .45rem 0; border-bottom: 1px solid var(--linha); font-size: .9rem; }
.hist-linha:last-child { border-bottom: 0; }
.hist-criou, .hist-publicou_agora { background: var(--azul-suave); color: var(--azul); }
.hist-alterou, .hist-tentou_de_novo { background: var(--amarelo-suave); color: var(--amarelo); }
.hist-excluiu, .hist-erro { background: var(--vermelho-suave); color: var(--vermelho); }
.hist-publicado { background: var(--verde-suave); color: var(--verde); }
.hist-cliente, .hist-meta, .hist-usuario, .hist-assinatura { background: var(--fundo); color: var(--apagado); }
.hist-detalhes { margin-top: .4rem; }
.hist-detalhes summary { cursor: pointer; color: var(--apagado); font-size: .8rem; }
.hist-detalhes pre { white-space: pre-wrap; background: var(--fundo); padding: .6rem; border-radius: 6px; font-size: .78rem; max-height: 320px; overflow: auto; }
.ins-redes, .ins-periodo { display: flex; gap: .25rem; align-items: center; background: #fff; border: 1px solid var(--linha); border-radius: 8px; padding: .25rem; }
.ins-redes a, .ins-periodo a { padding: .35rem .8rem; border-radius: 6px; text-decoration: none; color: var(--apagado); font-weight: 600; font-size: .9rem; }
.ins-redes a.ativa, .ins-periodo a.ativa { background: var(--laranja-suave); color: var(--laranja-escuro); }
.ins-mes input { border: 0; font: inherit; color: var(--apagado); padding: .3rem .4rem; border-radius: 6px; background: transparent; }
.ins-mes input.ativa { background: var(--laranja-suave); color: var(--laranja-escuro); font-weight: 600; }
.ins-atualizar { font-size: 1.1rem !important; }
.ins-sub { margin: .6rem 0 1rem; }
.kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .75rem; margin-bottom: 1.25rem; }
.kpi { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); padding: .85rem 1rem; box-shadow: var(--sombra); display: flex; flex-direction: column; gap: .15rem; }
.kpi-rot { color: var(--apagado); font-size: .82rem; font-weight: 600; }
.kpi b { font-size: 1.6rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
.kpi-extra { font-size: .8rem; color: var(--apagado); }
.sobe { color: var(--verde); font-weight: 700; }
.desce { color: var(--vermelho); font-weight: 700; }
.grafico { width: 100%; height: 190px; display: block; }
.grafico text { font-size: 11px; fill: var(--apagado); }
.grafico rect:hover { opacity: .75; }
.grade-publico { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem 2rem; }
.grade-publico h3 { font-size: .9rem; margin: .5rem 0 .6rem; }
.barras-h { display: flex; flex-direction: column; gap: .4rem; }
.bh { display: grid; grid-template-columns: minmax(80px, 38%) 1fr 48px; align-items: center; gap: .5rem; font-size: .84rem; }
.bh-rot { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bh-barra { height: 10px; background: var(--fundo); border-radius: 99px; overflow: hidden; }
.bh-barra i { display: block; height: 100%; background: var(--laranja); border-radius: 99px; }
.bh-val { text-align: right; font-variant-numeric: tabular-nums; color: var(--apagado); }
.ins-thumb { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; display: block; }
.ins-thumb-story { width: 34px; height: 60px; }
.tabela-num td:nth-child(n+3), .tabela-num th:nth-child(n+3) { text-align: right; font-variant-numeric: tabular-nums; }

@media (max-width: 760px) {
  .ins-perfil { width: 100%; }
  .ins-perfil .cal-perfil { flex: 1; }
  .ins-perfil .cal-perfil-botao { min-width: 0; width: 100%; }
}

@media (max-width: 1150px) {
  .agendar { grid-template-columns: 1fr 1fr; }
  .ag-preview { grid-column: span 2; position: static; }
}

@media (max-width: 760px) {
  .agendar { grid-template-columns: 1fr; }
  .ag-preview { grid-column: auto; }
  .barra-acoes { padding: .6rem 1rem; flex-wrap: wrap; }
  .grade-2 { grid-template-columns: 1fr; }
  .barra { gap: .6rem; }
  .menu { order: 3; flex-basis: 100%; }
}
