/* ==========================================================================
   BMC 2.0 — Páginas Externas (equipe, tabelas, súmula…)
   Carregado por Atalhos/HeadPE.php depois de materialize.css + stylePE.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   AUTENTICAÇÃO: Login · NovoLogin · Recuperar · ResetPassword
   -------------------------------------------------------------------------- */
body.pe-page-login,
body.pe-page-novo-login,
body.pe-page-recuperar,
body.pe-page-reset-pw,
body.pe-page-forgot,
body.pe-page-reset-action,
body.pe-page-clone-sucesso{
  min-height:100vh; margin:0; display:flex; align-items:center; justify-content:center; padding: 28px 16px;
  background:
    radial-gradient(900px 480px at 8% 0%, rgba(var(--c2-rgb), .30), transparent 65%),
    radial-gradient(800px 480px at 100% 100%, rgba(var(--c1-rgb), .55), transparent 65%),
    var(--c1-dd) !important;
  background-attachment: fixed;
  font-family: var(--f-body);
}
body.pe-page-login .container,
body.pe-page-novo-login .container,
body.pe-page-recuperar .container,
body.pe-page-reset-pw .container,
body.pe-page-forgot .container,
body.pe-page-reset-action .container{ width:100%; max-width: 980px; margin:0 auto; padding:0; }

.login-container{
  display:grid !important; grid-template-columns: 1fr 1fr; margin:0 !important; overflow:hidden;
  background:#fff !important; border-radius: var(--r-lg) !important; box-shadow: 0 30px 80px rgba(0,0,0,.45) !important;
  min-height: 540px; width:100% !important; max-width:none !important; padding:0 !important;
}
.login-container .login-logo{
  position:relative; float:none !important; width:auto !important; margin:0 !important; padding: 48px 36px !important;
  display:flex !important; align-items:center; justify-content:center; text-align:center;
  background:
    radial-gradient(420px 300px at 20% 10%, rgba(var(--c2-rgb), .35), transparent 70%),
    linear-gradient(160deg, var(--c1), var(--c1-dd)) !important;
  overflow:hidden;
}
.login-container .login-logo::before{
  content:''; position:absolute; inset:0; opacity:.08;
  background-image: repeating-linear-gradient(135deg, #fff 0 1px, transparent 1px 16px);
}
.login-container .login-logo img{
  position:relative; width:100%; max-width: 280px; height:auto; background:#fff; border-radius: 28px; padding: 22px;
  box-shadow: 0 24px 60px rgba(0,0,0,.35);
}
.login-container .form-container{
  float:none !important; width:auto !important; margin:0 !important; padding: 52px 48px !important;
  display:flex; flex-direction:column; justify-content:center; background:#fff !important; box-shadow:none !important; border-radius:0 !important;
}
.login-container .form-container h4,
.login-container .login-title{
  font-family: var(--f-display) !important; font-weight:800 !important; text-transform:uppercase; letter-spacing:.03em;
  font-size: 2.3rem !important; color: var(--ink) !important; margin: 0 0 26px !important; text-align:left !important;
}
.login-container .form-container h4::after{ content:''; display:block; width:48px; height:5px; border-radius:99px; margin-top:12px; background: linear-gradient(90deg,var(--c1),var(--c2)); }
.login-container .input-field{ margin: 0 0 14px !important; position:relative; }
.login-container .input-field input{ margin:0 !important; }
.login-container .input-field label{ position:static !important; display:block; transform:none !important; margin-bottom:6px; font-size:.78rem; font-weight:700; color: var(--ink-2) !important; letter-spacing:.04em; text-transform:uppercase; }
.pe-password-field input{ padding-right: 52px !important; }
.pe-password-toggle{
  position:absolute; right:6px; top:6px; width:40px; height:40px; border:0; border-radius:10px; background:transparent; color: var(--mute); cursor:pointer; display:flex; align-items:center; justify-content:center; transition: all .15s ease;
}
.pe-password-toggle:hover{ background: var(--c1-t); color: var(--c1); }
.login-button{
  width:100% !important; height:auto !important; margin-top: 8px;
  display:inline-flex !important; align-items:center; justify-content:center;
  font-family: var(--f-body); font-weight:800 !important; font-size:.9rem !important; letter-spacing:.1em; text-transform:uppercase;
  padding: 16px 24px !important; border:0 !important; border-radius: 999px !important; cursor:pointer; color:#fff !important;
  background: linear-gradient(135deg, var(--c1), var(--c1-d)) !important; box-shadow: 0 10px 24px rgba(var(--c1-rgb), .32) !important;
  transition: transform .18s ease, box-shadow .18s ease;
}
.login-button:hover{ transform: translateY(-2px); box-shadow: 0 16px 32px rgba(var(--c1-rgb), .42) !important; }
.pe-auth-submit-wrap{ margin-top: 8px; }
.login-container .signup{ margin: 14px 0 0 !important; text-align:center !important; font-size:.88rem; color: var(--mute) !important; }
.login-container .signup a{ color: var(--c1) !important; font-weight:700; }
.login-container .signup a:hover{ text-decoration:underline; text-underline-offset:3px; }
.login-container .signup + .signup{ margin-top: 20px !important; padding-top:18px; border-top:1px solid var(--hair); }
@media (max-width: 820px){
  .login-container{ grid-template-columns:1fr; min-height:0; }
  .login-container .login-logo{ padding: 30px 24px !important; }
  .login-container .login-logo img{ max-width: 170px; padding:16px; border-radius:20px; }
  .login-container .form-container{ padding: 32px 24px 36px !important; }
}
.login-container .login-logo{ height:auto !important; min-height:0 !important; align-self:stretch; box-sizing:border-box; }
.login-container .login-logo img{ max-width:280px !important; }
@media (max-width: 820px){
  .login-container .login-logo{ height:auto !important; }
  .login-container .login-logo img{ max-width:170px !important; }
}
.login-container{ grid-template-rows: 1fr; align-items: stretch !important; align-content: stretch !important; }
