/* ===========================================================
   MÓDULO DE CANDIDATURA — visual do sistema VOTAR
   Arquivo próprio: não interfere no lab.css.
   =========================================================== */
:root{
  --cd-laranja:#ff6a13; --cd-laranja-esc:#d15710;
  --cd-grafite:#1b1e22; --cd-apoio:#3d444c; --cd-linha:#d8dde3;
  --cd-papel:#fff; --cd-cinza:#eef0f2; --cd-vidro:#e9eef1;
  --cd-verde:#1f6b3a; --cd-vermelho:#a62626; --cd-ambar:#8a5a00;
  --cd-raio:14px;
  --cd-sombra:0 10px 26px rgba(20,25,30,.10);
}

/* ---------- Layout ---------- */
.cd-pagina{max-width:860px;margin:0 auto;padding:6px 0 40px;opacity:0;transform:translateY(10px);
  transition:opacity .45s ease,transform .45s ease}
.cd-pagina.pronta{opacity:1;transform:none}

.cd-cartao{background:var(--cd-papel);border:1px solid var(--cd-linha);border-radius:var(--cd-raio);
  box-shadow:var(--cd-sombra);padding:clamp(20px,3.2vw,34px);margin-bottom:22px}

.cd-cabec{border-bottom:1px solid var(--cd-linha);padding-bottom:18px;margin-bottom:22px}
.cd-cabec h1{margin:0 0 6px;font-size:clamp(21px,2.6vw,27px);font-weight:900;color:var(--cd-grafite);line-height:1.2}
.cd-cabec p{margin:0;color:var(--cd-apoio);font-size:14.5px;line-height:1.55}

/* ---------- Grupos e campos ---------- */
.cd-grupo{border:0;margin:0 0 26px;padding:0}
.cd-grupo legend{padding:0;margin-bottom:13px;font-size:12px;font-weight:900;letter-spacing:.12em;
  text-transform:uppercase;color:#8b9096}

.cd-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.cd-campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.cd-campo.cd-largo{grid-column:1/-1}
.cd-campo>span{font-size:13.5px;font-weight:700;color:var(--cd-grafite)}
.cd-campo input,.cd-campo textarea,.cd-campo select{
  width:100%;padding:12px 13px;border:1.5px solid var(--cd-linha);border-radius:9px;background:#fcfdfd;
  font:inherit;font-size:15px;color:var(--cd-grafite);transition:border-color .15s,box-shadow .15s,background .15s}
.cd-campo textarea{resize:vertical;min-height:110px;line-height:1.55}
.cd-campo input:hover,.cd-campo textarea:hover{border-color:#b9c1c9}
.cd-campo input:focus,.cd-campo textarea:focus{outline:0;background:#fff;border-color:var(--cd-laranja);
  box-shadow:0 0 0 3px rgba(255,106,19,.18)}
.cd-campo input.invalido,.cd-campo textarea.invalido{border-color:var(--cd-vermelho);background:#fffafa}
.cd-campo input.valido{border-color:#9fcfb1}

.cd-erro{display:none;color:var(--cd-vermelho);font-size:13px;font-style:normal;font-weight:600;line-height:1.4}
.cd-erro.mostrar{display:block}
.cd-erro-geral{margin-top:12px;background:#fdeeee;border:1px solid #f0c9c9;border-radius:9px;padding:11px 13px}
.cd-dica{margin:2px 0 0;color:#7c838a;font-size:12.5px;font-style:normal;line-height:1.45}

/* ---------- Escolha do cargo ---------- */
.cd-opcoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:13px}
.cd-opcao{cursor:pointer}
.cd-opcao input{position:absolute;opacity:0;width:0;height:0}
.cd-opcao-corpo{display:flex;align-items:center;gap:13px;padding:17px 18px;border:2px solid var(--cd-linha);
  border-radius:11px;background:#fbfcfc;transition:border-color .18s,background .18s,box-shadow .18s}
.cd-opcao-marca{flex:none;width:21px;height:21px;border-radius:50%;border:2.5px solid #b9c1c9;
  background:#fff;transition:border-color .18s,box-shadow .18s}
.cd-opcao-txt{font-size:15.5px;font-weight:800;color:var(--cd-grafite);line-height:1.25}
.cd-opcao:hover .cd-opcao-corpo{border-color:#b9c1c9;background:#fff}
.cd-opcao input:focus-visible+.cd-opcao-corpo{box-shadow:0 0 0 3px rgba(255,106,19,.25)}
.cd-opcao input:checked+.cd-opcao-corpo{border-color:var(--cd-laranja);background:#fff7f1;
  box-shadow:0 3px 10px rgba(209,87,16,.14)}
.cd-opcao input:checked+.cd-opcao-corpo .cd-opcao-marca{border-color:var(--cd-laranja);
  box-shadow:inset 0 0 0 4.5px var(--cd-laranja)}

/* ---------- Foto ---------- */
.cd-foto{display:grid;grid-template-columns:186px minmax(0,1fr);gap:20px;align-items:start}
.cd-foto-visor{position:relative;overflow:hidden;aspect-ratio:3/4;border:4px solid var(--cd-grafite);
  border-radius:12px;background:var(--cd-vidro);display:grid;place-items:center}
.cd-foto-visor::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;z-index:1;
  background:repeating-linear-gradient(#fff 0 1px,transparent 1px 4px)}
.cd-foto-visor img,.cd-foto-visor video{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}
.cd-foto-vazio{position:relative;z-index:2;display:grid;place-items:center;gap:8px;color:#9aa3aa;text-align:center}
.cd-foto-vazio svg{width:46px;height:46px}
.cd-foto-vazio small{font-size:12px;font-weight:700}
.cd-foto-acoes{display:flex;flex-wrap:wrap;gap:9px;align-content:start}
.cd-foto-acoes .cd-dica,.cd-foto-acoes .cd-erro{flex-basis:100%}

/* ---------- Anexo de documento ---------- */
.cd-arquivo{display:flex;align-items:center;gap:15px;padding:18px;border:2px dashed #c3cbd3;border-radius:12px;
  background:#fbfcfc;cursor:pointer;transition:border-color .18s,background .18s}
.cd-arquivo:hover{border-color:var(--cd-laranja);background:#fff7f1}
.cd-arquivo.tem{border-style:solid;border-color:var(--cd-laranja);background:#fff7f1}
.cd-arquivo-ico{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:11px;
  background:#fff;border:1px solid var(--cd-linha);color:var(--cd-grafite)}
.cd-arquivo-ico svg{width:26px;height:26px}
.cd-arquivo-txt{min-width:0}
.cd-arquivo-txt b{display:block;font-size:15px;color:var(--cd-grafite);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cd-arquivo-txt small{display:block;margin-top:3px;color:#7c838a;font-size:12.5px;line-height:1.45}

/* ---------- Botões ---------- */
.cd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 17px;
  border:1.5px solid var(--cd-linha);border-radius:9px;background:#fff;color:var(--cd-grafite);
  font:inherit;font-size:14.5px;font-weight:800;cursor:pointer;text-align:center;
  transition:border-color .15s,background .15s,filter .15s,transform .08s}
.cd-btn:hover{border-color:#b9c1c9;background:#fbfcfc}
.cd-btn:active{transform:translateY(1px)}
.cd-btn:disabled{opacity:.55;cursor:not-allowed}
.cd-btn-primario{border-color:transparent;background:linear-gradient(#ff8a33,var(--cd-laranja));color:#fff;
  box-shadow:0 3px 8px rgba(209,87,16,.34)}
.cd-btn-primario:hover{filter:brightness(1.05);background:linear-gradient(#ff8a33,var(--cd-laranja));border-color:transparent}
.cd-btn-perigo{border-color:transparent;background:var(--cd-vermelho);color:#fff}
.cd-btn-perigo:hover{filter:brightness(1.08);background:var(--cd-vermelho);border-color:transparent}
.cd-btn-limpo{background:transparent;border-color:transparent;color:var(--cd-apoio)}
.cd-btn-limpo:hover{background:#f2f4f6;border-color:transparent}
.cd-btn-grande{min-height:54px;padding:0 30px;font-size:16px;letter-spacing:.03em;text-transform:uppercase}
.cd-btn-arquivo{cursor:pointer}

.cd-envio{display:flex;flex-direction:column;align-items:center;gap:13px;text-align:center;
  border-top:1px solid var(--cd-linha);padding-top:22px}
.cd-nota{margin:0;max-width:60ch;color:#7c838a;font-size:13px;line-height:1.55}

/* ---------- Modal ---------- */
.cd-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;
  background:rgba(12,16,20,.58);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow-y:auto}
.cd-modal.aberto{opacity:1;visibility:visible}
.cd-modal-caixa{width:min(560px,100%);margin:auto;background:var(--cd-papel);border-radius:16px;overflow:hidden;
  box-shadow:0 26px 70px rgba(0,0,0,.4);transform:translateY(16px) scale(.97);opacity:0;
  transition:transform .38s cubic-bezier(.17,.82,.28,1),opacity .3s}
.cd-modal.aberto .cd-modal-caixa{transform:none;opacity:1}
.cd-modal-estreito{width:min(500px,100%)}
.cd-modal-topo{position:relative;padding:26px 26px 20px;text-align:center;color:#fff;
  background:linear-gradient(135deg,#ff8b26,#e8590c);border-bottom:4px solid var(--cd-laranja-esc)}
.cd-topo-vermelho{background:linear-gradient(135deg,#c93838,#8f1d1d);border-bottom-color:#7a1818}
.cd-modal-ico{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 12px;border-radius:50%;
  border:3px solid rgba(255,255,255,.85)}
.cd-modal-ico svg{width:30px;height:30px}
.cd-modal-topo h2{margin:0;font-size:21px;font-weight:900;letter-spacing:.01em}
.cd-modal-topo p{margin:7px 0 0;font-size:13.5px;opacity:.92;line-height:1.5}
.cd-modal-corpo{padding:22px 26px 6px}
.cd-avisos{margin:0;padding:22px 26px 6px 44px;color:var(--cd-apoio);font-size:14.5px;line-height:1.62}
.cd-avisos li{margin-bottom:10px}
.cd-avisos li::marker{color:var(--cd-laranja);font-weight:900}
.cd-avisos b{color:var(--cd-grafite)}
.cd-modal-rodape{display:flex;align-items:center;gap:13px;flex-wrap:wrap;justify-content:flex-end;
  padding:18px 26px 22px;margin-top:10px;border-top:1px solid var(--cd-linha);background:#fafbfb}
.cd-selo-demo{flex:1;min-width:190px;color:#8b9096;font-size:10px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;line-height:1.4;text-align:left}

/* ---------- Recibo ---------- */
.cd-recibo{text-align:center}
.cd-recibo-ico{display:grid;place-items:center;width:78px;height:78px;margin:4px auto 16px;border-radius:50%;
  background:#eefaf1;color:var(--cd-verde);animation:cd-pop .55s cubic-bezier(.2,1.35,.35,1)}
.cd-recibo-ico svg{width:42px;height:42px}
@keyframes cd-pop{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
.cd-recibo h2{margin:0 0 8px;font-size:25px;font-weight:900;color:var(--cd-grafite)}
.cd-recibo-sub{margin:0 auto 22px;max-width:52ch;color:var(--cd-apoio);font-size:15px;line-height:1.6}
.cd-protocolo{display:inline-flex;flex-direction:column;gap:5px;padding:15px 34px;margin-bottom:22px;
  border:3px solid var(--cd-grafite);border-radius:12px;background:var(--cd-vidro)}
.cd-protocolo span{font-size:10.5px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#7c838a}
.cd-protocolo b{font-family:"Courier New",monospace;font-size:26px;font-weight:900;letter-spacing:.06em;color:var(--cd-grafite)}
.cd-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:13px;margin:0 0 20px;text-align:left}
.cd-resumo>div{background:#f7f9fa;border:1px solid var(--cd-linha);border-radius:10px;padding:12px 14px}
.cd-resumo dt{font-size:10.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#8b9096;margin-bottom:5px}
.cd-resumo dd{margin:0;font-size:14.5px;font-weight:700;color:var(--cd-grafite);line-height:1.35}
.cd-recibo-msg{margin:0 auto 22px;max-width:56ch;color:var(--cd-apoio);font-size:14px;line-height:1.6}
.cd-recibo-acoes{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

.cd-marca{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;
  font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.cd-marca::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.cd-marca-analise{background:#fff6e2;color:var(--cd-ambar)}
.cd-marca-deferida{background:#eefaf1;color:var(--cd-verde)}
.cd-marca-indeferida{background:#fdeeee;color:var(--cd-vermelho)}

/* Situação no painel: chapa com ícone, no mesmo relevo dos cards do simulador.
   Cada estado tem seu próprio símbolo — não é a mesma bolinha mudando de cor. */
.cd-sit{display:inline-flex;align-items:center;gap:9px;padding:5px 15px 5px 5px;border-radius:999px;
  background:linear-gradient(#fcfcfc,#eeefee);border:1px solid #d3d5d3;
  box-shadow:0 1px 0 #fff inset,0 1px 2px rgba(20,25,30,.07);
  font-size:11.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#6d7378;line-height:1}
.cd-sit-ico{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;
  background:#fff;border:1.5px solid currentColor;box-shadow:0 1px 2px rgba(20,25,30,.14)}
.cd-sit-ico svg{width:14px;height:14px;stroke:currentColor;fill:none;
  stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.cd-sit-analise{color:var(--cd-ambar);background:linear-gradient(#fffdf6,#fdf3dd);border-color:#e8d5a4}
.cd-sit-deferida{color:var(--cd-verde);background:linear-gradient(#f8fdfa,#e6f6ec);border-color:#a9d4b9}
.cd-sit-indeferida{color:var(--cd-vermelho);background:linear-gradient(#fffafa,#fbe9e9);border-color:#e3b4b4}
/* o ponteiro do relógio gira devagar enquanto a inscrição aguarda decisão */
.cd-sit-analise .cd-sit-ico svg .pont{transform-origin:12px 12px;animation:cd-giro 6s linear infinite}
@keyframes cd-giro{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.cd-sit-analise .cd-sit-ico svg .pont{animation:none}}

/* ---------- Consulta ---------- */
.cd-consulta{background:var(--cd-papel);border:1px solid var(--cd-linha);border-radius:var(--cd-raio);
  padding:20px clamp(18px,3vw,28px);box-shadow:var(--cd-sombra)}
.cd-consulta h3{margin:0 0 13px;font-size:15px;font-weight:900;color:var(--cd-grafite)}
.cd-consulta-linha{display:flex;gap:10px;flex-wrap:wrap}
.cd-consulta-linha input{flex:1;min-width:190px;padding:12px 13px;border:1.5px solid var(--cd-linha);
  border-radius:9px;background:#fcfdfd;font:inherit;font-size:15px;font-family:"Courier New",monospace;
  letter-spacing:.06em;text-transform:uppercase}
.cd-consulta-linha input:focus{outline:0;border-color:var(--cd-laranja);box-shadow:0 0 0 3px rgba(255,106,19,.18)}
.cd-consulta-res{margin-top:15px;padding:15px 17px;border-radius:10px;background:#f7f9fa;
  border:1px solid var(--cd-linha);font-size:14.5px;line-height:1.6;color:var(--cd-apoio)}
.cd-consulta-res b{color:var(--cd-grafite)}
.cd-consulta-res .cd-just{margin-top:10px;padding:11px 13px;background:#fff;border-left:4px solid var(--cd-vermelho);
  border-radius:6px;white-space:pre-wrap}

/* ===========================================================
   PAINEL DA COMISSÃO
   =========================================================== */
.cd-admin{margin-bottom:30px}
.cd-barra-filtros{display:flex;gap:14px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}
.cd-filtros{display:flex;gap:7px;flex-wrap:wrap}
.cd-filtro{padding:9px 15px;border:1.5px solid var(--cd-linha);border-radius:999px;background:#fff;
  font:inherit;font-size:13.5px;font-weight:800;color:var(--cd-apoio);cursor:pointer;transition:.15s}
.cd-filtro:hover{border-color:#b9c1c9}
.cd-filtro.ativo{background:var(--cd-grafite);border-color:var(--cd-grafite);color:#fff}
.cd-filtro b{display:inline-block;margin-left:6px;min-width:19px;padding:1px 6px;border-radius:999px;
  background:#eef0f2;color:#6d7378;font-size:11.5px;font-weight:900;line-height:1.5}
.cd-filtro b:empty{display:none}
.cd-filtro.ativo b{background:rgba(255,255,255,.22);color:#fff}
.cd-membro{display:flex;flex-direction:column;gap:5px;min-width:250px}
.cd-membro span{font-size:11.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#8b9096}
.cd-membro input{padding:10px 12px;border:1.5px solid var(--cd-linha);border-radius:9px;background:#fff;font:inherit;font-size:14.5px}
.cd-membro input:focus{outline:0;border-color:var(--cd-laranja);box-shadow:0 0 0 3px rgba(255,106,19,.18)}

.cd-lista{display:grid;gap:15px}
.cd-vazio{padding:38px 18px;text-align:center;color:#8b9096;font-size:14.5px;background:var(--cd-papel);
  border:1px dashed var(--cd-linha);border-radius:12px;margin:0}

.cd-item{display:grid;grid-template-columns:104px minmax(0,1fr);gap:18px;background:var(--cd-papel);
  border:1px solid var(--cd-linha);border-radius:14px;padding:18px;box-shadow:var(--cd-sombra)}
.cd-item-foto{display:block;width:104px;aspect-ratio:3/4;object-fit:cover;object-position:center 18%;
  border:3px solid var(--cd-grafite);border-radius:10px;background:var(--cd-vidro)}
.cd-item-corpo{min-width:0}
.cd-item-topo{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:5px}
.cd-item-topo h3{margin:0;font-size:18px;font-weight:900;color:var(--cd-grafite);line-height:1.2}
.cd-item-prot{font-family:"Courier New",monospace;font-size:12.5px;font-weight:900;color:#7c838a;letter-spacing:.05em}
.cd-item-cargo{margin:0 0 12px;font-size:14px;font-weight:800;color:var(--cd-laranja-esc)}
.cd-dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:9px 16px;margin-bottom:13px}
.cd-dados div{min-width:0}
.cd-dados dt{font-size:10.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#8b9096;margin-bottom:2px}
.cd-dados dd{margin:0;font-size:14px;color:var(--cd-grafite);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cd-item-acoes{display:flex;gap:9px;flex-wrap:wrap;align-items:center;
  border-top:1px solid var(--cd-linha);padding-top:13px}
.cd-parecer{margin:11px 0 0;padding:12px 14px;border-radius:9px;font-size:13.5px;line-height:1.6;color:var(--cd-apoio)}
.cd-parecer.ok{background:#eefaf1;border-left:4px solid var(--cd-verde)}
.cd-parecer.nao{background:#fdeeee;border-left:4px solid var(--cd-vermelho)}
.cd-parecer b{color:var(--cd-grafite)}
.cd-parecer .txt{display:block;margin-top:6px;white-space:pre-wrap}

/* ---------- Responsivo ---------- */
@media(max-width:720px){
  .cd-campos{grid-template-columns:1fr}
  .cd-foto{grid-template-columns:1fr;justify-items:center}
  .cd-foto-visor{width:min(232px,72vw)}
  .cd-foto-acoes{justify-content:center}
  .cd-item{grid-template-columns:1fr;justify-items:center;text-align:center}
  .cd-item-corpo{width:100%}
  .cd-item-topo,.cd-item-acoes{justify-content:center}
  .cd-dados{text-align:left}
  .cd-modal-rodape{justify-content:center}
  .cd-selo-demo{text-align:center;flex-basis:100%}
  .cd-barra-filtros{flex-direction:column;align-items:stretch}
}

/* ---------- Impressão do comprovante ---------- */
@media print{
  .topo,.selo-demo,.rodape-site,.cd-consulta,.cd-recibo-acoes,.cd-modal{display:none!important}
  .cd-cartao{border:0;box-shadow:none;padding:0}
  .cd-pagina{opacity:1;transform:none}
}
