:root{
  --ink:#16140C; --amarelo:#FFC600; --ouro:#8A6A12;
  --papel:#F3F1EA; --carta:#FFFFFF; --carvao:#3B382E; --tinta2:#6A6558;
  --borda:#DDD8CA; --borda2:#EAE6DA;
  --verde:#2F6B45; --verdebg:#E2EFE7; --ambar:#8A6A12; --ambarbg:#FBF0CF;
  --vermelho:#A8452F; --vermelhobg:#F8E3DD; --azul:#2B4478; --azulbg:#E2E8F5;
  --r:14px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --papel:#151309; --carta:#1E1B12; --ink:#F5F2E8; --carvao:#DDD8CA; --tinta2:#98937F;
    --borda:#302C1F; --borda2:#26221A; --ouro:#D9B25A;
    --verdebg:#17301F; --ambarbg:#302710; --vermelhobg:#331A13; --azulbg:#171F33;
    --verde:#7FC79B; --ambar:#E0BE63; --vermelho:#E09277; --azul:#9FB4DE;
  }
}
:root[data-theme="dark"]{
  --papel:#151309; --carta:#1E1B12; --ink:#F5F2E8; --carvao:#DDD8CA; --tinta2:#98937F;
  --borda:#302C1F; --borda2:#26221A; --ouro:#D9B25A;
  --verdebg:#17301F; --ambarbg:#302710; --vermelhobg:#331A13; --azulbg:#171F33;
  --verde:#7FC79B; --ambar:#E0BE63; --vermelho:#E09277; --azul:#9FB4DE;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{background:var(--papel);color:var(--ink);font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;}
.disp,h1,h2,h3,.btn,.stp,.chipsel,.tab{font-family:'Outfit',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;}
button,input,select,textarea{font:inherit;color:inherit;}
:focus-visible{outline:2px solid var(--amarelo);outline-offset:2px;border-radius:4px;}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}
.app{max-width:1220px;margin:0 auto;padding:clamp(16px,2.6vw,34px);}

.top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--borda);}
.brand{display:flex;align-items:center;gap:11px;}
.brand .mark{background:var(--amarelo);color:#16140C;font-weight:800;font-family:'Outfit',system-ui,sans-serif;font-size:13px;letter-spacing:.05em;padding:4px 11px;border-radius:100px;}
.brand h1{font-weight:800;font-size:clamp(17px,2.1vw,22px);letter-spacing:-.01em;}
.brand p{color:var(--tinta2);font-size:12.5px;margin-top:1px;}
.steps{display:flex;gap:4px;align-items:center;flex-wrap:wrap;}
.stp{display:flex;align-items:center;gap:7px;padding:6px 12px;border-radius:100px;font-weight:700;font-size:11.5px;color:var(--tinta2);border:1px solid transparent;white-space:nowrap;background:none;cursor:pointer;}
.stp b{width:17px;height:17px;border-radius:50%;background:var(--borda);color:var(--tinta2);display:grid;place-items:center;font-size:10px;font-weight:800;}
.stp.on{color:var(--ink);border-color:var(--borda);background:var(--carta);}
.stp.on b{background:var(--amarelo);color:#16140C;}
.stp.done b{background:var(--verde);color:var(--carta);}
.stp[disabled]{cursor:default;}

.modulos{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap;}
.tab{border:1px solid var(--borda);background:transparent;border-radius:100px;padding:7px 15px;font-weight:700;font-size:13px;cursor:pointer;color:var(--tinta2);}
.tab.on{background:var(--ink);color:var(--papel);border-color:var(--ink);}

.etapa{display:none;padding-top:22px;}
.etapa.on{display:block;}
h2.t{font-weight:800;font-size:clamp(19px,2.4vw,25px);letter-spacing:-.015em;text-wrap:balance;}
p.sub{color:var(--tinta2);font-size:13.5px;margin-top:5px;}

.painel{background:var(--carta);border:1px solid var(--borda);border-radius:var(--r);padding:16px 18px;margin-top:14px;}
.painel > h3{font-weight:800;font-size:14.5px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:3px;}
.painel > h3 span.meta{font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:11.5px;color:var(--tinta2);}
.ctx{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px;}
.campo{display:flex;flex-direction:column;gap:5px;min-width:0;}
.campo label,.rotulo{font-family:'Outfit',system-ui,sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta2);}
.campo label .op,.rotulo .op{font-weight:400;letter-spacing:0;text-transform:none;opacity:.75;}
.campo input,.campo select,.campo textarea,.inp{background:var(--carta);border:1px solid var(--borda);border-radius:9px;padding:8px 10px;font-size:13.5px;width:100%;}
.campo textarea{resize:vertical;min-height:62px;line-height:1.5;}
.campo.wide{grid-column:span 2;} .campo.full{grid-column:1/-1;}
small.dica{font-size:11px;line-height:1.45;color:var(--tinta2);}
small.dica.auto{color:var(--verde);}

.seg{display:inline-flex;border:1px solid var(--borda);border-radius:100px;padding:3px;gap:2px;background:var(--papel);flex-wrap:wrap;}
.seg button{border:0;background:transparent;border-radius:100px;padding:6px 14px;font-family:'Outfit',system-ui,sans-serif;font-weight:700;font-size:12.5px;color:var(--tinta2);cursor:pointer;}
.seg button.on{background:var(--carta);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12);}

.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.chipsel{border:1px solid var(--borda);background:var(--carta);border-radius:100px;padding:5px 12px;font-weight:600;font-size:12.5px;cursor:pointer;color:var(--carvao);display:inline-flex;gap:6px;align-items:center;}
.chipsel.on{background:var(--amarelo);border-color:var(--amarelo);color:#16140C;}
.chipsel .x{opacity:.6;font-weight:800;}

.drop{background:var(--carta);border:1.5px dashed var(--borda);border-radius:var(--r);padding:22px;text-align:center;position:relative;transition:border-color .16s,background .16s;cursor:pointer;}
.drop:hover,.drop.drag{border-color:var(--amarelo);background:color-mix(in srgb,var(--amarelo) 7%,var(--carta));}
.drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.drop .big{font-family:'Outfit',system-ui,sans-serif;font-weight:800;font-size:16px;}
.drop .sm{color:var(--tinta2);font-size:12.5px;margin-top:4px;}
.drop.mini{padding:12px;text-align:left;}
.drop.mini .big{font-size:13.5px;}

.cands{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:14px;}
.cand{background:var(--carta);border:1px solid var(--borda);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:10px;}
.cand .cab{display:flex;gap:8px;align-items:center;}
.cand .cab input{font-family:'Outfit',system-ui,sans-serif;font-weight:800;font-size:15px;border:1px solid transparent;border-radius:8px;padding:4px 6px;background:transparent;flex:1;min-width:0;}
.cand .cab input:hover,.cand .cab input:focus{border-color:var(--borda);background:var(--papel);}
.icone{border:0;background:transparent;color:var(--tinta2);cursor:pointer;font-size:17px;line-height:1;padding:4px 6px;border-radius:8px;}
.icone:hover{background:var(--papel);color:var(--vermelho);}
.slotl{display:grid;grid-template-columns:96px 1fr auto;gap:8px;align-items:center;font-size:12.5px;padding:6px 0;border-top:1px solid var(--borda2);}
.slotl .nm{font-family:'Outfit',system-ui,sans-serif;font-weight:700;}
.slotl .st{color:var(--tinta2);min-width:0;line-height:1.35;}
.slotl .st.ok{color:var(--verde);} .slotl .st.falta{color:var(--ambar);} .slotl .st.erro{color:var(--vermelho);}
.trocar{position:relative;overflow:hidden;font-family:'Outfit',system-ui,sans-serif;font-weight:700;font-size:11.5px;border:1px solid var(--borda);border-radius:100px;padding:3px 10px;cursor:pointer;color:var(--tinta2);background:transparent;}
.trocar:hover{border-color:var(--ink);color:var(--ink);}
.trocar input{position:absolute;inset:0;opacity:0;cursor:pointer;}

.acoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--borda);}
.btn{font-weight:800;font-size:13.5px;padding:10px 20px;border-radius:100px;border:1px solid transparent;cursor:pointer;transition:transform .1s,box-shadow .16s,opacity .16s;}
.btn:active{transform:translateY(1px);}
.btn.pri{background:var(--amarelo);color:#16140C;box-shadow:0 1px 0 rgba(0,0,0,.14);}
.btn.pri:hover{box-shadow:0 3px 12px rgba(255,198,0,.34);}
.btn.sec{background:transparent;border-color:var(--borda);color:var(--ink);}
.btn.sec:hover{border-color:var(--ink);}
.btn.peq{font-size:12px;padding:6px 13px;}
.btn[disabled]{opacity:.42;cursor:not-allowed;box-shadow:none;}
.aviso{font-size:12.5px;color:var(--tinta2);}
.aviso.erro{color:var(--vermelho);} .aviso.ok{color:var(--verde);}
.explica{margin-top:10px;padding:10px 13px;border-radius:10px;background:var(--papel);border:1px solid var(--borda);font-size:12px;line-height:1.55;color:var(--tinta2);}
.explica b{color:var(--ink);}
.relato{display:grid;gap:12px;}
.relato textarea{width:100%;min-height:52px;font-size:13.5px;line-height:1.55;}
.lnk{background:none;border:0;padding:0;margin-left:6px;font:inherit;font-size:10.5px;letter-spacing:0;text-transform:none;color:var(--tinta2);text-decoration:underline;cursor:pointer;}

/* conferência */
.ctabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;}
.resumo-c{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;}
.kpi{background:var(--papel);border-radius:10px;padding:10px 12px;}
.kpi .k{font-family:'Outfit',system-ui,sans-serif;font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta2);}
.kpi .v{font-family:'Outfit',system-ui,sans-serif;font-weight:800;font-size:19px;margin-top:2px;}
.kpi .v small{font-size:12px;color:var(--tinta2);font-weight:600;}
.tab-c{width:100%;border-collapse:collapse;margin-top:10px;font-size:12.5px;}
.tab-c th{font-family:'Outfit',system-ui,sans-serif;font-weight:700;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--tinta2);text-align:left;padding:6px 8px;border-bottom:1px solid var(--borda);}
.tab-c td{padding:9px 8px;border-bottom:1px solid var(--borda2);vertical-align:top;color:var(--carvao);}
.tab-c td:first-child{color:var(--ink);font-weight:600;}
.tab-c select{border:1px solid var(--borda);border-radius:7px;padding:4px 6px;font-size:12px;background:var(--carta);}
.tab-c select.n3,.tab-c select.Atende{background:var(--verdebg);border-color:var(--verde);}
.tab-c select.n2,.tab-c select.Parcial{background:var(--ambarbg);border-color:var(--ambar);}
.tab-c select.n1{background:var(--vermelhobg);border-color:var(--vermelho);}
.tab-c .inp{font-size:12px;padding:5px 8px;margin-top:6px;}
.ev{display:flex;gap:7px;align-items:flex-start;font-size:12px;color:var(--carvao);margin-top:5px;line-height:1.45;}
.ev input{margin-top:3px;accent-color:var(--ouro);}
.ev.off span{text-decoration:line-through;opacity:.5;}
.ms{font-size:11px;color:var(--tinta2);margin-top:4px;}
.mudou{display:inline-block;margin-left:6px;font-size:10px;font-family:'Outfit',system-ui,sans-serif;font-weight:700;color:var(--ouro);}
.pontos{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.ponto{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:flex-start;padding:9px 10px;border:1px solid var(--borda2);border-radius:10px;}
.ponto.off{opacity:.5;}
.ponto input[type=checkbox]{margin-top:4px;accent-color:var(--ouro);}
.ponto .inp{font-size:12.5px;padding:5px 8px;}
.ponto .inp.t{font-family:'Outfit',system-ui,sans-serif;font-weight:700;}
.ponto .linha{display:flex;gap:8px;align-items:center;}
.ponto .linha select{border:1px solid var(--borda);border-radius:7px;padding:4px 6px;font-size:12px;background:var(--carta);}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* saídas */
.saidas{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-top:16px;}
.saida{background:var(--carta);border:1px solid var(--borda);border-radius:var(--r);padding:16px 18px;display:flex;flex-direction:column;gap:10px;}
.saida h4{font-family:'Outfit',system-ui,sans-serif;font-weight:800;font-size:16px;}
.saida .rec{font-family:'Outfit',system-ui,sans-serif;font-weight:800;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:100px;align-self:flex-start;}
.rec.seguir{background:var(--verdebg);color:var(--verde);} .rec.ressalvas{background:var(--ambarbg);color:var(--ambar);} .rec.nao{background:var(--vermelhobg);color:var(--vermelho);}
.saida .lin2{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--borda2);font-size:13px;}
.saida .lin2 .bt{display:flex;gap:6px;}

.nota-rod{margin-top:22px;padding:14px 16px;border-left:3px solid var(--amarelo);background:var(--carta);border-radius:0 var(--r) var(--r) 0;font-size:12.5px;color:var(--tinta2);line-height:1.6;}
.nota-rod b{color:var(--ink);}
footer.rod{margin-top:26px;padding-top:14px;border-top:1px solid var(--borda);font-size:11.5px;color:var(--tinta2);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:var(--papel);padding:10px 18px;border-radius:100px;font-size:13px;font-family:'Outfit',system-ui,sans-serif;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s;z-index:9;}
.toast.on{opacity:1;}
.lista-arq{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:4px;text-align:left;}
.lista-arq li{font-size:12px;color:var(--carvao);display:flex;gap:8px;align-items:baseline;}
.lista-arq li b{font-family:'Outfit',system-ui,sans-serif;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:100px;background:var(--borda2);color:var(--tinta2);white-space:nowrap;}
.lista-arq li b.ok{background:var(--verdebg);color:var(--verde);} .lista-arq li b.erro{background:var(--vermelhobg);color:var(--vermelho);}
.hide{display:none!important;}

@media (max-width:920px){ .ctx{grid-template-columns:1fr 1fr;} .resumo-c{grid-template-columns:1fr 1fr;} .duas{grid-template-columns:1fr;} }
@media (max-width:600px){
  .ctx{grid-template-columns:1fr!important;} .campo.wide,.campo.full{grid-column:span 1;}
  .steps{display:none;}
}

body::before{content:"";display:block;height:6px;background:var(--amarelo);}
.campo label,.rotulo{font-size:12px;}
small.dica{font-size:12px;}
.slotl{font-size:13px;}
.trocar{min-height:32px;display:inline-flex;align-items:center;padding:4px 12px;font-size:12.5px;}
.chipsel{min-height:34px;font-size:13px;}
.chipsel .num{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(0,0,0,.12);font-size:11px;font-weight:800;}
.chipsel.mais{border-style:dashed;color:var(--tinta2);}
.btn.peq{min-height:32px;}
.ev input,.ponto input[type=checkbox]{width:16px;height:16px;flex:none;}
.tipo{font-family:'Outfit',system-ui,sans-serif;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ouro);margin-right:4px;}
.invalido{border-color:var(--vermelho)!important;background:var(--vermelhobg)!important;}
.explica.alerta{border-color:var(--ambar);background:var(--ambarbg);color:var(--carvao);}
.painel-alerta{border-color:var(--ambar);box-shadow:0 0 0 3px color-mix(in srgb,var(--amarelo) 25%,transparent);}
.painel.destaque{border-left:4px solid var(--amarelo);}
details.recolhido > summary{cursor:pointer;font-family:'Outfit',system-ui,sans-serif;font-size:14.5px;list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;}
details.recolhido > summary::before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--borda2);font-weight:800;}
details.recolhido[open] > summary::before{content:"−";}
details.recolhido > summary .meta{font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:12px;color:var(--tinta2);}
details.recolhido h4{font-family:'Outfit',system-ui,sans-serif;font-weight:800;font-size:13.5px;margin:16px 0 0;}
details.explica > summary{cursor:pointer;}
.ms.ressalva{color:var(--vermelho);}
.expl{padding:7px 0;border-bottom:1px dashed var(--borda2);}
.expl:last-of-type{border-bottom:0;}
.expl-t{font-size:12.5px;color:var(--carvao);margin-bottom:4px;}
.tab-c select.Sem{background:var(--carta);}
.ok-mark{color:var(--verde);font-weight:900;margin-right:6px;}
.sel-kpi{font-family:'Outfit',system-ui,sans-serif;font-weight:800;font-size:14px;padding:3px 6px;}
.saida .row{display:flex;gap:6px;flex-wrap:wrap;}
.saida .lin2 small{color:var(--tinta2);font-size:11.5px;}
.barra{position:sticky;bottom:0;z-index:5;margin:18px calc(-1*clamp(16px,2.6vw,34px)) 0;padding:12px clamp(16px,2.6vw,34px);background:var(--carta);border-top:1px solid var(--borda);box-shadow:0 -6px 18px rgba(0,0,0,.06);display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.barra .rec{font-family:'Outfit',system-ui,sans-serif;font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:100px;}
.barra label{display:flex;gap:8px;align-items:center;font-family:'Outfit',system-ui,sans-serif;font-weight:700;font-size:13.5px;cursor:pointer;}
.barra label input{width:18px;height:18px;accent-color:var(--verde);}
.barra .esp{flex:1;}
.so-pc{display:none;}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .tab-c select.n3,:root:not([data-theme="light"]) .tab-c select.Atende{background:var(--carta);}
  :root:not([data-theme="light"]) .tab-c select.n2,:root:not([data-theme="light"]) .tab-c select.Parcial{background:var(--carta);}
  :root:not([data-theme="light"]) .tab-c select.n1{background:var(--carta);}
}
@media (max-width:700px){
  .so-pc{display:block;margin-top:12px;padding:10px 13px;border-radius:10px;background:var(--ambarbg);border:1px solid var(--ambar);font-size:12.5px;color:var(--carvao);}
  .tab-c thead{display:none;}
  .tab-c,.tab-c tbody,.tab-c tr,.tab-c td{display:block;width:100%!important;}
  .tab-c tr{border:1px solid var(--borda2);border-radius:10px;padding:8px 10px;margin-top:8px;}
  .tab-c td{border:0;padding:4px 0;}
  .tab-c th:nth-child(4),.tab-c td:nth-child(4){display:block;}
  .resumo-c{grid-template-columns:1fr 1fr;}
  .barra{gap:8px;}
}

/* ---------- versão online: entrada, sessão, IA e envio ---------- */
.entrada{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;gap:14px;}
.cartao-entrada{width:100%;max-width:420px;background:var(--carta);border:1px solid var(--borda);border-radius:18px;padding:28px 26px;display:flex;flex-direction:column;gap:12px;}
.cartao-entrada h1{font-weight:800;font-size:24px;letter-spacing:-.01em;margin-top:6px;}
.cartao-entrada .sub{margin-top:0;}
.logo-entrada{width:120px;height:auto;display:block;}
.passo-entrada{display:flex;flex-direction:column;gap:10px;margin-top:4px;}
.passo-entrada .btn{width:100%;}
#e-codigo{font-family:'Outfit',system-ui,sans-serif;font-size:22px;letter-spacing:.3em;text-transform:uppercase;text-align:center;}
.rodape-entrada{font-size:11.5px;color:var(--tinta2);text-align:center;}
.logo-marca{width:64px;height:auto;display:block;}
.usuario{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--tinta2);margin-left:auto;}
.top .steps{order:3;width:100%;}
@media (min-width:1000px){ .top .steps{order:0;width:auto;} }
.painel.destaque-ia{border-left:4px solid var(--ink);}
.ia-andamento{display:flex;gap:10px;align-items:center;margin-top:10px;font-size:13.5px;color:var(--ink);}
.ponto-vivo{width:10px;height:10px;border-radius:50%;background:var(--amarelo);box-shadow:0 0 0 0 rgba(255,198,0,.6);animation:pulso 1.4s infinite;flex:none;}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(255,198,0,.6);}70%{box-shadow:0 0 0 10px rgba(255,198,0,0);}100%{box-shadow:0 0 0 0 rgba(255,198,0,0);}}
h4.sub-ia{font-family:'Outfit',system-ui,sans-serif;font-weight:800;font-size:13.5px;margin:18px 0 0;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;}
h4.sub-ia .meta{font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:12px;color:var(--tinta2);}
details.recolhido-ia{margin-top:16px;border-top:1px solid var(--borda2);padding-top:12px;}
details.recolhido-ia > summary{cursor:pointer;font-family:'Outfit',system-ui,sans-serif;font-size:14.5px;list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;}
details.recolhido-ia > summary::before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--borda2);font-weight:800;}
details.recolhido-ia[open] > summary::before{content:"−";}
details.recolhido-ia > summary .meta{font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:12px;color:var(--tinta2);}
.tabela-ia{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.linha-ia{display:grid;grid-template-columns:2fr 2fr 1.3fr;gap:10px;}
.linha-ia.l3{grid-template-columns:2fr 150px 3fr;}
.pilar-ia{border:1px solid var(--borda2);border-radius:10px;padding:10px 12px;margin-top:10px;display:flex;flex-direction:column;gap:8px;}
.exp-ia .campo input[disabled]{color:var(--carvao);}
.campo input[disabled]{background:var(--papel);}
ul.li-tela{margin:6px 0 0 18px;} ul.li-tela li{margin:3px 0;}
.envio{border-top:1px solid var(--borda2);padding-top:8px;}
.linha-anexos{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:10px;}
.linha-anexos .ev{margin-top:0;}
.rec.ia{background:var(--azulbg);color:var(--azul);} .rec.regras{background:var(--borda2);color:var(--tinta2);}
@media (max-width:700px){ .linha-ia,.linha-ia.l3{grid-template-columns:1fr;} .usuario{margin-left:0;} }

/* =====================================================================
   VISUAL DA PLATAFORMA DE ADMISSÃO: menu lateral branco, topo branco com
   quem está usando, fundo off-white, cartões com borda fina, item ativo em
   amarelo claro. Mesmas cores, cantos, campos e botões dos sistemas Cimed.
   ===================================================================== */
:root{
  --papel:#F8F6F1; --carta:#FFFFFF; --ink:#1D1B16; --carvao:#4A463C; --tinta2:#6A6558;
  --borda:#ECE7DA; --borda2:#F3F0E8; --ativo:#FFF4CC; --ativo-borda:#E8C548;
  --verde:#1E6B45; --verdebg:#E3F2E9; --ambar:#8A5300; --ambarbg:#FFF0D1;
  --vermelho:#A3241B; --vermelhobg:#FBE4E1; --azul:#1F4E8C; --azulbg:#E2ECF8; --ouro:#8A5300;
  --r:14px; --gut:clamp(16px,2.4vw,32px); --sombra:0 1px 2px rgba(29,27,22,.04);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --papel:#121109; --carta:#1B1912; --ink:#F4F1E7; --carvao:#D6D1C2; --tinta2:#A39E8D;
    --borda:#34312A; --borda2:#24221A; --ativo:#3A3212; --ativo-borda:#8A7220;
    --verde:#7BD3A2; --verdebg:#16301F; --ambar:#F2B55A; --ambarbg:#33270F;
    --vermelho:#FF8F84; --vermelhobg:#3A1A16; --azul:#8DB6F0; --azulbg:#172338; --ouro:#F2B55A;
    --sombra:0 1px 2px rgba(0,0,0,.4); color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --papel:#121109; --carta:#1B1912; --ink:#F4F1E7; --carvao:#D6D1C2; --tinta2:#A39E8D;
  --borda:#34312A; --borda2:#24221A; --ativo:#3A3212; --ativo-borda:#8A7220;
  --verde:#7BD3A2; --verdebg:#16301F; --ambar:#F2B55A; --ambarbg:#33270F;
  --vermelho:#FF8F84; --vermelhobg:#3A1A16; --azul:#8DB6F0; --azulbg:#172338; --ouro:#F2B55A;
  --sombra:0 1px 2px rgba(0,0,0,.4); color-scheme:dark;
}
html,body{height:100%}
body{font-size:14px}
body::before{display:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 5px var(--amarelo)}
.drop:focus-within,.trocar:focus-within{outline:2px solid var(--ink);outline-offset:2px}

/* casca: menu lateral + conteúdo */
.casca{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100%}
.menu{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--carta);border-right:1px solid var(--borda);padding:16px 12px;display:flex;flex-direction:column;gap:2px}
.marca-lateral{display:flex;align-items:center;gap:10px;padding:2px 6px 16px}
.marca-lateral .logo-marca{width:58px;flex:none}
.marca-lateral b{display:block;font-family:'Outfit',system-ui,sans-serif;font-weight:600;font-size:14px;line-height:1.2;color:var(--ink)}
.marca-lateral small{display:block;color:var(--tinta2);font-size:11.5px;margin-top:2px}
.menu .rot{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--tinta2);font-weight:700;padding:6px 10px 4px}
.menu .divisor{height:1px;background:var(--borda);margin:12px 4px 6px}
.menu .steps,.menu .modulos{display:flex;flex-direction:column;gap:2px;margin:0}
.menu .stp,.menu .tab{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:10px;cursor:pointer;
  font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:13.5px;color:var(--carvao);white-space:nowrap}
.menu .stp:hover:not(.trava),.menu .tab:hover{background:var(--borda2)}
.menu .stp.on,.menu .tab.on{background:var(--ativo);color:var(--ink);font-weight:600;border-color:transparent}
.menu .stp b{width:20px;height:20px;border-radius:50%;background:var(--borda2);color:var(--tinta2);display:inline-grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.menu .stp.on b{background:var(--amarelo);color:#16140C}
.menu .stp.done b{background:var(--verdebg);color:var(--verde)}
.menu .stp.trava{cursor:help;color:var(--tinta2)}
.menu .stp.trava b{opacity:.6}
.menu .stp .falta{display:block;font-size:12px;font-weight:500;line-height:1.3;color:var(--tinta2);white-space:normal;margin-top:1px}
.menu .stp .falta:empty{display:none}
.menu .stp .falta{display:none}
.menu .stp.trava:hover .falta:not(:empty),.menu .stp.trava:focus-visible .falta:not(:empty){display:block}
.menu .ico{width:17px;height:17px;flex:none}
.menu .rot-item{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.menu .rodape-menu{margin-top:auto;padding:12px 10px 4px;font-size:12px;color:var(--tinta2);display:flex;flex-direction:column;gap:6px}
.menu .rodape-menu a{color:var(--tinta2)}

.conteudo{min-width:0;display:flex;flex-direction:column}
.topo{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;background:var(--carta);border-bottom:1px solid var(--borda);padding:10px var(--gut);color:var(--ink)}
.selo-sigilo{font-size:11.5px;font-weight:600;color:var(--azul);background:var(--azulbg);border-radius:999px;padding:4px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.quem{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin-left:auto;flex:none}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--borda2);color:var(--carvao);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.quem .btn.sec{border-radius:10px}

main.app{max-width:1500px;width:100%;margin:0;padding:22px var(--gut) 48px}

/* títulos e textos */
.olho{display:block;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;color:var(--tinta2);margin-bottom:8px}
.etapa{padding-top:0}
h2.t{font-weight:700;font-size:28px;letter-spacing:-.3px}
p.sub{font-size:14.5px;color:var(--tinta2);margin-top:8px}

/* cartões */
.painel,.cand,.saida{border-radius:var(--r);border-color:var(--borda);box-shadow:var(--sombra)}
.painel{padding:20px 22px;margin-top:16px}
.painel > h3{font-weight:600;font-size:15.5px;margin-bottom:4px}
.painel > h3 span.meta{font-size:12px}
.saida h4,.cand .cab input{font-weight:700}
.nota-rod{border-radius:0 var(--r) var(--r) 0}

/* campos */
.ctx{gap:16px}
.campo{gap:6px}
.campo label,.rotulo{font-family:'Inter',system-ui,sans-serif;font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--carvao);line-height:1.3}
.campo input:not([type=checkbox]):not([type=radio]),.campo select,.campo textarea,.inp{min-height:42px;border:1px solid var(--borda);border-radius:10px;padding:9px 12px;font-size:14px;line-height:1.35;background:var(--carta);transition:border-color .15s,box-shadow .15s}
.tab-c .inp,.ponto .inp{min-height:34px;padding:6px 10px;font-size:13px}
.campo input::placeholder,.campo textarea::placeholder,.inp::placeholder{color:var(--tinta2);opacity:1}
.campo input:not([type=checkbox]):not([type=radio]):focus,.campo select:focus,.campo textarea:focus,.inp:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--amarelo)}
small.dica{font-size:12px;color:var(--tinta2)}

/* seletor de opções, como na Admissão */
.seg{border-radius:10px;padding:0;gap:0;background:var(--carta);overflow:hidden}
.seg button{border-radius:0;padding:8px 14px;font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:13px;color:var(--carvao)}
.seg button + button{border-left:1px solid var(--borda)}
.seg button.on{background:var(--ink);color:var(--carta);box-shadow:none}

/* botões */
.btn{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:13.5px;border-radius:12px;min-height:42px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn.pri{background:var(--amarelo);border-color:var(--amarelo);color:#16140C;box-shadow:none}
.btn.pri:hover{box-shadow:none;filter:brightness(.97)}
.btn.sec{background:var(--carta);border-color:var(--borda);color:var(--carvao)}
.btn.sec:hover{border-color:var(--tinta2)}
.btn.peq{min-height:34px;padding:6px 12px;font-size:12.5px;border-radius:10px}

/* chips e abas de candidato */
.chipsel,.ctabs .tab,.trocar{font-family:'Inter',system-ui,sans-serif;font-weight:600}
.ctabs .tab{border-radius:10px;font-size:13px}
.ctabs .tab.on{background:var(--ink);color:var(--carta);border-color:var(--ink)}
.chipsel.on{background:var(--ativo);border-color:var(--ativo-borda);color:var(--ink)}
.saida .rec,.barra .rec{font-family:'Inter',system-ui,sans-serif;font-weight:700;letter-spacing:.04em}
.kpi{background:var(--borda2)}

/* barra fixa da conferência acompanha a nova margem */
.barra{margin:18px calc(-1*var(--gut)) 0;padding:12px var(--gut)}
.toast{font-family:'Inter',system-ui,sans-serif;font-weight:600;border-radius:12px}

/* entrada (login) igual à da Admissão */
.entrada{min-height:100%;padding:40px 16px}
.cartao-entrada{border-radius:var(--r);border-color:var(--borda);padding:28px;gap:14px;box-shadow:var(--sombra)}
.cartao-entrada h1{font-weight:700;font-size:22px;margin-top:4px;letter-spacing:0}
.cartao-entrada .sub{font-size:13px;margin-top:-6px}
.logo-entrada{width:96px}
.passo-entrada .btn.pri{background:var(--ink);border-color:var(--ink);color:var(--carta)}
#e-codigo{font-family:'Outfit',system-ui,sans-serif}

/* celular: menu vira faixa de botões, como na Admissão */
@media (max-width:860px){
  .casca{grid-template-columns:minmax(0,1fr)}
  .menu{position:static;height:auto;flex-direction:row;align-items:center;overflow-x:auto;border-right:0;border-bottom:1px solid var(--borda);padding:8px 12px;gap:4px}
  .marca-lateral,.menu .divisor,.menu .rot,.menu .rodape-menu{display:none}
  .menu .steps,.menu .modulos{flex-direction:row;flex-wrap:nowrap;flex:none;gap:4px}
  .menu .stp,.menu .tab{width:auto;flex:none}
  .menu .stp .falta{display:none}
  .quem-nome{display:none}
  h2.t{font-size:24px}
}
@media (max-width:600px){ .menu .steps{display:flex} .selo-sigilo{display:none} }

/* botões dos cartões de parecer numa linha só */
.saida .lin2{flex-wrap:wrap}
.saida .lin2 .bt{flex-wrap:wrap;justify-content:flex-end}
.saida .lin2 .btn{white-space:nowrap}
@media (max-width:700px){ .so-pc{margin:0 0 16px} }

/* revisão de 27/10: grades ocupam a largura toda (sem coluna vazia), selo de rascunho próprio */
.cands{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr))}
.saidas{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr))}
.slotl{grid-template-columns:110px minmax(0,1fr) auto}
/* um cartão só ocupa a linha inteira, mesmo com o aviso que atravessa a grade */
.saidas:not(:has(.saida ~ .saida)) .saida,.cands:not(:has(.cand ~ .cand)) .cand{grid-column:1/-1}
.rec.rascunho{background:transparent;border:1px dashed var(--ambar);color:var(--ambar)}

/* rodada 2: andamento da IA nas abas de candidato e barra do Revisei */
.ctabs .tab .st-aba{display:block;font-size:11.5px;font-weight:500;margin-top:2px;color:var(--tinta2)}
.ctabs .tab.on .st-aba{color:inherit;opacity:.85}
.ctabs .tab .st-aba.and{color:var(--azul)}
.ctabs .tab .st-aba.erro{color:var(--vermelho)}
.ctabs .tab .st-aba.pend{color:var(--ambar)}
.ctabs .tab .st-aba.pronto{color:var(--ambar)}
.ctabs .tab .st-aba.ok{color:var(--verde)}
.ctabs .tab.on .st-aba.and,.ctabs .tab.on .st-aba.erro,.ctabs .tab.on .st-aba.pend,.ctabs .tab.on .st-aba.pronto,.ctabs .tab.on .st-aba.ok{color:inherit}
.barra input:disabled + span{opacity:.6}
.barra label:has(input:disabled){cursor:not-allowed}
.saida .lin2 .ev{font-size:13px}
.saida .lin2 small.dica{display:block;margin-top:2px}

/* rodada 3: celular, acessibilidade e restos do visual antigo */
@media (max-width:860px){
  .menu{position:sticky;top:0;z-index:31;scrollbar-width:none}
  .menu::-webkit-scrollbar{display:none}
  .topo{position:static}
  .marca-lateral{display:flex;padding:0 8px 0 2px;flex:none}
  .marca-lateral .logo-marca{width:44px}
  .marca-lateral div{display:none}
}
.ponto{grid-template-columns:28px 1fr}
.ev input,.ponto input[type=checkbox]{width:20px;height:20px}
.kpi .k,.tab-c th{font-family:'Inter',system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--carvao)}
.mudou,.ms{font-size:12px}
.lnk{font-size:12px;min-height:24px}
.painel.destaque,.painel.destaque-ia{border-left-width:1px}
.painel.destaque > h3::after{content:"revise primeiro";margin-left:8px;font-family:'Inter',system-ui,sans-serif;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--ambarbg);color:var(--ambar);vertical-align:middle}
.dono-tr{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.dono-tr select,.dono-tr input{min-height:34px;border:1px solid var(--borda);border-radius:10px;padding:4px 10px;font:inherit;background:var(--carta);color:var(--ink)}
.envio .linha-anexos{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:10px}
.envio .linha-anexos .ev.off span{color:var(--tinta2)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .tab-c select{border-color:var(--tinta2)}
  :root:not([data-theme="light"]) .tab-c select.Atende,:root:not([data-theme="light"]) .tab-c select.n3{background:color-mix(in srgb,var(--verde) 14%,var(--carta))}
  :root:not([data-theme="light"]) .tab-c select.Parcial,:root:not([data-theme="light"]) .tab-c select.n2{background:color-mix(in srgb,var(--ambar) 14%,var(--carta))}
  :root:not([data-theme="light"]) .tab-c select.Não,:root:not([data-theme="light"]) .tab-c select.Sem,:root:not([data-theme="light"]) .tab-c select.n1,:root:not([data-theme="light"]) .tab-c select.n0{background:color-mix(in srgb,var(--vermelho) 14%,var(--carta))}
  :root:not([data-theme="light"]) .chipsel .num{background:color-mix(in srgb,var(--ink) 14%,transparent)}
}
