:root {
    /* Colores principales */
    --color-primary: #df2f75;
    --color-primary-dark: #bd1759;
    --color-primary-soft: #df3076;
    --color-secondary: #b4225c;
    --color-secondary-light: #cc2a6b;
    --color-secondary-alt: #ed39ae;
    --color-dark: #440027;

    /* RGB para sombras */
    --color-primary-rgb: 223, 47, 117;
    --color-secondary-rgb: 237, 57, 174;
    --color-dark-rgb: 68, 0, 39;
    --bg-color-primary: 174, 34, 90;
}

/* Fondos */
.leftbar-tab-menu .main-icon-menu,
.leftbar-tab-menu .main-icon-menu .main-icon-menu-body .nav.nav-tabs .nav-link,
a.profile,
.modal-content .modal-header {
    background-color: var(--color-primary);
}

.leftbar-tab-menu .main-icon-menu .main-icon-menu-body .nav.nav-tabs .nav-link.active,
.leftbar-tab-menu .main-icon-menu .main-icon-menu-body .nav.nav-tabs .nav-link:focus {
    background-color: var(--color-primary);
    color: #671030;
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bg-color-primary), var(--bs-bg-opacity)) !important;
}

/* Texto y elementos destacados */
.leftbar-tab-menu .main-menu-inner .menu-body .nav-item .nav-link.active,
.text-muted,
i.text-primary,
.btn-de-primary {
    color: var(--color-primary) !important;
}

.text-secondary {
    color: rgba(var(--color-primary-rgb), var(--bs-text-opacity)) !important;
}

.nav-link {
    color: var(--color-primary);
}
.nav-link:focus,
.nav-link:hover {
    color: var(--color-primary-dark);
}

/* Botones */
.btn-primary {
    --bs-btn-bg: var(--color-primary);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-hover-bg: var(--color-primary-dark);
    --bs-btn-hover-border-color: var(--color-primary-dark);
    --bs-btn-active-bg: var(--color-primary);
    --bs-btn-active-border-color: var(--color-primary);
}

.btn-secondary {
    --bs-btn-bg: var(--color-secondary);
    --bs-btn-border-color: var(--color-secondary);
    --bs-btn-hover-bg: var(--color-secondary-light);
    --bs-btn-hover-border-color: var(--color-secondary-light);
    --bs-btn-focus-shadow-rgb: 133, 148, 196;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-secondary);
    --bs-btn-active-border-color: #54618b;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #ba4e79;
    --bs-btn-disabled-border-color: #ba4e79;
}

.btn-outline-secondary {
    --bs-btn-color: var(--color-secondary);
    --bs-btn-border-color: var(--color-secondary);
    --bs-btn-hover-bg: var(--color-primary-dark);
    --bs-btn-hover-border-color: var(--color-primary-dark);
}

.btn-outline-primary {
    --bs-btn-color: var(--color-primary);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-primary-dark);
    --bs-btn-hover-border-color: var(--color-primary-dark);
    --bs-btn-active-border-color: var(--color-primary);
    --bs-btn-disabled-color: var(--color-secondary-alt);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--color-secondary-alt);
    --bs-gradient: none;
}

/* Botón link */
.btn-link {
    --bs-btn-color: var(--color-primary-soft);
    --bs-btn-hover-color: var(--color-primary-dark);
    --bs-btn-active-color: var(--color-primary-soft);
    --bs-btn-disabled-color: #d76db2;
    --bs-btn-focus-shadow-rgb: var(--color-primary-rgb);
    text-decoration: underline;
}

/* Soft backgrounds */
.bg-soft-primary,
.btn-soft-primary {
    background-color: rgba(var(--color-primary-rgb), .08) !important;
    color: var(--color-primary-soft) !important;
}

.bg-soft-primary:hover,
.btn-soft-primary:hover,
.btn-de-primary:hover,
.btn-soft-dark:hover,
.bg-soft-dark:hover,
:not(.btn-check) + .btn:active {
    background-color: var(--color-primary-dark) !important;
    color: #fff !important;
}

/* Formularios */
.form-control:focus {
    border-color: var(--color-primary-dark);
}

.form-check-input:checked {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
}

.form-check-input:focus {
    border-color: var(--color-primary-dark);
    box-shadow: 0 0 0 .1rem rgba(var(--color-primary-rgb), .25);
}

/* Badges */
.badge.badge-soft-primary {
    background-color: rgba(var(--color-primary-rgb), .15) !important;
    color: var(--color-primary-soft);
    box-shadow: 0 0 13px 0 rgba(var(--color-primary-rgb), .05);
}

.badge.badge-outline-primary {
    color: var(--color-primary-soft);
    border: 1px solid var(--color-primary-soft);
}

/* Navegación */
.nav-pills .nav-link.active {
    background: #da5288;
    color: #fff;
    border-radius: 0;
}

/* Selects */
.selectr-option.active,
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--color-primary-dark);
}

/* Tablas y links */
.dataTable-pagination .active a,
.dataTable-pagination .active a:hover,
.dataTable-pagination a:hover,
a:hover {
    color: var(--color-primary-dark);
}
