/* Login Overrides - Final CSS to ensure all styles are present */

/* Remove any unwanted icons completely */
.form-control.is-invalid::before,
.form-control.is-invalid::after,
.input-group-text::before,
.input-group-text::after {
    display: none !important;
    content: none !important;
}

/* Clean input group styling */
.input-group-text {
    background-color: #f8fafc !important;
    border-color: #e2e8f0 !important;
    color: #718096 !important;
}

.input-group-text i {
    color: #718096 !important;
}

/* Remove any background images or icons */
.input-group-text {
    background-image: none !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Remove all error styling completely - No red borders or error messages */
.form-control.is-invalid {
    border-color: #e2e8f0 !important;
    background: #f8fafc !important;
    background-image: none !important;
}

/* Hide all error messages completely */
.invalid-feedback {
    display: none !important;
}

/* Remove any potential error styling */
.form-control.is-invalid,
.form-control.is-invalid:focus,
.form-control.is-invalid:hover {
    border-color: #e2e8f0 !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

/* Mobile responsive - Hide all error messages */
@media (max-width: 768px) {
    .invalid-feedback {
        display: none !important;
    }
    
    .form-control.is-invalid {
        border-color: #e2e8f0 !important;
        background: #f8fafc !important;
        box-shadow: none !important;
    }
}

@media (max-width: 576px) {
    .invalid-feedback {
        display: none !important;
    }
    
    .form-control.is-invalid {
        border-color: #e2e8f0 !important;
        background: #f8fafc !important;
        box-shadow: none !important;
    }
}

@media (max-width: 375px) {
    .invalid-feedback {
        display: none !important;
    }
    
    .form-control.is-invalid {
        border-color: #e2e8f0 !important;
        background: #f8fafc !important;
        box-shadow: none !important;
    }
}

/* Company logos styling - Compact */
.company-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
}

.company-logo {
    height: 45px;
    width: auto;
    opacity: 0.9;
    transition: all 0.3s ease;
    filter: grayscale(20%);
}

.company-logo:hover {
    opacity: 1;
    filter: grayscale(0%);
    transform: scale(1.05);
}

/* Mobile responsive logos */
@media (max-width: 768px) {
    .company-logo {
        height: 50px;
    }
}

@media (max-width: 576px) {
    .company-logo {
        height: 55px;
    }
}

@media (max-width: 375px) {
    .company-logo {
        height: 60px;
    }
}

/* Z-index management */
.input-group-text { z-index: 2; }
.input-group > .form-control { z-index: 1; }
.input-group > .btn { z-index: 2; }
.input-group > .form-control:focus { z-index: 3; }
.input-group > .btn:focus { z-index: 3; }
.login-divider span { z-index: 2; }

/* Ensure no unwanted elements */
*::before,
*::after {
    box-sizing: border-box;
}

/* Remove any potential icon sources */
[class*="icon"],
[class*="Icon"] {
    background-image: none !important;
}

/* Clean form styling */
.form-control {
    background-image: none !important;
}

/* Ensure clean input groups */
.input-group {
    background-image: none !important;
}

/* Remove any potential heart icons */
.heart,
.fa-heart,
.icon-heart {
    display: none !important;
}

/* Remove any error-related styling */
.error,
.error-message,
.error-text,
.error-notice {
    display: none !important;
}

/* Ensure clean focus states */
.form-control:focus {
    border-color: #667eea !important;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1) !important;
    background: white !important;
}

/* Remove any validation styling */
.validation-error,
.validation-message,
.required-field {
    display: none !important;
} 