.login-page { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 100vh; padding: 1.25rem; background: radial-gradient(circle at 10% 10%, rgba(255, 255, 255, 0.2), transparent 45%), linear-gradient(135deg, #3554d1 0%, #4f46a5 100%); } .auth-container { width: 100%; max-width: 460px; } .login-card { background: var(--color-surface); padding: 2rem; border-radius: 18px; box-shadow: 0 22px 48px rgba(16, 24, 40, 0.22); width: 100%; } .brand-block { display: flex; align-items: center; justify-content: center; gap: 0.75rem; margin-bottom: 1.25rem; } .brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: rgba(53, 84, 209, 0.12); color: #2f4ac1; font-size: 1.35rem; } .brand-title { margin: 0; font-size: 2.05rem; font-weight: 700; letter-spacing: 0.01em; color: #2f3237; } .auth-title { text-align: center; font-size: 2.1rem; font-weight: 600; margin-bottom: 1.5rem; color: #2f3237; } .form-control { border-radius: 0.65rem; min-height: 48px; border-color: #d6dbe4; } .auth-submit { min-height: 48px; font-weight: 600; } .auth-provider-btn { min-height: 48px; border-radius: 0.65rem; } .oauth-divider { display: flex; align-items: center; color: var(--color-text-muted); font-size: 0.9rem; } .oauth-divider::before, .oauth-divider::after { content: ""; flex: 1; border-bottom: 1px solid var(--color-border); } .oauth-divider span { padding: 0 0.75rem; } .auth-switch-link { color: #4b5565; } @media (max-width: 576px) { .login-page { padding: 0.85rem; } .login-card { border-radius: 14px; padding: 1.35rem; } .brand-title { font-size: 1.8rem; } .auth-title { font-size: 1.85rem; } }