:root {
  --azul-950: #07172d;
  --azul-800: #103d74;
  --azul-600: #1769c2;
  --vermelho: #d92545;
  --vermelho-escuro: #b91635;
  --dourado: #f6c94d;
  --fundo: #f3f6fb;
  --linha: #e2e9f2;
  --texto: #17233a;
  --suave: #68758a;
  --branco: #fff;
  --sombra: 0 14px 34px rgba(16, 50, 94, .09);
}

* { box-sizing: border-box; }
body {
  min-height: 100vh;
  margin: 0;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background: radial-gradient(circle at 10% 0%, #e1edff 0, transparent 28rem), var(--fundo);
  color: var(--texto);
  line-height: 1.45;
}

.topbar {
  position: relative;
  z-index: 2;
  color: var(--branco);
  background: linear-gradient(115deg, var(--azul-950), #0d2f5d 62%, #1259a7);
  box-shadow: 0 5px 18px rgba(2, 19, 43, .18);
}
.topbar-inner {
  max-width: 1440px;
  min-height: 84px;
  margin: 0 auto;
  padding: 12px 28px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.marca {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 182px;
  color: var(--branco);
  font-weight: 800;
  font-size: 1.06rem;
  line-height: 1.05;
  letter-spacing: -.02em;
  text-decoration: none;
}
.marca img {
  width: 48px;
  height: 48px;
  padding: 3px;
  object-fit: contain;
  background: #fff;
  border-radius: 13px;
  box-shadow: 0 5px 14px rgba(0, 0, 0, .18);
}
.topbar nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  align-content: center;
  gap: 3px;
  flex: 1;
  min-width: 0;
}
.topbar nav a {
  padding: 9px 10px;
  color: rgba(255,255,255,.83);
  border-radius: 9px;
  font-size: .94rem;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
  transition: background .18s ease, color .18s ease;
}
.topbar nav a:hover { color: #fff; background: rgba(255,255,255,.13); }
.logout-form { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.usuario-logado { color: rgba(255,255,255,.75); font-size: .92rem; font-weight: 650; }
.logout-form button {
  padding: 8px 14px;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 9px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.logout-form button:hover { background: rgba(255,255,255,.12); }

.conteudo { max-width: 1440px; margin: 0 auto; padding: 46px 28px 72px; }
.aviso-foto-pendente {
  max-width: 1440px;
  margin: 0 auto;
  padding: 11px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #173d2b;
  background: #dcf8e9;
  border-bottom: 1px solid #b9e9cc;
  font-size: .92rem;
}
.aviso-foto-pendente a { color: #12683b; font-weight: 800; text-decoration: underline; }
@media (max-width: 700px) {
  .aviso-foto-pendente { align-items: flex-start; flex-direction: column; padding: 12px 18px; }
}
.caixa-login {
  max-width: 390px;
  margin: 88px auto;
  padding: 36px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 22px;
  box-shadow: var(--sombra);
  text-align: center;
}
.caixa-login h1 { margin: 0 0 7px; font-size: 1.65rem; letter-spacing: -.04em; }
.subtitulo, .texto-suave, .lista-simples small, .perfil-capa p, .nota-importacao { color: var(--suave); }
.subtitulo { margin: 0 0 26px; }

.form { display: flex; flex-direction: column; gap: 17px; text-align: left; }
.form label, .filtro-mensalidades label { display: flex; flex-direction: column; gap: 7px; color: #33435d; font-size: .9rem; font-weight: 750; }
input, select, textarea {
  width: 100%;
  padding: 11px 13px;
  color: var(--texto);
  background: #fff;
  border: 1px solid #cbd6e5;
  border-radius: 10px;
  font: inherit;
  outline: none;
  transition: border .18s ease, box-shadow .18s ease;
}
input:focus, select:focus, textarea:focus { border-color: var(--azul-600); box-shadow: 0 0 0 3px rgba(23,105,194,.15); }
textarea { min-height: 100px; resize: vertical; }
.opcoes-situacao { margin: 0; padding: 14px 16px 12px; border: 1px solid #cbd6e5; border-radius: 12px; }
.opcoes-situacao legend { padding: 0 5px; color: #33435d; font-weight: 800; }
.opcoes-situacao label { display: flex; flex-direction: row; align-items: flex-start; gap: 11px; padding: 10px 3px; cursor: pointer; }
.opcoes-situacao input[type="radio"] { width: 18px; height: 18px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--vermelho); }
.opcoes-situacao span { display: flex; flex-direction: column; gap: 2px; }
.opcoes-situacao small { color: var(--suave); font-size: .84rem; font-weight: 600; }
.form button, .botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 11px 18px;
  color: #fff;
  background: linear-gradient(135deg, #e23553, var(--vermelho-escuro));
  border: 0;
  border-radius: 10px;
  box-shadow: 0 7px 15px rgba(195, 28, 60, .19);
  font: inherit;
  font-weight: 780;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}
.form button:hover, .botao:hover { transform: translateY(-1px); box-shadow: 0 10px 19px rgba(195, 28, 60, .28); }
.botao-secundario { color: #33435d; background: #e7ecf4; box-shadow: none; }
.botao-perigo { background: #a6172e !important; color: #fff !important; }
.botao-perigo:disabled { background: #9ca3af !important; cursor: not-allowed; }
.alerta-exclusao { max-width: 720px; }

.mensagem-erro, .mensagem-sucesso {
  margin-bottom: 20px;
  padding: 13px 15px;
  border-radius: 11px;
  font-weight: 650;
}
.mensagem-erro { color: #9e1730; background: #ffe7ec; border: 1px solid #ffd1da; }
.mensagem-sucesso { color: #12683b; background: #dcf8e9; border: 1px solid #c1efd8; }

.cabecalho-pagina { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.cabecalho-pagina h1 { margin: 0 0 5px; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.055em; line-height: 1; }
.cabecalho-pagina .texto-suave { margin: 0; }
.cabecalho-pagina .botao { min-height: 47px; white-space: nowrap; }

.poomsae-cabecalho { align-items: center; }
.selo-experimental { display: inline-flex; padding: 9px 12px; color: #704900; background: #fff3cb; border: 1px solid #f2d98e; border-radius: 999px; font-size: .82rem; font-weight: 800; }
.poomsae-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr); gap: 26px; margin-bottom: 26px; padding: clamp(25px, 5vw, 52px); color: #fff; background: linear-gradient(125deg, #071d3c, #123e77); border-radius: 22px; box-shadow: var(--sombra); }
.poomsae-hero h2 { max-width: 720px; margin: 6px 0 13px; font-size: clamp(2rem, 4vw, 3.7rem); line-height: .98; letter-spacing: -.06em; }
.poomsae-hero p { max-width: 730px; margin: 0; color: #d7e6fb; font-size: 1.02rem; line-height: 1.65; }
.rotulo-poomsae { color: #f4c94f !important; font-size: .78rem !important; font-weight: 850; letter-spacing: .12em; }
.poomsae-resumo { display: grid; align-content: center; gap: 6px; padding: 24px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.19); border-radius: 17px; }
.poomsae-resumo span { margin-top: 12px; color: #cbdcf5; font-size: .8rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.poomsae-resumo span:first-child { margin-top: 0; }
.poomsae-resumo strong { font-size: 2.15rem; line-height: 1; }
.poomsae-resumo small { color: #d7e6fb; line-height: 1.4; }
.poomsae-limites { margin-bottom: 31px; }
.poomsae-limites h2, .poomsae-feedback h2 { margin-top: 0; }
.poomsae-limites-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.poomsae-limites-grid p { margin: 0; color: var(--suave); line-height: 1.55; }
.poomsae-limites-grid strong { display: block; margin-bottom: 4px; color: var(--texto); }
.poomsae-etapas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 16px 0 30px; }
.poomsae-etapa { position: relative; min-height: 205px; padding-top: 52px; }
.numero-etapa { position: absolute; top: 19px; left: 20px; display: grid; width: 27px; height: 27px; place-items: center; color: #fff; background: var(--azul-600); border-radius: 50%; font-size: .85rem; font-weight: 850; }
.poomsae-etapa .status { position: absolute; top: 21px; right: 20px; }
.poomsae-etapa h3 { margin: 0 0 8px; font-size: 1.12rem; }
.poomsae-etapa p { margin: 0; color: var(--suave); line-height: 1.55; }
.poomsae-feedback { display: grid; grid-template-columns: 1fr minmax(280px, .65fr); gap: 28px; align-items: center; margin-bottom: 28px; }
.poomsae-feedback p { color: var(--suave); line-height: 1.6; }
.poomsae-mock-video { min-height: 230px; padding: 16px; color: #dceaff; background: linear-gradient(145deg, #0c1b31, #1d416d); border-radius: 15px; overflow: hidden; }
.poomsae-mock-video > span { color: #f7cb55; font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.poomsae-mock-video small { display: block; max-width: 230px; color: #b9cdea; line-height: 1.4; }
.corpo-esquematico { position: relative; width: 105px; height: 135px; margin: 14px auto 7px; }
.corpo-esquematico i, .corpo-esquematico b, .corpo-esquematico em { position: absolute; display: block; border: 3px solid #f7cb55; border-radius: 50%; }
.corpo-esquematico i { top: 0; left: 40px; width: 24px; height: 24px; }
.corpo-esquematico b { top: 32px; left: 23px; width: 58px; height: 74px; border-color: #68b8ff; border-radius: 45% 45% 15% 15%; }
.corpo-esquematico em { right: 3px; bottom: 4px; width: 31px; height: 20px; border-color: #f45475; }
@media (max-width: 900px) { .poomsae-hero, .poomsae-feedback { grid-template-columns: 1fr; } .poomsae-etapas { grid-template-columns: repeat(2, 1fr); } .poomsae-limites-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .poomsae-etapas { grid-template-columns: 1fr; } .selo-experimental { white-space: nowrap; } }

.poomsae-envio { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 28px; align-items: start; margin-bottom: 30px; }
.poomsae-envio h2, .poomsae-revisao-grid h2, .poomsae-observacoes-grid h2 { margin-top: 0; }
.poomsae-envio p, .poomsae-aviso { color: var(--suave); line-height: 1.55; }
.poomsae-formulario { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.poomsae-formulario > label:nth-child(4), .poomsae-consentimento, .poomsae-formulario .botao { grid-column: 1 / -1; }
.poomsae-consentimento { display: flex; align-items: flex-start; gap: 10px; padding: 12px; color: var(--suave); background: #f7fafc; border: 1px solid #dce6f2; border-radius: 10px; font-weight: 500; line-height: 1.45; }
.poomsae-consentimento input { width: auto; min-height: 18px; margin-top: 2px; }
.poomsae-lista { display: grid; gap: 13px; margin-bottom: 30px; }
.poomsae-item { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.poomsae-item h3 { margin: 8px 0 5px; }.poomsae-item p, .poomsae-item small { color: var(--suave); }.poomsae-item p { margin: 0 0 4px; }
.poomsae-revisao-grid, .poomsae-observacoes-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-bottom: 24px; }
.poomsae-video { width: 100%; max-height: min(68vh, 680px); background: #061326; border-radius: 12px; }
.poomsae-matriz { margin: 16px 0; padding: 14px; background: #f5f8fc; border: 1px solid #d5e1ef; border-radius: 12px; }
.poomsae-matriz summary { cursor: pointer; color: var(--azul-800); font-weight: 850; }.poomsae-matriz p { color: var(--suave); font-size: .88rem; line-height: 1.45; }.poomsae-matriz-campos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }.poomsae-matriz-campos label { font-size: .82rem; }.poomsae-checks { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }.poomsae-checks label { display: flex; align-items: center; gap: 7px; font-size: .88rem; }.poomsae-checks input { width: auto; min-height: 18px; }.poomsae-resultado { display: grid; gap: 5px; margin-top: 16px; padding: 13px; color: #17664e; background: #e5f7ef; border: 1px solid #bde3d3; border-radius: 11px; }.poomsae-resultado span { color: #3f6b5c; font-size: .88rem; }
.poomsae-observacoes { display: grid; gap: 12px; }.poomsae-observacoes article { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 14px; background: #f7fafc; border: 1px solid #dce6f2; border-radius: 11px; }.poomsae-observacoes strong { display: block; margin: 7px 0 3px; }.poomsae-observacoes p { margin: 0 0 5px; color: var(--suave); line-height: 1.45; }.poomsae-observacoes form { display: grid; gap: 7px; min-width: 126px; }.poomsae-observacoes select { min-height: 38px; }.poomsae-observacoes .link-acao { padding: 0; color: var(--azul-600); background: none; border: 0; font-weight: 800; cursor: pointer; }
.status-pronto_para_revisao, .status-em_revisao, .status-a_revisar { color: #765000; background: #fff3cc; }.status-revisado, .status-confirmada { color: #12683b; background: #dcf8e9; }.status-arquivado, .status-descartada { color: #59677a; background: #e9eef4; }
@media (max-width: 820px) { .poomsae-envio, .poomsae-revisao-grid, .poomsae-observacoes-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .poomsae-formulario { grid-template-columns: 1fr; }.poomsae-item { align-items: flex-start; flex-direction: column; }.poomsae-item .botao { width: 100%; text-align: center; }.poomsae-observacoes article { flex-direction: column; }.poomsae-observacoes form { width: 100%; }.poomsae-observacoes select { width: 100%; } }
@media (max-width: 560px) { .poomsae-matriz-campos { grid-template-columns: 1fr; } }

.form-busca {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(150px, .48fr)) auto;
  gap: 10px;
  margin-bottom: 22px;
  padding: 12px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(220,228,240,.85);
  border-radius: 15px;
  box-shadow: 0 8px 22px rgba(29, 53, 89, .05);
}
.form-busca button { padding: 0 19px; color: #24405f; background: #fff; border: 1px solid #cbd6e5; border-radius: 10px; font: inherit; font-weight: 750; cursor: pointer; }
.form-busca button:hover { background: #eef5ff; border-color: #93b8e6; }

.tabela {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--linha);
  border-radius: 17px;
  box-shadow: var(--sombra);
}
.tabela th, .tabela td { padding: 15px 15px; text-align: left; border-bottom: 1px solid #edf1f6; vertical-align: middle; font-size: .94rem; }
.tabela th { color: #66758b; background: #f8faff; font-size: .76rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.tabela tbody tr { transition: background .16s ease; }
.tabela tbody tr:hover { background: #f7faff; }
.tabela tbody tr:last-child td { border-bottom: 0; }
.tabela .vazio { padding: 42px; color: #8490a1; text-align: center; }
.notificacoes-abas { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 20px; }
.notificacoes-abas a { text-decoration:none; color:var(--texto); font-weight:800; padding:10px 15px; border-radius:10px; background:#e9eef7; }
.notificacoes-abas a.ativa { background:var(--azul); color:#fff; }
.notificacao-formulario,.notificacoes-tabela { margin-bottom:18px; }
.notificacao-formulario h2,.notificacoes-tabela h2 { margin-top:0; }
.notificacao-dias { border:1px solid var(--linha); border-radius:10px; display:flex; gap:9px; flex-wrap:wrap; padding:11px; }
.notificacao-dias legend { font-weight:800; padding:0 4px; }
.notificacao-dias label,.checkbox-linha { display:flex; align-items:center; gap:5px; font-weight:650; }
.notificacao-regras-lista { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.notificacao-regras-lista .card-perfil { margin:0; }
.notificacao-regra-cabecalho { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.notificacao-regra-cabecalho h2 { margin:0 0 4px; }
.notificacao-acoes { display:flex; gap:12px; align-items:flex-start; flex-wrap:wrap; margin-top:17px; }
.notificacao-acoes details { flex:1 1 230px; }
.notificacao-acoes summary { cursor:pointer; color:var(--vermelho); font-weight:800; margin:12px 0; }
.status-notificacao { display:inline-block; padding:5px 9px; border-radius:999px; font-size:.76rem; font-weight:850; text-transform:capitalize; white-space:nowrap; background:#edf1f6; color:#536176; }
.status-aceito_provedor,.status-recebido_dispositivo,.status-lido { background:#dff7e9; color:#16724a; }
.status-pendente_configuracao,.status-pendente_envio,.status-enviando { background:#fff2d8; color:#946000; }
.status-falhou { background:#ffe2e8; color:#ad2440; }
.notificacao-diagnostico { display:flex; gap:10px; flex-wrap:wrap; list-style:none; padding:0; }
.notificacao-diagnostico li { display:flex; gap:8px; align-items:center; }
.coluna-foto { width: 72px; }
.avatar-lista {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  object-fit: cover;
  color: #1d548f;
  background: linear-gradient(135deg, #dcecff, #f2f7ff);
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 3px 9px rgba(28, 72, 127, .15);
  font-weight: 850;
}
.status { display: inline-flex; padding: 4px 10px; border-radius: 999px; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.status-ativo, .status-paga { color: #0e6c3b; background: #d9f8e7; }
.status-inativo { color: #697587; background: #edf0f4; }
.status-em_revisao, .status-pendente { color: #935d04; background: #fff1c9; }
.status-atrasada { color: #a41e36; background: #ffe1e6; }
.status-rascunho { color: #4b5563; background: #e7ecf5; }
.status-agendado { color: #7c5e05; background: #fff3bf; }
.status-publicado { color: #0e6c3b; background: #d9f8e7; }
.status-arquivado { color: #5f6b7d; background: #ebeff5; }
.status-desativado { color: #667085; background: #f2f4f8; }
.status-fila { color: #0c4f6f; background: #e0f2fe; }
.status-erro { color: #9f1239; background: #ffe4e6; }
.lista-stories { display: grid; gap: 10px; padding: 0; list-style: none; }
.lista-stories article { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--linha); }
.lista-stories article:last-child { border-bottom: 0; }
.lista-stories small { display: block; margin-top: 3px; color: var(--suave); }
.lista-stories .mensagem-erro { margin: 0; font-size: .78rem; }
@media (max-width: 700px) { .lista-stories article { align-items: flex-start; flex-direction: column; } }
.link-nome { color: var(--texto); font-weight: 800; text-decoration: none; }
.link-nome:hover { color: var(--azul-600); }
.link-despesa { display:block; color:var(--texto); text-decoration:none; }
.link-despesa:hover strong,.link-despesa:focus strong { color:var(--azul-600); text-decoration:underline; }
.texto-menor { margin:-6px 0 14px; font-size:.87rem; }
.tabela small { color: var(--suave); }

.acoes { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; white-space: normal; }
.acoes a { color: #1769c2; font-weight: 700; text-decoration: none; }
.acoes a:hover { text-decoration: underline; }
.acoes a.botao { color: #fff; }
.acoes a.botao.botao-secundario { color: #33435d; }
.acoes a.botao:hover { text-decoration: none; }
.form-inline { display: inline; margin: 0; }
.link-botao { padding: 0; color: #aa1e32; background: none; border: 0; font: inherit; font-weight: 700; cursor: pointer; }
.acoes-form { display: flex; gap: 10px; margin-top: 8px; }
.acoes-mensalidade { min-width: 190px; }
.acoes-mensalidade .link-acao { margin-right: 12px; white-space: nowrap; }
.acoes-mensalidade .link-acao:last-child { margin-right: 0; }
.recibo-acoes { max-width: 840px; margin: 20px auto 40px; }

.recibo { max-width: 840px; padding: 42px; background: #fff; border: 1px solid var(--linha); border-radius: 18px; box-shadow: var(--sombra); }
.recibo-cabecalho { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding-bottom: 20px; border-bottom: 2px solid #dce7f4; }
.recibo-marca { display: flex; align-items: center; gap: 16px; min-width: 0; }
.recibo-logo { width: 84px; height: 84px; object-fit: contain; flex: 0 0 auto; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.recibo-cabecalho h1 { margin: 0; letter-spacing: -0.04em; }
.recibo-cabecalho strong { padding: 9px 12px; color: #0b4d8d; background: #e8f2ff; border-radius: 9px; white-space: nowrap; }
.recibo > p { font-size: 1.1rem; line-height: 1.75; }
.recibo-dados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 28px 0; }
.recibo-dados div { padding: 14px; background: #f7faff; border: 1px solid #e4edf8; border-radius: 11px; }
.recibo-dados dt { color: var(--suave); font-size: 0.82rem; font-weight: 700; }
.recibo-dados dd { margin: 4px 0 0; font-weight: 800; }
.recibo-assinatura { margin-top: 48px !important; color: #384b68; }
.recibo-assinatura span { color: var(--suave); font-size: 0.9rem; }

@media (max-width: 640px) {
  .recibo-cabecalho { flex-direction: column; }
  .recibo-logo { width: 68px; height: 68px; }
}

/* Agenda permanente de vídeos para TikTok e YouTube */
.distribuicao-resumo { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.distribuicao-resumo article { display:flex; min-height:104px; flex-direction:column; justify-content:center; padding:18px; background:#fff; border:1px solid var(--linha); border-radius:15px; box-shadow:var(--sombra); }
.distribuicao-resumo span { color:var(--suave); font-size:.82rem; }
.distribuicao-resumo strong { margin-top:5px; font-size:1.75rem; }
.distribuicao-config { margin-bottom:20px; }
.distribuicao-preparar-acoes { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.distribuicao-preparar-acoes form { margin:0; }
.distribuicao-config-grade { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) 160px auto; gap:14px; align-items:end; margin-top:18px; }
.distribuicao-config-grade fieldset { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; min-width:0; margin:0; padding:12px; border:1px solid var(--linha); border-radius:12px; }
.distribuicao-config-grade legend,.distribuicao-config-grade label { color:var(--texto); font-weight:750; }
.distribuicao-config-grade label { display:grid; gap:6px; font-size:.78rem; }
.distribuicao-config-grade input,.distribuicao-config-grade select { width:100%; }
.distribuicao-nota { margin:15px 0 0; }
.distribuicao-agenda { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.distribuicao-item { display:grid; grid-template-columns:170px minmax(0,1fr); gap:0; padding:0; overflow:hidden; }
.distribuicao-capa { min-height:280px; background:linear-gradient(145deg,#071a31,#174b78); }
.distribuicao-capa a { position:relative; display:block; height:100%; min-height:280px; color:#fff; text-decoration:none; }
.distribuicao-capa img { width:100%; height:100%; object-fit:cover; display:block; }
.distribuicao-capa a img { min-height:280px; }
.distribuicao-abrir-instagram { position:absolute; right:10px; bottom:10px; left:10px; padding:7px 8px; border-radius:8px; background:rgba(4,16,34,.78); color:#fff; font-size:.72rem; font-weight:800; text-align:center; }
.distribuicao-capa > span { display:grid; height:100%; place-content:center; gap:8px; color:#fff; text-align:center; font-size:2.2rem; }
.distribuicao-capa small { font-size:.75rem; }
.distribuicao-conteudo { min-width:0; padding:18px; }
.distribuicao-conteudo h2 { margin:5px 0 8px; font-size:1.05rem; }
.distribuicao-conteudo > p { margin:0 0 9px; font-size:.83rem; line-height:1.45; }
.distribuicao-data { color:var(--azul-800); }
.distribuicao-canais { display:grid; gap:9px; margin-top:14px; }
.distribuicao-canais > div { display:grid; grid-template-columns:84px 48px minmax(95px,1fr); align-items:center; gap:8px; padding:9px; background:#f3f6fa; border-radius:10px; }
.distribuicao-canais .botao,.distribuicao-canais form { grid-column:1/-1; width:100%; margin:0; }
.distribuicao-canais .botao { text-align:center; }
.distribuicao-rede { font-weight:850; }
.distribuicao-rede-tiktok { color:#111; }.distribuicao-rede-youtube { color:#c5152c; }
.distribuicao-horarios-item { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) auto; gap:8px; align-items:end; margin-top:13px; padding:11px; background:#f8fafc; border:1px solid var(--linha); border-radius:10px; }
.distribuicao-horarios-item label { display:grid; gap:5px; color:var(--suave); font-size:.72rem; font-weight:800; }
.distribuicao-horarios-item input { width:100%; min-width:0; }
.distribuicao-horarios-item .botao { white-space:nowrap; }
.distribuicao-acoes { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin-top:14px; }
.distribuicao-acoes form { margin:0; }
.distribuicao-bloquear { color:#a51d38; }
@media (max-width:1000px) {
  .distribuicao-resumo { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .distribuicao-config-grade { grid-template-columns:1fr 1fr; }
  .distribuicao-agenda { grid-template-columns:1fr; }
  .distribuicao-horarios-item { grid-template-columns:1fr 1fr; }
  .distribuicao-horarios-item .botao { grid-column:1/-1; }
}
@media (max-width:640px) {
  .distribuicao-config-grade,.distribuicao-resumo { grid-template-columns:1fr 1fr; }
  .distribuicao-config-grade fieldset { grid-column:1/-1; }
  .distribuicao-config-grade button { grid-column:1/-1; }
  .distribuicao-item { grid-template-columns:112px minmax(0,1fr); }
  .distribuicao-capa { min-height:260px; }
  .distribuicao-capa a,.distribuicao-capa a img { min-height:260px; }
  .distribuicao-conteudo { padding:14px; }
  .distribuicao-canais > div { grid-template-columns:76px 42px minmax(80px,1fr); }
}

@media print {
  .topbar, .recibo-acoes { display: none !important; }
  body { background: #fff; }
  .conteudo { padding: 0; }
  .recibo { max-width: none; border: 0; box-shadow: none; }
}

.caminho { margin: 0 0 5px; color: var(--suave); font-size: .9rem; }
.secao-form { margin-top: 8px; padding-top: 17px; border-top: 1px solid var(--linha); }
.secao-form h2 { margin: 0; font-size: 1.08rem; }
.perfil-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.perfil-capa, .card-perfil, .vazio-card {
  background: rgba(255,255,255,.96);
  border: 1px solid var(--linha);
  border-radius: 17px;
  box-shadow: var(--sombra);
}
.perfil-capa { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; padding: 20px; }
.perfil-capa h1 { margin: 0; letter-spacing: -.035em; }
.perfil-capa p { margin: 5px 0 0; }
.foto-perfil { width: 96px; height: 96px; object-fit: cover; background: #eff5fc; border: 3px solid #fff; border-radius: 18px; box-shadow: 0 6px 16px rgba(27, 59, 98, .13); }
.sem-foto-grande { display: grid; place-items: center; color: #376da8; font-size: 2rem; font-weight: 850; }
.formulario-largo { max-width: 760px; }
.form-linha { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.campo-check { flex-direction: row !important; align-items: flex-start; font-weight: 500 !important; line-height: 1.4; }
.campo-check input { width: auto; margin-top: 3px; }

.cards-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.card-link { color: inherit; text-decoration: none; }
.card-link:hover .card-perfil { border-color: #b6cdeb; box-shadow: 0 14px 30px rgba(18, 57, 103, .13); transform: translateY(-2px); }
.linha-titulo { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.numero-destaque { margin: 0 0 10px; font-size: 2.4rem; font-weight: 850; letter-spacing: -.055em; }
.lista-simples { padding: 0; margin: 0; list-style: none; }
.lista-simples li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #edf1f6; }
.lista-simples a { color: var(--texto); font-weight: 700; text-decoration: none; }
.secao-lista { margin-top: 27px; }
.secao-lista h2 { font-size: 1.15rem; }
.lista-check { overflow: hidden; background: #fff; border: 1px solid var(--linha); border-radius: 14px; box-shadow: var(--sombra); }
.linha-check { display: flex !important; flex-direction: row !important; align-items: center; gap: 12px; padding: 13px 15px; border-bottom: 1px solid #edf1f6; font-weight: 500 !important; cursor: pointer; }
.linha-check:last-child { border-bottom: 0; }
.linha-check input { width: 18px; height: 18px; flex: 0 0 auto; }
.linha-check span:not(.avatar-pequeno) { display: flex; flex-direction: column; gap: 2px; }
.linha-check small { color: var(--suave); }
.avatar-pequeno { width: 40px; height: 40px; object-fit: cover; background: #e8eef7; border-radius: 50%; flex: 0 0 auto; }
.sem-foto { display: grid; place-items: center; color: #376da8; font-weight: 850; }
.vazio-card { padding: 28px; color: var(--suave); }

.foto-aula { margin-bottom: 20px; }
.foto-turma { width: 100%; max-height: 480px; object-fit: contain; background: #eaf0f7; border-radius: 14px; }
.fotos-recebidas .foto-turma { max-height: 280px; }
.acoes-cabecalho-fotos { display: flex; align-items: flex-end; gap: 10px; }
.form-upload-manual { display: flex; width: min(100%, 520px); flex-direction: column; align-items: stretch; gap: 7px; }
.form-upload-manual small { color: var(--suave); font-size: .78rem; font-weight: 650; }
.botoes-upload-foto { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.botao-upload-manual { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; }
.botao-upload-manual span { font-size: 1.25rem; font-weight: 850; line-height: 1; }
.botao-upload-manual input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; clip-path: inset(50%); }
.botao-colar-foto { min-height: 46px; cursor: pointer; }
.botao-colar-foto:disabled { cursor: wait; opacity: .65; }
.area-colar-foto { min-height: 62px; padding: 17px; color: var(--suave); background: #f7fbff; border: 2px dashed #b8c9dc; border-radius: 12px; outline: none; text-align: center; cursor: text; }
.area-colar-foto:empty::before { content: attr(data-placeholder); }
.area-colar-foto:focus { border-color: var(--azul-600); box-shadow: 0 0 0 3px rgba(31, 98, 168, .14); }
.status-colar-foto { margin: 0; color: #17664e; font-size: .82rem; font-weight: 800; }
.status-colar-foto-erro { color: #a81736; }
@media (max-width: 640px) {
  .cabecalho-fotos, .acoes-cabecalho-fotos { align-items: stretch; }
  .acoes-cabecalho-fotos { flex-direction: column; gap: 12px; width: 100%; }
  .form-upload-manual { width: 100%; }
  .botoes-upload-foto { grid-template-columns: 1fr; }
  .botao-upload-manual, .botao-colar-foto, .acoes-cabecalho-fotos > .botao { width: 100%; min-height: 52px; font-size: 1rem; }
  .area-colar-foto { min-height: 76px; display: grid; place-items: center; }
}
.grid-rostos { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 17px; }
.rosto-card { display: flex; flex-direction: column; gap: 10px; padding: 13px; background: #fff; border: 1px solid var(--linha); border-radius: 14px; box-shadow: 0 7px 18px rgba(21, 58, 101, .06); }
.abrir-rosto { display: block; width: 100%; padding: 0; overflow: hidden; cursor: zoom-in; background: #f0f4fa; border: 0; border-radius: 10px; }
.abrir-rosto img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; background: #f0f4fa; border-radius: 10px; }
.modal-rosto { width: min(92vw, 560px); max-width: none; margin: auto; padding: 12px; overflow: visible; background: #111b2a; border: 0; border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,.45); }
.modal-rosto::backdrop { background: rgba(5, 12, 25, .78); }
.imagem-modal-rosto { display: block; width: 100%; max-height: 78vh; object-fit: contain; border-radius: 10px; }
.fechar-modal-rosto { position: absolute; top: -13px; right: -13px; display: grid; width: 38px; height: 38px; place-items: center; padding: 0; color: #132642; font-size: 28px; line-height: 1; cursor: pointer; background: #fff; border: 0; border-radius: 50%; box-shadow: 0 3px 13px rgba(0,0,0,.28); }
.rosto-card p { width: fit-content; margin: 0; }
.form-rosto { gap: 8px; }
.campo-busca-aluno { position: relative; }
.campo-busca-aluno > small { display: block; margin-top: 5px; color: var(--suave); font-size: .78rem; font-weight: 500; }
.sugestoes-aluno { position: absolute; z-index: 8; top: 100%; right: 0; left: 0; max-height: 232px; margin-top: 5px; overflow-y: auto; background: #fff; border: 1px solid var(--linha); border-radius: 10px; box-shadow: 0 12px 25px rgba(21, 58, 101, .18); }
.sugestao-aluno { display: block; width: 100%; padding: 10px 12px; color: var(--texto); background: #fff; border: 0; border-bottom: 1px solid var(--linha); border-radius: 0; text-align: left; font: inherit; font-size: .86rem; font-weight: 700; box-shadow: none; }
.sugestao-aluno:hover, .sugestao-aluno:focus { color: #0d4f88; background: #edf6ff; transform: none; box-shadow: none; }
.sugestao-aluno:last-child { border-bottom: 0; }
.sugestao-vazia { margin: 0; padding: 10px 12px; font-size: .84rem; }
.form-foto { margin-top: 12px; }
.horarios-sugeridos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -2px 0 14px; }
.horarios-sugeridos strong { width: 100%; color: var(--azul-escuro); }
.tabela-interna { box-shadow: none; }
.card-perfil { padding: 21px; transition: transform .18s ease, box-shadow .18s ease; }
.card-perfil h2 { margin: 0 0 16px; font-size: 1.1rem; }
.card-perfil dl { display: grid; grid-template-columns: 145px 1fr; gap: 10px 14px; margin: 0; }
.card-perfil dt { color: var(--suave); }
.card-perfil dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.card-historico-mensalidades { margin-top: 18px; }
.card-historico-mensalidades > h2 { margin-bottom: 7px; }
.card-historico-mensalidades .texto-suave { margin-top: 0; }
.tabela-scroll { overflow-x: auto; }
.acoes-tabela { white-space: nowrap; font-weight: 750; }
.unidade-card { min-height: 220px; }
.unidade-numeros { display: flex; gap: 32px; margin: 25px 0 13px; }
.unidade-numeros div { display: flex; flex-direction: column; }
.unidade-numeros strong { color: var(--azul-800); font-size: 1.75rem; letter-spacing: -.04em; }
.unidade-numeros small { color: var(--suave); font-weight: 650; }
.form-plano { max-width: 720px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--linha); }
.form-plano h3 { margin: 0; font-size: 1.03rem; }
.lista-alunos-unidade li { align-items: center; }
.aluno-resumo { display: flex; align-items: center; gap: 11px; }
.aluno-resumo span { display: flex; flex-direction: column; }

.filtro-mensalidades { display: flex; align-items: end; gap: 10px; margin-bottom: 18px; }
.cards-resumo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 19px 0; }
.cards-quatro { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card-resumo { padding: 19px; background: #fff; border: 1px solid var(--linha); border-radius: 15px; box-shadow: var(--sombra); }
.card-resumo span, .card-resumo small { display: block; color: var(--suave); }
.card-resumo strong { display: block; margin-top: 5px; font-size: 1.48rem; letter-spacing: -.035em; }
.card-recebido { border-left: 5px solid #16a566; }
.card-atrasado { border-left: 5px solid var(--vermelho); }
.barra-acoes { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 23px 0 15px; }
.barra-acoes p { margin: 0; color: var(--suave); }
.botao-pequeno { padding: 8px 10px; font-size: .85rem; white-space: nowrap; }
.publicacao-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.mencoes-story { display: none; }
.story-preview { position: relative; width: min(100%, 360px); margin: 0 auto; overflow: hidden; border-radius: 16px; background: #111; }
.story-preview img { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: cover; }
.story-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-start; gap: 6px; padding: 18px; color: #fff; background: linear-gradient(180deg, rgba(4,20,40,.78), transparent 34%); text-shadow: 0 1px 3px #000; }
.story-overlay strong { font-size: 1rem; }
.story-overlay span { font-size: .8rem; }

.previsao-marca { margin: 14px 0; border: 1px solid #dbe3ef; border-radius: 12px; padding: 10px; background: #f8fbff; }
.previsao-marca summary { cursor: pointer; font-weight: 700; color: #1e3f6d; }
.previsao-video-marca { position: relative; width: min(100%, 340px); margin-top: 10px; overflow: hidden; border-radius: 10px; background: #07182d; aspect-ratio: 9 / 16; }
.previsao-video-marca > video:first-child { display: block; width: 100%; height: 100%; object-fit: contain; }
.marca-animada-sobreposta { position: absolute; right: 4.5%; bottom: 4.5%; width: 16%; height: auto; pointer-events: none; }
.story-video-animado video { display: block; width: min(100%, 330px); margin-top: 10px; border-radius: 12px; background: #07182d; }
.distribuicao-marca-config { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 14px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed #d8e1ee; font-size: .88rem; }
.distribuicao-marca-config label { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.distribuicao-marca-config input[type='range'] { width: 92px; }
.distribuicao-marca-config input[type='number'] { width: 62px; padding: 6px; }
.story-tiktok-manual { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--linha); }
.story-tiktok-manual h3 { margin: 0 0 8px; }
.story-tiktok-manual .botao { margin-top: 4px; }
.story-tiktok-manual small { display: block; margin-top: 10px; }

/* A arte vertical e suas ações formam uma sequência única. Manter esse
   cartão em uma coluna evita que a prévia faça a página transbordar em telas
   estreitas, inclusive depois que o Story já foi publicado. */
.story-publicacao-direta { grid-template-columns: minmax(0, 1fr); }
.story-publicacao-direta > div { min-width: 0; }
.story-publicacao-direta .story-preview { width: 100%; max-width: 360px; }

@media (max-width: 1180px) {
  .topbar-inner { gap: 15px; padding-inline: 20px; }
  /* Todas as seções precisam permanecer visíveis: em vez de cortar ou
     exigir rolagem horizontal, a navegação passa para a linha seguinte. */
  .topbar nav { overflow: visible; padding-bottom: 0; }
  .form-busca { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-busca button { min-height: 44px; }
}
@media (max-width: 720px) {
  .topbar-inner, .barra-acoes { align-items: flex-start; flex-direction: column; }
  .topbar-inner { padding: 14px 18px; }
  .topbar nav { width: 100%; flex: none; }
  .logout-form { margin-left: 0; }
  .conteudo { padding: 31px 16px 52px; }
  .cabecalho-pagina { align-items: flex-start; flex-direction: column; }
  .form-busca, .cards-resumo, .cards-quatro, .perfil-grid, .cards-lista, .form-linha, .publicacao-grid { grid-template-columns: 1fr; }
  .filtro-mensalidades { align-items: stretch; flex-direction: column; }
  .perfil-capa { align-items: flex-start; flex-direction: column; }
  .tabela { display: block; overflow-x: auto; }
  .tabela th, .tabela td { min-width: 115px; }
  .coluna-foto { min-width: 70px !important; }
  .acoes { min-width: 220px; }
  .card-perfil dl { grid-template-columns: 1fr; gap: 2px; }
  .card-perfil dd { margin-bottom: 9px; }
}

/* Biblioteca interna de manuais e procedimentos */
.nav-manual { display:inline-flex; align-items:center; gap:5px; }
.nav-manual span { display:inline-grid; min-width:18px; height:18px; padding:0 5px; place-items:center; color:#7b2b00; background:#ffd66b; border-radius:999px; font-size:.68rem; font-weight:900; }
.manual-aviso-interno { display:flex; gap:10px; margin:0 0 18px; padding:13px 15px; color:#254f45; background:#e8f7f1; border:1px solid #bfe5d7; border-radius:12px; }
.manual-aviso-interno span { color:#4b6962; }
.manuais-grade { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.manual-card { padding:20px; background:#fff; border:1px solid var(--linha); border-radius:16px; box-shadow:var(--sombra); }
.manual-card.manual-pendente { border-color:#eab85a; box-shadow:0 7px 22px rgba(163,103,0,.12); }
.manual-card-topo { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.manual-card h2 { margin:14px 0 6px; font-size:1.18rem; }
.manual-card > p { min-height:2.8em; margin:0 0 14px; color:var(--suave); line-height:1.4; }
.selo-vigente,.selo-ciencia-pendente { display:inline-block; padding:5px 8px; border-radius:999px; font-size:.7rem; font-weight:850; white-space:nowrap; }
.selo-vigente { color:#17664e; background:#e5f7ef; }
.selo-ciencia-pendente { color:#8c4d00; background:#fff0cc; }
.manual-metadados { display:flex; gap:25px; margin:0 0 16px; }
.manual-metadados div { display:grid; gap:2px; }
.manual-metadados dt { color:var(--suave); font-size:.72rem; }
.manual-metadados dd { margin:0; font-size:.84rem; font-weight:800; }
.manual-faixa-vigente { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; margin-bottom:18px; background:var(--linha); border:1px solid var(--linha); border-radius:14px; }
.manual-faixa-vigente > div { padding:14px 16px; background:#fff; }
.manual-faixa-vigente span,.manual-faixa-vigente strong { display:block; }
.manual-faixa-vigente span { color:var(--suave); font-size:.72rem; }
.manual-faixa-vigente strong { margin-top:3px; font-size:.88rem; }
.manual-arquivo { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:18px; padding:15px 17px; background:#edf4fb; border-radius:13px; }
.manual-arquivo strong,.manual-arquivo span { display:block; }
.manual-arquivo span { margin-top:3px; color:var(--suave); font-size:.76rem; }
.manual-conteudo { padding:clamp(18px,4vw,42px); color:#1d2a40; background:#fff; border:1px solid var(--linha); border-radius:16px; box-shadow:var(--sombra); font-family:Georgia,'Times New Roman',serif; font-size:1rem; line-height:1.72; white-space:pre-wrap; overflow-wrap:anywhere; }
.manual-resumo-versao { margin:18px 0; padding:15px 17px; color:#43516a; background:#f2f5f9; border-radius:12px; }
.manual-resumo-versao p { margin:5px 0 0; line-height:1.45; }
.ciencia-form,.ciencia-confirmada,.manual-sem-ciencia { margin-top:18px; padding:18px; border-radius:14px; }
.ciencia-form { background:#fff6df; border:1px solid #edd18f; }
.ciencia-form p { margin-top:0; font-weight:800; }
.ciencia-confirmada { display:flex; flex-direction:column; gap:4px; color:#17664e; background:#e5f7ef; border:1px solid #bde3d3; }
.manual-sem-ciencia { color:var(--suave); background:#f2f5f9; }
.manual-admin-form { gap:16px; }
.manual-admin-form > .card-perfil { margin:0; }
.manual-editor { min-height:280px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; line-height:1.5; }
.manual-permissoes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin:12px 0; }
.manual-permissoes fieldset { min-width:0; margin:0; padding:13px 15px; border:1px solid var(--linha); border-radius:12px; }
.manual-permissoes legend { padding:0 5px; font-weight:850; }
.manual-permissoes .campo-check { margin:8px 0; }
.manual-admin-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:18px; margin-bottom:18px; }
.manual-admin-grid > .card-perfil { margin:0; }
.manual-historico { margin-top:18px; }
.usuarios-cargos { display:grid; gap:8px; }
.usuarios-cargos form { display:grid; grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 150px auto; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--linha); }
.usuarios-cargos small { color:var(--suave); overflow-wrap:anywhere; }
.restaurar-versao { margin-top:18px; }

@media (max-width:720px) {
  .manual-aviso-interno,.manual-arquivo { align-items:flex-start; flex-direction:column; }
  .manuais-grade,.manual-admin-grid,.manual-permissoes { grid-template-columns:1fr; }
  .manual-card { padding:16px; }
  .manual-card > p { min-height:0; }
  .manual-faixa-vigente { grid-template-columns:1fr; }
  .manual-metadados { flex-direction:column; gap:7px; }
  .manual-conteudo { padding:18px; font-size:.95rem; }
  .usuarios-cargos form { grid-template-columns:1fr auto; }
  .usuarios-cargos form small { grid-column:1/-1; grid-row:2; }
  .usuarios-cargos form select { grid-column:1; }
}
/* Agenda de reaproveitamento de Reels nos Stories */
.agenda-auto-resumo { margin-bottom: 20px; }
.agenda-auto-config { display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)) auto auto; gap: 14px; align-items: end; margin-top: 18px; }
.agenda-auto-config label { display: grid; gap: 7px; font-weight: 700; color: var(--texto); }
.agenda-auto-config input, .agenda-auto-config select { width: 100%; }
.agenda-auto-config .agenda-auto-chave { display: flex; align-items: center; gap: 9px; min-height: 48px; }
.agenda-auto-config .agenda-auto-chave input { width: 20px; height: 20px; }
.agenda-auto-aviso { margin: 16px 0 0; }
.agenda-auto-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.agenda-auto-item { padding: 0; overflow: hidden; }
.agenda-auto-capa { position: relative; display: block; aspect-ratio: 9 / 12; overflow: hidden; background: #0b1d35; color: white; }
.agenda-auto-capa img { width: 100%; height: 100%; object-fit: cover; display: block; }
.agenda-auto-capa > span:not(.agenda-auto-play) { display: grid; height: 100%; place-items: center; padding: 20px; text-align: center; }
.agenda-auto-play { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: rgba(3, 18, 40, .8); color: #fff; font-size: 1.35rem; padding-left: 4px; }
.agenda-auto-conteudo { padding: 18px; }
.agenda-auto-conteudo p { margin: 0 0 10px; }
.agenda-auto-data { color: var(--azul-escuro, #102744); font-size: 1.06rem; }
.agenda-auto-acoes { display: grid; gap: 9px; margin-top: 14px; }
.agenda-auto-acoes form { margin: 0; }
.agenda-auto-bloquear { color: #a51d38; }
@media (max-width: 1000px) {
  .agenda-auto-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agenda-auto-config { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
}

/* Dashboard de redes sociais */
.social-dashboard-controles { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:20px 0; }
.social-periodos { display:inline-flex; gap:4px; padding:5px; background:#e4eaf3; border-radius:12px; }
.social-periodos a { padding:9px 14px; color:var(--texto); border-radius:9px; text-decoration:none; font-weight:800; }
.social-periodos a.ativo { color:#fff; background:var(--azul-800); box-shadow:0 4px 10px rgba(14,49,93,.2); }
.social-resumo-conta { display:grid; grid-template-columns:1.35fr repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.social-resumo-conta article { display:flex; min-height:108px; flex-direction:column; justify-content:center; padding:18px; background:#fff; border:1px solid var(--linha); border-radius:15px; box-shadow:var(--sombra); }
.social-resumo-conta small,.social-resumo-conta span { color:var(--suave); }
.social-resumo-conta strong { margin:4px 0; color:var(--texto); font-size:1.65rem; }
.social-conta-identidade { flex-direction:row !important; align-items:center; justify-content:flex-start !important; gap:14px; color:#fff; background:linear-gradient(135deg,#512da8,#d81b60,#f57c00) !important; }
.social-conta-identidade small,.social-conta-identidade span,.social-conta-identidade strong { display:block; color:#fff; }
.social-rede-icone { font-size:2.7rem; line-height:1; }
.social-data-coleta { font-size:1rem !important; line-height:1.35; }
.social-metricas-grade { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.social-metrica-card { padding:19px; background:#fff; border:1px solid var(--linha); border-radius:15px; box-shadow:var(--sombra); }
.social-metrica-card small,.social-metrica-card strong,.social-metrica-card span { display:block; }
.social-metrica-card small { color:var(--suave); }
.social-metrica-card strong { margin:6px 0; font-size:1.65rem; }
.social-variacao { font-size:.75rem; font-weight:800; }
.social-variacao.positiva { color:#11805a; }.social-variacao.negativa { color:#bd2544; }.social-variacao.neutra { color:var(--suave); }
.social-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr); gap:18px; }
.social-dashboard-grid > .card-perfil { margin:0; }
.social-grafico { display:flex; height:230px; align-items:flex-end; gap:3px; padding:25px 5px 0; border-bottom:1px solid var(--linha); }
.social-barra-item { display:flex; min-width:3px; height:100%; flex:1; flex-direction:column; justify-content:flex-end; align-items:center; gap:5px; }
.social-barra-item span { width:100%; min-height:3px; background:linear-gradient(180deg,#2f8bdf,#12508e); border-radius:5px 5px 0 0; }
.social-barra-item small { color:var(--suave); font-size:.58rem; }
.social-leitura p { line-height:1.5; }
.social-ranking { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.social-ranking-item { display:grid; grid-template-columns:120px minmax(0,1fr); overflow:hidden; background:#fff; border:1px solid var(--linha); border-radius:15px; box-shadow:var(--sombra); }
.social-ranking-capa { position:relative; min-height:165px; overflow:hidden; color:#fff; background:#102744; }
.social-ranking-capa img { width:100%; height:100%; object-fit:cover; }
.social-ranking-capa > span { display:grid; height:100%; place-items:center; }
.social-ranking-capa b { position:absolute; top:8px; left:8px; display:grid; width:29px; height:29px; place-items:center; color:#fff; background:rgba(7,23,44,.85); border-radius:50%; }
.social-ranking-item > div { padding:14px; min-width:0; }
.social-ranking-item p { display:-webkit-box; min-height:2.8em; margin:9px 0; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:.84rem; line-height:1.4; }
.social-tipo { display:inline-block; padding:4px 7px; color:#31577e; background:#e8f1fb; border-radius:999px; font-size:.67rem; font-weight:850; }
.social-ranking-item dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0; }
.social-ranking-item dl div { min-width:0; }
.social-ranking-item dt { color:var(--suave); font-size:.65rem; }.social-ranking-item dd { margin:2px 0 0; font-size:.84rem; font-weight:850; }
.social-plataformas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
.social-plataformas > .card-perfil { margin:0; }
@media (max-width:800px) {
  .social-dashboard-controles { align-items:stretch; flex-direction:column; }
  .social-dashboard-controles form button { width:100%; }
  .social-periodos { display:grid; grid-template-columns:repeat(3,1fr); text-align:center; }
  .social-resumo-conta,.social-metricas-grade,.social-dashboard-grid,.social-ranking,.social-plataformas { grid-template-columns:1fr; }
  .social-metricas-grade { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .social-ranking-item { grid-template-columns:100px minmax(0,1fr); }
  .social-grafico { height:185px; }
  .social-barra-item small { display:none; }
}
@media (max-width: 640px) {
  .agenda-auto-grade { grid-template-columns: 1fr; }
  .agenda-auto-config { grid-template-columns: 1fr 1fr; }
  .agenda-auto-config button, .agenda-auto-config .agenda-auto-chave { grid-column: 1 / -1; }
  .agenda-auto-resumo .linha-titulo { align-items: flex-start; flex-direction: column; }
}
/* Planejamento editorial: fluxo interno, sem publicação externa automática. */
.teste-facial-cabecalho { align-items: center; }
.teste-facial-aviso { margin: 0 0 22px; padding: 15px 17px; color: #624200; background: #fff6d8; border: 1px solid #f0d58b; border-radius: 13px; line-height: 1.5; }
.teste-facial-grade { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 22px; align-items: start; }
.teste-facial-camera-card, .teste-facial-painel { margin: 0; }
.teste-facial-camera { position: relative; display: grid; min-height: 330px; overflow: hidden; place-items: center; background: #061326; border-radius: 14px; color: #d9e9ff; }
.teste-facial-camera video, .teste-facial-camera canvas { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.teste-facial-camera canvas { pointer-events: none; }
.teste-facial-camera p { z-index: 1; max-width: 260px; margin: 0; text-align: center; font-weight: 700; }
.teste-facial-status { min-height: 3.1em; margin: 15px 0 11px; padding: 10px 12px; border-radius: 10px; background: #eff4fa; color: #39495f; font-weight: 700; }
.teste-facial-status[data-status='sucesso'] { color: #14663c; background: #e3f8eb; }.teste-facial-status[data-status='erro'] { color: #a22440; background: #ffebef; }
.teste-facial-acoes { display: flex; flex-wrap: wrap; gap: 9px; }.teste-facial-acoes .botao { flex: 1 1 170px; }.teste-facial-acoes button:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.teste-facial-painel h2 { margin-top: 0; }.teste-facial-painel ol { padding-left: 22px; color: var(--suave); line-height: 1.65; }
.teste-facial-metricas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 20px 0; }.teste-facial-metricas div { padding: 11px; background: #f5f8fc; border: 1px solid var(--linha); border-radius: 10px; }.teste-facial-metricas dt { color: var(--suave); font-size: .76rem; font-weight: 750; }.teste-facial-metricas dd { margin: 3px 0 0; color: var(--texto); font-size: .9rem; font-weight: 800; }
.teste-facial-habilitar { display: flex; align-items: flex-start; gap: 9px; margin-top: 15px; color: #34425a; font-weight: 750; }.teste-facial-habilitar input { width: auto; min-height: 18px; margin-top: 2px; }
.teste-facial-privacidade { margin-top: 22px; padding: 15px 17px; background: #f8fbff; border: 1px solid #dbe5f1; border-radius: 13px; }.teste-facial-privacidade summary { color: var(--azul-800); cursor: pointer; font-weight: 850; }.teste-facial-privacidade p { margin: 11px 0 0; color: var(--suave); line-height: 1.55; }
@media (max-width:720px) { .teste-facial-grade { grid-template-columns: 1fr; } .teste-facial-camera { min-height: min(62vh, 430px); } .teste-facial-metricas { grid-template-columns: 1fr; } }
.social-planejamento-intro,.social-pauta{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}.social-planejamento-intro h2,.social-pauta h3{margin-top:0}.social-planejamento-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.social-pauta{display:block}.social-pauta .linha-titulo{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.social-ideias{padding-left:20px;margin:0;display:grid;gap:9px}.social-planejamento-intro .form-inline{align-items:end;flex-wrap:wrap}@media (max-width:720px){.social-planejamento-intro{display:block}.social-planejamento-intro .form-inline{margin-top:16px}.social-planejamento-lista{grid-template-columns:1fr}.social-pauta .linha-titulo{align-items:flex-start}}
