:root { --primary: #2D6A9F; --primary-dark: #1B3F6B; }
body.auth-body { min-height: 100vh; background: linear-gradient(135deg, #1B3F6B, #2D6A9F 50%, #3B82C4); display: flex; align-items: center; justify-content: center; font-family: system-ui, -apple-system, sans-serif; padding: 20px; }
body.auth-aluno { background: linear-gradient(135deg, #0F4C75, #1B6CA8 50%, #2D9CDB); }
.auth-container { width: 100%; max-width: 440px; }
.auth-card { background: #fff; border-radius: 16px; padding: 40px 36px; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.auth-logo { text-align: center; margin-bottom: 28px; }
.auth-logo img { height: 60px; margin: 0 auto 12px; display: block; }
.auth-brand { font-size: 24px; font-weight: 800; color: var(--primary); margin: 0 0 4px; }
.auth-subtitle { font-size: 14px; color: #64748B; margin: 0; }
.auth-form .form-label { font-size: 13px; font-weight: 600; color: #374151; }
.auth-form .form-control { border-radius: 8px; font-size: 14px; border-color: #D1D5DB; }
.auth-form .form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(45,106,159,.12); }
.auth-form .input-group-text { background: #F9FAFB; border-color: #D1D5DB; color: #6B7280; }
.btn-auth { padding: 11px; font-weight: 600; font-size: 15px; border-radius: 8px; }
.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }
.auth-divider { text-align: center; margin: 20px 0; position: relative; }
.auth-divider::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; border-top: 1px solid #E5E7EB; }
.auth-divider span { position: relative; background: #fff; padding: 0 12px; font-size: 13px; color: #9CA3AF; }
.auth-footer { text-align: center; margin-top: 20px; padding-top: 20px; border-top: 1px solid #F3F4F6; }
