/* Tela de login — layout dividido */
.login-shell { display: grid; grid-template-columns: 1fr; min-height: calc(100vh - 66px); }
@media (min-width: 992px) { .login-shell { grid-template-columns: 1.05fr 1fr; } }
.login-aside { align-items: center; padding: 4rem clamp(2rem, 6vw, 6rem); color: #fff; position: relative; overflow: hidden;
  background: radial-gradient(circle at 15% 90%, rgba(255, 217, 112, .14), transparent 40%), radial-gradient(circle at 85% 10%, rgba(60, 164, 220, .38), transparent 45%), linear-gradient(135deg, var(--pid-hero-1), var(--pid-hero-2)); }
.login-aside h2 { color: #fff; font-size: clamp(2rem, 3.4vw, 3rem); font-weight: 800; letter-spacing: -.03em; margin: 1.2rem 0 1rem; line-height: 1.1; }
.login-aside p { color: rgba(255, 255, 255, .75); max-width: 44ch; }
.login-points { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; gap: .8rem; color: rgba(255, 255, 255, .88); font-weight: 500; }
.login-points i { color: var(--pid-gold); margin-right: .6rem; }
.login-main { display: flex; align-items: center; justify-content: center; padding: 2.5rem 1.25rem; }
.login-card { width: 100%; max-width: 440px; padding: clamp(1.5rem, 4vw, 2.5rem); box-shadow: var(--pid-shadow); }
.login-logo { width: 64px; height: 64px; object-fit: contain; margin-bottom: 1rem; border-radius: 16px; background: var(--pid-raised); padding: 6px; }
