/* Auth Pages (Login / Register) Styles */

.auth-card {
    background: white;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 20px rgba(0,0,0,0.04);
}

.auth-input {
    font-size: 0.9375rem;
}
.auth-input::placeholder {
    color: #9CA3AF;
}
.auth-input:focus {
    border-color: #4CAF50;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1);
}
.auth-input.input-error {
    border-color: #EF4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.auth-input.input-success {
    border-color: #4CAF50;
}

/* Password toggle */
.toggle-password {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
}

/* Strength bar colors */
.strength-bar.weak    { background-color: #EF4444; }
.strength-bar.fair    { background-color: #FF9800; }
.strength-bar.good    { background-color: #66BB6A; }
.strength-bar.strong  { background-color: #4CAF50; }

/* Field error animation */
.field-error {
    animation: shakeIn 0.3s ease;
}
@keyframes shakeIn {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

@media (min-width: 640px) {
    .auth-card {
        padding: 2.5rem;
    }
}
