/* Login Page - Bootstrap Theme Overrides */

/* Card styling to match theme */
.card
{
    background: var(--bg-secondary) !important;
    border: none !important;
}

.card-title
{
    color: var(--accent-color) !important;
    font-weight: bold !important;
    font-size: 2rem !important;
}

/* Form controls theme */
main .form-control
{
    background: var(--bg-primary) !important;
    border: 1px solid var(--text-secondary) !important;
    color: var(--text-primary) !important;
    border-radius: 8px !important;
}

main .form-control:focus
{
    background: var(--bg-primary) !important;
    border-color: var(--accent-color) !important;
    box-shadow: 0 0 0 0.2rem rgba(233, 119, 117, 0.25) !important;
    color: var(--text-primary) !important;
}

main .form-control::placeholder
{
    color: var(--text-secondary) !important;
    opacity: 0.8;
}

/* Checkbox styling */
.form-check-input:checked
{
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}

.form-check-label
{
    color: var(--text-primary) !important;
}

/* Google button theme */
.btn-outline-secondary
{
    background: var(--bg-primary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
    font-weight: 500 !important;
}

.btn-outline-secondary:hover
{
    background: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
    transform: translateY(-1px);
}

/* Alert theme overrides */
.alert-success
{
    background-color: rgba(40, 167, 69, 0.1) !important;
    border-color: rgba(40, 167, 69, 0.3) !important;
    color: var(--text-primary) !important;
}

.alert-danger
{
    background-color: rgba(220, 53, 69, 0.1) !important;
    border-color: rgba(220, 53, 69, 0.3) !important;
    color: var(--text-primary) !important;
}

/* Divider text styling */
.text-muted
{
    color: var(--text-secondary) !important;
}

/* Form help text */
.form-text
{
    color: var(--text-secondary) !important;
    font-size: 0.875em;
}

/* Links styling */
main a
{
    color: var(--accent-color) !important;
}

main a:hover
{
    color: var(--text-primary) !important;
}

/* Responsive adjustments */
@media (max-width: 576px)
{
    .card-body
    {
        padding: 1.5rem 1rem !important;
    }

    .card-title
    {
        font-size: 1.75rem !important;
    }
}