
:root{
 --azul:#006CC0;--azul-prof:#003A68;--verde:#00483C;--preto:#0A0F14;--branco:#fff;--alerta:#B42318;
 --linha:rgba(0,108,192,.22);--linha2:rgba(0,108,192,.45);
 --metal:linear-gradient(115deg,#003A68 0%,#006CC0 35%,#4FA3E3 50%,#006CC0 65%,#00483C 100%);
 --metal-escuro:linear-gradient(160deg,#05080C 0%,#0B1A2B 45%,#00305A 80%,#006CC0 130%);
 --sombra:0 18px 40px -18px rgba(0,40,80,.45),0 3px 8px rgba(0,40,80,.07);
 --sombra-alta:0 30px 60px -22px rgba(0,40,80,.6),0 6px 14px rgba(0,40,80,.12);
 --raio:16px;--mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#fff;color:var(--preto);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit}
a{color:var(--azul)}
.hidden{display:none!important}

/* barra do mockup */
.mockbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:10px;padding:8px 18px;background:var(--preto);color:#fff;font:600 13px Inter}
.mockbar span{opacity:.7;margin-right:6px}
.mockbar button{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:6px 14px;border-radius:999px;font-weight:600}
.mockbar button.on{background:var(--metal);border-color:transparent}

/* animações */
@keyframes sobe{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.anim>*{animation:sobe .32s ease both}
.anim>*:nth-child(2){animation-delay:.05s}.anim>*:nth-child(3){animation-delay:.1s}.anim>*:nth-child(4){animation-delay:.15s}.anim>*:nth-child(5){animation-delay:.2s}.anim>*:nth-child(6){animation-delay:.25s}

/* comuns */
.card{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:24px;transition:transform .2s,box-shadow .2s}
.card.hov:hover{transform:translateY(-4px);box-shadow:var(--sombra-alta)}
.lbl{font:700 11px Inter;letter-spacing:.2em;color:var(--azul);text-transform:uppercase;margin-bottom:10px}
h1{font:800 34px/1.12 Poppins}
h2{font:700 24px/1.2 Poppins}
h3{font:700 18px/1.25 Poppins}
.muted{opacity:.75}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:12px;font:700 14.5px Inter;border:0;transition:transform .15s,box-shadow .2s,filter .2s;position:relative;overflow:hidden;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.b1{background:var(--metal);background-size:200% 100%;color:#fff;box-shadow:0 12px 24px -10px rgba(0,50,90,.8),inset 0 1px 0 rgba(255,255,255,.35)}
.b1::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s}
.b1:hover::after{left:120%}
.b2{background:#fff;color:var(--azul);border:1.5px solid var(--azul)}
.b3{background:var(--verde);color:#fff;box-shadow:0 12px 24px -12px rgba(0,72,60,.8)}
.b4{background:#fff;color:var(--alerta);border:1.5px solid var(--alerta)}
.bp{background:var(--preto);color:#fff}
.sm{padding:8px 14px;font-size:13px;border-radius:10px}
.field{margin-bottom:14px}
.field label{display:block;font:600 13px Inter;margin-bottom:6px}
.inp{width:100%;border:1.5px solid var(--linha2);border-radius:12px;padding:12px 14px;font:400 15px Inter;background:#fff;color:var(--preto);transition:border-color .2s,box-shadow .2s}
.inp:focus{outline:0;border-color:var(--azul);box-shadow:0 0 0 4px rgba(0,108,192,.16)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.badge{display:inline-block;padding:5px 11px;border-radius:999px;font:700 11.5px Inter;white-space:nowrap}
.bg-azul{background:var(--azul);color:#fff}.bg-verde{background:var(--verde);color:#fff}.bg-cont{border:1.5px solid var(--azul);color:var(--azul)}
.bg-preto{background:var(--preto);color:#fff}.bg-alerta{border:1.5px solid var(--alerta);color:var(--alerta)}
.meter{height:8px;border-radius:4px;background:rgba(0,108,192,.16);overflow:hidden;flex:1}
.meter i{display:block;height:100%;background:var(--metal);background-size:300% 100%;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.meter.v i{background:var(--verde)}
.mrow{display:flex;align-items:center;gap:10px;margin:8px 0;font:500 13.5px Inter}
.mrow .nm{width:170px}
.mrow b{width:44px;text-align:right}
.alert{border-left:5px solid var(--alerta);padding:14px 16px;border-radius:0 12px 12px 0;box-shadow:var(--sombra);font:400 14px/1.5 Inter;background:#fff}
.alert b{color:var(--alerta)}
.alert.info{border-left-color:var(--azul)}.alert.info b{color:var(--azul)}
.alert.ok{border-left-color:var(--verde)}.alert.ok b{color:var(--verde)}
.toast{position:fixed;right:24px;bottom:24px;z-index:99;background:var(--metal-escuro);color:#fff;padding:14px 20px;border-radius:12px;box-shadow:var(--sombra-alta);font:600 14px Inter;animation:sobe .3s both}

/* ===== CANDIDATO ===== */
.cand-top{display:flex;align-items:center;justify-content:space-between;padding:18px 40px;border-bottom:1px solid var(--linha)}
.cand-top img{height:34px}
.cand-top .tg{font:700 11px Inter;letter-spacing:.22em;color:var(--azul);border:1.5px solid var(--azul);padding:7px 12px;border-radius:999px}
.metal-bar{height:5px;background:var(--metal)}
.cwrap{max-width:1040px;margin:0 auto;padding:40px 24px 80px}
.login{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;min-height:70vh}
.login h1 span{color:var(--azul)}
.steps{display:flex;gap:8px;margin:18px 0 26px;flex-wrap:wrap}
.steps div{flex:1;min-width:120px;font:600 12px Inter;padding-top:10px;border-top:4px solid rgba(0,108,192,.2)}
.steps div.on{border-top-color:var(--azul)}.steps div.ok{border-top-color:var(--verde)}
.trail{display:flex;align-items:flex-start;margin:20px 0 6px}
.st{flex:1;text-align:center;position:relative}
.st::before{content:"";position:absolute;top:21px;left:-50%;width:100%;height:4px;background:rgba(0,108,192,.2)}
.st:first-child::before{display:none}
.st.ok::before,.st.now::before{background:var(--metal)}
.dot{position:relative;z-index:1;width:46px;height:46px;margin:0 auto;border-radius:12px;display:flex;align-items:center;justify-content:center;font:800 17px Poppins;background:#fff;border:2px solid var(--linha2);color:var(--azul)}
.st.ok .dot{background:var(--verde);border-color:var(--verde);color:#fff}
.st.now .dot{background:var(--metal);border:0;color:#fff;box-shadow:0 10px 22px -8px rgba(0,50,90,.8)}
.st p{font:600 12px/1.3 Inter;margin-top:9px;padding:0 4px}
.provas-list{display:grid;gap:12px;margin-top:22px}
.pv{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:14px;box-shadow:var(--sombra);background:#fff}
.pv .ic{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font:800 15px Poppins;color:#fff;background:var(--metal);flex:none}
.pv.ok .ic{background:var(--verde)}
.pv.lock{opacity:.55}
.pv .tx{flex:1}
.pv .tx small{display:block;font:500 12.5px Inter;opacity:.75;margin-top:2px}
.checks{display:grid;gap:10px;margin:14px 0}
.ck{display:flex;align-items:center;gap:12px;font:500 14px Inter}
.ck i{width:24px;height:24px;border-radius:7px;border:2px solid var(--linha2);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;color:#fff;transition:all .3s}
.ck.ok i{background:var(--verde);border-color:var(--verde)}
.exam{min-height:100vh;background:#fff}
.exam-top{display:flex;align-items:center;gap:20px;padding:14px 32px;background:var(--metal-escuro);color:#fff}
.exam-top img{height:26px}
.exam-top .tm{margin-left:auto;font:700 30px var(--mono);letter-spacing:.04em}
.exam-top small{font:600 11px Inter;letter-spacing:.18em;opacity:.8;display:block}
.exam-body{max-width:860px;margin:0 auto;padding:40px 24px;user-select:none;-webkit-user-select:none}
.q-prog{height:6px;border-radius:3px;background:rgba(0,108,192,.16);margin-bottom:26px;overflow:hidden}
.q-prog i{display:block;height:100%;background:var(--metal);transition:width .4s}
.q-txt{font:600 20px/1.5 Inter;margin:12px 0 22px}
.code{font:500 14px/1.6 var(--mono);background:var(--preto);color:#e8f1fa;padding:16px 18px;border-radius:12px;margin:-8px 0 22px;white-space:pre}
.opt{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1.5px solid var(--linha2);border-radius:14px;margin-bottom:12px;font:500 15.5px Inter;cursor:pointer;transition:all .2s;background:#fff}
.opt:hover{border-color:var(--azul);transform:translateX(4px)}
.opt.sel{border-color:var(--azul);box-shadow:0 0 0 4px rgba(0,108,192,.14)}
.opt b{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--linha2);font:700 13px Inter;flex:none}
.opt.sel b{background:var(--metal);border:0;color:#fff}
.end{max-width:640px;margin:10vh auto;text-align:center;padding:0 24px}
.end .big{width:84px;height:84px;margin:0 auto 22px;border-radius:22px;display:flex;align-items:center;justify-content:center;font:800 38px Poppins;color:#fff;box-shadow:var(--sombra-alta)}

/* ===== ADM ===== */
.adm{display:flex;min-height:calc(100vh - 38px)}
.side{width:248px;flex:none;background:var(--metal-escuro);color:#fff;padding:24px 16px;position:sticky;top:38px;height:calc(100vh - 38px)}
.side img{height:26px;margin:4px 8px 30px}
.side a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;font:600 14px Inter;margin-bottom:4px;color:#fff;opacity:.78;text-decoration:none;cursor:pointer;transition:all .2s}
.side a:hover{opacity:1;background:rgba(255,255,255,.08)}
.side a.on{opacity:1;background:rgba(255,255,255,.14);box-shadow:inset 3px 0 0 #4FA3E3}
.side .who{position:absolute;bottom:20px;left:16px;right:16px;font:500 12.5px Inter;opacity:.8;border-top:1px solid rgba(255,255,255,.18);padding-top:14px}
.main{flex:1;padding:30px 36px 60px;min-width:0}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:22px}
.kpi{border-radius:14px;padding:18px;box-shadow:var(--sombra);border-top:4px solid var(--azul);background:#fff}
.kpi:nth-child(even){border-top-color:var(--verde)}
.kpi b{display:block;font:800 32px Poppins}.kpi span{font:600 12.5px Inter}
.filters{display:grid;grid-template-columns:2fr 1.4fr 1.2fr 1.2fr 1.2fr;gap:12px;margin-bottom:12px}
.filters2{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1.6fr auto;gap:12px;align-items:end;margin-bottom:18px}
.filters label,.filters2 label{display:block;font:600 11.5px Inter;letter-spacing:.06em;margin-bottom:5px}
.filters .inp,.filters2 .inp{padding:9px 12px;font-size:13.5px}
table{width:100%;border-collapse:collapse;font:400 13.5px Inter}
th{text-align:left;font:700 10.5px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--azul);padding:10px 10px;border-bottom:2px solid var(--azul);white-space:nowrap}
td{padding:12px 10px;border-bottom:1px solid var(--linha);vertical-align:middle}
tr.click{cursor:pointer;transition:background .15s}
tr.click:hover td{background:rgba(0,108,192,.05)}
.mini{display:flex;align-items:center;gap:8px;min-width:130px}
.mini .meter{max-width:90px}
.tabs{display:flex;gap:6px;border-bottom:2px solid var(--linha);margin:20px 0}
.tabs button{border:0;background:none;padding:10px 16px;font:600 14px Inter;color:var(--preto);opacity:.7;border-bottom:3px solid transparent;margin-bottom:-2px}
.tabs button.on{opacity:1;color:var(--azul);border-bottom-color:var(--azul)}
.ficha-top{display:flex;gap:20px;align-items:center}
.avatar{width:64px;height:64px;border-radius:16px;background:var(--metal);color:#fff;display:flex;align-items:center;justify-content:center;font:800 24px Poppins;box-shadow:var(--sombra);flex:none}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.hist li{list-style:none;padding:10px 0 10px 18px;border-left:2px solid var(--linha2);position:relative;font:400 13.5px Inter}
.hist li::before{content:"";position:absolute;left:-6px;top:15px;width:10px;height:10px;border-radius:3px;background:var(--azul)}
.qtab td:nth-child(3){text-align:center}
.ok-ic{color:var(--verde);font-weight:800}.err-ic{color:var(--alerta);font-weight:800}
.modal-bg{position:fixed;inset:0;background:rgba(5,8,12,.55);z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;animation:sobe .2s both}
.modal{background:#fff;border-radius:20px;box-shadow:var(--sombra-alta);width:min(760px,100%);max-height:90vh;overflow:auto}
.modal .mh{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--linha)}
.modal .mb{padding:20px 24px}
.modal .mf{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--linha)}
.mail{border:1px solid var(--linha);border-radius:14px;overflow:hidden;box-shadow:var(--sombra)}
.mail .mt{height:5px;background:var(--metal)}
.mail .mc{padding:22px 26px;font:400 14.5px/1.6 Inter}
.mail .mc img{height:26px;margin-bottom:16px}
.mail .mc h4{font:700 21px/1.3 Arial,Helvetica,sans-serif;margin-bottom:12px}
.mail .mc h4 span{color:var(--azul)}
.mail .mft{background:var(--metal-escuro);color:#dfe9f3;font:400 11.5px Inter;padding:12px;text-align:center}
.vaga-row{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr auto;gap:14px;align-items:center}
.switch{width:46px;height:26px;border-radius:999px;background:rgba(0,108,192,.25);position:relative;cursor:pointer;transition:background .2s;flex:none;border:0}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.3);transition:left .2s}
.switch.on{background:var(--verde)}.switch.on::after{left:23px}
.wrow{display:grid;grid-template-columns:200px 1fr 60px 110px;gap:12px;align-items:center;margin:8px 0;font:500 13.5px Inter}
input[type=range]{accent-color:var(--azul)}
.iq{padding:16px 18px;border-radius:14px;box-shadow:var(--sombra);margin-bottom:12px;background:#fff}
.iq .tg{font:700 10.5px Inter;letter-spacing:.14em;color:var(--verde);text-transform:uppercase}
.iq p{font:600 15px/1.45 Inter;margin:6px 0 10px}
.iq .ops{display:flex;gap:8px;flex-wrap:wrap}
.iq .ops button{border:1.5px solid var(--linha2);background:#fff;border-radius:10px;padding:7px 12px;font:600 12.5px Inter;transition:all .15s}
.iq .ops button.sel{background:var(--metal);color:#fff;border-color:transparent}
.iq .rub{font:400 12px/1.45 Inter;opacity:.8;margin-top:8px}
.consist{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.empty{padding:30px;text-align:center;opacity:.7}

.top-adm-bar{display:none}
.center{max-width:460px;margin:8vh auto;padding:0 20px}
.err{color:var(--alerta);font:600 13px Inter;margin-top:8px;min-height:18px}
.spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
iframe.prev{width:100%;height:460px;border:1px solid var(--linha);border-radius:12px}
.side .sair{margin-top:10px;cursor:pointer}
@media(max-width:900px){.adm{flex-direction:column}.side{width:100%;height:auto;position:static}.side .who{position:static;margin-top:12px}.kpis{grid-template-columns:repeat(2,1fr)}.filters,.filters2,.grid2,.grid3,.login{grid-template-columns:1fr}.main{padding:20px}}
