/* Telas de entrada e primeiro acesso: topo prateado com a logo e a estrutura, cartão claro, vermelho só no botão. */
:root{--graf:#3E4249;--red:#C8102E;--red-d:#A00D25;--bg:#F7F5F2;--ink:#26282C;--muted:#7A7C82;--line:#E3E0DA;--line-2:#CFCBC3;--font:'Poppins','Segoe UI',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--bg);font-family:var(--font);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column}
.topo{position:relative;height:110px;overflow:hidden;
  background:linear-gradient(180deg,#FBFBFC 0%,#E9EAEC 48%,#D5D7DB 100%);
  border-bottom:3px solid var(--red);display:flex;align-items:center;padding:0 max(24px,env(safe-area-inset-left,0px))}
.topo::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 1px,rgba(0,0,0,.018) 1px 3px);pointer-events:none}
.topo-foto{position:absolute;top:0;right:0;bottom:0;width:62%;background:url(estrutura-topo.jpg) right center/cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%);opacity:.85;filter:contrast(1.05)}
.topo img{position:relative;z-index:1;height:78px;width:auto;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}
.caixa{width:min(400px,calc(100% - 32px));margin:48px auto 32px;background:#fff;border:1px solid var(--line);border-radius:3px;padding:30px 28px;box-shadow:0 18px 50px rgba(62,66,73,.08)}
.eyebrow{margin:0 0 6px;font-size:9.5px;letter-spacing:3px;text-transform:uppercase;color:var(--muted)}
.eyebrow b{color:var(--red);font-weight:600;margin-right:8px}
h1{font-size:24px;margin:0 0 6px;font-weight:700;letter-spacing:-.3px}
p.sub{margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.55}
label{display:block;font-size:9.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line-2);border-radius:2px;font:inherit;font-size:15px;color:var(--ink);background:#fff;letter-spacing:0;text-transform:none}
input:focus{outline:2px solid rgba(200,16,46,.3);border-color:var(--graf)}
button{width:100%;margin-top:6px;padding:13px;border:0;border-radius:2px;background:var(--red);color:#fff;font:inherit;font-weight:600;font-size:14px;cursor:pointer}
button:hover{background:var(--red-d)}button:disabled{opacity:.6;cursor:default}
button:focus-visible{outline:2px solid var(--graf);outline-offset:2px}
.erro{color:var(--red);font-size:12.5px;min-height:18px;margin:10px 0 0}
.rodape{margin-top:auto;padding:18px;text-align:center;font-size:9.5px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase}
@media(max-width:560px){.topo{height:76px}.topo img{height:52px}.topo-foto{width:70%}.caixa{margin-top:28px;padding:24px 20px}}
