/* ===== login.css: carregue DEPOIS de landing.css ===== */
:root{--erro:#c0392b;--sucesso:#1e8449;--alerta:#b9770e;--borda:#e0e8f0;--texto-suave:#4a5a72}

body.login-page{min-height:100vh;display:flex;flex-direction:column;background:var(--azul-marinho)}

/* ===== FUNDO (mesma imagem do hero + vídeo opcional no desktop) ===== */
.login-bg{position:fixed;inset:0;z-index:0;background:var(--azul-marinho) url('/imagens/hero.jpg') center 30%/cover no-repeat}
.login-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease}
.login-bg video.is-playing{opacity:1}
.login-bg-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,26,51,.90) 0%,rgba(26,58,102,.78) 100%)}

/* ===== HEADER (transparente, como no topo da landing) ===== */
header.login-header{position:absolute;background:transparent;box-shadow:none;padding:16px 0;z-index:2}
.login-nav{display:flex;align-items:center;gap:20px}
.login-link{color:var(--branco);text-decoration:none;font-weight:500;font-size:.92rem;opacity:.92;transition:color .2s}
.login-link:hover{color:var(--laranja);opacity:1}
.login-nav .nav-cta{background:var(--laranja-btn);color:var(--branco);padding:10px 22px;border-radius:40px;font-weight:600;font-size:.88rem;text-decoration:none;transition:background .2s,transform .1s}
.login-nav .nav-cta:hover{background:var(--laranja-hover);transform:scale(1.02)}

/* ===== ÁREA PRINCIPAL ===== */
.login-main{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:110px 16px 32px}
.login-card{width:100%;max-width:440px;background:var(--branco);border-radius:8px;box-shadow:0 30px 70px rgba(0,0,0,.4);overflow:hidden}
.login-card-head{position:relative;padding:32px 28px 28px;text-align:center;color:var(--branco);background:linear-gradient(135deg,var(--azul-marinho) 0%,var(--azul-tecnologico) 100%)}
.login-card-head::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--laranja),#f5bb18,var(--laranja));background-size:200% 100%;animation:loginGradient 4s ease infinite}
@keyframes loginGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.login-badge{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;font-size:1.8rem;margin-bottom:10px;background:rgba(242,92,43,.15);border:2px solid rgba(242,92,43,.3)}
.login-card-head h1{font-size:clamp(1.4rem,4vw,1.8rem);margin-bottom:6px;color:var(--branco)}
.login-card-head h1 span{color:var(--laranja)}
.login-card-head p{font-size:.92rem;color:rgba(255,255,255,.85)}
.login-card-body{padding:28px}
.login-title-step{font-size:1.1rem;color:var(--azul-marinho);margin-bottom:6px}
.login-step-desc{font-size:.92rem;color:var(--texto-suave);margin-bottom:20px}
.login-step-desc strong{color:var(--azul-marinho)}

/* ===== CAMPOS ===== */
.field{margin-bottom:18px}
.field label{display:block;font-weight:600;font-size:.9rem;color:var(--azul-marinho);margin-bottom:8px}
.field input{width:100%;padding:14px 16px;border:2px solid var(--borda);border-radius:12px;font:inherit;font-size:1rem;background:var(--branco);color:var(--azul-marinho);transition:.25s}
.field input::placeholder{color:#8593a8}
.field input:focus{outline:none;border-color:var(--laranja);box-shadow:0 0 0 4px rgba(242,92,43,.15)}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:92px}
.pw-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--laranja-btn);font:inherit;font-weight:600;font-size:.82rem;cursor:pointer;padding:8px 10px;border-radius:8px}
.pw-toggle:hover{background:var(--cinza-claro)}
.code-input{text-align:center;font-size:2rem!important;letter-spacing:.5rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.field-hint{display:block;margin-top:6px;font-size:.8rem;color:var(--texto-suave);text-align:center}
.btn-block{display:block;width:100%}
.btn:disabled{background:#b8bfc9;cursor:not-allowed;transform:none;box-shadow:none;opacity:.85}

/* ===== ALERTAS ===== */
.alerts{margin-bottom:4px}
.alert{padding:14px 16px;border-radius:12px;margin-bottom:16px;border-left:4px solid;font-size:.92rem;line-height:1.5}
.alert-error{background:#fdecea;color:#7f231c;border-left-color:var(--erro)}
.alert-success{background:#e6f9ee;color:#14532d;border-left-color:var(--sucesso)}
.alert-warning{background:#fff6e0;color:#6b4700;border-left-color:var(--alerta)}
.alert-info{background:#e6f4fa;color:#0c5460;border-left-color:#17a2b8}
.progress{height:6px;background:rgba(0,0,0,.12);border-radius:4px;overflow:hidden;margin-top:10px}
.progress span{display:block;height:100%;width:100%;background:var(--erro);transition:width 1s linear}

/* ===== BLOQUEIO POR TENTATIVAS ===== */
.block-box{text-align:center}
.block-box .block-icon{font-size:2.6rem;margin-bottom:8px}
.block-box h2{font-size:1.15rem;color:var(--erro);margin-bottom:8px}
.block-box p{font-size:.9rem;color:var(--texto-suave)}
.block-timer{background:var(--azul-marinho);color:var(--branco);border-radius:12px;padding:14px;margin:16px 0}
.block-timer small{display:block;font-size:.75rem;opacity:.85}
.block-timer strong{font-size:1.7rem;font-family:ui-monospace,Menlo,Consolas,monospace}

/* ===== REENVIO / LINKS ===== */
.resend{margin-top:20px;text-align:center}
.link-btn{background:none;border:none;color:var(--laranja-btn);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;padding:6px}
.link-btn:disabled{color:#7b8797;text-decoration:none;cursor:not-allowed}
.resend-info{font-size:.8rem;color:var(--texto-suave);margin-top:6px}
.login-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:22px;font-size:.9rem}
.login-links a,.back-link a{color:var(--laranja-btn);font-weight:600;text-decoration:none}
.login-links a:hover,.back-link a:hover{text-decoration:underline}
.back-link{margin-top:16px;text-align:center;font-size:.9rem}
.geo-note{margin-top:18px;font-size:.75rem;line-height:1.5;color:var(--texto-suave);background:var(--cinza-claro);padding:10px 12px;border-radius:10px;border-left:3px solid var(--laranja-btn)}
.geo-note a{color:var(--laranja-btn)}

.login-copy{margin-top:20px;text-align:center;font-size:.8rem;color:rgba(255,255,255,.8)}
.login-copy a{color:rgba(255,255,255,.9)}

/* ===== RESPONSIVO ===== */
@media(max-width:480px){
  .login-main{padding-top:96px}
  .login-card-body{padding:22px 18px}
  .login-card-head{padding:26px 18px 22px}
  .login-link{display:none}
  .login-nav .nav-cta{padding:9px 16px;font-size:.8rem}
  .code-input{font-size:1.7rem!important;letter-spacing:.35rem}
}
@media(prefers-reduced-motion:reduce){.progress span{transition:none}}
