/* Small visual refinements over the existing authentication layout. */
.login-content {
    padding: 0;
    border-radius: 16px;
    box-shadow: 0 16px 48px rgba(30, 64, 175, .14), 0 2px 8px rgba(15, 23, 42, .06);
}
.login-content .header { padding: 32px 34px 26px; }
.login-content .header h1 { font-size: 32px; letter-spacing: -.045em; }
.login-content .tabs { border-radius: 10px; }
.login-content .tab-btn { font-weight: 600; }
.login-content .tab-btn.active { box-shadow: 0 1px 3px rgba(15, 23, 42, .06); }
.login-content .form-section h2 { font-size: 23px; letter-spacing: -.025em; }
.login-content label { font-weight: 600; }
.login-content input:is([type="text"], [type="email"], [type="password"]) {
    border-radius: 9px;
    font-size: 16px;
}
.login-content button[type="submit"] { border-radius: 9px; font-weight: 600; }
.login-content button[type="submit"]:hover { box-shadow: 0 3px 10px rgba(37, 99, 235, .16); }
.login-content button[type="submit"]:active { transform: none; box-shadow: none; }
.two-factor-overlay { overflow-y: auto; }
@media (prefers-reduced-motion: no-preference) {
    .login-content { animation: studygrid-arrive .32s ease-out; }
}
@media (max-width: 700px) {
    .login-content .header { padding: 26px 21px 22px; }
    .login-content .header h1 { font-size: 29px; }
    .login-content .tabs { gap: 3px; }
    .login-content .tab-btn { min-width: 0; padding: 0 6px; font-size: 12px; gap: 5px; }
    .login-content .tab-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
    .login-content .form-section h2 { font-size: 22px; }
}
