/* EGW CRM login fallback v6: só complementa caso alguma classe do protótipo não exista no style.css atual. */
.login-page { min-height: 100vh; }
.login-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  gap: 2rem;
  align-items: center;
  padding: clamp(1.25rem, 4vw, 4rem);
}
.login-brand {
  min-height: min(720px, calc(100vh - 4rem));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1rem, 3vw, 2rem);
}
.login-panel { display: flex; justify-content: center; }
.login-card {
  width: min(100%, 440px);
  padding: clamp(1.5rem, 3vw, 2.3rem);
  border-radius: var(--r-xl, 24px);
  background: rgba(8, 31, 54, .82);
  border: 1px solid rgba(90, 180, 255, .18);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
  backdrop-filter: blur(22px);
}
.login-logo {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--grad-glow, linear-gradient(135deg,#22c47a,#2a8cff));
  color: #02101f;
  font-family: var(--f-display, system-ui);
  font-weight: 900;
  margin-bottom: 1.25rem;
}
.hero-title {
  max-width: 720px;
  font-size: clamp(2.2rem, 5vw, 5.2rem);
  line-height: .95;
  letter-spacing: -.055em;
  margin: 0 0 1.25rem;
}
.hero-title span {
  background: var(--grad-glow, linear-gradient(135deg,#22c47a,#2a8cff));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero-text { max-width: 620px; font-size: 1.05rem; color: var(--t-secondary, #b7d1e4); }
.login-title { margin: 0; font-size: 1.55rem; }
.login-copy { margin: .35rem 0 1.5rem; color: var(--t-secondary, #b7d1e4); }
.metric-strip { display: flex; flex-wrap: wrap; gap: .8rem; }
.metric-pill {
  padding: .85rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.08);
}
.metric-pill strong { display: block; }
.metric-pill span { display: block; color: var(--t-secondary, #b7d1e4); font-size: .78rem; }
.form-alert { margin-bottom: 1rem; padding: .8rem 1rem; border-radius: 12px; font-size: .88rem; }
.form-alert-error { background: rgba(224,85,85,.14); color: #ffb4b4; border: 1px solid rgba(224,85,85,.28); }
.form-alert-success { background: rgba(34,196,122,.14); color: #aef8d0; border: 1px solid rgba(34,196,122,.28); }
.login-footer-note { margin-top: 1rem; display: flex; justify-content: space-between; gap: 1rem; color: var(--t-muted, #7c98ad); font-size: .75rem; }
@media (max-width: 900px) {
  .login-shell { grid-template-columns: 1fr; padding: 1.25rem; }
  .login-brand { min-height: auto; gap: 1.5rem; }
  .login-panel { justify-content: stretch; }
  .login-card { width: 100%; }
}
