:root{--azul-noite:#0E1B2C;--azul-profundo:#17293F;--azul-medio:#24405F;--dourado:#C9A24B;--dourado-claro:#E4C87F;--creme:#F6F4EE;--branco:#FFF;--tinta:#1D2A38;--cinza:#6B7686;--linha:#E3E0D6;--verde:#2E7D5B;--verde-f:#E8F3EE;--verm:#B54141;--verm-f:#F9ECEC;--ambar:#9A7B26;--ambar-f:#F7F0DD;--raio:12px}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Public Sans',sans-serif;background:var(--creme);color:var(--tinta);font-size:15px;line-height:1.5}
h2,h3,.brand,.brand-login,.kpi .n,.card .nome{font-family:'Bitter',serif}
button{font-family:inherit;cursor:pointer;border:none}
input,select{font-family:inherit;font-size:15px}
a{text-decoration:none;color:inherit}

.fundo-login{background:linear-gradient(160deg,var(--azul-noite),var(--azul-profundo) 60%,var(--azul-medio));min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{background:var(--branco);border-radius:16px;padding:36px 30px;width:100%;max-width:380px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.brand-mark{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:6px}
.knight{width:40px;height:40px;border-radius:10px;background:var(--azul-noite);color:var(--dourado);display:flex;align-items:center;justify-content:center;font-size:24px}
.brand-login{font-size:26px;font-weight:700;color:var(--azul-noite)}
.brand-login b,.brand b{color:var(--dourado)}
.login-sub{text-align:center;color:var(--cinza);font-size:13px;margin-bottom:24px}
.login-foot{text-align:center;font-size:12px;color:var(--cinza);margin-top:20px}

.app{max-width:1080px;margin:0 auto;padding:20px 16px 36px}
.app-header{margin-bottom:22px}
.app-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand{font-size:20px;font-weight:700;color:var(--azul-noite)}
.user-chip{display:flex;align-items:center;gap:8px;background:var(--branco);border:1px solid var(--linha);border-radius:24px;padding:6px 12px 6px 6px;font-size:13px;max-width:100%}
.user-chip .av{width:28px;height:28px;border-radius:50%;background:var(--azul-noite);color:var(--dourado);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}
.perfil-chip{font-size:11px;font-weight:700;color:var(--azul-medio);background:#E9EEF5;border-radius:20px;padding:3px 8px;white-space:nowrap}
.user-chip .sair{color:var(--verm);font-weight:700;margin-left:2px}
.nav-principal{display:flex;gap:6px;align-items:center;overflow-x:auto;padding:9px 2px 2px;scrollbar-width:thin}
.nav-principal a{white-space:nowrap;background:var(--branco);border:1px solid var(--linha);border-radius:9px;color:var(--azul-medio);font-size:13px;font-weight:700;padding:8px 11px}
.nav-principal a:hover,.nav-principal a:focus{background:var(--azul-noite);border-color:var(--azul-noite);color:var(--dourado);outline:none}
.app-footer{border-top:1px solid var(--linha);margin-top:34px;padding-top:16px}
.nav-rodape{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:12.5px;font-weight:700;color:var(--azul-medio)}
.nav-rodape a:hover,.nav-rodape a:focus{text-decoration:underline;color:var(--azul-noite);outline:none}
.rodape{color:var(--cinza);font-size:11.5px;text-align:center;margin-top:10px}
@media(max-width:650px){
  .app{padding:14px 12px 28px}
  .app-top{align-items:flex-start}
  .user-chip{width:100%;justify-content:flex-start}
  .user-chip > span:not(.perfil-chip){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}
  .nav-principal{margin:0 -12px;padding:9px 12px 3px}
  .nav-principal a{font-size:12.5px;padding:8px 10px}
  .nav-rodape{gap:10px 14px}
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--dourado);outline-offset:2px}

.fluxo{display:flex;background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;margin-bottom:22px}
.passo{flex:1;padding:12px 10px;text-align:center;font-size:13px;color:var(--cinza);border-right:1px solid var(--linha)}
.passo:last-child{border-right:0}
.passo b{display:block;font-size:15px;color:var(--azul-noite);font-family:'Bitter',serif}
.passo.ativo{background:var(--azul-noite);color:#B9C6D6}
.passo.ativo b{color:var(--dourado)}

.busca{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.busca input{flex:1;min-width:200px;padding:11px 14px;border:1.5px solid var(--linha);border-radius:10px;background:var(--branco)}
.btn-novo{background:var(--dourado);color:var(--azul-noite);font-weight:700;border-radius:10px;padding:11px 18px;display:inline-block}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.card{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:16px;box-shadow:0 2px 10px rgba(14,27,44,.08)}
.card .nome{font-weight:600;font-size:16px;color:var(--azul-noite)}
.card .info{font-size:13px;color:var(--cinza);margin:4px 0 10px}
.tag{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:20px}
.tag.ok{background:var(--verde-f);color:var(--verde)}.tag.pend{background:var(--ambar-f);color:var(--ambar)}
.tag.inad{background:var(--verm-f);color:var(--verm)}.tag.novo{background:#E9EEF5;color:var(--azul-medio)}
.rail{display:flex;gap:4px;margin:10px 0}
.rail i{flex:1;height:5px;border-radius:3px;background:var(--linha)}
.rail i.f{background:var(--dourado)}
.acao{display:flex;gap:8px;margin-top:10px}
.mini{flex:1;text-align:center;padding:8px;border-radius:8px;font-size:13px;font-weight:600;background:#F0EDE4;color:var(--azul-noite)}
.mini.p{background:var(--azul-noite);color:var(--dourado)}

.form-bloco{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:20px;margin-bottom:16px}
.form-bloco h3{font-size:15px;color:var(--azul-noite);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--dourado);display:inline-block}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.grid2{grid-template-columns:1fr}}
.campo label{display:block;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--cinza);margin-bottom:5px}
.campo input,.campo select{width:100%;padding:11px 12px;border:1.5px solid var(--linha);border-radius:10px;background:#FCFBF8}
.campo input:focus,.campo select:focus{outline:2px solid var(--dourado);border-color:var(--dourado)}
.campo{margin-bottom:10px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;margin-top:10px}
.check input{margin-top:3px;accent-color:var(--dourado)}
.nav-form{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}
.btn-sec{background:#EDEAE0;color:var(--azul-noite);font-weight:600;padding:12px 20px;border-radius:10px;display:inline-block}
.btn-pri{background:var(--azul-noite);color:var(--dourado);font-weight:700;padding:12px 24px;border-radius:10px;display:inline-block}
.btn-ouro{width:100%;background:var(--dourado);color:var(--azul-noite);font-weight:700;font-size:15px;padding:13px;border-radius:10px;margin-top:6px}
.btn-bloco{display:block;text-align:center;margin-bottom:8px}
.erro{background:var(--verm-f);color:var(--verm);border-radius:8px;padding:10px 14px;font-size:13.5px;margin-bottom:12px;font-weight:600}
.okmsg{background:var(--verde-f);color:var(--verde);border-radius:8px;padding:10px 14px;font-size:13.5px;margin-bottom:12px;font-weight:600}
.dica{background:var(--ambar-f);border-left:4px solid var(--dourado);border-radius:8px;padding:10px 14px;font-size:13px;margin-top:12px;color:#5c4a12}

.grid-ficha{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
@media(max-width:760px){.grid-ficha{grid-template-columns:1fr}}
.ck-linha{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ck{width:24px;height:24px;border-radius:6px;border:2px solid var(--linha);background:var(--branco);color:var(--verde);font-weight:700}
.ck.on{background:var(--verde-f);border-color:var(--verde)}
.riscado{text-decoration:line-through;color:var(--cinza)}
.anexo-linha,.tl{font-size:13.5px;margin-bottom:7px;border-bottom:1px dashed var(--linha);padding-bottom:6px}
.tl small{color:var(--cinza)}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.kpi{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:14px 16px}
.kpi .n{font-size:20px;font-weight:700;color:var(--azul-noite)}
.kpi .l{font-size:12px;color:var(--cinza);text-transform:uppercase;letter-spacing:.05em}
.kpi.verde .n{color:var(--verde)}.kpi.verm .n{color:var(--verm)}
.tab-wrap{overflow-x:auto;border-radius:var(--raio)}
table{width:100%;border-collapse:collapse;background:var(--branco);border:1px solid var(--linha)}
th{background:var(--azul-noite);color:#C7D0DC;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:11px 12px;text-align:left}
td{padding:10px 12px;border-top:1px solid var(--linha);font-size:14px;vertical-align:top}
.linha-acoes{display:flex;gap:6px;margin-bottom:6px;align-items:center}
.mini-input{padding:7px 9px;border:1.5px solid var(--linha);border-radius:8px;font-size:12.5px;width:170px;background:#FCFBF8}
@media(max-width:600px){td,th{padding:8px;font-size:13px}.mini-input{width:120px}}

/* v1.1 — anexos e etapas */
.anexo-flex{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.anexo-btns{display:flex;gap:6px}
.anexo-btns .mini{flex:none;padding:6px 12px;font-size:12.5px}
.mini.excluir{background:var(--verm-f);color:var(--verm)}
.etapa-atual{font-size:13.5px;margin-bottom:8px}
.campo-status{padding:9px 10px;border:1.5px solid var(--linha);border-radius:8px;background:#FCFBF8;flex:1}

/* v1.2 — lista de documentos */
.doc-lista{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.doc{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:14px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:space-between}
.doc .dnome{font-weight:600;color:var(--azul-noite);font-size:14.5px}
.doc .dsub{font-size:12.5px;color:var(--cinza)}
.doc .dmeio{flex:1;min-width:200px}
.doc .dacoes{display:flex;gap:6px;flex-wrap:wrap}
.doc .dacoes .mini{flex:none;padding:8px 12px}

/* v1.3 — documentos e trilha de etapas */
.doc .ic{width:42px;height:42px;border-radius:9px;background:var(--azul-noite);color:var(--dourado);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.doc.apagado{opacity:.6}
.doc .dnome .tag{margin-left:6px}
.etapa-trilha{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:4px}
.etapa-pt{font-size:11px;font-weight:600;padding:5px 9px;border-radius:14px;background:#EDEAE0;color:var(--cinza);border:1px solid var(--linha)}
.etapa-pt.feita{background:var(--verde-f);color:var(--verde);border-color:var(--verde)}
.etapa-pt.atual{background:var(--azul-noite);color:var(--dourado);border-color:var(--azul-noite)}
.etapa-pt.excep{background:var(--ambar-f);color:var(--ambar)}
details.excecao summary{font-size:12.5px;color:var(--cinza);cursor:pointer;margin-top:4px}

/* v1.6 — gestão de usuários */
.lk-admin{color:var(--azul-medio);font-weight:600}

/* v1.7 — código de segurança antifraude */
.cod-seg{border:2px solid var(--dourado);background:#FBF7EA}
.cod-valor{font-family:'Bitter',serif;font-size:26px;font-weight:700;letter-spacing:.12em;color:var(--azul-noite);text-align:center;background:var(--branco);border:1.5px dashed var(--dourado);border-radius:10px;padding:10px;margin:4px 0}

/* v1.8 — edição de usuários */
details.ed-user summary{cursor:pointer;list-style:none;display:inline-block;margin-bottom:6px}
.ed-form{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px;max-width:240px}
.ed-form .mini-input{width:100%}

/* v1.10 — relatórios */
.linha-total td{background:#F3F0E6;border-top:2px solid var(--dourado)}
a.etapa-pt{text-decoration:none}
@media print{
  .user-chip,.rodape,.dica,.app-top .brand{display:none}
  body{background:#fff}
  .form-bloco{border:none;padding:0;margin-bottom:22px}
  th{color:#000;background:#eee}
}

/* v1.12 — canceladas consolidadas */
.linha-cancelada td{background:#F1EFE8;color:var(--cinza);font-size:13px}

/* v1.14 — visualizar senha */
.senha-wrap{position:relative;display:flex;align-items:center;gap:0}
.senha-wrap input{padding-right:42px !important;flex:1}
.olho{position:absolute;right:6px;background:transparent;border:none;font-size:16px;cursor:pointer;padding:4px;line-height:1}

/* v1.15 — exclusão de cadastro e auditoria */
.zona-perigo{border:2px solid var(--verm);background:#FCF5F5}
.btn-perigo{background:var(--verm);color:#fff;font-weight:700;padding:12px 20px;border-radius:10px;width:100%}
.btn-perigo:hover{background:#9c3232}
