/* F&F Carreiras — área pública */
:root{--navy:#1a2d5a;--teal:#00b4a6;--green:#7bc144;--blue:#1a7fd4;--dark:#0f1e3d;}
*{box-sizing:border-box;margin:0;padding:0;font-family:'DM Sans','Segoe UI',sans-serif;}
body{background:linear-gradient(135deg,#f4f6fa 0%,#e8eef7 100%);min-height:100vh;color:#223;}
.topo{background:var(--navy);color:#fff;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;}
.topo b{font-size:1.1rem;}
.topo small{color:var(--teal);}
.wrap{max-width:760px;margin:28px auto;padding:0 16px;}
.card{background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(15,30,61,.10);padding:26px;margin-bottom:16px;}
h1{color:var(--navy);font-size:1.35rem;margin-bottom:6px;}
h2{color:var(--teal);font-size:1rem;margin:18px 0 10px;border-bottom:2px solid #eef1f6;padding-bottom:6px;}
.sub{color:#667;font-size:.9rem;margin-bottom:14px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.grid3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;}
@media(max-width:640px){.grid2,.grid3{grid-template-columns:1fr;}}
label{display:block;font-size:.82rem;color:#445;margin-bottom:4px;font-weight:600;}
input,select,textarea{width:100%;padding:10px;border:1px solid #ccd4e0;border-radius:7px;font-size:.92rem;background:#fff;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);}
textarea{min-height:80px;}
.campo{margin-bottom:12px;}
.btn{display:inline-block;border:none;border-radius:8px;padding:12px 22px;font-size:.95rem;cursor:pointer;font-weight:600;}
.btn-p{background:var(--teal);color:#fff;}
.btn-s{background:#e8ecf4;color:var(--navy);}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.passos{display:flex;gap:6px;margin-bottom:20px;}
.passos span{flex:1;height:6px;border-radius:3px;background:#dde3ee;}
.passos span.on{background:var(--teal);}
.etapa{display:none;}
.etapa.ativa{display:block;}
.nav{display:flex;justify-content:space-between;margin-top:18px;}
.erro{background:#fdecea;color:#b3261e;border:1px solid #f5c6c2;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:.88rem;}
.ok{background:#e8f6ec;color:#1d6f3a;border:1px solid #bfe3cb;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:.88rem;}
.radioln{display:flex;gap:16px;margin-top:4px;}
.radioln label{font-weight:400;display:flex;gap:5px;align-items:center;margin:0;}
.lgpd{font-size:.8rem;color:#556;background:#f6f8fb;border-radius:8px;padding:12px;margin:14px 0;}
.rodape{text-align:center;color:#99a;font-size:.78rem;margin:20px 0;}
