/* Login Page Specific Styles */
.min-vh-100 {
    min-height: 100vh;
}

.card {
    border-radius: 8px;
    transition: all 0.3s ease;
}

.card-header, .card-footer {
    background-color: transparent;
}

.form-control, .input-group-text {
    height: calc(1.5em + 1rem + 2px);
    font-size: 1rem;
}

.form-control:focus {
    box-shadow: 0 0 0 0.2rem rgba(51, 102, 153, 0.25);
    border-color: var(--helpbox-blue-light);
}

.btn-primary {
    background-color: var(--helpbox-blue-primary);
    border-color: var(--helpbox-blue-primary);
}

.btn-primary:hover, .btn-primary:focus {
    background-color: var(--helpbox-blue-primary-40);
    border-color: var(--helpbox-blue-primary-40);
}

.btn-lg {
    padding: 0.75rem 1.25rem;
}

.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--helpbox-blue-primary);
    border-color: var(--helpbox-blue-primary);
}

.toggle-password {
    cursor: pointer;
    background-color: transparent;
}

.toggle-password:focus {
    outline: none;
    box-shadow: none;
}

.invalid-feedback {
    font-size: 80%;
}

.alert {
    border-radius: 4px;
    padding: 0.75rem 1rem;
}

.text-primary {
    color: var(--helpbox-blue-primary) !important;
}

a {
    color: var(--helpbox-blue-primary);
    transition: color 0.2s ease;
}

a:hover {
    color: var(--helpbox-blue-primary-40);
    text-decoration: none;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
    .card {
        border-radius: 0;
        box-shadow: none !important;
    }
    
    .btn-lg {
        padding: 0.5rem 1rem;
    }
}
