/* Global Input Field Styles */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="file"],
input[type="url"],
input[type="tel"],
textarea,
select {
    padding: 12px 16px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    transition: all 0.2s ease-in-out !important;
    background-color: #ffffff !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="file"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
    outline: none !important;
}

input[type="text"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
input[type="number"]:hover,
input[type="date"]:hover,
input[type="file"]:hover,
input[type="url"]:hover,
input[type="tel"]:hover,
textarea:hover,
select:hover {
    border-color: #9ca3af !important;
}

/* Checkbox and Radio Button Styles */
input[type="checkbox"],
input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    border-radius: 4px !important;
    border: 1px solid #d1d5db !important;
    margin-right: 8px !important;
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background-color: #3b82f6 !important;
    border-color: #3b82f6 !important;
}

/* File Upload Area Styles */
.file-upload-area {
    padding: 24px !important;
    border: 2px dashed #d1d5db !important;
    border-radius: 10px !important;
    transition: all 0.2s ease-in-out !important;
    background-color: #f9fafb !important;
}

.file-upload-area:hover {
    border-color: #3b82f6 !important;
    background-color: #f0f9ff !important;
}

/* Button Styles */
.btn-primary {
    padding: 12px 24px !important;
    border-radius: 10px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease-in-out !important;
    border: none !important;
}

.btn-secondary {
    padding: 12px 24px !important;
    border-radius: 10px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease-in-out !important;
    border: 1px solid #d1d5db !important;
    background-color: #ffffff !important;
}

/* Form Group Spacing */
.form-group {
    margin-bottom: 20px !important;
}

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

/* Disabled States */
input:disabled,
textarea:disabled,
select:disabled {
    background-color: #f9fafb !important;
    color: #6b7280 !important;
    cursor: not-allowed !important;
}
