/* Gradient background for header */
.gradient-bg {
    background: linear-gradient(135deg, #059669 0%, #0d9488 100%);
}

/* Input focus styling */
.input-focus:focus {
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.3);
}

/* Shake animation for validation errors */
.shake {
    animation: shake 0.5s;
}

@keyframes shake {
    0%, 100% { 
        transform: translateX(0); 
    }
    10%, 30%, 50%, 70%, 90% { 
        transform: translateX(-5px); 
    }
    20%, 40%, 60%, 80% { 
        transform: translateX(5px); 
    }
}

/* Error input styling */
.input-error {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

/* Error message styling */
.error-message {
    color: #ef4444;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Hidden utility class */
.hidden {
    display: none;
}