/* =========
   Estilos Para El Cuerpo De la pagina.
   ========= */

body {
    background-color: #f0f0f0;
}


/* Formas (Contenedores) del Header, los elementos adentros de el y el Navbar */

#ContainerNavbarStyleDrip {
}

    #ContainerNavbarStyleDrip a:hover {
        position: relative; /* Necesario para posicionar el subrayado */
        bottom: 8.3px;
    }

.navbar {
    display: inline-flex;
    justify-content: right; /* Distribuye el icono/login y el título */
    align-items: center; /* Centra verticalmente los elementos */
    padding: 1rem; /* Ajusta el padding según necesites */
    width: 100%; /* Asegura que el navbar ocupe todo el ancho */
    box-sizing: border-box; /* Incluye padding y border en el ancho */
    position: relative; /* Para el posicionamiento relativo del ::after */
}

/* Estilos para el contenedor del icono y el login */

.left-content {
    display: inline-flex;
    align-items: center; /* Centra verticalmente el icono y el login */
    position: absolute;
}

.icon-container {
    margin-right: 1rem; /* Espacio entre el icono y el login */
}

    .icon-container a:hover {
        color: #6e6c6d;
    }

.login-container {
}


/* Estilos, posicionamiento, y efectos para el Navbar */

.NavbarStyleDrip {
    margin-top: 38px; /* Añade un margen superior */
    position: relative;
    height: 38px;
    bottom: 8px;
    margin-right: 72em;
    width: 100%;
}

    .NavbarStyleDrip :after {
        content: "";
        position: absolute;
        border-radius: 6px;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        bottom: 0;
        left: 0;
        width: 100%;
        height: 6px;
        margin-left: -10px;
        background-color: #b3b3b3;
        top: 1.6em;
    }

    .NavbarStyleDrip a:hover::after {
        transform: scaleX(1);
    }

    .NavbarStyleDrip a {
    }

/* Estilos para el contenedor del título */
.center-content {
    /* Puedes agregar estilos específicos para el título si lo deseas */
}

#ModeloE_S {
    font-size: 2em;
    font-weight: 800;
    font-style: normal;
    height: 6vh;
    /*height: 100vh;*/
}

@media (max-width: 1536px) {
    .NavbarStyleDrip {
        margin-top: 8px; /* Añade un margen superior */
        position: relative;
        height: 38px;
        bottom: 8px;
        margin-right: 65em;
        width: 100%;
    }
}

/* =========
    Estilos Para el NavBar En Pantalla Mediana
   ========= */

/*Estilos Para Sidebar*/

/* -

- */
:root {
    --primary: 237, 94%, 81%;
    --background: 266, 16%, 92%;
    --background-secondary: 256, 12%, 12%;
    --background-secondary-dark: 256, 10%, 10%;
    --background-secondary-light: 257, 11%, 16%;
    --text-primary: 0, 0%, 0%;
    /* Colors */
    --black: 0, 0%, 0%;
    --white: 0, 0%, 100%;
    --quite-gray: 0, 0%, 50%;
    --grooble: 10, 28%, 93%;
    /* Sizes */
    --heading-large: 5.6rem;
    --heading-medium: 3.6rem;
    --heading-small: 2.4rem;
    --paragraph: 1.11rem;
    --navbar-buttons: 2.4rem;
    /* misc */
    --transition-main: .175, .685, .32;
    /* Fonts */
}

/* ===========
    Variabels
   =========== */

/* ===============
    Global Styles
   =============== */


*, *::before, *::after {
    box-sizing: inherit;
}


/* Links */
a {
    color: hsla(var(--primary), 1);
    font-size: var(--paragraph);
    text-decoration: underline;
}

/* =======
    Lists
   ======= */

ul, ol {
    margin: 1em 0;
}

/* =======
    Forms
   ======= */

form {
    margin: 0;
}

fieldset {
    margin: 0;
    padding: .5em 0;
    border: none;
}

input {
    padding: .8em 1.2em;
    font-size: var(--paragraph);
    background-color: hsl(var(--grooble));
    border: 2px solid hsl(var(--grooble));
    outline: none;
}

textarea {
    padding: .8em 1.2em;
    font-size: var(--paragraph);
    font-family: var(--font-main);
    background-color: hsl(var(--grooble));
    border: 2px solid hsl(var(--grooble));
    outline: none;
}

input, textarea {
    transition: all .2s ease-in-out;
}

    input:hover, input:focus, textarea:hover, textarea:focus {
        box-shadow: 0 0 0 2px hsl(209.4, 100%, 20%), 0 0 0 3px hsl(var(--white));
        /*border: 2px solid transparent;*/
    }

select {
    padding: .8em 1.2em;
    border: 1px solid hsl(var(--black));
    font-size: var(--paragraph);
    outline: none;
}

/* =========
    Classes
   ========= */

/* ================
    Global classes
   ================ */

/* =========
    Flexbox
   ========= */

.flexbox {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flexbox-left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.flexbox-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
/* Columns */
.flexbox-col {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.flexbox-col-left {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: flex-start;
}

.flexbox-col-left-ns {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: flex-start;
}

.flexbox-col-right {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    align-items: flex-end;
}

.flexbox-col-start-center {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
}
/* Spacings */
.flexbox-space-bet {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* =========
    Classes
   ========= */

.view-width {
    width: 70%;
}

/* ========
    Navbar
   ======== */

#navbar {
    top: 0;
    padding: 0;
    width: 15.5em;
    height: 100vh;
    position: fixed;
    left: 0;
    background-color: #003466;
    transition: width .35s cubic-bezier(var(--transition-main), 1);
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 100;
    font-weight: 700;
}

/*    #navbar:hover {
        width: 16em;
    }

    #navbar::-webkit-scrollbar-track {
        background-color: hsl(var(--background-secondary));
    }

    #navbar::-webkit-scrollbar {
        width: 8px;
        background-color: hsl(var(--background-secondary));
    }

    #navbar::-webkit-scrollbar-thumb {
        background-color: hsl(var(--primary));
    }*/

.navbar-items {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

/* Navbar Logo */
.navbar-logo {
    margin: 0 0 2em 0;
    width: 100%;
    height: 5em;
    background: #003466;
}

    .navbar-logo > .navbar-item-inner {
        width: calc(15rem - 8px);
    }

        .navbar-logo > .navbar-item-inner:hover {
            background-color: transparent;
        }

        .navbar-logo > .navbar-item-inner > svg {
            height: 2em;
            fill: hsl(var(--white));
        }

/* Navbar Items */
.navbar-item {
    padding: 0 .5em;
    width: 100%;
    cursor: pointer;
}

.navbar-item-inner {
    padding: 1em 0;
    width: 100%;
    position: relative;
    color: hsl(var(--quite-gray));
    border-radius: .25em;
    text-decoration: none;
    transition: all .2s cubic-bezier(var(--transition-main), 1);
}

    .navbar-item-inner:hover {
        color: hsl(var(--white));
        background: #87aaca;
        box-shadow: 0 17px 30px -10px hsla(var(--black), .25);
    }

.navbar-item-inner-icon-wrapper {
    width: calc(5rem - 1em - 8px);
    position: relative;
}

    .navbar-item-inner-icon-wrapper ion-icon {
        position: absolute;
        font-size: calc(var(--navbar-buttons) - 1rem);
    }

.link-text {
    margin: 0;
    width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: all .35s cubic-bezier(var(--transition-main), 1);
    overflow: hidden;
    opacity: 0;
}

#navbar .link-text {
    width: calc(100% - calc(5rem - 8px));
    opacity: 1;
    color: #fff;
}

/* ======
    Main
   ====== */

#main {
    margin: 0 0 0 5em;
    min-height: 150vh;
}

    #main > h2 {
        width: 80%;
        max-width: 80%;
    }

    #main > p {
        width: 80%;
        max-width: 80%;
    }

/* =============
    ::Selectors
   ============= */

/* Selection */
::selection {
    color: hsl(var(--white));
    background: hsla(var(--primary), .33);
}
/* Scrollbar */
::-webkit-scrollbar-track {
    background-color: hsl(var(--background));
}

::-webkit-scrollbar {
    width: 8px;
    background-color: hsl(var(--background));
}

::-webkit-scrollbar-thumb {
    background-color: hsl(var(--primary));
}

/* ===============
    5. @keyframes
   =============== */

/* ==============
    @media rules
   ============== */

@media only screen and (max-width: 1660px) {
    :root {
        /* Sizes */
        --heading-large: 5.4rem;
        --heading-medium: 3.4rem;
        --heading-small: 2.2rem;
    }
}

@media only screen and (max-width: 1456px) {
    :root {
        /* Sizes */
        --heading-large: 5.2rem;
        --heading-medium: 3.2rem;
        --heading-small: 2rem;
    }

    .view-width {
        width: 80%;
    }
}

@media only screen and (max-width: 1220px) {
    .view-width {
        width: 70%;
    }
}

@media only screen and (max-width: 1024px) {
    :root {
        /* Sizes */
        --heading-large: 5rem;
        --heading-medium: 3rem;
        --heading-small: 1.8rem;
    }

    .view-width {
        width: 75%;
    }
}

@media only screen and (max-width: 756px) {
    :root {
        /* Sizes */
        --heading-large: 4rem;
        --heading-medium: 2.6rem;
        --heading-small: 1.6rem;
        --paragraph: 1rem;
        --navbar-buttons: 2.2rem;
    }

    .view-width {
        width: calc(100% - 5em);
    }
}

@media only screen and (max-width: 576px) {
    .view-width {
        width: calc(100% - 3em);
    }
}

@media only screen and (max-width: 496px) {
}

/* Estilos para el dropdown */
.dropdown {
    position: relative;
}

.dropdown-menu {
    display: none; /* Oculta el submenú por defecto */
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    padding: 0px 45px;
    z-index: 1000;
    width: 300px;
}

    .dropdown-menu li {
        padding: 0.5rem 1rem;
        list-style: none;
    }

        .dropdown-menu li a {
            color: #003566;
            text-decoration: none;
            display: block;
            list-style: none;
        }

            .dropdown-menu li a:hover {
                color: #fff;
                box-shadow: 0 17px 30px -10px hsla(var(--black), .25);
            }

/* Muestra el submenú cuando se activa */
.dropdown.active .dropdown-menu {
    display: block;
    list-style: none;
    background-color: #87aaca;
}

/* Estilo para el ícono del dropdown */
.dropdown-icon {
    margin-left: auto;
    transition: transform 0.3s ease;
}

.dropdown.active .dropdown-icon {
    transform: rotate(180deg);
}

/* Estilo para el ícono circular que contiene las iniciales de los usuarios*/

.mi-elemento-circular {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #87aaca;
    display: flex; /* Para alinear los elementos internos */
    justify-content: center; /* Centrar horizontalmente */
    align-items: center; /* Centrar verticalmente */
    padding: 5px;
    cursor: pointer;
    font-style: normal;
    font-weight: 600;
}

#TextColor_Icons {
    color: #ffffff !important
}

.options {
    display: none;
    position: absolute;
    background-color: white;
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 5px;
    z-index: 100;
}

    .options a {
        display: block;
        color: #333;
        text-decoration: none;
        padding: 5px;
    }

/* =========
    Estilos Para el Monitor
   ========= */

.table-container {
}

#Tabla_Monitor {
    width: 100%;
    border-collapse: collapse;
    border: 2.3px solid #87aaca;
}

#Tabla_Monitor_head {
    background-color: #87aaca;
    font-weight: normal !important;
    font-size: 13px;
}

    #Tabla_Monitor_head th {
        color: black;
        text-align: left;
        width: 10%;
        padding: 10px;
        border: 1px solid #87aaca;
        text-align: center;
    }

#Tabla_Monitor_Th td {
    color: black;
    padding: 8px 12px;
    border: 1px solid #87aaca;
    text-align: left;
}

.btn-danger {
    color: #fff;
    background-color: #7aafcd;
    border-color: #7aafcd;
}

.btn-success {
    color: #fff;
    background-color: #7aafcd;
    border-color: #7aafcd;
}

/* =========
    Estilos Para los selectores de busqueda de fecha
   ========= */

.formulario-contenedor {
    display: inline-flex;
    padding: 10px 10px 10px 0;
    color: #666c77;
    position: relative;
    max-width: 800px;
    /* Ancho máximo del formulario */
    margin: 0 auto; /* Centrar el formulario */
    /* Relleno del contenedor */
    color: #666c77;
}

    /* Estilos para los elementos del formulario */
    .formulario-contenedor .form-control {
        width: 100%; /* Ancho completo en pantallas pequeñas */
        margin-bottom: 2px; /* Margen inferior entre campos */
    }


select.form-control:not([size]):not([multiple]) {
    height: calc(1.5rem + 2px);

}

/* =========
    Estilos Para el Monitor  y selector de fecha en pantallas pequeña entre 1281px y 1536px
   ========= */


/* Estilos para pantallas  Para el Monitor */

@media (min-width: 1281px) and (max-width: 1536px) {

    .table-container {
        overflow-x: auto; /* Permite el scroll horizontal en pantallas pequeñas */
        width: 100%; /* Asegura que el contenedor ocupe todo el ancho disponible */
        margin-left: 45px;
    }


        .table-container table {
            border-collapse: collapse;
            transform: scale(1);
            transform-origin: top right;
            margin-left: 100px;
            text-align: center;
        }


        .table-container th, td {
            min-width: 50px;
            border: 1px solid #ddd; /* Agrega bordes para mayor claridad */
            padding: 8px;
            text-align: center;
            white-space: nowrap; /* Evita que el texto se envuelva */
            overflow: hidden; /* Oculta el texto que se desborda */
            text-overflow: ellipsis; /* Agrega puntos suspensivos (...) al texto truncado */
            min-width: 120px; /* Ancho mínimo para las columnas (ajusta según sea necesario) */
        }



    /* Estilos para pantallas entre 1281px y 1536px  Para el selector */

    .formulario-contenedor {
        display: inline-flex;
        padding: 0 20px;
        color: #666c77;
        position: relative;
        max-width: 800px;
        /* Ancho máximo del formulario */
        margin-left: 8em; /* Centrar el formulario */
        /* Relleno del contenedor */
        color: #666c77;
    }

        /* Estilos para los elementos del formulario */
        .formulario-contenedor .form-control {
            width: 100%; /* Ancho completo en pantallas pequeñas */
            margin-bottom: 2px; /* Margen inferior entre campos */
        }


select.form-control:not([size]):not([multiple]) {
    height: calc(1.5rem + 2px);
}
}

/* =========
    Estilos Para el Monitor, Navbar y selector de fecha en pantallas  1280 e inferiores
   ========= */

@media (max-width: 1280px) {

    /* Estilos, posicionamiento, para el Navbar (titulo) */

    .NavbarStyleDrip {
        margin-top: 8px; /* Añade un margen superior */
        position: relative;
        height: 38px;
        bottom: 8px;
        margin-right: 51.6em;
        width: 100%;
    }

    /* Estilos Para el Monitor */

    .table-container {
        overflow-x: auto; /* Permite el scroll horizontal en pantallas pequeñas */
        width: 100%; /* Asegura que el contenedor ocupe todo el ancho disponible */
        margin-left: 45px;
    }


        .table-container table {
            border-collapse: collapse;
            transform: scale(1);
            transform-origin: top right;
            margin-left: 100px;
            text-align: center;
        }


        .table-container th, td {
            min-width: 50px;
            border: 1px solid #ddd; /* Agrega bordes para mayor claridad */
            padding: 8px;
            text-align: left;
            white-space: nowrap; /* Evita que el texto se envuelva */
            overflow: hidden; /* Oculta el texto que se desborda */
            text-overflow: ellipsis; /* Agrega puntos suspensivos (...) al texto truncado */
            min-width: 120px; /* Ancho mínimo para las columnas (ajusta según sea necesario) */
        }



    /* Estilos Para el selector */

    .formulario-contenedor {
        display: inline-flex;
        padding: 0 20px;
        color: #666c77;
        position: relative;
        max-width: 800px;
        /* Ancho máximo del formulario */
        margin-left: 10.6em; /* Centrar el formulario */
        /* Relleno del contenedor */
        color: #666c77;
    }

        /* Estilos para los elementos del formulario */
        .formulario-contenedor .form-control {
            width: 100%; /* Ancho completo en pantallas pequeñas */
            margin-bottom: 2px; /* Margen inferior entre campos */
        }


    select.form-control:not([size]):not([multiple]) {
        height: calc(1.5rem + 2px);
    }
}

/* =========
    Estilos Para El Modulo Del Manager Users
   ========= */

/* Formas (Contenedores) del Header, los elementos adentros de el y el Navbar Del El Modulo Del Manager Users  */

#ModeloM_U {
    font-size: 2em;
    font-weight: 800;
    font-style: normal;
}

/* =========
    Estilos Para el Monitor Del Manager Users
   ========= */

#Tabla_Monitor2 {
    display: table;
    width: 100%;
    border-collapse: inherit;
    border: 2.3px solid #87aaca;
    text-align: center;
}

#Tabla_Monitor_head2 {
    background-color: #87aaca;
    font-weight: normal !important;
    font-size: 13.50px;
    text-align: center;
}

    #Tabla_Monitor_head2 th {
        color: #000;
        width: 10%;
        padding: 10px;
        border: 1px solid #87aaca;
        text-align: center;
    }

#Tabla_Monitor_Th td {
    color: black;
    padding: 8px 12px;
    border: 1px solid #87aaca;
    text-align: left;
}


    /* =========
    Estilos Para La Vista Para El Create User
   ========= */

    #Formrcrtuser {
        max-width: 1200px;
        margin: 20px auto;
        padding: 20px 15%;
        border: 1px solid #ddd;
        border-radius: 5px;
    }

        #Formrcrtuser header {
            margin: 0 0 12px 0;
        }

        #Formrcrtuser div {
            font-size: 98%;
            color: #003466;
        }

        #Formrcrtuser > div {
            clear: both;
            padding: 1px;
            margin: 0 0 15px 0;
        }

        #Formrcrtuser form-group {
            margin-bottom: 15px;
            display: flex;
            flex-wrap: wrap;
        }

            #Formrcrtuser form-group label {
                flex-basis: 30%;
                padding-right: 10px;
                text-align: left;
                align-self: center;
            }


            #Formrcrtuser form-group input {
                flex-basis: 43%;
                padding: 8px;
                border: 1.5px solid #ccc;
                border-radius: 3px;
                width: 100%;
                box-sizing: border-box;
            }


        #Formrcrtuser input:hover {
            color: #003466 !important;
            box-shadow: 0 0 0 1.7px hsl(209.4, 100%, 20%), 0 0 0 3px hsl(var(--white)) !important;
            border: 1.8px solid !important;
        }

        #Formrcrtuser text-danger {
            color: red;
            font-size: 0.9em;
            flex-basis: 100%;
        }

        #Formrcrtuser btn {
            padding: 10px 20px;
            border-radius: 5px;
            border: none;
            cursor: pointer;
        }


        #Formrcrtuser btn-primary {
            background-color: #007bff;
            color: white;
        }

        #Formrcrtuser btn-secondary {
            background-color: #6c757d;
            color: white;
            margin-top: 10px;
        }

    #Contenedor_Bottom_Back1 {
        margin-top: 20px;
        text-align: left;
    }


    #RoleName {
        color: #003466;
        border: 2px solid hsl(209.4, 100%, 20%)
    }


    #EDIId {
        color: #003466;
        border: 2px solid hsl(209.4, 100%, 20%)
    }


    /* =========
    Estilos Para El Modulo Del Manager Users en pantallas pequeña entre 1281px y 1536px
   ========= */

@media (min-width: 1281px) and (max-width: 1536px) {

    #ModeloM_U {
        margin-left: 132px;
    }

    #Contenedor_Bottom_Create {
        max-width: 1200px;
        margin: 20px auto;
        padding: 20px 15%;
    }

    #Contenedor_Bottom_Back1 {
        margin-top: 20px;
        text-align: center;
    }

}

/* =========
    Estilos Para El Modulo Del Manager Users en pantallas pequeña entre 1280 e inferior
   ========= */

@media (max-width: 1280px) {

    #ModeloM_U {
        margin-left: 172px;
    }

    #Contenedor_Bottom_Create {
        max-width: 1200px;
        margin-left: 22px;
        padding: 20px 15%;
    }

    #Contenedor_Bottom_Back1 {
        margin-top: 20px;
        text-align: center;
    }

    #Formrcrtuser {
        margin-left: 70px;

    }
}
