/* NIP · EABM — padrões do layout aprovado em 08/10/2026 (app/prototipo) */
:root{
  --bordo:#B83437; --bordo-esc:#8E2729; --bordo-claro:#F7E9E9;
  --cinza-box:#A9ABAE; --cinza-nome:#848688;
  --tinta:#232426; --tinta-2:#3D3F42; --tinta-sec:#5C5E61;
  --fundo:#F5F5F6; --borda:#E3E4E6; --linha:#EEEFF0; --branco:#FFFFFF;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Source Sans 3',system-ui,sans-serif;color:var(--tinta);background:var(--fundo);font-size:16px;line-height:1.45}
a{color:var(--bordo)} a:hover{color:var(--bordo-esc)}
h1,h2,.serif{font-family:'EB Garamond',Georgia,serif;font-weight:600}
input,select,textarea,button{font-family:inherit;font-size:16px}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--bordo);outline-offset:1px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* campos */
.campo{display:flex;flex-direction:column;gap:6px}
.campo label,.rotulo{font-size:14px;font-weight:600}
.campo input[type=text],.campo input[type=email],.campo input[type=password],.campo input[type=date],.campo input[type=search],.campo select,.campo textarea{
  height:46px;border:1px solid var(--cinza-box);border-radius:6px;padding:0 14px;color:var(--tinta);background:var(--branco);width:100%}
.campo textarea{height:auto;padding:12px 14px;resize:vertical}
.campo select{padding:0 10px}
.ajuda{font-size:13px;color:var(--tinta-sec)}
.erro-campo{font-size:14px;color:var(--bordo-esc);font-weight:600}
.errorlist{list-style:none;margin:0;padding:0;font-size:14px;color:var(--bordo-esc);font-weight:600}
.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.4;cursor:pointer}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--bordo);flex:none}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border-radius:6px;border:0;
  background:var(--bordo);color:#fff;font-weight:700;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--bordo-esc);color:#fff}
.btn-bloco{width:100%}
.btn-contorno{background:transparent;color:var(--bordo-esc);border:1px solid var(--bordo)}
.btn-contorno:hover{background:var(--bordo-claro);color:var(--bordo-esc)}
.btn-link{background:none;border:0;padding:0;color:var(--bordo);text-decoration:underline;cursor:pointer;font-size:14px}

/* avisos */
.aviso{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:6px;font-size:14px;line-height:1.45}
.aviso-info{background:var(--fundo);color:var(--tinta-sec)}
.aviso-erro{background:#FBF1F1;color:var(--bordo-esc);border:1px solid #EBC9CA}
.aviso-ok{background:#E6F2EC;color:#1F5F3F;border:1px solid #BFDCCB}
.aviso-alerta{background:#FDF1DC;color:#4A3200;border:1px solid #F0D49B}
.mensagens{display:flex;flex-direction:column;gap:8px}

/* telas de acesso */
.acesso{min-height:100vh;display:flex;flex-wrap:wrap}
.acesso-marca{flex:1 1 420px;min-width:0;background:var(--branco);border-right:1px solid var(--borda);padding:56px 64px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.acesso-marca img{width:300px;max-width:100%;height:auto}
.acesso-marca .filete{width:48px;height:3px;background:var(--bordo)}
.acesso-marca h1{margin:0;font-size:40px;line-height:1.15}
.acesso-marca p{margin:0;font-size:18px;line-height:1.55;color:var(--tinta-sec)}
.acesso-marca small{font-size:14px;color:var(--tinta-sec)}
.acesso-form{flex:1 1 420px;min-width:0;padding:56px 24px;display:flex;align-items:center;justify-content:center}
.centro{min-height:100vh;padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:32px}
.centro>img{width:240px;height:auto}
.cartao{width:100%;max-width:440px;background:var(--branco);border:1px solid var(--borda);border-radius:8px;padding:40px 36px;display:flex;flex-direction:column;gap:20px}
.cartao h2,.cartao h1{margin:0;font-size:30px}
.cartao .sub{margin:0;font-size:16px;color:var(--tinta-sec)}
.passo{margin:0;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bordo)}
.codigo{height:60px!important;text-align:center;font-size:28px!important;font-weight:700;letter-spacing:.5em}
.regras{margin:0;padding:14px 16px;list-style:none;background:var(--fundo);border-radius:6px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--tinta-2)}
.linha-entre{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:14px}

/* app interno */
.topo{background:var(--branco);border-bottom:3px solid var(--bordo)}
.topo-in{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.topo-in>a img{width:190px;height:auto;display:block}
.menu{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 auto}
.menu a{padding:10px 14px;border-radius:6px;color:var(--tinta-2);font-weight:600;text-decoration:none}
.menu a[aria-current=page]{background:var(--bordo-claro);color:var(--bordo-esc);font-weight:700}
.quem{display:flex;align-items:center;gap:12px}
.quem div{text-align:right;line-height:1.25}
.quem strong{display:block;font-size:15px}
.quem span{font-size:13px;color:var(--tinta-sec)}
.principal{max-width:1200px;margin:0 auto;padding:32px 24px 48px;display:flex;flex-direction:column;gap:24px}
.cabeca{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.cabeca h1{margin:0;font-size:34px}
.cabeca p{margin:0;font-size:16px;color:var(--tinta-sec)}
.voltar{font-size:14px}
.filtros{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.filtros .campo{flex:1 1 200px}
.filtros .campo.largo{flex:2 1 280px}
.caixa{background:var(--branco);border:1px solid var(--borda);border-radius:8px}
.caixa-p{padding:24px;display:flex;flex-direction:column;gap:16px}
.caixa h2{margin:0;font-size:18px;font-family:inherit;font-weight:700}
.tabela-rolagem{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:15px}
th{text-align:left;color:var(--tinta-sec);font-size:13px;text-transform:uppercase;letter-spacing:.05em;padding:14px 16px;border-bottom:1px solid var(--borda)}
td{padding:14px 16px;border-bottom:1px solid var(--linha);vertical-align:top}
td.forte{font-weight:600}
.vazio{padding:32px;text-align:center;color:var(--tinta-sec)}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:700}
.badge-verde{background:#E6F2EC;color:#1F5F3F}.badge-amarelo{background:#FDF1DC;color:#7A4B00}
.badge-cinza{background:#ECEDEF;color:var(--tinta-2)}.badge-bordo{background:var(--bordo-claro);color:var(--bordo-esc)}
.badge-erro{background:#FBF1F1;color:var(--bordo-esc);border:1px solid #EBC9CA}
.duas{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.duas>*{flex:1 1 360px;min-width:0}
.duas>.maior{flex:2 1 520px}
.soltar{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 20px;border:2px dashed var(--cinza-box);border-radius:8px;background:#FAFAFB;text-align:center;cursor:pointer}
.soltar strong{font-size:17px}
.soltar input{max-width:100%}
.etapas{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.etapas li{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}
.etapas .barra{height:6px;border-radius:3px;background:#D9DADC}
.etapas .feito .barra{background:var(--bordo)}
.etapas .atual{color:var(--bordo-esc);font-weight:700}
.etapas li:not(.feito){color:var(--tinta-sec);font-weight:400}
.downloads{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.produto{background:var(--branco);border:1px solid var(--borda);border-radius:8px;padding:22px;display:flex;flex-direction:column;gap:14px}
.produto .cab{display:flex;align-items:center;gap:12px}
.produto .tag{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:8px;font-size:13px;font-weight:700;color:#fff;flex:none}
.tag-xlsx{background:#1F5F3F}.tag-docx{background:#2B4C7E}.tag-pdf{background:var(--bordo-esc)}
.produto strong{display:block;font-size:16px}.produto span{font-size:13px;color:var(--tinta-sec)}
.lista-simples{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--tinta-2)}
.lista-simples .quando{color:var(--tinta-sec);margin-right:8px}
.abas{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #D9DADC}
.abas a{height:46px;display:flex;align-items:center;padding:0 18px;color:var(--tinta-2);font-weight:600;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px}
.abas a[aria-current=page]{color:var(--bordo-esc);font-weight:700;border-bottom-color:var(--bordo)}
.alerta-linha{background:#FBF1F1}
.senha-mostrada{font-family:ui-monospace,monospace;font-size:24px;font-weight:700;letter-spacing:.06em;padding:14px 16px;background:var(--fundo);border-radius:6px;user-select:all;word-break:break-all}
code{font-family:ui-monospace,monospace;background:var(--branco);padding:1px 6px;border-radius:4px}
@media (max-width:640px){
  .acesso-marca{padding:32px 24px}
  .acesso-marca h1{font-size:30px}
  .cartao{padding:28px 20px}
  .etapas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quem div{text-align:left}
}
