/* pages/login.css — tela de entrada: painel escuro (branding) + formulário. */

.login { display:grid; grid-template-columns:1.05fr 1fr; min-height:100vh; }

/* painel escuro à esquerda */
.login__aside {
  background:
    radial-gradient(900px 500px at 15% 10%, rgba(192,95,60,.35), transparent 60%),
    linear-gradient(160deg, #26221F 0%, #1F1D1B 60%);
  color:#EDE9E3;
  padding:42px 46px; display:flex; flex-direction:column;
}
.brand { display:flex; align-items:center; gap:11px; font-family:var(--font-head); font-weight:600; font-size:19px; color:#fff; }
.brand__mark { width:34px; height:34px; border-radius:10px; background:var(--primary); display:grid; place-items:center; }
.brand__dot { width:12px; height:12px; border-radius:50%; background:#fff; }
.brand__name { letter-spacing:.2px; }

.login__hero { margin:auto 0; max-width:440px; }
.login__headline { font-size:40px; line-height:1.12; color:#fff; }
.login__sub { margin-top:16px; font-size:16px; color:#B9B2A9; }
.login__copy { font-size:13px; color:#8A837A; }

/* formulário à direita */
.login__main { display:grid; place-items:center; padding:40px 24px; background:var(--bg); }
.login__form { width:100%; max-width:380px; }
.login__title { font-size:28px; }
.login__lead { margin:6px 0 26px; color:var(--muted); }
.login__row { display:flex; align-items:center; justify-content:space-between; margin:16px 0 22px; font-size:14px; }
.login__submit { width:100%; padding:12px; font-size:15px; }
.login__foot { margin-top:20px; text-align:center; color:var(--muted); font-size:14px; }

.login__error {
  margin-top:16px; padding:10px 13px; border-radius:var(--radius);
  background:rgba(180,91,110,.12); color:var(--pink); font-size:14px; font-weight:600;
  display:none;
}
.login__error.show { display:block; }

@media (max-width:820px) {
  .login { grid-template-columns:1fr; }
  .login__aside { display:none; }
}
