/* ESTILO.CSS – visual compartilhado da Central de Vagas (CRCT). Mude cores, fontes e botões só aqui. */
:root {
    --marinho:#064270; --marinho-esc:#042F52; --marinho-claro:#E8F0F8; --marinho-linha:#C5D6E8;
    --azul:#0077DD; --verde:#3CA743; --amarelo:#F6B52E; --vermelho:#E42532;
    --fundo:#F2F5F9; --papel:#FFFFFF; --claro:#F6F9FC;
    --texto:#15283B; --suave:#556A80; --linha:#D5DEE8; --trilho:#E3EAF2;
    --homens:#0B63B8; --mulheres:#8A3A70;
    --ok:#1D7A3C; --h24:#8A6500; --h72:#B4520A; --antigo:#B3261E; --nunca:#5B6B7C;
    --foco:#0077DD;
    --sans:'Public Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
    --raio:10px; --raio-p:8px;
    --logo:url("/icons/logo-completo.png");
  }
  * { box-sizing:border-box; }
  html { -webkit-text-size-adjust:100%; }
  body { margin:0; font-family:var(--sans); background:var(--fundo); color:var(--texto); font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased; }
  h1,h2,h3,h4 { letter-spacing:-.01em; }
  .hidden { display:none !important; }
  button, input, select, textarea { font:inherit; color:inherit; }
  :focus-visible { outline:3px solid var(--foco); outline-offset:2px; }
  a { color:var(--marinho); }
  .suave { color:var(--suave); }
  .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

  /* ---------- Cabeçalho institucional ---------- */
  .gov-in { max-width:1200px; margin:0 auto; padding:0 20px; }
  .gov-barra { background:var(--marinho-esc); color:#fff; font-size:12.5px; letter-spacing:.02em; }
  .gov-barra .gov-in { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:32px; }
  .gov-barra b { font-weight:700; }
  .gov-barra span { opacity:.85; }
  .gov-topo { background:var(--papel); border-bottom:1px solid var(--linha); }
  .gov-topo .gov-in { display:flex; align-items:center; gap:18px; padding-top:12px; padding-bottom:12px; flex-wrap:wrap; }
  .logo { display:block; width:115px; height:46px; flex:none; background:var(--logo) center/contain no-repeat; }
  .gov-titulo { padding-left:18px; border-left:1px solid var(--linha); min-width:0; flex:1 1 220px; }
  .gov-titulo small { display:block; font-size:11.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--suave); }
  .gov-titulo h1 { margin:1px 0 0; font-size:21px; font-weight:800; color:var(--marinho); line-height:1.2; }
  .gov-acoes { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-left:auto; }
  .gov-acoes .ola { font-size:14px; color:var(--suave); margin-right:4px; }
  .faixa4 { display:flex; height:4px; }
  .faixa4 i { flex:1; }
  .faixa4 i:nth-child(1) { background:var(--azul); } .faixa4 i:nth-child(2) { background:var(--verde); }
  .faixa4 i:nth-child(3) { background:var(--amarelo); } .faixa4 i:nth-child(4) { background:var(--vermelho); }
  @media (max-width:560px) {
    .gov-in { padding:0 14px; }
    .gov-barra span { display:none; }
    .logo { width:92px; height:37px; }
    .gov-titulo { padding-left:12px; flex-basis:0; }
    .gov-titulo h1 { font-size:17px; }
    .gov-acoes { margin-left:0; width:100%; }
  }

  /* ---------- Botões ---------- */
  .btn, .btn-principal, .btn-novo, .btn-neutro, .btn-sec, .btn-perigo, .btn-topo {
    display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 18px;
    border-radius:var(--raio-p); border:1.5px solid var(--marinho); background:var(--papel); color:var(--marinho);
    font-weight:700; font-size:15px; line-height:1.2; cursor:pointer; text-decoration:none; transition:background .15s,border-color .15s,color .15s;
  }
  .btn:hover, .btn-neutro:hover, .btn-sec:hover, .btn-topo:hover { background:var(--marinho-claro); }
  .btn.prim, .btn-principal, .btn-novo { background:var(--marinho); color:#fff; border-color:var(--marinho); }
  .btn.prim:hover, .btn-principal:hover, .btn-novo:hover { background:var(--marinho-esc); border-color:var(--marinho-esc); }
  .btn-neutro, .btn-sec { border-color:var(--linha); color:var(--texto); }
  .btn-neutro:hover, .btn-sec:hover { border-color:var(--marinho-linha); }
  .btn-perigo, .btn.perigo { background:var(--antigo); border-color:var(--antigo); color:#fff; }
  .btn-perigo:hover { background:#8E1D17; border-color:#8E1D17; }
  .btn-topo { min-height:38px; padding:7px 14px; font-size:14px; border-color:var(--linha); }
  .btn-topo svg { width:16px; height:16px; }
  .btn.peq { min-height:36px; padding:6px 12px; font-size:14px; }
  .btn.cheio { width:100%; }
  .btn:disabled, .btn-principal:disabled, .btn-novo:disabled, .btn-neutro:disabled, .btn-sec:disabled, .btn-perigo:disabled, .btn-topo:disabled,
  .btn[aria-disabled="true"] { opacity:.5; cursor:default; pointer-events:none; }
  .link { border:0; background:none; color:var(--marinho); font-weight:600; cursor:pointer; padding:4px 0; text-decoration:underline; text-underline-offset:3px; }

  /* ---------- Campos ---------- */
  .campo { margin-bottom:16px; }
  .campo > label, .rotulo { display:block; font-weight:600; margin-bottom:6px; font-size:15px; }
  .campo .dica { display:block; font-weight:400; color:var(--suave); font-size:13.5px; margin-top:4px; }
  .in, .campo input[type=text], .campo input[type=password], .campo input[type=tel], .campo input[type=email], .campo input[type=date],
  .campo input[type=number], .campo input[type=search], .campo select, .campo textarea {
    width:100%; padding:11px 13px; font-size:16px; border:1.5px solid var(--linha); border-radius:var(--raio-p); background:var(--papel);
  }
  .in:focus, .campo input:focus, .campo select:focus, .campo textarea:focus { border-color:var(--azul); outline:none; box-shadow:0 0 0 3px #0077DD33; }
  .erro { min-height:20px; margin-top:10px; color:var(--antigo); font-size:14px; font-weight:600; }

  /* ---------- Painéis e quadros ---------- */
  .painel { background:var(--papel); border:1px solid var(--linha); border-radius:var(--raio); padding:20px; }
  .painel > h2, .painel > h3, .painel-t { margin:0 0 4px; font-size:17px; font-weight:800; color:var(--marinho); }
  .painel > .sub { margin:0 0 14px; color:var(--suave); font-size:14px; }
  .aviso-caixa { background:var(--claro); border-left:4px solid var(--marinho); border-radius:var(--raio-p); padding:12px 14px; margin:14px 0; font-size:15px; }
  .aviso-caixa.alerta { border-left-color:var(--antigo); background:#FCEDEB; }
  .aviso-caixa.ok { border-left-color:var(--ok); background:#E8F5EC; color:#14532D; font-weight:600; }
  .aviso-caixa.atencao { border-left-color:var(--h72); background:#FFF4E5; }
  .aviso-caixa p { margin:0 0 6px; } .aviso-caixa p:last-child { margin:0; }

  /* indicador numérico */
  .kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
  .kpi { background:var(--papel); border:1px solid var(--linha); border-radius:var(--raio); padding:14px 16px; }
  .kpi .n { font-size:30px; font-weight:800; line-height:1.1; color:var(--marinho); letter-spacing:-.02em; }
  .kpi .r { font-weight:600; font-size:14px; margin-top:4px; }
  .kpi .s { color:var(--suave); font-size:13px; }
  .kpi.m .n { color:var(--homens); } .kpi.f .n { color:var(--mulheres); } .kpi.a .n { color:var(--h72); } .kpi.v .n { color:var(--ok); }

  /* situação da informação */
  .pill { display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:13px; padding:3px 11px 3px 9px; border-radius:99px; line-height:1.5;
          background:color-mix(in srgb,currentColor 11%,white); }
  .pill::before { content:''; width:8px; height:8px; border-radius:50%; background:currentColor; flex:none; }
  .st-ok .pill { color:var(--ok); } .st-h24 .pill { color:var(--h24); } .st-h72 .pill { color:var(--h72); }
  .st-antigo .pill { color:var(--antigo); } .st-nunca .pill { color:var(--nunca); }

  /* sugestões (instituição) e pontos de atenção (gestão) */
  .sug { --c:var(--marinho); display:flex; gap:12px; padding:12px 14px; border:1px solid var(--linha); border-left:4px solid var(--c); border-radius:var(--raio-p); background:var(--papel); }
  .sug + .sug { margin-top:10px; }
  .sug.alerta { --c:var(--antigo); } .sug.atencao { --c:var(--h72); } .sug.dica { --c:var(--azul); } .sug.ok { --c:var(--ok); }
  .sug .ic { flex:none; width:22px; height:22px; color:var(--c); margin-top:1px; }
  .sug .corpo { min-width:0; flex:1; }
  .sug b { display:block; font-size:15px; line-height:1.3; }
  .sug p { margin:3px 0 0; color:var(--suave); font-size:14px; }
  .sug .ir { margin-top:6px; }

  .toast { position:fixed; left:50%; bottom:22px; transform:translateX(-50%); background:var(--marinho-esc); color:#fff; padding:11px 18px; border-radius:var(--raio-p); font-weight:600; font-size:14px; z-index:50; max-width:90vw; }
  @media (prefers-reduced-motion:no-preference) {
    .toast { animation:sobe .25s ease-out; }
    @keyframes sobe { from { opacity:0; transform:translate(-50%,8px); } to { opacity:1; transform:translate(-50%,0); } }
  }

/* primeiro acesso da instituição: só a criação do PIN fica à vista */
#p3.travado .cols { display:block; max-width:480px; margin:24px auto 0; }
