/* Estilos de core/templates/registration/login.html (antes inline no template). */
.login-shell { min-height: calc(100vh - 32px); display: grid; place-items: center; padding: 32px 20px; }
.login-panel { width: min(960px, 100%); display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .08); border-radius: 24px; background: #fff;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .12); }
.login-brand { padding: 56px; color: #fff; background: linear-gradient(145deg, #062f25, #079447); display: flex;
  flex-direction: column; justify-content: space-between; min-height: 520px; }
.login-brand-mark { display: inline-flex; align-items: center; }
.login-brand-mark img { height: 58px; width: auto; display: block; }
.login-brand h1 { font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.05; margin: 0 0 18px; letter-spacing: -.04em; }
.login-brand p { color: rgba(255,255,255,.78); font-size: 1.05rem; max-width: 34ch; }
.login-form { padding: 56px 48px; display: flex; flex-direction: column; justify-content: center; }
.login-form h2 { font-weight: 800; color: #10231c; letter-spacing: -.02em; }
.login-form .form-control { min-height: 50px; border-radius: 12px; padding-inline: 14px; }
.login-form .btn { min-height: 50px; border-radius: 12px; font-weight: 700; }
@media (max-width: 760px) { .login-panel { grid-template-columns: 1fr; } .login-brand { display: none; }
  .login-form { padding: 40px 26px; min-height: 500px; } }
