
/* Move down content because we have a fixed navbar that is 50px tall */
body {
    padding-bottom: 20px;
    background-color: white !important;
    min-height: 100vh;
    position: relative;
    margin: 0;
    padding-bottom: 0px;
    box-sizing: border-box;
}

.contenido-principal {
    padding-top: 80px;
    margin-left: 150px;
    background-color: #FBFBFB;
}

.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

.dl-horizontal dt {
    white-space: normal;
}

/* Movil */
@media (max-width: 768px) {

    .btn-enviar {
        width: 100%;
    }

    .jumbotron {
        margin-top: 20px;
    }

    .body-content {
        padding: 0;
    }
}

.btn-icon:hover svg {
    stroke: #2932E0;
}

.btn-enviar {
    width: 100%;
}

.container-footer {
    width: 90%;
    margin: 0 auto;
    font-family: Arial, sans-serif;
}

footer {
    margin-top: auto !important;
    bottom: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    color: white;
    text-align: center;
    width: 100%;
}

h1 {
    color: #EB4E25;
    font-weight: normal !important;
}

h2 {
    color: #EB4E25;
    font-weight: normal !important;
}

#BreabcrumbPath {
    padding: 0.75rem 1rem;
}

.breadcrumb {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    padding: 0.75rem 1rem !important;
    margin-bottom: 1rem !important;
    list-style: none !important;
    background-color: #e9ecef !important;
    border-radius: 0.25rem !important;
}

.breadcrumb a {
    color: #EB4E25;
}


.divider {
    height: 3rem;
    background-color: rgba(0, 0, 0, .1);
    border: solid rgba(0, 0, 0, .15);
    border-width: 1px 0;
    box-shadow: inset 0 0.5em 1.5em rgb(0 0 0 / 10%), inset 0 0.125em 0.5em rgb(0 0 0 / 15%);
}

.icon-square {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    font-size: 1.5rem;
    border-radius: 0.75rem;
    background-color: #FFB19C !important;
    color: #EB4E25;
}

.color-primary {
    color: #EB4E25;
}

.bg-color-primary {
    background-color: #EB4E25;
}

.text-white {
    color: white;
}

.background-transparent {
    background-color: rgba(255,255,255,0.36);
}

.logoCabecera {
    width: 50%;
}

.navbar {
    background-color: white;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .1);
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2000 !important;
}

    .navbar .navbar-toggler {
        top: .25rem;
        right: 1rem;
    }

    .navbar .form-control {
        padding: .75rem 1rem;
        border-width: 0;
        border-radius: 0;
    }

.container-fluid {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-right: auto;
    margin-left: auto;
}

.slide-home {
    background-image: url(/img/prueba2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.iconos-listados {
    font-size: 17px !important;
}

.mdc-button, .btn-primary {
    background-color: #EB4E25 !important;
    border-color: #EB4E25 !important;
}

.footable > thead > tr > th, .footable > thead > tr > td {
    background-color: white !important;
    background-image: -webkit-gradient(linear,left top,left bottom,from(white),to(white)) !important;
    background-image: -webkit-linear-gradient(top,white,white) !important;
    background-image: -moz-linear-gradient(top,white,white) !important;
    background-image: -ms-linear-gradient(top,white,white) !important;
    background-image: -o-linear-gradient(top,white,white) !important;
    background-image: linear-gradient(to bottom,white,white) !important;
    -webkit-box-shadow: 0 1px 0 rgb(255 255 255 / 80%) inset;
    -moz-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
    box-shadow: 0 1px 0 rgb(255 255 255 / 80%) inset;
    border-top: 1px !important;
    text-shadow: 0 1px 0 rgb(255 255 255 / 50%);
}

/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

/* Set widths on the form inputs since otherwise they're 100% wide */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="select"] {
    max-width: 280px;
}

/* Responsive: Portrait tablets and up */
@media screen and (min-width: 768px) {
    .jumbotron {
        margin-top: 20px;
    }

    .body-content {
        padding: 0;
    }
}

.background-white {
    background-color: white;
}

.page-title {
    border-bottom: 1px solid #e9e9e9;
    margin: 0px 0px 30px 0px;
    padding: 0px 0px 20px 0px;
}

/*PAGINA INICIAL*/

.formulario-inicio input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="select"] {
    max-width: 100%;
}


/*FIN PAGINA INICIAL*/

/*MENU*/
/*.menu-inferior {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
}*/

body, html {
    /*height: 100%;*/
    margin: 0;
}

.menu {
    width: 60px;
    background-color: white;
    color: white;
    position: fixed;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: width 0.3s;
    padding-top: 70px;
    z-index: 90;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

.menu-item {
    display: flex;
    align-items: center;
    width: 100%;
    text-align: left;
    padding-top: 15px;
    padding-bottom: 10px;
    padding-right: 10px;
    padding-left: 10px;
}

.menu:hover {
    width: 150px;
}

    .menu:hover .menu-item {
        display: flex;
        align-items: center;
    }

.submenu {
    display: none;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
    background-color: #FBFBFB;
    position: absolute;
    left: 150px;
    top: 0;
    width: 200px;
    height: 100%;
    padding-top: 70px;
    z-index: 90;
}

.menu-item.show .submenu {
    display: block;
}

.menu-item a, .submenu a {
    color: black;
    text-decoration: none;
    display: flex;
    align-items: center;
    /*    padding: 10px;*/
}

.submenu a {
    padding: 10px;
}

    .menu-item a svg, .submenu a svg {
        margin-right: 10px;
        width: 20px;
        height: 20px;
    }

.menu-item .indicator {
    margin-left: auto;
    padding-right: 10px;
}

.menu-text, .indicator {
    display: none;
}

.menu:hover .menu-text, .menu:hover .indicator {
    display: inline;
}

#toggleMenu {
    position: absolute;
    bottom: 0;
    width: 100%;
}

/* Movil */
@media (max-width: 768px) {
    main {
        margin-top: 70px !important;
    }

    #mobileMenu {
        margin-top: 60px !important;
    }

    #mobileMenu.show ~ main {
        margin-top: 0px !important;
    }

    main, header.navbar {
        position: relative;
        z-index: 1;
    }

    .navbar .container-fluid {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0.5rem 1rem;
    }

    .navbar-toggler {
        z-index: 100;
    }

    .navbar-brand {
        flex: 0 0 auto;
    }

    .botones-movil {
        display: none;
        flex-direction: row;
        gap: 0.5rem;
        margin-left: auto;
        margin-right: 0.5rem;
    }

    .botones-movil.abierto {
        display: flex !important;
    }

    .menu-movil {
        display: none;
        position: absolute;
        top: 60px;
        right: 10px;
        background: white;
        border: 1px solid #ddd;
        border-radius: 8px;
        width: 180px;
        z-index: 999;
    }

    .menu-movil.abierto {
        display: block;
    }

    .menu-item {
        border-bottom: 1px solid #eee;
        position: relative;
        padding: 10px 5px;
        justify-content: center;
    }

    .menu-item:last-child {
        border-bottom: none;
    }

    .menu-link {
        display: block;
        padding: 10px 12px;
        color: #333;
        text-decoration: none;
    }

    .submenu {
        display: none;
        list-style: none;
        margin: 0;
        padding: 0;
        background: #fafafa;
        border-top: 1px solid #eee;
        position: static !important;
        width: 100% !important;
        box-shadow: none !important;
        padding-left: 20px;
    }

    .menu-item.abierto .submenu {
        display: block;
    }

    .submenu li a {
        padding: 10px 20px;
        display: block;
        color: #333;
        text-decoration: none;
    }

    .indicator {
        float: right;
        font-size: 0.8rem;
        display: none !important;
    }

    .menu {
        transform: translateX(-100%);
        transition: transform .3s ease;
        width: 200px !important;
    }

    .menu.abierto {
        transform: translateX(0);
    }

    .menu-item a svg {
        width: 18px;
        height: 18px;
        margin-right: 0 !important;
    }

    .contenido-principal {
        margin-left: 0 !important;
        width: 100% !important;
    }

    body, html {
        overflow-x: hidden !important;
    }
}

/*FIN MENU*/

/* INICIO DE SESIÓN */

/* LOGIN */

.form-signin {
    width: 100%;
    max-width: 330px;
    padding: 15px;
    margin: auto;
}

.form-floating {
    position: relative;
}

.login-usuario {
    margin-bottom: -1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    padding: 1rem .75rem;
    height: calc(3.5rem + 2px);
    line-height: 1.25;
}

.login-pass {
    margin-bottom: 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding: 1rem .75rem;
    height: calc(3.5rem + 2px);
    line-height: 1.25;
}

.password-container {
    position: relative;
}

.toggle-password {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

    .toggle-password svg {
        width: 24px;
        height: 24px;
    }

/* FIN INICIO DE SESIÓN */

/* NUEVO MENU */

body, html {
    /*height: 100%;*/
    margin: 0;
}

.menu {
    width: 60px;
    background-color: white;
    color: white;
    position: fixed;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: width 0.3s;
    padding-top: 70px;
    z-index: 90;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

.menu-item {
    display: flex;
    align-items: center;
    width: 100%;
    text-align: left;
    padding-top: 15px;
    padding-bottom: 10px;
    padding-right: 10px;
    padding-left: 10px;
}

.menu:hover {
    width: 163px;
}

    .menu:hover .menu-item {
        display: flex;
        align-items: center;
    }

.submenu {
    display: none;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
    background-color: #FBFBFB;
    position: absolute;
    left: 163px;
    top: 0;
    width: 200px;
    height: 100%;
    padding-top: 70px;
    z-index: 90;
}

.menu-item.show .submenu {
    display: block;
}

.menu-item a, .submenu a {
    color: black;
    text-decoration: none;
    display: flex;
    align-items: center;
    /*padding: 10px;*/
}

.submenu a {
    padding: 10px;
}


    .menu-item a svg, .submenu a svg {
        margin-right: 10px;
        width: 20px;
        height: 20px;
    }

.menu-item .indicator {
    margin-left: auto;
    padding-right: 10px;
}

.menu-text, .indicator {
    display: none;
}

.menu:hover .menu-text, .menu:hover .indicator {
    display: inline;
}

#toggleMenu {
    position: absolute;
    bottom: 0;
    width: 100%;
}

.link-dark:focus, .link-dark:hover {
    background-color: transparent !important;
    color: #EB4E25 !important;
}

.navbar-toggler-icon {
    color: #333;
}

.tarjetas-panel-sup {
    background: linear-gradient(35deg,rgba(235, 78, 37, 1) 0%, rgba(212, 71, 36, 1) 50%, rgba(166, 53, 25, 1) 100%);
    color: white;
    border-radius: 10px;
}

.tarjetas-panel-sup a {
    color: white;
}

/* PANTALLA FICHAJE */

.card-body.card-fichaje {
    padding-bottom: 0rem !important;
}

.btn-notificaciones svg {
    stroke: #EB4E25;
}

.btn-notificaciones:hover svg {
    stroke: white;
}

.btn-usuario svg {
    stroke: #EB4E25;
}

.btn-usuario:hover svg {
    stroke: white;
}

.btn-usuario.show svg {
    stroke: white;
}

.btn-usuario {
    border: 1px solid #EB4E25;
    color: #EB4E25;
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
    transition: background-color 0.3s, border-color 0.3s;
}

.btn-usuario:hover {
    background-color: #EB4E25;
    border-color: #EB4E25;
}

.btn-logout svg {
    stroke: #dc3545;
}

.btn-logout:hover svg {
    stroke: white;
}

.btn-olvide {
    padding: 0.20rem 0.3rem !important;
    font-size: 0.85rem;
    height: 28px;
    width: 92%;
    margin-left: 17px;
}

.btn-outline-primary {
    --bs-btn-color: #EB4E25;
    --bs-btn-border-color: #EB4E25;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #EB4E25;
    --bs-btn-hover-border-color: #EB4E25;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #EB4E25;
    --bs-btn-active-border-color: #EB4E25;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #EB4E25;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #EB4E25;
    --bs-gradient: none;
}

.links-fichaje {
    width: 100%;
    text-align: center !important;
    display: block !important;
    height: auto !important;
    text-align: center;
    text-decoration: none !important;
}

.link-entrada {
    width: 50%;
    display: inline-block !important;
    background-color: green !important;
    color: white !important;
    padding: 5px !important;
}

.link-descanso {
    width: 100%;
    display: inline-block !important;
    background-color: #FFB600 !important;
    color: white !important;
    padding: 5px !important;
}

.link-pausa {
    width: 100%;
    display: inline-block !important;
    background-color: #FFB600 !important;
    color: white !important;
    padding: 5px !important;
}

.link-fin-pausa {
    width: 100%;
    display: inline-block !important;
    background-color: #FFB600 !important;
    color: white !important;
    padding: 5px !important;
}

.link-salida {
    width: 100%;
    display: inline-block !important;
    background-color: red !important;
    color: white !important;
    padding: 5px !important;
}

.link-incidencias {
    width: 100%;
    display: inline-block !important;
    background-color: #FFB600 !important;
    color: white !important;
    padding: 5px !important;
}

.img-fichar {
    width: 20% !important;
    height: auto;
}

.text-primary {
    color: #eb4e25 !important;
}

.fichajesGrid_Marcaje {
    width: 33%;
    text-align: center;
}

.card {
    height: 100%;
}

.equal-height {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.fichajesGrid_Marcaje_Text {
    text-align: center;
    width: 33%;
}

.header_fichajes_hoy {
    display: none;
}

.fichajesGrid_Marcaje_Text .Entrada {
    color: green !important;
    font-weight: bold;
}

.fichajesGrid_Marcaje_Text .Salida {
    color: red !important;
    font-weight: bold;
}

.fichajesGrid_Marcaje_Text .Pausa {
    color: #FFB600 !important;
    font-weight: bold;
}

.fichajesGrid_Marcaje_Text .Fin {
    color: #FFB600 !important;
    font-weight: bold;
}

.tabla-fichajes-trabajador {
    display: table;
}

.tabla-fichajes-trabajador .mdc-data-table__header-cell {
    text-align: center;
}

.tabla-fichajes-trabajador a {
    color: #504A48;
    text-decoration: none;
}

.btn-movil {
    padding: 25px 33px !important;
    font-size: 20px !important;
    height: 130px !important;
    width: 100% !important;
    display: block !important;
}

.align-horizontal {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 100%;
    white-space: nowrap;
}

/* Movil */
@media (max-width: 768px) {

    .align-horizontal {
        width: 100%;
        text-align: center;
    }

    .btn-movil {
        padding: 30px 50px !important;
        font-size: 20px !important;
        height: 150px !important;
        width: 100% !important;
        display: block !important;
    }

    .btn-medico {
        margin-bottom: 16px !important;
        display: block !important;
    }

    .btn-descanso {
        margin-bottom: 16px !important;
        display: block !important;
    }

    .btn-causa {
        margin-top: 16px !important;
        display: block !important;
    }

    .btn-movil p {
        font-size: 17px !important;
        margin-top: 10px;
    }

    .btn-movil .material-icons {
        font-size: 30px !important;
    }

    #fichajesPrincipales .d-flex {
        flex-direction: column !important;
        gap: 20px !important;
    }

    #fichajesIncidencias .row {
        margin-bottom: 20px !important;
    }
}

/* FIN PANTALLA DE FICHAJE */

/* PANTALLA DE MIS FICHAJES */

/* Movil */
@media (max-width: 768px) {

    .container h2 {
        font-size: 22px !important;
        text-align: center !important;
        width: 100%;
    }

    .accordion .card {
        margin-bottom: 15px !important;
        padding: 0 !important;
    }

    .card-header {
        text-align: center !important;
    }

    p {
        text-align: center;
    }

    .card-header .d-flex {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .link-filtrar,
    .mdc-button {
        width: 100% !important;
        justify-content: center !important;
        display: flex !important;
        padding: 10px !important;
    }

    .caja-filtros .col,
    .caja-filtros .col-md-4 {
        width: 100% !important;
        margin-bottom: 15px !important;
    }

    .accordion .row .col,
    .accordion .row .col-md-3,
    .accordion .row .col-md-4 {
        width: 100% !important;
        margin-bottom: 15px !important;
    }

    #btnGenerarInforme {
        width: 100% !important;
        font-size: 16px !important;
    }

    .tabla-zap-grid {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        -webkit-overflow-scrolling: touch;
    }

    .tabla-zap-grid table {
        width: 100% !important;
        min-width: 800px !important;
    }

    .tabla-zap-grid th,
    .tabla-zap-grid td {
        font-size: 14px !important;
        padding: 6px 8px !important;
        text-align: center !important;
    }

    .tabla-zap-grid td:last-child,
    .tabla-zap-grid th:last-child {
        width: 20px !important;
    }
}

/* FIN PANTALLA DE MIS FICHAJES */

/* PANTALLA DE MIS INCIDENCIAS*/

@media (max-width: 768px) {

    select.form-select {
        max-width: 200px;
    }
}

.estado-list input[type="radio"] {
    margin-right: .5rem;
    vertical-align: middle;
}

/* FIN PANTALLA DE MIS INCIDENCIAS */

/* PANTALLA DE TRABAJADORES*/

.tabla-trabajadores a {
    color: #504A48;
    text-decoration: none;
}

.trabajadoresGrid_TelefonoEmpresa {
    text-align: right;
}

.pagination .page-link {
    color: #EB4E25;
    border-color: #EB4E25;
}

.pagination .page-item.active .page-link {
    background-color: #EB4E25;
    border-color: #EB4E25;
    color: #ffffff;
}

.pagination .page-link:hover {
    color: #ffffff;
    background-color: #EB4E25;
    border-color: #EB4E25;
}

.pagination .page-item.disabled .page-link {
    color: #EB4E25;
    pointer-events: none;
    background-color: transparent;
    border-color: #e9e9e9;
}

/* Movil */
@media (max-width: 768px) {

    .trabajadoresGrid_TelefonoEmpresa {
        text-align: right !important;
        padding-right: 10px;
    }

    .container {
        padding: 0 10px !important;
    }

    .filtro-departamento .form-select,
    .caja-filtros select,
    .caja-filtros .form-select,
    select[id*="DropDownList"] {
        font-size: 12px !important;
        line-height: 1.2 !important;

        height: auto !important;
        min-height: 36px !important;
        box-sizing: border-box !important;
    }

    .filtro-departamento select option,
    .caja-filtros select option {
        font-size: 12px !important;
        padding: 4px 6px !important;
    }

    .botones-superiores {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
    }

    .filtro-departamento  {
        font-size: 6px;
    }

    .filtro-departamento select {
        font-size: 6px;
        padding: 6px;
    }

    .caja-filtros .col {
        width: 100% !important;
        margin-bottom: 10px !important;
    }

    .caja-filtros select,
    .caja-filtros input {
        font-size: 0.9rem !important;
        padding: 6px !important;
    }

    .tabla-trabajadores table,
    .tabla-trabajadores {
        font-size: 0.8rem !important;
    }

    .tabla-trabajadores td,
    .tabla-trabajadores th {
        padding: 6px !important;
        white-space: normal !important;
    }

    .tabla-trabajadores .mdc-button.link-table {
        padding: 2px 4px !important;
        min-width: auto !important;
        height: auto !important;
        border-radius: 6px !important;
        transform: scale(0.8);
    }

    .tabla-trabajadores .text-end {
        display: flex;
        gap: 6px;
        justify-content: flex-end;
    }

    .tabla-wrapper table,
    .tabla-zap-grid table,
    .tabla-trabajadores table {
        width: 100% !important;
        min-width: 600px;
        border-collapse: collapse;
    }

    .tabla-zap-grid th,
    .tabla-zap-grid td,
    .tabla-trabajadores th,
    .tabla-trabajadores td {
        padding: 6px 8px !important;
        white-space: normal;
        vertical-align: middle !important;
    }

    .tabla-zap-grid input[type="submit"],
    .tabla-zap-grid a,
    .tabla-zap-grid button {
        font-size: 13px !important;
        padding: 4px 8px !important;
        height: 30px !important;
    }

    .tabla-scroll {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .tabla-scroll table {
        min-width: 800px;
    }
}

/* FIN PATANLLA TRABAJADORES */

/* PATANLLA TRABAJADORES FICHAJE PERSONAL */

@media(max-width: 768px) {
    .trabajadoresGrid_Departamento {
        font-size: 12px;
    }
}

/* FIN PATANLLA TRABAJADORES FICHAJE PERSONAL */


/* MI CUENTA */
.panel {
    margin-bottom: 20px;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 1px rgb(0 0 0 / 5%);
    box-shadow: 0 1px 1px rgb(0 0 0 / 5%);
}

.panel-body {
    padding: 15px;
}

.profile-nav, .profile-info {
    margin-top: 30px;
}

    .profile-nav .user-heading {
        background: #EB4E25;
        color: #fff;
        border-radius: 4px 4px 0 0;
        -webkit-border-radius: 4px 4px 0 0;
        padding: 30px;
        text-align: center;
    }

        .profile-nav .user-heading.round a {
            border-radius: 50%;
            -webkit-border-radius: 50%;
            border: 10px solid rgba(255,255,255,0.3);
            display: inline-block;
        }

        .profile-nav .user-heading a img {
            width: 112px;
            height: 112px;
            border-radius: 50%;
            -webkit-border-radius: 50%;
        }

        .profile-nav .user-heading h1 {
            font-size: 22px;
            font-weight: 300;
            margin-bottom: 5px;
        }

        .profile-nav .user-heading p {
            font-size: 12px;
        }

    .profile-nav ul {
        margin-top: 1px;
    }

        .profile-nav ul > li {
            border-bottom: 1px solid #ebeae6;
            margin-top: 0;
            line-height: 30px;
        }

            .profile-nav ul > li:last-child {
                border-bottom: none;
            }

            .profile-nav ul > li > a {
                border-radius: 0;
                -webkit-border-radius: 0;
                color: #89817f;
                border-left: 5px solid #fff;
            }

                .profile-nav ul > li > a:hover, .profile-nav ul > li > a:focus, .profile-nav ul li.active a {
                    background: #f8f7f5 !important;
                    border-left: 5px solid #fbc02d;
                    color: #89817f !important;
                }

            .profile-nav ul > li:last-child > a:last-child {
                border-radius: 0 0 4px 4px;
                -webkit-border-radius: 0 0 4px 4px;
            }

            .profile-nav ul > li > a > i {
                font-size: 16px;
                padding-right: 10px;
                color: #bcb3aa;
            }

.r-activity {
    margin: 6px 0 0;
    font-size: 12px;
}


.p-text-area, .p-text-area:focus {
    border: none;
    font-weight: 300;
    box-shadow: none;
    color: #c3c3c3;
    font-size: 16px;
}

.profile-info .panel-footer {
    background-color: #f8f7f5;
    border-top: 1px solid #e7ebee;
}

    .profile-info .panel-footer ul li a {
        color: #7a7a7a;
    }

.bio-graph-heading {
    background: #fbc02d;
    color: #fff;
    text-align: center;
    font-style: italic;
    padding: 40px 110px;
    border-radius: 4px 4px 0 0;
    -webkit-border-radius: 4px 4px 0 0;
    font-size: 16px;
    font-weight: 300;
}

.bio-graph-info {
    color: #89817e;
}

    .bio-graph-info h1 {
        font-size: 22px;
        font-weight: 300;
        margin: 0 0 20px;
    }

.bio-row {
    width: 50% !important;
    float: left;
    margin-bottom: 10px;
    padding: 0 15px;
}

    .bio-row p span {
        width: 105px;
    }

.bio-chart, .bio-desk {
    float: left;
}

.bio-chart {
    width: 40%;
}

.bio-desk {
    width: 60%;
}

    .bio-desk h4 {
        font-size: 15px;
        font-weight: 400;
    }

        .bio-desk h4.terques {
            color: #4CC5CD;
        }

        .bio-desk h4.red {
            color: #e26b7f;
        }

        .bio-desk h4.green {
            color: #97be4b;
        }

        .bio-desk h4.purple {
            color: #caa3da;
        }

.file-pos {
    margin: 6px 0 10px 0;
}

.profile-activity h5 {
    font-weight: 300;
    margin-top: 0;
    color: #c3c3c3;
}

.summary-head {
    background: #ee7272;
    color: #fff;
    text-align: center;
    border-bottom: 1px solid #ee7272;
}

    .summary-head h4 {
        font-weight: 300;
        text-transform: uppercase;
        margin-bottom: 5px;
    }

    .summary-head p {
        color: rgba(255,255,255,0.6);
    }

ul.summary-list {
    display: inline-block;
    padding-left: 0;
    width: 100%;
    margin-bottom: 0;
}

    ul.summary-list > li {
        display: inline-block;
        width: 19.5%;
        text-align: center;
    }

        ul.summary-list > li > a > i {
            display: block;
            font-size: 18px;
            padding-bottom: 5px;
        }

        ul.summary-list > li > a {
            padding: 10px 0;
            display: inline-block;
            color: #818181;
        }

    ul.summary-list > li {
        border-right: 1px solid #eaeaea;
    }

        ul.summary-list > li:last-child {
            border-right: none;
        }

.activity {
    width: 100%;
    float: left;
    margin-bottom: 10px;
}

    .activity.alt {
        width: 100%;
        float: right;
        margin-bottom: 10px;
    }

    .activity span {
        float: left;
    }

    .activity.alt span {
        float: right;
    }

    .activity span, .activity.alt span {
        width: 45px;
        height: 45px;
        line-height: 45px;
        border-radius: 50%;
        -webkit-border-radius: 50%;
        background: #eee;
        text-align: center;
        color: #fff;
        font-size: 16px;
    }

    .activity.terques span {
        background: #8dd7d6;
    }

    .activity.terques h4 {
        color: #8dd7d6;
    }

    .activity.purple span {
        background: #b984dc;
    }

    .activity.purple h4 {
        color: #b984dc;
    }

    .activity.blue span {
        background: #90b4e6;
    }

    .activity.blue h4 {
        color: #90b4e6;
    }

    .activity.green span {
        background: #aec785;
    }

    .activity.green h4 {
        color: #aec785;
    }

    .activity h4 {
        margin-top: 0;
        font-size: 16px;
    }

    .activity p {
        margin-bottom: 0;
        font-size: 13px;
    }

    .activity .activity-desk i, .activity.alt .activity-desk i {
        float: left;
        font-size: 18px;
        margin-right: 10px;
        color: #bebebe;
    }

    .activity .activity-desk {
        margin-left: 70px;
        position: relative;
    }

    .activity.alt .activity-desk {
        margin-right: 70px;
        position: relative;
    }

        .activity.alt .activity-desk .panel {
            float: right;
            position: relative;
        }

.activity-desk .panel {
    background: #F4F4F4;
    display: inline-block;
}


.activity .activity-desk .arrow {
    border-right: 8px solid #F4F4F4 !important;
}

.activity .activity-desk .arrow {
    border-bottom: 8px solid transparent;
    border-top: 8px solid transparent;
    display: block;
    height: 0;
    left: -7px;
    position: absolute;
    top: 13px;
    width: 0;
}

.activity-desk .arrow-alt {
    border-left: 8px solid #F4F4F4 !important;
}

.activity-desk .arrow-alt {
    border-bottom: 8px solid transparent;
    border-top: 8px solid transparent;
    display: block;
    height: 0;
    right: -7px;
    position: absolute;
    top: 13px;
    width: 0;
}

.activity-desk .album {
    display: inline-block;
    margin-top: 10px;
}

    .activity-desk .album a {
        margin-right: 10px;
    }

        .activity-desk .album a:last-child {
            margin-right: 0px;
        }
/* FIN MI CUENTA*/

/* FILTROS */

.link-filtrar {
    display: flex !important;
    background-color: #EB4E25 !important;
    color: white !important;
    padding: 5px !important;
    vertical-align: middle !important;
    text-decoration: none !important;
}

.abrir-filtro {
    display: flex !important;
    color: #6c757d !important;
    padding: 5px !important;
    vertical-align: middle !important;
    text-decoration: none;
}

/* FIN DE FILTROS */
.dropup, .dropdown {
    position: relative;
}


.dropdown-toggle:focus {
    outline: 0;
}


.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9;
    display: none;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    background-clip: padding-box;
    right: 0;
    left: auto;
    text-decoration: none;
}



    .dropdown-menu > li > a {
        display: block;
        padding: 3px 20px;
        clear: both;
        font-weight: 400;
        line-height: 1.42857143;
        color: black;
        white-space: nowrap;
        text-decoration: none;
    }


        .dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
            color: #262626;
            text-decoration: none;
            background-color: #f5f5f5;
        }

/* TRABAJADORES */

.tabla-trabajadores tr td {
    width: 10%;
}

/* FIN DE TRABAJADORES */


/* DEPARTAMENTOS */

.tabla-departamentos a {
    color: #504A48;
    text-decoration: none;
}

#flexSwitchCheckDisabled2 {
    position: absolute;
    margin-top: 0.3rem;
    margin-left: -1.25rem;
}

#flexSwitchCheckDisabled2 {
    width: 1em;
    height: 1em;
    margin-top: 0.25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0,0,0,.25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
}

#flexSwitchCheckDisabled2 {
    float: left;
    margin-left: -1.5em;
}

#flexSwitchCheckDisabled2 {
    width: 2em;
    margin-left: -2.5em;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
    background-position: left center;
    border-radius: 2em;
    transition: background-position .15s ease-in-out;
}







/* FIN DEPARTAMENTOS */


/*

    EMPRESA

*/

.empresa-heading {
    border-radius: 4px 4px 0 0;
    -webkit-border-radius: 4px 4px 0 0;
    padding: 30px;
    text-align: center;
}

    .empresa-heading img {
        max-width: 100%;
    }

.profile-nav .empresa-heading .round a {
    border-radius: 50%;
    -webkit-border-radius: 50%;
    border: 10px solid rgba(255,255,255,0.3);
    display: inline-block;
}

.profile-nav .empresa-heading a img {
    width: 112px;
    height: 112px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
}

.profile-nav .empresa-heading h1 {
    font-size: 22px;
    font-weight: 300;
    margin-bottom: 5px;
}

.profile-nav .empresa-heading p {
    font-size: 12px;
}

.img-empresa {
    max-width: 300px;
    max-height: 300px;
    object-fit: contain;
}


/*

    FIN EMPRESA

*/

/* DEPARTAMENTOS */

.DepartamentosGrid_Nombre {
    width: 50%;
}

/* FIN DEPARTAMENTOS */

/* PANTALLA FESTIVOS */

/* Movil */
@media (max-width: 575.98px) {

    .card .row > div {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 15px;
    }

    .form-checkinput,
    #chkVispera {
        display: flex;
        align-items: center;
        margin-top: 10px;
    }

    #chkVispera input {
        margin-right: 6px;
    }

    .form-control {
        width: 100%;
    }

    .text-end {
        text-align: center !important;
    }

    #btnVolver, #btnGuardar {
        width: 100%;
        margin-bottom: 10px;
    }
}


/* FIN PANTALLA FESTIVOS */

/* PANTALLA VER USUARIO*/
/* Movil */
@media (max-width: 768px) {

    .profile-nav .user-heading {
        text-align: center;
        padding: 15px 0;
    }

    .profile-nav .user-heading img {
        width: 120px;
        height: 120px;
    }

    .bio-row {
        width: 100% !important;
        padding: 10px 0 !important;
    }

    .bio-row p {
        margin: 0;
        font-size: 1.1rem;
    }

    .bio-row span,
    .bio-row label,
    .bio-row .fs-5 {
        font-size: 1.1rem !important;
    }

    .panel-body {
        padding: 15px !important;
    }

    .profile-info .row .col-sm-4 {
        width: 100%;
        margin-bottom: 15px;
    }

    #btnActualizarContraseña {
        width: 100% !important;
    }
}

/* FIN PANTALLA VER USUARIO*/

/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */

/*  TABLAS   */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */

* TABLAS */
/* Estilo general de la tabla */
.tabla-zap {
    border-collapse: collapse;
    width: 100%;
}

/* Solo bordes superior e inferior de cada fila */
.tabla-zap tbody tr {
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

    .tabla-zap tbody tr:first-child {
        border-top: none;
    }

    .tabla-zap tbody tr:last-child {
        /*border-bottom: none;*/
    }

/* Cabecera con fondo gris claro */
.tabla-zap thead {
    background-color: #f8f9fa;
}

    /* Títulos sin negrita y con color personalizado */
    .tabla-zap thead th {
        font-weight: normal;
        color: #6c757d; /* Gris claro */
    }

/* Hover en las filas */
.tabla-zap tbody tr:hover {
    background-color: #f1f1f1;
}

.tabla-zap-grid tbody tr:first-child {
    background-color: #f8f9fa;
    font-weight: normal !important;
    color: #6c757d; /* Gris claro */
}

    .tabla-zap-grid tbody tr:first-child th {
        background-color: #f8f9fa;
        font-weight: normal !important;
        color: #6c757d; /* Gris claro */
    }

.highlight-row {
    background-color: #b3c7f7; /* Color de fondo para resaltar */
    transition: background-color 0.3s ease;
}

/*.table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 1rem;
    background-color: #fff;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #dee2e6;
}

    .table th,
    .table td {
        padding: 0.75rem;
        vertical-align: top;
        border-top: 1px solid #dee2e6;
    }

    .table th a {
        text-decoration:none;
        color:black;
    }

    .table thead th {
        vertical-align: bottom;
        border-bottom: 2px solid #dee2e6;
        background-color: #f8f9fa;
        color: #495057;
    }

    .table tbody + tbody {
        border-top: 2px solid #dee2e6;
    }

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05);
}*/

/* Personalización adicional */
/*.table-hover tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.075);
}

.table-bordered {
    border: 1px solid #dee2e6;
}

    .table-bordered th,
    .table-bordered td {
        border: 1px solid #dee2e6;
    }

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
    border: 0;
}

.table-primary,
.table-primary > th,
.table-primary > td {
    background-color: #b8daff;
}

.table-secondary,
.table-secondary > th,
.table-secondary > td {
    background-color: #d6d8db;
}

.table-success,
.table-success > th,
.table-success > td {
    background-color: #c3e6cb;
}

.table-info,
.table-info > th,
.table-info > td {
    background-color: #bee5eb;
}

.table-warning,
.table-warning > th,
.table-warning > td {
    background-color: #ffeeba;
}

.table-danger,
.table-danger > th,
.table-danger > td {
    background-color: #f5c6cb;
}

.table-light,
.table-light > th,
.table-light > td {
    background-color: #fdfdfe;
}

.table-dark,
.table-dark > th,
.table-dark > td {
    background-color: #c6c8ca;
}

.table-active,
.table-active > th,
.table-active > td {
    background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-primary:hover {
    background-color: #9fcdff;
}

.table-hover .table-secondary:hover {
    background-color: #c8cbcf;
}

.table-hover .table-success:hover {
    background-color: #b1dfbb;
}

.table-hover .table-info:hover {
    background-color: #abdde5;
}

.table-hover .table-warning:hover {
    background-color: #ffe8a1;
}

.table-hover .table-danger:hover {
    background-color: #f1b0b7;
}

.table-hover .table-light:hover {
    background-color: #ececf6;
}

.table-hover .table-dark:hover {
    background-color: #b9bbbe;
}*/

/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */
/* --------------------------------------------------------------------- */


.form-checkinput input[type=checkbox] {
    width: 1em;
    height: 1em;
    margin-top: .25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, .25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    border-radius: .25em;
    margin-right: 5px;
}

    .form-checkinput input[type=checkbox]:checked[type=checkbox] {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
    }

    .form-checkinput input[type=checkbox]:checked {
        background-color: #0d6efd;
        border-color: #0d6efd;
    }

.card {
    border-radius: 0px;
    border-color: transparent;
    background-color: white;
    border-bottom: 0px;
    border-top: 1px solid rgb(214 214 214);
    border-left: 0px;
    border-right: 0px;
}

.card-header {
    background: white;
    border: none;
    padding: 1rem 1rem;
    text-transform: uppercase;
    font-weight: 600;
}

    .card-header a {
        text-transform: math-auto;
    }


@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url('/Fonts/MaterialIcons.woff2') format('woff2');
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
}


.active-page {
    background-color: #eb4e25 !important;
    color: white;
}

.pagination {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
}

    .pagination .page-number {
        margin: 0 2px;
        padding: 5px 10px;
    }
