.bg-login-image {
    background-image: url("../img/prontus.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    padding: 30px;
    /* espaço interno */
}

.form-control-user,
.btn-user {
    border-radius: 0.25rem !important;
    /* menor raio: padrão Bootstrap */
}

.switch {
    position: relative;
    display: inline-block;
    width: 46px;
    height: 24px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    background-color: #ccc;
    border-radius: 24px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    border-radius: 50%;
    transition: .4s;
}

input:checked+.slider {
    background-color: #2e59d9;
}

input:checked+.slider:before {
    transform: translateX(22px);
}

/* dark mode */

.dark-mode .card {
    background-color: #2b2c2f;
    color: #f1f1f1;
    border-color: #2b2c2f
}

.dark-mode .card.border-left-secondary {
    background-color: #2a2a2a !important;
    border-left: 0.25rem solid #f1f1f1 !important;
    color: #f1f1f1 !important;
}

.dark-mode .text-secondary {
    color: #f1f1f1 !important;
}

.dark-mode .card-header {
    background-color: #2b2c2f;
    border-bottom: solid 0.8px #555;
}

.dark-mode .form-control {
    background-color: #333;
    color: #fff;
    border-color: #555;
}

.dark-mode .form-control:focus {
    background-color: #444;
    color: #fff;
}

.dark-mode .navbar,
.dark-mode .sidebar {
    background-color: #222;
}

.dark-mode .table {
    background-color: #2a2a2a;
    color: #f1f1f1;
}

.dark-mode .topbar {
    background-color: #2b2c2f !important;
    color: #f1f1f1 !important;
}

.dark-mode .text-gray-600 {
    color: #f1f1f1 !important;
}

.dark-mode .container-fluid {
    background-color: #1c1c1c !important;
    color: #f1f1f1 !important;
}

.dark-mode .text-gray-800 {
    color: #f1f1f1 !important;
}

.dark-mode .flex-column {
    background-color: #1c1c1c !important;
}

.dark-mode .sticky-footer {
    background-color: #2b2c2f !important;
}

.dark-mode .text-muted {
    color: #f1f1f1 !important;
}

.dark-mode .dropdown-menu {
    background-color: #2b2c2f !important;
    border-color: #2b2c2f;
}

.dark-mode .dropdown-divider {
    background-color: #555 !important;
}

.dark-mode .dropdown-item {
    color: #f1f1f1 !important;
}

.dark-mode .dropdown-item:hover {
    background-color: #1c1c1c !important;
}

.dark-mode .dropdown-item-text {
    color: #f1f1f1 !important;
}

.dark-mode input::placeholder {
    color: #f1f1f1;
}

.dark-mode .btn-outline-secondary {
    background-color: #555 !important;
}

.dark-mode .choices__inner,
.dark-mode .choices__item--selectable,
.dark-mode .choices__list,
.dark-mode .choices__list--dropdown,
.dark-mode .choices__input,
.dark-mode .choices__input--cloned {
    background-color: #333 !important;
    color: #f1f1f1 !important;
}

.dark-mode .py-3 {
    background-color: #2b2c2f !important;
    border-color: solid 1px #2b2c2f;
    color: #f1f1f1 !important;
}

.dark-mode .nav-tabs {
    border-bottom: 1px solid #444;
}

.dark-mode .nav-tabs .nav-link {
    background-color: #2b2c2f;
    color: #f1f1f1;
    border: 1px solid #444;
}

.dark-mode .nav-tabs .nav-link.active {
    background-color: #1c1c1c;
    color: #fff;
    border-color: #555 #555 #1c1c1c;
}

.dark-mode .modal-body {
    background-color: #333;
    color: #fff;
}

.dark-mode .modal-footer {
    border-color: #555;
    background-color: #333;
}

.dark-mode .btn-secondary {
    background-color: #555;
}

.dark-mode .sticky-footer {
    color: #fff;
}

.dark-mode .mb-3,
.dark-mode .mb-1 {
    color: #1c1c1c;
}

.dark-mode .list-group-item {
    color: #1c1c1c;
}

.dark-mode strong {
    color: #fff;
}

.dark-mode .mr-2 {
    color: #fff;
}

.dark-mode .strong_dark {
    color: inherit;
}

.dark-mode textarea::placeholder {
    color: #c3c3c3;
}

/* Aplica a cor principal dinamicamente via var(--primary) */
:root {
    --primary: #4e73df;
    /* valor padrão */
}

/* Substitui a cor padrão do Bootstrap apenas se aplicável */
.bg-primary,
.btn-primary,
.alert-primary,
.bg-gradient-primary,
.badge-primary {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.text-primary {
    color: var(--primary) !important;
}

.border-left-primary {
    border-left: 0.25rem solid var(--primary) !important;
}

#tema-cores .cor-opcao {
    width: 22px;
    height: 22px;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
    margin-right: 8px;
    margin-bottom: 6px;
    transition: transform 0.2s ease;
}

#tema-cores .cor-opcao:hover {
    transform: scale(1.1);
}

#tema-cores .cor-opcao.selecionado {
    border: 2px solid #000;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2);
}

.cor-opcao {
    width: 24px;
    height: 24px;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px #ccc;
}

/* intro tour */
.introjs-tooltip.introjs-floating {
    width: 400px !important;
    /* aumenta a largura do card */
    font-size: 16px;
    /* fonte um pouco maior */
    line-height: 1.5;
}

.introjs-tooltiptext {
    padding: 15px 20px;
}

.introjs-button {
    padding: 8px 16px;
    font-size: 14px;
    white-space: nowrap;
}

.introjs-skipbutton {
    margin-right: 10px !important;
}

.introjs-tooltipbuttons {
    text-align: right;
    padding: 10px 15px;
}

@media screen and (max-width: 480px) {
    .introjs-tooltip {
        max-width: 90vw !important;
    }
}

tr.linha-separado {
    border-left: 6px solid #0d6efd !important;
    background: rgba(13, 110, 253, .08);
}

.badge-separado {
    background-color: #0d6efd;
    color: #fff;
}