html, body {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

/* Ensure Montserrat is used across common UI elements */
.navbar,
.navbar a,
.main-sidebar,
.main-sidebar a,
.container,
.container .btn,
.container .nav-tabs .nav-link,
.container table,
.container table th,
.container table td,
.container .dataTables_wrapper,
.container .dataTables_filter,
.container .dataTables_info,
.container .dataTables_length,
.container .dataTables_paginate,
#reguaLegenda,
#reguaLegenda .legend-item {
    font-family: "Montserrat", sans-serif;
}

/* Responsive adjustments for mobile devices */
#increaseFont, #decreaseFont {
    font-size: 115%;
}
@media (max-width: 576px) {
    .login-box {
        width: 90%;
        margin: 0 auto;
        font-size: 125%;
    }
}

/* Ensure sidebar does not overlap content and can be toggled */
@media (max-width: 768px) {
    body.sidebar-open .content-wrapper,
    body.sidebar-open .main-footer {
        margin-left: 250px;
    }
}


/* Ensure autofilled fields keep default background and text colors */
.login-box input:-webkit-autofill,
.login-box input:-webkit-autofill:hover,
.login-box input:-webkit-autofill:focus,
.login-box input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    box-shadow: 0 0 0 1000px #fff inset;
    -webkit-text-fill-color: #495057;
}

.login-box input:-moz-autofill {
    box-shadow: 0 0 0 1000px #fff inset;
    -moz-text-fill-color: #495057;
}

/* Ensure header and footer span full width and allow horizontal scroll when content overflows */
.main-header, .main-footer {
    /*width: 100vw;*/
    flex-shrink: 0;
}

.ssl-seal-wrapper {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 1000;
}

.content-wrapper {
    overflow-x: auto;
}

/* Mobile modal adjustments */
@media (max-width: 768px) {
    .modal-dialog {
        max-width: 70%;
        margin: 1.75rem auto;
    }
    .modal-content {
        font-size: 120%;
    }
}

/* Dark mode DataTables even row styling */
body.dark-mode table.dataTable tbody tr.even {
    background-color: #d3d3d3 !important;
    color: #000 !important;
}
body.dark-mode table.dataTable tbody tr.even > * {
    color: #000 !important;
}
