@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root{
    --black-primary: #0f172b;
    --black-dark: #020618;
    --black-light: #f8fafc;
    --black-accent: #90a1b9;
    --black-highlight: #e4e8ef;
    --black-input-shadow: #d9d9d9;
    --black-bg: #eef1f6;

    /* modo dark */
    --black-bg-dark: #020617;
    --black-content-dark: #1d293d;
    --black-input-dark: #0c1023;
    --black-border-dark: #1a2230;
    --black-button-second: #0c1023;

    --black-font-family: 'Inter', sans-serif;

    --danger: #e7000b;
    --success: #5ea500;
    --warning: #f54900;
    --primary: #155dfb;
    --info: #1dadff; 
}

html, body {
    background: var(--black-bg);
    font-family: var(--black-font-family, sans-serif) !important;
    color: var(--black-dark);
}
section.content-body {
    padding: 14px 15px 21px 15px;
    background: transparent;
}
section.content-body-auth {
    padding: 0;
}
/* sin margen lateral: el encabezado queda al mismo ancho que las tarjetas y tablas de abajo */
.page-header {
    margin: 0 !important;
    border: none;
    background-color: transparent !important;
    border-radius: 0;
    box-shadow: none !important;
    padding: 10px 0 0 0 !important;
    height: auto !important;
}
/* el h2 del tema va flotado y con alto fijo: el subtitulo se le montaba encima */
.page-header h2{
    border-bottom: 0;
    padding: 0;
    color: var(--black-dark) !important;
    font-weight: 700;
    font-size: 24px;
    font-family: var(--black-font-family, sans-serif);
    float: none;
    display: block;
    height: auto;
    line-height: 1.25;
    margin: 0;
}
.page-header .page-subtitle{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    margin-top: .25rem;
    font-size: .8rem;
    color: var(--black-accent);
}
.page-header .page-title{
    display: flex;
    align-items: center;
    gap: .6rem;
}
/* el icono va afuera del titulo para que este y el subtitulo arranquen al mismo margen */
.page-header .page-header-identity{
    display: flex;
    align-items: center;
    gap: .75rem;
}
.page-header .page-header-identity .page-title{
    gap: 0;
}
/* el cuadro del icono abarca el alto del titulo mas el subtitulo */
.page-header .page-header-identity .icon-box--lg{
    width: 42px; height: 42px; flex: 0 0 42px;
    border-radius: 11px; font-size: 18px;
}
/* encabezado dentro de una tarjeta, como el resto de bloques */
.page-header--card {
    background-color: #ffffff !important;
    border: 1px solid var(--black-highlight);
    border-radius: 10px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08) !important;
    padding: 14px 16px !important;
}
.table-responsive {
    border: 1px solid var(--black-highlight);
    border-radius: 10px;
    margin-top: 10px;
    background: #ffffff;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08);
}
/* la separacion con lo anterior la da la tarjeta, no la tabla */
.card > .table-responsive {
    margin-top: 0;
}
/* dentro de una tarjeta el marco lo pone el propio card-body */
.card-body > .table-responsive {
    border: none;
    border-radius: 0;
    box-shadow: none;
    margin-top: 0;
    background: transparent;
}
.table .thead-light th{
    color: var(--black-dark);
    background-color: transparent;
}
.card .table th, .table td {
    border-top: unset;
    line-height: 1;
}
.table th, .table td{
    padding: 0.5rem;
}
.table thead th {
    border-bottom: none;
}
.table-responsive .table thead tr {
    border-top: none !important;
}
.table-responsive .table thead tr, .table-responsive .table tbody tr {
    border-top: 1px solid var(--black-highlight);
    border-bottom: 1px solid var(--black-highlight);
}
.table-responsive .table thead tr, .table-responsive .table tbody tr {
    border-top: 1px solid var(--black-highlight);
    border-bottom: 1px solid var(--black-highlight);
}
.table-hover .table-light:hover,
.table-hover .table-light:hover > td, .table-hover .table-light:hover > th {
    background-color: var(--black-light);
}
.table-light, .table-light > th, .table-light > td{
    background-color: #ffffff;
}
.table{
    margin-bottom: 0;
}
.btn-sm, .btn-group-sm > .btn{
    border-radius: 8px;
}
.btn-secondary,
.el-button {
    background: #FFFFFF;
    border: 1px solid var(--black-highlight) !important;
    color: var(--black-dark) !important;
    border-radius: 8px !important;
}
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active, .btn-secondary:not(:disabled):not(.disabled):active,
.el-button:focus, .el-button:hover {
    color: var(--black-dark) !important;
    border-color: var(--black-highlight) !important;
    background-color: var(--black-light) !important;
    box-shadow: none !important;
}
.el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:focus, .el-button.is-disabled.is-plain:hover{
    background-color: #fff;
    border-color: var(--black-highlight) !important;
    color: var(--black-highlight) !important;
}
.btn-primary,
.el-button--primary {
    background-color: var(--black-primary) !important;
    border-color: var(--black-primary) !important;
    color: var(--black-light) !important;
    border-radius: 8px !important;
}
.btn-primary:hover,
.btn-primary:focus, .btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle,
.el-button--primary:focus, .el-button--primary:hover {
    background-color: var(--black-primary) !important;
    border-color: var(--black-primary) !important;
    opacity: 0.8 ;
    color: var(--black-light) !important;
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus{
    box-shadow: none;
}
.btn-dropdown-toggle{
    background-color: transparent !important;
    border: none !important;
    padding: 3px !important;
    color: var(--black-dark) !important;
    border-radius: 8px !important;
}
.btn-dropdown-toggle:hover, .btn-dropdown-toggle:focus {
    background-color: var(--black-highlight) !important;
}
.btn-success {
    background-color: var(--success);
    border-color: var(--success);
    color: #ffffff !important;
    border-radius: 8px;
}
.btn-success:hover,
.btn-success:focus, .btn-success:active{
    background-color: var(--success);
    border-color: var(--success);
    opacity: 0.8;
    color: #ffffff !important;
}
.btn-danger {
    background-color: var(--danger);
    border-color: var(--danger);
    color: #ffffff !important;
    border-radius: 8px;
}
.btn-danger:hover,
.btn-danger:focus, .btn-danger:active{
    background-color: var(--danger);
    border-color: var(--danger);
    opacity: 0.8;
    color: #ffffff !important;
}
.btn-warning {
    background-color: var(--warning);
    border-color: var(--warning);
    color: #ffffff !important;
    border-radius: 8px;
}
.btn-warning:hover,
.btn-warning:focus, .btn-warning:active{
    background-color: var(--warning);
    border-color: var(--warning);
    opacity: 0.8;
    color: #ffffff !important;
}
.btn-info {
    background-color: var(--info);
    border-color: var(--info);
    color: #ffffff !important;
    border-radius: 8px;
}
.btn-info:hover,
.btn-info:focus, .btn-info:active{
    background-color: var(--info);
    border-color: var(--info);
    opacity: 0.8;
    color: #ffffff !important;
}
.sidebar-left{
    width: 215px;
    margin: 8px;
    background: #ffffff;
    border: 1px solid var(--black-highlight);
    border-radius: 12px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}
/* en móvil el menú ocupa toda la pantalla, sin marco */
@media only screen and (max-width: 767px) {
    .sidebar-left{
        margin: 0;
        border: none;
        border-radius: 0;
        box-shadow: none;
    }
}
html.sidebar-light:not(.dark) .sidebar-left .nano{
    -webkit-box-shadow: none !important;
    box-shadow: none;
    border-radius: 0 0 12px 12px;
}
html.sidebar-light:not(.dark) .sidebar-left .sidebar-header .sidebar-title{
    border-radius: 12px 12px 0 0;
}
ul.nav-main{
    margin-right: 0;
}
html.sidebar-light:not(.dark) ul.nav-main{
    margin-top: 10px;
}
html.sidebar-light:not(.dark) ul.nav-main > li.nav-active > a{
    color: #ffffff !important;
    background-color: var(--black-primary);
}
.sidebar-left .sidebar-header .sidebar-toggle {
    background: #ffffff !important;
    border: 1px solid var(--black-highlight);
    width: 40px;
    height: 32px;
    position: relative;
    border-radius: 8px;
    color: var(--black-dark);
}
.sidebar-left .sidebar-header .sidebar-toggle:hover{
    background-color: var(--black-light) !important;
}
.sidebar-left .sidebar-header{
    color: var(--black-dark);
    height: 64px;
    padding: 8px;
}
.sidebar-left .sidebar-header .sidebar-title{    
    height: 100%;
    width: 100%;
    border-radius: 8px !important;
    padding: 5px 12px !important;
}
.sidebar-left .sidebar-header .sidebar-title:hover{
    background-color: var(--black-highlight) !important;
}
.sidebar-title-text-container{
    line-height: 1rem;
}
.sidebar-title-text{
    font-size: 14px;
    font-weight: 600;
    color: var(--black-dark);
}
.sidebar-title-text-second{
    font-size: 12px;
    font-weight: 400;
    color: var(--black-accent);
}
.sidebar-title .icon-title{
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--black-primary);
    color: #ffffff;
    margin-right: 10px;
}
html.sidebar-left-collapsed .sidebar-left .sidebar-toggle {
    border-radius: 8px;
}
.sidebar-toggle:hover svg .path-left{
    opacity: 1;
}
.sidebar-toggle svg .path-left, .sidebar-toggle svg .path-right {
    opacity: 0;
    transition: opacity 0.2s ease;
}
html.sidebar-left-collapsed .sidebar-left .sidebar-toggle:hover svg .path-left{
    opacity: 0;
}
html.sidebar-left-collapsed .sidebar-left .sidebar-toggle:hover svg .path-right{
    opacity: 1;
}
ul.nav-main > li.nav-active > a{
    box-shadow: none !important;
}
ul.nav-main li a > i{
    margin-right: 10px;
    width: 22px;
    font-size: 16px;
    text-align: center;
}
html.sidebar-light:not(.dark) ul.nav-main li a{
    display: flex;
    align-items: center;
    text-align: left;
    margin: 4px 8px;
    border-radius: 8px;
    padding: 11px 10px;
    overflow: hidden;
}
html.sidebar-light:not(.dark) ul.nav-main li a > span{
    overflow: hidden;
    text-overflow: ellipsis;
}
html.sidebar-light:not(.dark) ul.nav-main > li > a:hover, html.sidebar-light:not(.dark) ul.nav-main > li > a:focus{
    background-color: var(--black-highlight);
}
html.sidebar-light:not(.dark) ul.nav-main li a{
    color: var(--black-dark);
}
html.sidebar-light:not(.dark) ul.nav-main > li.nav-active > a:hover, html.sidebar-light:not(.dark) ul.nav-main > li.nav-active > a:focus{
    background-color: var(--black-primary);
    color: #ffffff !important;
}
html.sidebar-light:not(.dark) ul.nav-main li a svg{
    overflow: visible;
}
html.sidebar-light:not(.dark) ul.nav-main li .nav-children{
    background: transparent;
    padding: 0;
}
html.sidebar-light:not(.dark) ul.nav-main li .nav-children li a{
    padding: 9px 12px 9px 44px;
    font-size: 13px;
    color: var(--black-accent);
}
html.sidebar-light:not(.dark) ul.nav-main li .nav-children li a:hover, html.sidebar-light:not(.dark) ul.nav-main li .nav-children li a:focus{
    background-color: var(--black-highlight);
    color: var(--black-dark);
}
html.sidebar-light:not(.dark) ul.nav-main li .nav-children li.nav-active > a{
    background-color: var(--black-highlight);
    color: var(--black-dark);
    font-weight: 600;
}
ul.nav-main li.nav-parent > a:after{
    color: var(--black-accent);
}
.text-muted{
    color: var(--black-accent) !important;
}
.el-dropdown-menu{
    border-color: var(--black-highlight) !important;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1) !important;
    border-radius: 10px !important;
    width: 250px !important;
}
.el-popper[x-placement^=bottom] .popper__arrow{
    display: none;
}
.el-dropdown-menu__item:focus, .el-dropdown-menu__item:not(.is-disabled):hover{
    background-color: var(--black-highlight) !important;
    color: var(--black-dark) !important;
}
.el-dropdown-menu__item{
    color: var(--black-dark) !important;
    margin-left: 5px !important;
    margin-right: 5px !important;
    border-radius: 5px;
}
.el-dropdown-menu__item a{
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}
.modal-content{
    border-radius: 12px;
    border: none;
}
.nav-tabs{
    background-color: var(--black-highlight) !important;
    border-radius: 10px !important;
    padding: 4px !important;
}
.nav-tabs li .nav-link{
    background-color: transparent;
    border-radius: 6px;
    border: none;
    margin: 0;
    color: #797d88;
}
.nav-tabs.nav-justified li:last-child .nav-link, .nav-tabs.nav-justified li:last-child .nav-link:hover,
.nav-tabs.nav-justified li:first-child .nav-link, .nav-tabs.nav-justified li:first-child .nav-link:hover{
    border-radius: 6px;
    border: none;
    box-shadow: none;
    outline: none;
}
.nav-tabs li .nav-link:hover{
    background-color: transparent;
    border: none;
    color: var(--black-dark);
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link{
    background-color: #ffffff;
    color: var(--black-dark);
    border: none;
}
.nav-tabs .nav-link.active:hover, .nav-tabs .nav-item.show .nav-link:hover{
    background-color: #ffffff;
    border: none;
    color: var(--black-dark);
}
.tab-content{
    padding: 15px 0 0 0;
    border: none;
    box-shadow: none;
}
.nav-tabs.nav-justified li .nav-link{
    border-radius: 6px !important;
    outline: none !important;
}
.modal-header,
.modal-footer,
.card-footer{
    border: none;
}
.form-control,
.el-input__inner {
    border: 1px solid var(--black-highlight) !important;
    color: var(--black-dark) !important;
    background-color: #fcfcfc !important;
    border-radius: 8px !important;
    min-height: 32px !important;
    height: 32px !important;
}
.form-control:hover,
.el-input__inner:hover{
    border-color: var(--black-accent) !important;
}
.form-control:focus,
.el-select .el-input__inner:focus,
.el-input.is-active .el-input__inner, .el-input__inner:focus{
    background-color: #ffffff !important;
    border-color: var(--black-accent) !important;
    box-shadow: 0 0 0 0.2rem var(--black-input-shadow);
}
.card-header{
    background-color: #ffffff;
    color: var(--black-dark);
    border: 1px solid var(--black-highlight);
    border-bottom: none;
    border-radius: 10px 10px 0 0 !important;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}
.card-header + .card-body{
    border-top: 1px solid var(--black-highlight) !important;
    border-radius: 0 0 10px 10px !important;
}
.card-config {
    background-color: #ffffff !important;
    border: 1px solid var(--black-highlight) !important;
    border-radius: 13px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}
.card-config .card-header {
    border: none;
    border-bottom: 1px solid var(--black-highlight);
    border-radius: 12px 12px 0 0 !important;
    box-shadow: none;
}
.card-config .card-body{
    border-radius: 12px !important;
    border: none !important;
    box-shadow: none !important;
}
.card-body{
    background-color: #ffffff !important;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid var(--black-highlight) !important;
    border-radius: 10px !important;
}
.el-step__head.is-wait {
    color: var(--black-accent) !important;
    border-color: var(--black-accent) !important;
}
.el-step__head.is-process{
    color: var(--black-dark) !important;
    border-color: var(--black-dark) !important;
}
.el-step__line{
    background-color: var(--black-accent) !important;
}
.el-step__title.is-wait{
    color: var(--black-accent) !important;
}
.el-step__title.is-process{
    color: var(--black-dark) !important;
}
.el-step__head.is-success{
    color: var(--success) !important;
    border-color: var(--success) !important;
}
.el-step__title.is-success{
    color: var(--success) !important;
}
.el-step__head.is-success .el-step__line{
    background-color: var(--success) !important;
}
/* login styles */
.auth-login{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
}
.content-login{
    background-color: #ffffff;
    border: 1px solid #e4e8ef;
    border-radius: 12px;
    width: 416px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}
.form-horizontal .form-group{
    display: flex;
    flex-direction: column;
}
.form-horizontal .form-group input:not([type="button"]):not([type="submit"]){
    height: 36px !important;
    background-color: #FFFFFF !important;
}
.form-horizontal .form-group input::placeholder{
    color: var(--black-accent) !important;
}
.form-group label{
    width: 100%;
    text-align: start !important;
    font-weight: 400;
}
.auth-login .content-login .panel-heading,
.auth-login .content-login .panel-body{
    width: 100%;
}
.form-control{
    box-shadow: none;
}
.auth-login .btn-login{
    width: 100%;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.auth-login .card-title{
    color: var(--black-dark);
    font-family: 'Inter', sans-serif;
    font-size: 1.50rem;
    font-weight: 500;
}
.auth-login input[type="checkbox"] {
  accent-color: var(--black-primary);
}
.modal-header .close:focus,
.modal-header .close:hover {
    color: var(--black-dark);
    border: none;
    box-shadow: none;
    outline: none;
}
.bg-secondary{
    background-color: var(--black-accent) !important;
}
.userbox.show .dropdown-menu{
    top: -5px !important;
    border-radius: 10px;
}
.userbox.show .name-initials-container{
    margin-top: 5px;
}
.profile-info span.role {
    font-size: 12px !important;
    color: var(--black-accent) !important;
}
.profile-info span.name {
    font-size: 13px !important;
    color: var(--black-dark) !important;
}
.name-initials-container {
    width: 35px !important;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50% !important;
    background-color: var(--black-highlight);
    border: none;
    color: var(--black-dark);
}
.name-initials-container .name-initials {
    display: block !important;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}
.userbox.show .user-info-dropdown{
    display: block !important;
}
.widget-summary .summary-icon{
    display: flex;
    align-items: center;
    justify-content: center;
}
.userbox.show .dropdown-menu a{
    color: var(--black-dark);
    display: flex;
    align-items: center;
    gap: 4px;
    border-radius: 6px;
}
.userbox.show .dropdown-menu a:hover{
    background-color: var(--black-highlight);
    color: var(--black-dark);
}
.header{
    left: 231px;
    border: none;
    background: var(--black-bg);
}
.header .header-right .notifications-toggle, .header .name-initials-container{
    background: #ffffff;
    border: 1px solid var(--black-highlight) !important;
}
.header .header-right .notifications-toggle:hover{
    background: var(--black-primary);
    color: #ffffff;
}
.header .logo{
    font-size: 20px;
    color: var(--black-dark);
    margin-left: 1.5rem;
    margin-top: 18px !important;
}
@media only screen and (max-width: 460px) {
    .content-login{
        width: 100%;
    }
    .auth-login{
        padding: 0;
    }
}

/* end */
.stepper-item.active .stepper-circle,
.stepper-item.completed .stepper-circle {
    background-color: var(--black-primary) !important;
    color: #ffffff !important;
    border: var(--black-primary);
}
.stepper-item.active .stepper-label,
.stepper-item.completed .stepper-label{
    color: var(--black-dark) !important;
}

.stepper-circle{
    width: 28px !important;
    height: 28px !important;
    font-size: 14px !important;
}
.stepper-line{
    height: 2px;
    background-color: var(--black-highlight) !important;
}
.stepper-item.completed + .stepper-line {
    background-color: var(--black-primary) !important;
}
.stepper-circle{
    background-color: var(--black-highlight) !important;
    color: var(--black-accent) !important;
    border-color: var(--black-highlight) !important;
}
.alert{
    margin-top: 10px;
}
.alert .btn-close{
    position: absolute;
    top: 12px;
    right: 19px;
    background: transparent;
    border: none;
    outline: none;
    color: #721c24;
}
a, a:hover, a:focus, a:link, a:visited{
    color: var(--black-dark);
    text-decoration: none;
}
.table a:hover,
.card a:hover{
    text-decoration: underline;
}
a.btn:hover, a.btn:focus, a.status-pill:hover, a.setup-chip:hover{
    text-decoration: none;
}
.card{
    background-color: transparent !important;
    border: none;
    box-shadow: none;
}
/* Porto apila las tarjetas con 2.2rem y deja un hueco de mas entre el buscador y el listado */
.card + .card{
    margin-top: 1rem;
}
.card-footer{
    background-color: transparent;
    padding-left: 0;
    padding-right: 0;
}
.card-body + .card-footer{
    background-color: #ffffff;
    border: 1px solid var(--black-highlight);
    border-top: none;
    border-radius: 0 0 10px 10px;
    padding-left: 1rem;
    padding-right: 1rem;
}
.page-header .breadcrumbs{
    margin: 0;
    padding: 0;
}
.page-header .breadcrumbs li,
.page-header .breadcrumbs li a,
.page-header .breadcrumbs li span{
    font-size: 12px;
    color: var(--black-accent) !important;
}
.page-header .breadcrumbs li.active span{
    color: var(--black-dark) !important;
}
.page-header .right-wrapper{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.badge{
    padding: .35em .6em;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 600;
    border: 1px solid transparent;
}
.badge-primary{
    background-color: #e4ecfe !important;
    background-color: color-mix(in srgb, var(--primary) 12%, #ffffff) !important;
    color: var(--primary) !important;
}
.badge-secondary{
    background-color: var(--black-accent) !important;
    color: #ffffff !important;
}
.badge-dark{
    background-color: var(--black-primary) !important;
    color: #ffffff !important;
}
.badge-success{
    background-color: #eef7e4 !important;
    background-color: color-mix(in srgb, var(--success) 12%, #ffffff) !important;
    color: var(--success) !important;
}
.badge-danger{
    background-color: #fdeaeb !important;
    background-color: color-mix(in srgb, var(--danger) 12%, #ffffff) !important;
    color: var(--danger) !important;
}
.badge-warning{
    background-color: #feefe6 !important;
    background-color: color-mix(in srgb, var(--warning) 12%, #ffffff) !important;
    color: var(--warning) !important;
}
.badge-info{
    background-color: #e8f6fe !important;
    background-color: color-mix(in srgb, var(--info) 12%, #ffffff) !important;
    color: var(--info) !important;
}
.badge-light{
    background-color: var(--black-light) !important;
    color: var(--black-dark) !important;
    border-color: var(--black-highlight) !important;
}
.pagination{
    margin-bottom: 0;
}
.page-link{
    min-width: 32px;
    color: var(--black-dark);
    background-color: #ffffff;
    border-color: var(--black-highlight);
    text-align: center;
}
.page-link:hover{
    color: var(--black-dark);
    background-color: var(--black-light);
    border-color: var(--black-highlight);
}
.page-link:focus{
    box-shadow: none;
}
.page-item.active .page-link{
    background-color: var(--black-primary) !important;
    border-color: var(--black-primary) !important;
    color: #ffffff;
}
.page-item.disabled .page-link{
    color: var(--black-accent);
    background-color: #ffffff;
    border-color: var(--black-highlight);
}
.page-item:first-child .page-link{
    border-radius: 8px 0 0 8px;
}
.page-item:last-child .page-link{
    border-radius: 0 8px 8px 0;
}
.alert{
    border-radius: 10px;
    border: 1px solid transparent;
}
.alert-success{
    background-color: #eef7e4;
    background-color: color-mix(in srgb, var(--success) 12%, #ffffff);
    border-color: color-mix(in srgb, var(--success) 25%, #ffffff);
    color: var(--success);
}
.alert-danger{
    background-color: #fdeaeb;
    background-color: color-mix(in srgb, var(--danger) 12%, #ffffff);
    border-color: color-mix(in srgb, var(--danger) 25%, #ffffff);
    color: var(--danger);
}
.alert-warning{
    background-color: #feefe6;
    background-color: color-mix(in srgb, var(--warning) 12%, #ffffff);
    border-color: color-mix(in srgb, var(--warning) 25%, #ffffff);
    color: var(--warning);
}
.alert-info{
    background-color: #e8f6fe;
    background-color: color-mix(in srgb, var(--info) 12%, #ffffff);
    border-color: color-mix(in srgb, var(--info) 25%, #ffffff);
    color: var(--info);
}
.dropdown-menu{
    border-radius: 10px;
    border: 1px solid var(--black-highlight);
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .08);
    padding: 6px;
}
.dropdown-menu .dropdown-item,
.dropdown-menu > ul > li > a{
    border-radius: 6px;
    color: var(--black-dark);
}
.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus,
.dropdown-menu > ul > li > a:hover{
    background-color: var(--black-highlight);
    color: var(--black-dark);
}
.dropdown-menu .divider{
    background-color: var(--black-highlight);
}

/* element-ui */
.el-table{
    color: var(--black-dark);
    border-radius: 10px;
}
.el-table th,
.el-table th.el-table__cell{
    background-color: #ffffff;
    color: var(--black-accent);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.el-table th, .el-table td,
.el-table th.el-table__cell, .el-table td.el-table__cell{
    padding: 8px 0;
    border-bottom: 1px solid var(--black-highlight);
}
.el-table--border th, .el-table--border td,
.el-table--border th.el-table__cell, .el-table--border td.el-table__cell,
.el-table--group th.el-table__cell, .el-table--group td.el-table__cell{
    border-right: none;
}
.el-table::before,
.el-table--group::after, .el-table--border::after{
    background-color: transparent;
}
.el-table--enable-row-hover .el-table__body tr:hover > td,
.el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell{
    background-color: var(--black-light);
}
.el-table__empty-block{
    background-color: #ffffff;
}
.el-table__empty-text{
    color: var(--black-accent);
}
.el-pagination{
    padding: 10px 0 0 0;
}
.el-pagination__total,
.el-pagination__jump{
    color: var(--black-accent);
}
.el-pagination .btn-prev, .el-pagination .btn-next,
.el-pagination .el-pager li{
    background-color: #ffffff;
    border: 1px solid var(--black-highlight);
    border-radius: 8px;
    color: var(--black-dark);
    margin: 0 2px;
    min-width: 30px;
}
.el-pagination .btn-prev:hover, .el-pagination .btn-next:hover,
.el-pagination .el-pager li:hover{
    background-color: var(--black-light);
    color: var(--black-dark);
}
.el-pagination .el-pager li.active{
    background-color: var(--black-primary);
    border-color: var(--black-primary);
    color: #ffffff;
}
.el-dialog{
    border-radius: 12px !important;
    border: 1px solid var(--black-highlight);
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .08);
}
.el-dialog__header{
    border-bottom: 1px solid var(--black-highlight);
    padding: 16px 20px;
}
.el-dialog__title{
    font-size: 16px;
    font-weight: 600;
    color: var(--black-dark);
}
.el-dialog__body{
    color: var(--black-dark);
    padding: 20px;
}
.el-dialog__footer{
    border-top: 1px solid var(--black-highlight);
    padding: 12px 20px;
}
.el-dialog__headerbtn:focus .el-dialog__close,
.el-dialog__headerbtn:hover .el-dialog__close{
    color: var(--black-dark);
}
.el-select-dropdown{
    border-color: var(--black-highlight) !important;
    border-radius: 10px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
}
.el-select-dropdown__item{
    color: var(--black-dark);
    margin: 0 5px;
    border-radius: 6px;
}
.el-select-dropdown__item.hover, .el-select-dropdown__item:hover{
    background-color: var(--black-highlight);
}
.el-select-dropdown__item.selected{
    color: var(--black-primary);
    font-weight: 600;
}
.el-tag{
    background-color: var(--black-light);
    border-color: var(--black-highlight);
    border-radius: 8px;
    color: var(--black-dark);
}
.el-upload--text,
.el-upload-dragger{
    border: 1px dashed var(--black-highlight);
    border-radius: 8px;
    background-color: var(--black-light);
}
.el-upload--text:hover,
.el-upload-dragger:hover{
    border-color: var(--black-accent);
}
.el-upload-list__item:hover{
    background-color: var(--black-light);
    border-radius: 6px;
}
.el-tooltip__popper.is-dark{
    background-color: var(--black-primary);
    border-radius: 8px;
    font-size: 12px;
}
.el-tooltip__popper[x-placement^=top] .popper__arrow,
.el-tooltip__popper[x-placement^=top] .popper__arrow::after{
    border-top-color: var(--black-primary);
}
.el-tooltip__popper[x-placement^=bottom] .popper__arrow,
.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{
    border-bottom-color: var(--black-primary);
}

/* Pildoras y tarjetas de estado compartidas por el listado de empresas y
   la pantalla de configuracion */
.stat-card {
    border: 1px solid var(--black-highlight);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08);
    height: 100%;
}
.stat-icon {
    width: 40px; height: 40px; border-radius: 11px; flex: 0 0 40px;
    display: inline-flex; align-items: center; justify-content: center;
}
.stat-icon--neutral { background: var(--black-highlight); color: var(--black-dark); }
.stat-icon--success {
    background: color-mix(in srgb, var(--success) 12%, #ffffff);
    color: var(--success);
}
.stat-icon--warning {
    background: color-mix(in srgb, var(--warning) 12%, #ffffff);
    color: var(--warning);
}
.stat-icon--danger {
    background: color-mix(in srgb, var(--danger) 12%, #ffffff);
    color: var(--danger);
}
.stat-value { font-size: 1.5rem; font-weight: 700; line-height: 1; color: var(--black-dark); }
/* icono dentro de un cuadro de color, igual que los listados de pro9 */
.icon-box {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; flex: 0 0 22px;
    border-radius: 6px; font-size: 11px;
    background: var(--black-highlight); color: var(--black-dark);
}
.icon-box--lg { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 9px; font-size: 15px; }
.icon-box--primary {
    background: color-mix(in srgb, var(--primary) 12%, #ffffff);
    color: var(--primary);
}
.icon-box--success {
    background: color-mix(in srgb, var(--success) 12%, #ffffff);
    color: var(--success);
}
.icon-box--warning {
    background: color-mix(in srgb, var(--warning) 12%, #ffffff);
    color: var(--warning);
}
.icon-box--danger {
    background: color-mix(in srgb, var(--danger) 12%, #ffffff);
    color: var(--danger);
}
.icon-box--info {
    background: color-mix(in srgb, var(--info) 12%, #ffffff);
    color: var(--info);
}
.icon-box--muted { background: var(--black-light); color: var(--black-accent); }
/* chip de celda: cuadro con el icono + el texto, con el borde del mismo tono */
.cell-chip {
    display: inline-flex; align-items: center; gap: .35rem;
    padding: .15rem .45rem .15rem .15rem;
    border: 1px solid var(--black-highlight); border-radius: 8px;
    background: #ffffff; font-size: .76rem; font-weight: 600;
    color: var(--black-dark); white-space: nowrap;
}
.cell-chip--primary { border-color: color-mix(in srgb, var(--primary) 25%, #ffffff); color: var(--primary); }
.cell-chip--success { border-color: color-mix(in srgb, var(--success) 25%, #ffffff); color: var(--success); }
.cell-chip--warning { border-color: color-mix(in srgb, var(--warning) 25%, #ffffff); color: var(--warning); }
.cell-chip--danger  { border-color: color-mix(in srgb, var(--danger) 25%, #ffffff); color: var(--danger); }
.cell-chip--info    { border-color: color-mix(in srgb, var(--info) 25%, #ffffff); color: var(--info); }
.stat-label {
    font-size: .7rem; text-transform: uppercase; letter-spacing: .05em;
    color: var(--black-accent); font-weight: 600;
}
.status-pill {
    display: inline-flex; align-items: center; padding: .15rem .55rem; border-radius: 12px;
    font-size: .73rem; font-weight: 600; border: 1px solid transparent; white-space: nowrap;
}
.status-pill .dot { width: 7px; height: 7px; border-radius: 50%; margin-right: .35rem; background: currentColor; }
.status-pill--success {
    color: var(--success);
    background: color-mix(in srgb, var(--success) 12%, #ffffff);
    border-color: color-mix(in srgb, var(--success) 25%, #ffffff);
}
.status-pill--warning {
    color: var(--warning);
    background: color-mix(in srgb, var(--warning) 12%, #ffffff);
    border-color: color-mix(in srgb, var(--warning) 25%, #ffffff);
}
.status-pill--danger {
    color: var(--danger);
    background: color-mix(in srgb, var(--danger) 12%, #ffffff);
    border-color: color-mix(in srgb, var(--danger) 25%, #ffffff);
}
.status-pill--muted {
    color: var(--black-accent);
    background: var(--black-light);
    border-color: var(--black-highlight);
}
.status-pill--info {
    color: var(--info);
    background: color-mix(in srgb, var(--info) 12%, #ffffff);
    border-color: color-mix(in srgb, var(--info) 25%, #ffffff);
}
.status-note { font-size: .74rem; color: var(--black-accent); }
.status-note--warning { color: var(--warning); font-weight: 600; }
.status-note--danger { color: var(--danger); font-weight: 600; }

.notifications-box .notifications-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: var(--black-accent);
    font-size: 16px;
}
.notifications-box .notifications-toggle:hover {
    background: var(--black-highlight);
    color: var(--black-dark);
}
.notifications-count {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border-radius: 9px;
    font-size: 10px;
    font-weight: 700;
    line-height: 17px;
    text-align: center;
    color: #fff;
}
.notifications-count.is-danger { background: var(--danger); }
.notifications-count.is-warning { background: var(--warning); }
.notifications-menu {
    width: 320px;
    padding: 0;
    border: 1px solid var(--black-highlight);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .08);
}
.notifications-header {
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--black-accent);
    border-bottom: 1px solid var(--black-highlight);
}
.notifications-item {
    display: flex;
    align-items: flex-start;
    padding: 10px 14px;
    border-bottom: 1px solid var(--black-highlight);
}
.notifications-item:hover {
    background: var(--black-light);
    text-decoration: none;
}
.notifications-icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-right: 10px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}
.notifications-icon--danger {
    background: color-mix(in srgb, var(--danger) 12%, #ffffff);
    color: var(--danger);
}
.notifications-icon--warning {
    background: color-mix(in srgb, var(--warning) 12%, #ffffff);
    color: var(--warning);
}
.notifications-text { display: block; line-height: 1.3; }
.notifications-title { display: block; font-size: 13px; font-weight: 600; color: var(--black-dark); }
.notifications-company { display: block; font-size: 11px; color: var(--black-accent); }
.notifications-due { display: block; font-size: 11px; font-weight: 600; margin-top: 2px; }
.notifications-due--danger { color: var(--danger); }
.notifications-due--warning { color: var(--warning); }
.notifications-empty { padding: 18px 14px; font-size: 12px; color: var(--black-accent); text-align: center; }
.notifications-footer { padding: 8px 14px; font-size: 11px; color: var(--black-accent); text-align: center; }

@media only screen and (min-width: 768px) {
    html.fixed .sidebar-left {
        bottom: 0;
        left: 0;
        padding-bottom: 50px;
        position: fixed;
        top: 0px;
        z-index: 1020;
    }
    /* el tema lo deja fijo al hacer scroll y se montaba sobre la tabla */
    html.fixed .page-header {
        position: static;
        left: auto;
        right: auto;
        top: auto;
    }
    html.fixed .inner-wrapper {
        padding-top: 60px;
    }
    html.fixed .content-body {
        margin-left: 231px;
    }
}
