/**
 * Custom Overrides
 * Place any custom CSS overrides here
 * This file is loaded after styles.css
 */

/* Custom field validation styles */
.form-group input.error {
    box-shadow: 0 0 0 2px var(--red_color);
    background: rgba(255, 0, 0, 0.05);
    animation: shake 0.5s ease-in-out;
}

.field-error {
    color: var(--red_color);
    font-size: 0.8rem;
    margin-top: 4px;
    padding-left: 4px;
    opacity: 0;
    animation: fadeIn 0.3s ease-in-out forwards;
}

/* Shake animation for errors */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Keyboard navigation support */
.keyboard-navigation *:focus {
    outline: 2px solid var(--primary-light);
    outline-offset: 2px;
}

/* High contrast mode adjustments */
@media (prefers-contrast: high) {
    .form-group input {
        box-shadow: 0 0 0 1px #ffffff;
    }
    
    .btn-primary {
        outline: 2px solid #ffffff;
    }
}

/* Print styles (hidden login for security) */
@media print {
    body {
        display: none;
    }
}