:root{
    --color-primary:#0c7286;
    --color-bg:#EEF5F5;
    --color-dark:#16223A;
}

@font-face {
    font-family: 'Roboto';
    src: url('../css/fonts/roboto/Roboto-Light.woff2') format('woff2');
    font-weight: 300; 
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('../css/fonts/roboto/Roboto-Regular.woff2') format('woff2');
    font-weight: 400; 
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('../css/fonts/roboto/Roboto-Medium.woff2') format('woff2');
    font-weight: 500; 
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('../css/fonts/roboto/Roboto-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('../css/fonts/roboto/Roboto-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

/*Fuente Figtree***********/
@font-face {
    font-family: 'Figtree';
    src: url('../css/fonts/figtree/Figtree-Light.woff2') format('woff2');
    font-weight: 300; 
    font-display: swap;
}

@font-face {
    font-family: 'Figtree';
    src: url('../css/fonts/figtree/Figtree-Regular.woff2') format('woff2');
    font-weight: 400; 
    font-display: swap;
}

@font-face {
    font-family: 'Figtree';
    src: url('../css/fonts/figtree/Figtree-Medium.woff2') format('woff2');
    font-weight: 500; 
    font-display: swap;
}

@font-face {
    font-family: 'Figtree';
    src: url('../css/fonts/figtree/Figtree-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Figtree';
    src: url('../css/fonts/figtree/Figtree-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

body{
    font-family: 'Figtree', 'Roboto', sans-serif;
    font-size: 15px;
    font-weight: 400;
    background:#EEF5F5;
    min-height:100vh;
}
.form-control {
    font-size: 15px;
    font-weight:400;
}
.btn {
    font-size:14px;
}
.font-15{
    font-size: 15px;
}
.font-14{
    font-size: 14px;
}
.font-13{
    font-size: 13px;
}
p {
    font-size: 15px;
}

table {
    font-size: 13px !important;
    vertical-align: middle !important;
}

table thead th{
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #dee2e6 !important;
}

table tbody tr td{
    border: none !important;
}

table tbody tr td{
    transition: background 0.2s ease;
}

table tbody tr:hover td{
    background: #EEF5F5;
}

div.dataTables_wrapper div.dataTables_info {
    font-size: 13px;
}
div.dataTables_wrapper div.dataTables_paginate ul.pagination > li > a{
    font-size: 13px !important;
}
.active>.page-link, .page-link.active {
    background-color: #0c7286 !important;
}

/*Estilo para el swal fire*/
.swal-small{
    width:350px !important;
    font-size:14px;
}

/* icono */
.swal-small .swal2-icon{
    margin:10px auto !important;
}

.swal-small .swal2-icon .swal2-icon-content{
    font-size:28px !important;
}

/* titulo */
.swal-small .swal2-title{
    padding-top: 0px;
    font-size:20px !important;
}

/* texto */
.swal-small .swal2-html-container{
    font-size:14px !important;
}
/* contenedor botones */
.swal-small .swal2-actions{
    margin-top:10px;
}

label {
    font-size: 14px !important;
}
.modal-title {
    font-size: 17px;
}

.bi::before {
    font-weight: 600 !important;
}

.card{
    border:none;
    border-radius:12px;
}
.card-body{
    border:none;
    border-radius:12px;
}

.btn-primary{
    background:#0c7286;
    border:none;
    padding: 7px 12px;
}

.btn-primary:hover{
    background:#095c6d;
}


.page-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #D5E8E8;
    padding: 10px 17px;
    border-radius: 10px;
    margin-bottom: 15px;
}

/* DARK MODE */

[data-bs-theme="dark"] body, 
[data-bs-theme="dark"] .sidebar{
    background:#091029;
}
[data-bs-theme="dark"] .card-body{
    background-color: #0c1536;
    border: 1px solid transparent;
}
[data-bs-theme="dark"] .sidebar a{
    color:#fff;
}

[data-bs-theme="dark"] .has-sub a.open{
    color: #fff;
}

[data-bs-theme="dark"] .submenu a{
    color: #fff;
}

[data-bs-theme="dark"] .submenu a:hover {
    background: #12192d;
    color: #fff;
}

[data-bs-theme="dark"] .submenu a:hover:before {
    border: 1px solid #fff;
}

[data-bs-theme="dark"] .submenu a:before {
    border: 1px solid #fff;
}

[data-bs-theme="dark"] .has-sub a.open {
    background-color: #16223A;
}
[data-bs-theme="dark"] .submenu {
    background: #16223A;
}
[data-bs-theme="dark"] .sidebar li.active > a {
   background-color: #0C1536; 
}

[data-bs-theme="dark"] .page-header {
    background-color: #0C1536;
    border: 1px solid #273158;
}

[data-bs-theme="dark"] table{
    background:#0c1536;
}

[data-bs-theme="dark"] table tbody tr td{
    background:#020617;
    color:#e9ecef;
}
[data-bs-theme="dark"] table thead th{
    background:#020617;
    color:#fff;
}

[data-bs-theme="dark"] table.dataTable tbody td{
    background:#0c1536;
    color:#e9ecef;
}

table.dataTable tfoot tr th{
    border: none;
}
[data-bs-theme="dark"] table.dataTable tfoot tr th{
    background:#020617;
    color:#e9ecef;
    border: none;
}

table tfoot tr th{
    border: none;
}

[data-bs-theme="dark"] table tfoot tr th{
    background:#020617;
    color:#e9ecef;
    border: none;
}

[data-bs-theme="dark"] div.dataTables_wrapper div.dataTables_paginate ul.pagination > li > a {
    background: #0c1536;
    border: 1px solid #273158;
}
[data-bs-theme="dark"] table tbody tr:hover td{
    background: #09102991;
}
[data-bs-theme="dark"] .modal-content {
    background: #020617;
}
[data-bs-theme="dark"] .form-control {
    background-color: #212C56;
    border: 1px solid #273158;
}
[data-bs-theme="dark"] div:where(.swal2-container) div:where(.swal2-popup) {
    background-color: #020617;
    color: #fff;
    border: 1px solid #2d394c;
}

[data-bs-theme="dark"] table tbody tr td{
    background:#020617;
    color:#e9ecef;
}
[data-bs-theme="dark"] table tbody tr th {
    background: #020617;
    color: #e9ecef;
}
[data-bs-theme="dark"] table thead th{
    background:#0c1536;
    color:#fff;
}
[data-bs-theme="dark"] table thead th{
    border-bottom: 1px solid #273158 !important;
}
[data-bs-theme="dark"] .submenu li.active a:before{
    border: 1px solid #fff;
}
[data-bs-theme="dark"] .submenu li.active a{
    background:#12192d;
    color: #fff;
}

[data-bs-theme="dark"]  div:where(.swal2-container) div:where(.swal2-validation-message) {
    background: #0d1423;
    margin: 10px;
    border: 1px solid #cecece;
    color: #fff;
}

[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > th{
    color: #fff;
    background : #0c1023;
}

[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > td > a{
    color: #fff;
    background : #0c1023;
}
[data-bs-theme="dark"] .dtp table.dtp-picker-days tr > td {
    background : #0c1023;
}
[data-bs-theme="dark"] .dtp > .dtp-content > .dtp-date-view > header.dtp-header {
    background: #0C1023;
}
[data-bs-theme="dark"] .dtp div.dtp-date, .dtp div.dtp-time {
    background: #0C1023;
}
[data-bs-theme="dark"] .dtp div.dtp-picker {
    background: #0C1023;
}
[data-bs-theme="dark"] .dtp div.dtp-picker-month {
    background: #0C1023;
}
[data-bs-theme="dark"] .dtp .dtp-buttons {
    background: #0c1023;
}
[data-bs-theme="dark"] .input-group-text {
    background-color: #212C56;
    border: 1px solid #273158;
}

.dtp div.dtp-picker-month {
    padding-top: 10px;
}
.dtp .dtp-buttons {
    padding: 10px;
    
}
.dtp div.dtp-date, .dtp div.dtp-time {
    background-color: #095c6d;
}
.dtp > .dtp-content > .dtp-date-view > header.dtp-header {
    background: #2f3d4a;
}
.dtp .dtp-buttons .dtp-btn-ok{
    background-color: #095c6d;
    border: none;
    font-size: 14px !important;
}
.dtp .dtp-buttons .dtp-btn-cancel{
    background-color: #2f3d4a;
    border: none;
    font-size: 14px !important;
    margin-right: 10px;
    color: #fff;
}
.dtp table.dtp-picker-days tr > td > a.selected {
    background-color: #095c6d;
}

[data-bs-theme="dark"] .dtp table.dtp-picker-days {
    background: #0c1023 !important;
}

/*css para el drag & drop de los temarios*/
#tablaTemarios tbody tr{
    cursor: move;
}

/* 🔹 Quitar flechita del dropdown */
.btnMenuAcciones::after {
    display: none !important;
}

/*Botón redondeado tipo icono */
[data-bs-theme="dark"] .btnMenuAcciones {
    border-radius: 50%;
    border-color: #0c7286;
    width: 35px;
    height: 35px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff00;
    color: #fff;
}

[data-bs-theme="dark"] .btnMenuAcciones:first-child:active {
    background-color: #12192d;
    color: #fff;
}
[data-bs-theme="dark"] .btnMenuAcciones.show {
    background-color: #0c7286;
    color: #fff;
}
[data-bs-theme="dark"] .btnMenuAcciones:hover {
    background-color: #12192d;
    color: #fff;
}
[data-bs-theme="dark"] .list-group {
    background-color: #16223a;
}
[data-bs-theme="dark"] .list-group-item {
    background-color: #16223a;
}
[data-bs-theme="dark"] .dropdown-menu {
    background-color: #0c1536;
    border: 1px solid #273158;
}

[data-bs-theme="dark"] .dropdown-item:focus, .dropdown-item:hover {
    color: #fff !important;
    background-color: #1a2551 !important;
}

[data-bs-theme="dark"] .dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #1a2551;
}

[data-bs-theme=dark] .form-select {
    background-color: #212C56;
    border: 1px solid #273158;
}

.dropdown-item:focus, .dropdown-item:hover {
    color: #000;
    background-color: #D5E8E8;
}

.dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #0c7286;
}

.bootstrap-select.form-control {
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.btnMenuAcciones {
    border-radius: 50%;
    border-color: #0c7286;
    width: 35px;
    height: 35px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff00;
    color: #0c7286;
}
.btnMenuAcciones:first-child:active {
    background-color: #12192d;
    color: #fff;
}
.btnMenuAcciones.show {
    background-color: #0c7286;
    color: #fff;
    border:none;
}
.btnMenuAcciones:hover {
    background-color: #12192d;
    color: #fff;
}

.dropdown-item{
    font-size: 14px;
}

.bg-purple {
    background-color: #6f42c1 !important;
    color: #fff;
}

.logo-dark {
    display: block;
}
.logo-light {
    display: none;
}
[data-bs-theme="dark"] .logo-light {
    display: block;
}

[data-bs-theme="dark"] .logo-dark {
    display: none;
}

.logo-sidebar{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.logo-sidebar img{
    width: 120px;
    padding: 15px 0px;
}

@media(max-width:992px){
    .logo-sidebar img{
    width: 160px;
    }
}

#loaderGlobal{
    position:fixed;
    inset:0;
    background:rgb(0 0 0 / 84%);
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
}

.loader-box{
    background:#fff;
    padding:25px 35px;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

.loader-box{
    animation:fadeIn .3s ease;
}

@keyframes fadeIn{
    from{opacity:0; transform:scale(0.9);}
    to{opacity:1; transform:scale(1);}
}

i[class^="fi-rr-"]:before, i[class*=" fi-rr-"]:before, span[class^="fi-rr-"]:before, span[class*="fi-rr-"]:before{
    vertical-align: middle !important;
}

.badge-primary,
.badge-secondary,
.badge-success,
.badge-danger,
.badge-warning,
.badge-info,
.badge-light,
.badge-dark,
.badge-purple{
    font-size: 10.8px;
    padding: 3px 5px;
    border-radius: 6px;
    border-width: 1px;
    border-style: solid;
    font-weight: 500;
}

/* =========================================================
LIGHT MODE
========================================================= */

.badge-primary {
    background-color: rgba(13, 110, 253, 0.15);
    color: #0d6efd;
    border-color: rgba(13, 110, 253, 0.25);
}

.badge-secondary {
    background-color: rgb(243, 244, 246);
    color: rgb(107, 114, 128);
    border-color: rgba(108, 117, 125, 0.25);
}

.badge-success {
    background-color: rgba(25, 135, 84, 0.15);
    color: #198754;
    border-color: rgba(25, 135, 84, 0.25);
}

.badge-danger {
    background-color: rgba(220, 53, 69, 0.15);
    color: #dc3545;
    border-color: rgba(220, 53, 69, 0.25);
}

.badge-warning {
    background-color: rgba(255, 193, 7, 0.15);
    color: #d39e00;
    border-color: rgba(255, 193, 7, 0.25);
}

.badge-info {
    background-color: rgba(13, 202, 240, 0.15);
    color: #0dcaf0;
    border-color: rgba(13, 202, 240, 0.25);
}

.badge-light {
    background-color: rgba(248, 249, 250, 0.8);
    color: #212529;
    border-color: rgba(248, 249, 250, 0.18);
}

.badge-dark {
    background-color: rgba(33, 37, 41, 0.15);
    color: #212529;
    border-color: rgba(33, 37, 41, 0.25);
}

.badge-purple {
    background-color: rgba(79, 70, 229, 0.15);
    color: #4f46e5;
    border-color: rgba(79, 70, 229, 0.25);
}

/* =========================================================
DARK MODE
========================================================= */

[data-bs-theme="dark"] .badge-primary {
    background-color: rgba(13, 110, 253, 0.22);
    color: #6ea8fe;
    border-color: rgba(13, 110, 253, 0.45);
}

[data-bs-theme="dark"] .badge-secondary {
    background-color: rgba(148, 163, 184, 0.12);
    color: #cbd5e1;
    border-color: rgba(148, 163, 184, 0.28);
}

[data-bs-theme="dark"] .badge-success {
    background-color: rgba(25, 135, 84, 0.22);
    color: #75e0a7;
    border-color: rgba(25, 135, 84, 0.45);
}

[data-bs-theme="dark"] .badge-danger {
    background-color: rgba(220, 53, 69, 0.22);
    color: #ff808b;
    border-color: rgba(220, 53, 69, 0.45);
}

[data-bs-theme="dark"] .badge-warning {
    background-color: rgba(255, 193, 7, 0.22);
    color: #ffd95e;
    border-color: rgba(255, 193, 7, 0.45);
}

[data-bs-theme="dark"] .badge-info {
    background-color: rgba(13, 202, 240, 0.22);
    color: #6edff6;
    border-color: rgba(13, 202, 240, 0.45);
}

[data-bs-theme="dark"] .badge-light {
    background-color: rgba(248, 249, 250, 0.08);
    color: #f8f9fa;
    border-color: rgba(248, 249, 250, 0.18);
}

[data-bs-theme="dark"] .badge-dark {
    background-color: rgba(255, 255, 255, 0.08);
    color: #f8f9fa;
    border-color: rgba(255, 255, 255, 0.18);
}

[data-bs-theme="dark"] .badge-purple {
    background-color: rgba(79, 70, 229, 0.22);
    color: #a5b4fc;
    border-color: rgba(79, 70, 229, 0.45);
}

[data-bs-theme="dark"] .page-header-ajuste{
    background-color: #12192d;
}
.list-ajuste li {
    list-style: none;
    margin-bottom: 2px;
}
.list-ajuste li i{
    margin-right: 5px;
}
.list-ajuste li a{
    color: #16223a;
    font-weight: 400;
    text-decoration: none;
}

[data-bs-theme="dark"] .list-ajuste li a{
    color: #fff;

}

.fi {
    vertical-align: middle !important;
}

div.dataTables_wrapper div.dataTables_info{
    float: left;
    padding-top: 8px;
    margin-right: 12px;
}
div.dataTables_wrapper div.dataTables_paginate{
    float: left;
}