/* ============================================================
   ÚNICO ADMISSÃO — Formulário do Funcionário
   Mobile-first, profissional e acolhedor
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root {
  --azul:     #1e40af;
  --azul-claro:#dbeafe;
  --verde:    #059669;
  --verde-bg: #d1fae5;
  --cinza-50: #f8fafc;
  --cinza-100:#f1f5f9;
  --cinza-200:#e2e8f0;
  --cinza-300:#cbd5e1;
  --cinza-400:#94a3b8;
  --cinza-600:#475569;
  --cinza-700:#334155;
  --cinza-900:#0f172a;
  --vermelho: #dc2626;
  --verm-bg:  #fee2e2;
  --radius:   10px;
  --radius-sm:6px;
}

html,body{min-height:100%;background:var(--cinza-50);color:var(--cinza-900);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;}

/* ── HEADER ── */
.f-header{background:var(--cinza-900);color:#fff;padding:14px 16px;}
.f-header-inner{max-width:520px;margin:0 auto;display:flex;align-items:center;gap:12px;}
.f-logo{width:34px;height:34px;background:var(--azul);border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0;}
.f-empresa{font-size:13px;font-weight:600;line-height:1.3;}
.f-empresa small{display:block;font-weight:400;opacity:.7;font-size:11px;text-transform:uppercase;letter-spacing:.8px;}

/* ── PROGRESSO ── */
.f-progress{background:#fff;border-bottom:1px solid var(--cinza-200);padding:10px 16px;position:sticky;top:0;z-index:10;}
.f-progress-inner{max-width:520px;margin:0 auto;}
.f-progress-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;}
.f-step-label{font-size:13px;font-weight:600;color:var(--cinza-700);}
.f-step-count{font-size:12px;color:var(--cinza-400);}
.f-bar{height:4px;background:var(--cinza-200);border-radius:4px;overflow:hidden;}
.f-bar-fill{height:100%;background:var(--azul);transition:width .4s ease;border-radius:4px;}

/* ── WRAPPER ── */
.f-wrap{max-width:520px;margin:0 auto;padding:20px 16px 100px;}

/* ── STEP ── */
.f-step{display:none;}
.f-step.ativo{display:block;}

.f-step-title{font-size:20px;font-weight:700;color:var(--cinza-900);margin-bottom:4px;}
.f-step-sub{font-size:14px;color:var(--cinza-600);margin-bottom:20px;}

/* ── CARD ── */
.f-card{background:#fff;border:1px solid var(--cinza-200);border-radius:var(--radius);
  padding:18px;margin-bottom:12px;}
.f-card-title{font-size:14px;font-weight:700;color:var(--cinza-700);margin-bottom:14px;
  text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--cinza-100);padding-bottom:10px;}

/* ── CAMPO ── */
.f-field{margin-bottom:16px;}
.f-field:last-child{margin-bottom:0;}
.f-label{display:block;font-size:13px;font-weight:600;color:var(--cinza-700);margin-bottom:5px;}
.f-label .req{color:var(--azul);margin-left:2px;}
.f-hint{font-size:12px;color:var(--cinza-400);margin-top:4px;}
.f-error{font-size:12px;color:var(--vermelho);margin-top:4px;display:flex;align-items:center;gap:4px;}

.f-input,.f-select,.f-textarea{
  width:100%;padding:13px 14px;font-size:16px;color:var(--cinza-900);
  background:#fff;border:1.5px solid var(--cinza-300);border-radius:var(--radius-sm);
  transition:border-color .15s,box-shadow .15s;font-family:inherit;appearance:none;
  -webkit-appearance:none;
}
.f-input:focus,.f-select:focus,.f-textarea:focus{
  outline:none;border-color:var(--azul);box-shadow:0 0 0 3px var(--azul-claro);
}
.f-input.erro,.f-select.erro{border-color:var(--vermelho);}
.f-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2394a3b8' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;}

.f-row{display:grid;gap:10px;grid-template-columns:1fr 1fr;}
.f-row-3{display:grid;gap:10px;grid-template-columns:2fr 1fr;}

/* ── TOGGLE EXTERIOR ── */
.f-toggle-group{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;}
.f-toggle-btn{padding:12px 8px;border:2px solid var(--cinza-200);border-radius:var(--radius-sm);
  background:#fff;font-size:14px;font-weight:600;color:var(--cinza-600);cursor:pointer;
  text-align:center;transition:all .15s;}
.f-toggle-btn.ativo{border-color:var(--azul);color:var(--azul);background:var(--azul-claro);}

/* ── CHECKBOX / RADIO CARD ── */
.f-check-card{display:flex;align-items:flex-start;gap:12px;padding:14px;
  background:#fff;border:1.5px solid var(--cinza-200);border-radius:var(--radius-sm);
  cursor:pointer;transition:border-color .15s;margin-bottom:8px;}
.f-check-card:hover{border-color:var(--cinza-300);}
.f-check-card input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--azul);margin-top:1px;}
.f-check-card-text{font-size:14px;color:var(--cinza-800);line-height:1.4;}
.f-check-card.marcado{border-color:var(--azul);background:var(--azul-claro);}

/* ── FOTO ── */
.f-foto-item{background:#fff;border:1px solid var(--cinza-200);border-radius:var(--radius);
  padding:14px;margin-bottom:10px;}
.f-foto-nome{font-size:14px;font-weight:600;color:var(--cinza-800);margin-bottom:10px;
  display:flex;justify-content:space-between;align-items:center;}
.f-foto-ok{font-size:12px;color:var(--verde);font-weight:700;}
.f-foto-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.f-foto-preview{width:100%;height:130px;object-fit:cover;border-radius:6px;
  border:1px solid var(--cinza-200);margin-bottom:8px;display:block;}
.f-foto-trocar{font-size:12px;color:var(--cinza-400);text-align:center;cursor:pointer;
  text-decoration:underline;display:block;margin-top:4px;}

/* ── SELFIE ── */
.f-selfie-box{text-align:center;padding:24px 16px;}
.f-selfie-icone{font-size:64px;margin-bottom:12px;}
.f-selfie-instrucao{font-size:14px;color:var(--cinza-600);margin-bottom:20px;line-height:1.6;}
.f-selfie-instrucao strong{color:var(--cinza-900);}
.f-selfie-preview{width:180px;height:180px;object-fit:cover;border-radius:50%;
  border:4px solid var(--azul);margin:0 auto 12px;display:block;}

/* ── DEPENDENTE ── */
.f-dependente-item{background:var(--cinza-50);border:1px solid var(--cinza-200);
  border-radius:var(--radius);padding:14px;margin-bottom:10px;position:relative;}
.f-dependente-num{font-size:12px;font-weight:700;color:var(--cinza-600);
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;
  display:flex;justify-content:space-between;align-items:center;}

/* ── REVISÃO ── */
.f-revisao-bloco{background:#fff;border:1px solid var(--cinza-200);border-radius:var(--radius);
  overflow:hidden;margin-bottom:10px;}
.f-revisao-header{display:flex;justify-content:space-between;align-items:center;
  padding:12px 16px;background:var(--cinza-50);border-bottom:1px solid var(--cinza-100);}
.f-revisao-header-titulo{font-size:13px;font-weight:700;color:var(--cinza-700);
  text-transform:uppercase;letter-spacing:.5px;}
.f-revisao-editar{font-size:13px;color:var(--azul);cursor:pointer;font-weight:600;}
.f-revisao-linha{display:flex;justify-content:space-between;padding:10px 16px;
  border-bottom:1px solid var(--cinza-100);font-size:14px;gap:12px;}
.f-revisao-linha:last-child{border-bottom:none;}
.f-revisao-chave{color:var(--cinza-500);flex-shrink:0;max-width:45%;}
.f-revisao-valor{color:var(--cinza-900);font-weight:500;text-align:right;word-break:break-word;}

/* ── BOTÕES ── */
.f-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;
  border-top:1px solid var(--cinza-200);padding:10px 16px;z-index:10;}
.f-nav-inner{max-width:520px;margin:0 auto;display:flex;gap:10px;}
.f-btn{display:flex;align-items:center;justify-content:center;gap:6px;
  padding:14px 18px;font-size:15px;font-weight:700;border:none;cursor:pointer;
  border-radius:var(--radius-sm);transition:all .15s;font-family:inherit;
  text-decoration:none;min-height:50px;}
.f-btn:disabled{opacity:.45;cursor:not-allowed;}
.f-btn-primario{background:var(--cinza-900);color:#fff;flex:2;}
.f-btn-primario:hover:not(:disabled){background:#1e293b;}
.f-btn-secundario{background:var(--cinza-100);color:var(--cinza-700);flex:1;
  border:1px solid var(--cinza-200);}
.f-btn-secundario:hover{background:var(--cinza-200);}
.f-btn-acao{background:var(--azul);color:#fff;width:100%;}
.f-btn-acao:hover:not(:disabled){background:#1e3a8a;}
.f-btn-perigo{background:var(--vermelho);color:#fff;}
.f-btn-ghost{background:transparent;color:var(--cinza-600);border:1.5px solid var(--cinza-300);}
.f-btn-upload{display:flex;align-items:center;justify-content:center;gap:6px;
  padding:11px 8px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;
  font-family:inherit;transition:all .15s;}
.f-btn-cam{background:var(--cinza-900);color:#fff;}
.f-btn-cam:hover{background:#1e293b;}
.f-btn-gal{background:var(--cinza-100);color:var(--cinza-700);border:1px solid var(--cinza-200);}
.f-btn-gal:hover{background:var(--cinza-200);}
.f-btn-add{display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:13px;border:2px dashed var(--cinza-300);border-radius:var(--radius-sm);
  background:#fff;color:var(--cinza-600);font-size:14px;font-weight:600;cursor:pointer;
  font-family:inherit;transition:all .15s;margin-top:8px;}
.f-btn-add:hover{border-color:var(--azul);color:var(--azul);}
.f-btn-remover{background:none;border:none;color:var(--vermelho);font-size:20px;cursor:pointer;
  line-height:1;padding:0 4px;}

/* ── ALERTS ── */
.f-alert{padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;
  margin-bottom:16px;display:flex;align-items:flex-start;gap:10px;line-height:1.5;}
.f-alert-info{background:var(--azul-claro);color:#1e3a8a;border:1px solid #93c5fd;}
.f-alert-ok{background:var(--verde-bg);color:#065f46;border:1px solid #6ee7b7;}
.f-alert-err{background:var(--verm-bg);color:#991b1b;border:1px solid #fca5a5;}
.f-alert-warn{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;}

/* ── SUCESSO ── */
.f-sucesso{text-align:center;padding:48px 16px;}
.f-sucesso-icone{font-size:72px;margin-bottom:16px;}
.f-sucesso-titulo{font-size:24px;font-weight:700;color:var(--cinza-900);margin-bottom:8px;}
.f-sucesso-texto{font-size:15px;color:var(--cinza-600);max-width:300px;margin:0 auto;line-height:1.6;}

/* ── EMPRESA SELECT (link genérico) ── */
.f-empresa-busca{position:relative;}
.f-empresa-lista{position:absolute;top:100%;left:0;right:0;background:#fff;
  border:1.5px solid var(--azul);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);
  max-height:220px;overflow-y:auto;z-index:20;display:none;}
.f-empresa-lista.aberta{display:block;}
.f-empresa-opcao{padding:12px 14px;cursor:pointer;font-size:14px;border-bottom:1px solid var(--cinza-100);}
.f-empresa-opcao:hover{background:var(--cinza-50);}
.f-empresa-opcao:last-child{border-bottom:none;}
.f-empresa-opcao small{display:block;color:var(--cinza-400);font-size:12px;}

/* ── LOADING ── */
.f-loading{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);
  border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;}
.f-loading-dark{border-color:rgba(0,0,0,.1);border-top-color:var(--cinza-600);}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── LGPD ── */
.f-lgpd-box{background:#fff;border:1px solid var(--cinza-200);border-radius:var(--radius);
  padding:18px;font-size:14px;color:var(--cinza-700);line-height:1.65;margin-bottom:16px;}
.f-lgpd-box h3{font-size:15px;color:var(--cinza-900);margin-bottom:10px;}
.f-lgpd-box p+p{margin-top:8px;}

/* ── RESPONSIVE ── */
@media(max-width:420px){
  .f-row{grid-template-columns:1fr;}
  .f-row-3{grid-template-columns:1fr;}
  .f-btn{font-size:14px;}
}
