/* Template 1 — Login clássico split */

.login-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: center;
  gap: 50px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 32px;
}

.login-brand { padding: 20px 10px; }
.brand-mark { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.brand-mark img { height: 52px; filter: drop-shadow(0 0 12px rgba(18,199,122,.45)); }
.brand-mark h1 { font-size: 28px; }
.brand-ai {
  font-size: 14px;
  color: var(--vegas-bright);
  vertical-align: super;
  letter-spacing: 0.1em;
  animation: aiGlow 2.5s ease-in-out infinite;
}
@keyframes aiGlow {
  0%, 100% { text-shadow: 0 0 8px rgba(18,199,122,0.3); }
  50%      { text-shadow: 0 0 20px rgba(18,199,122,0.8), 0 0 40px rgba(46,232,154,0.4); }
}

.pt-dot {
  animation: ptPulse 2s ease-in-out infinite;
}
.brand-points li:nth-child(1) .pt-dot { animation-delay: 0s; }
.brand-points li:nth-child(2) .pt-dot { animation-delay: 0.3s; }
.brand-points li:nth-child(3) .pt-dot { animation-delay: 0.6s; }
@keyframes ptPulse {
  0%, 100% { box-shadow: 0 0 10px rgba(18,199,122,.6); transform: scale(1); }
  50%      { box-shadow: 0 0 22px rgba(18,199,122,1); transform: scale(1.2); }
}

.brand-tagline { font-size: 17px; color: var(--text-secondary); max-width: 420px; line-height: 1.55; margin-bottom: 28px; }
.brand-points { list-style: none; padding: 0; margin: 0 0 36px; display: flex; flex-direction: column; gap: 12px; }
.brand-points li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--text-secondary); }
.pt-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--vegas); box-shadow: 0 0 10px rgba(18,199,122,.6); flex-shrink: 0; }
.brand-disclaimer { font-size: 12px; color: var(--text-muted); max-width: 400px; border-left: 2px solid rgba(18,199,122,.4); padding-left: 14px; line-height: 1.6; }

.login-card-inner { padding: 40px 36px; }
.login-card h2 { font-size: 22px; margin-bottom: 8px; }
.login-sub { font-size: 13.5px; margin-bottom: 26px; line-height: 1.5; }
.login-footer { margin-top: 20px; font-size: 11.5px; text-align: center; }

@media (max-width: 860px) {
  .login-shell { grid-template-columns: 1fr; gap: 28px; padding: 28px 20px; }
  .login-brand { text-align: center; }
  .brand-mark { justify-content: center; }
  .brand-tagline, .brand-disclaimer { margin-left: auto; margin-right: auto; }
  .brand-points { align-items: center; }
}
