.container {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  transition: margin-left 0.5s;
  /* Add any other styles you want to apply */
}

.page-content {
  width: 100%;
}

.auth-page {
    width: 100%;
}

._dash-loading {
    margin: auto;
    color: transparent;
    width: 2rem;
    height: 2rem;
    text-align: center;
  }
  body {
    font-family: "Poppin", sans-serif;
}


.marco {
    font-family: "Poppin", sans-serif;
    font-style: normal;
    font-weight: 500;
    display: block;
    margin-left: 1cm;
    margin-right: 1cm;
}
.marco .Dropdowns{
    margin-left: 10px;
    margin-right: 20px;
    margin-bottom: 10px;
    font-size: 14px;
    width: 90%;

}


.marco .info_general {
    margin-top: 5px;
    font-style: normal;
    font-weight: 500;
  }
  
.marco .info_general .Mapa{
    width: 40%;
    float: left;
}
.marco .info_general .texto{
    font-style: normal;
    font-weight: 500;
    height: 20%;
    width: 60%;
    float: left;
    text-align: left;
}


.marco  .Titúlos{
    margin-top: 1vh;
    height: 20;
    font-size: 16px;
    color : black;
    justify-content: right;
    align-items: "right";
    width: 40%;
    margin-left: 5%;
    font-weight: bold;
}

.marco .info_general .headcount1{
    margin-top: 1vh;
    height: 20;
    font-size: 16px;
    color : black;
    justify-content: right;
    align-items: "right";
    width: 40%;
    margin-left: 5%;
    font-weight: bold;
}

.marco .info_general .headcount{
    margin-top: 1vh;
    height: 20;
    font-size: 14px;
    color : black;
    justify-content: right;
    align-items: "right";
    width: 100%;
    margin-left: 5%;
}

.marco .empresas{
    display: flex;
    width: 100%;
    height: 9cm;

}


.texto{
font-size: 20px;
color: black;
justify-content: right;
align-items: "right";
text-align: center;

}

.marco .foot{
    background-color: darkblue;
    height:100%;
    
    



}

.pie {
    background: linear-gradient(to bottom, white 40%, transparent 10%);
    margin-top:0%;
    height: 200px;


}

.vertical-line {
    margin-top: 2vh;
    border-left: 1.5px solid black;
    height: 70vh; /* Altura de la línea vertical */
    left: 50%; /* Coloca la línea a la mitad del contenedor */
    top: 20px; /* Ajusta la posición vertical */
    transform: translateX(-50%); /* Centra la línea */
    float:left;
  }



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

:root {
    /* Variables basadas en la paleta del Python */
    --mitsui-blue: #005bb7;
    --mitsui-light: #0088cc;
    --sidebar-bg: linear-gradient(160deg, #005bb7 0%, #0088cc 100%);
    --hover-item: rgba(255, 255, 255, 0.15); /* Efecto cristal */
    --shadow-soft: 4px 0 15px rgba(0, 91, 183, 0.15);
    --transition-speed: 0.4s cubic-bezier(0.25, 1, 0.5, 1); /* Movimiento más natural */
}



.sidebar {
    width: 80px; /* Ancho inicial fijo (mejor que vh) */
    height: 100vh;
    background: var(--sidebar-bg);
    transition: width var(--transition-speed);
    overflow-x: hidden;
    display: flex; /* Mejor control del layout vertical */
    flex-direction: column;
    font-family: 'Poppins', sans-serif;
    position: fixed;
    z-index: 1000;
    box-shadow: var(--shadow-soft);
}

/* Estado Expandido (Hover o clase JS) */
.sidebar:hover,
.sidebar.expanded {
    width: 25vh; /* Ancho de lectura cómodo */
}

/* --- LOGO / IMAGEN SUPERIOR --- */
.imagen {
    width: 20px;       /* Tamaño icono inicial */
    height: 50px;
    margin: 20px auto; /* Centrado horizontalmente */
    background-image: url("catch_c.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: all var(--transition-speed);
    flex-shrink: 0; /* Evita que se aplaste */
}

/* Logo cuando se expande */
.sidebar:hover .imagen,
.sidebar.expanded .imagen {
    width: 20vh;      /* Logo más grande */
    height: 60px;
    margin: 25px auto 35px 25px; /* Ajuste de margen para alinear a la izq */
    background-image: url("catchblanco.png");
    background-position: left center;
}

/* --- ÍTEMS DEL MENÚ --- */
.sidebar-item {
    display: flex;
    align-items: center;
    padding: 12px 15px; /* Espaciado interno cómodo */
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    border: none;
    background: transparent;
    margin: 8px 12px; /* Margen para separar del borde */
    border-radius: 12px; /* Bordes redondeados estilo "Chat Bubble" */
    transition: background 0.2s, color 0.2s, transform 0.2s;
    cursor: pointer;
    white-space: nowrap;
}

/* Iconos dentro de los items */
.sidebar-item img, 
.sidebar-item i { /* Soporte para iconos de imagen o FontAwesome */
    width: 24px;
    height: 24px;
    min-width: 24px; /* Asegura que el icono no se aplaste */
    margin-right: 15px;
    object-fit: contain;
    text-align: center;
}

/* Texto de los items */
.sidebar-item h6 {
    opacity: 0; /* Oculto por opacidad para poder animar */
    font-weight: 500;
    font-size: 15px;
    margin: 0;
    transform: translateX(-10px); /* Efecto de entrada */
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none; /* Evita clicks fantasmas cuando está oculto */
}

/* Efecto Hover en cada Ítem individual */
.sidebar-item:hover {
    background: var(--hover-item); /* Fondo blanco semitransparente */
    color: #ffffff;
    transform: translateX(4px); /* Pequeño empuje a la derecha */
}

/* --- MOSTRAR TEXTO AL EXPANDIR --- */
.sidebar:hover .sidebar-item h6,
.sidebar.expanded .sidebar-item h6 {
    opacity: 1;
    transform: translateX(0);
    display: inline-block;
    pointer-events: auto;
    transition-delay: 0.1s; /* Pequeño retraso para que se vea elegante */
}

/* Ajuste del contenido principal adyacente */
.sidebar:hover + .content,
.sidebar.expanded + .content {
    margin-left: 260px; /* Debe coincidir con el width expandido */
    transition: margin-left var(--transition-speed);
}
/*, style={'margin-top': '5.5vh', 'margin-left': '2vh', 'background-color': 'rgba(0, 0, 0, 0)','border': 'none'}*/




.botones{
    background-image: url('icons/c_bot.png');
    background-size: cover;
    color: white;
    border: none;
    height: 80px;
    width: 80px;
    border-radius: 50%;
    position: fixed; 
    bottom: 1px;
    right: 10vh;
    z-index:1001;
}
.botoness{
    background-image: url('icons/c_bot.png');
    background-size: cover;
    color: white;
    border: none;
    border-radius: 50%;
    height: 80px;
    width: 80px;
    margin: 0;
    padding: 10px;
    position: fixed;
    bottom: 10px;
    right: 100px;
    z-index: 1100;
}

 /*
.botones:hover,
.botones.expanded { /* Añade la clase 'expanded' para el estado expandido 
    width: 150px; /* Ancho expandido
    background-size: contain; /* or specify a specific size 
    background-repeat: no-repeat;
    background-position: right center;
    border-radius: 20% 37% 37% 20%; /* top-left top-right bottom-right bottom-left 
    background-color: #3488c7;
    
}*/

.popup {
    width: 500px;
    height: 400px;
    background: #3488c7;
    z-index: 1000;  /* Asegura que se muestre sobre otros contenidos */
    border-radius: 15px;
    background-image: url("fondo_chat.png");
    background-size: contain;
    transition: all 2s ease-in-out;
    box-shadow: 4px 8px 16px rgba(0, 0, 0, 1); /* Efecto de sombra */

   
}

.styled-input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #555; /* Dark grey placeholder text */
    opacity: 0.7; /* Placeholder text is fully opaque */
    font-family: Verdana, Geneva, Tahoma, sans-serif ;
    font-size: 14px;
    transition: all 2s ease-in-out;

}

.styled-input:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #555;
    font-family: Verdana, Geneva, Tahoma, sans-serif ;
    font-size: 14px;
    transition: all 2s ease-in-out;
}

.styled-input::-ms-input-placeholder { /* Microsoft Edge */
    color: #555;
    font-family: Verdana, Geneva, Tahoma, sans-serif ;
    font-size: 14px;
    transition: all 2s ease-in-out;
}

.loader {
    width: 20px;
    height: 20px;
}
.loader:before {
    content: '...';
    animation: loading 1s infinite;
    font-size: 20px;
}
@keyframes loading {
    0% { content: '.'; }
    33% { content: '..'; }
    66% { content: '...'; }
    100% { content: '.'; }
}

.pregunta{
    width: 450px;
    border-radius: 20px;
    background-color: #98dcf4;
    border: 0.05px solid #98dcf4;
    box-shadow: 1px 1px 1px #888888;
    padding: 5px;
    margin-right: 5px;
    display: flex;
    font-size:14px;
    transition: all 2s ease-in-out;
    
}
.pregunta p {
    font-family: Verdana, Geneva, Tahoma, sans-serif ;
    margin-bottom: 0;
    align-content: center;
    text-align: justify;
    padding-right: 10px;
}
.respuesta{
    width: 450px;
    border-radius: 20px;
    background-color: #98dcf4;
    border: 0.05px solid #98dcf4;
    box-shadow: 1px 1px 1px #888888;
    padding: 5px;
    margin-right: 5px;
    display: flex;
     margin-left:10px;
     margin-top:5px;
     margin-bottom: 10px;
     margin-left: 20px;
     font-size:14px;
}
.respuesta p {
    font-family: Verdana, Geneva, Tahoma, sans-serif ;
    margin-bottom: 0;
    align-content: center;
    text-align: justify;
}

.ag-theme-alpine {
    --ag-foreground-color: rgb(52, 49, 52) ;
    --ag-background-color: rgb(246, 244, 237);
    --ag-header-foreground-color: rgb(11, 15, 8);
    --ag-header-background-color: rgb(171,219,227);
    --ag-odd-row-background-color: rgb(0, 0, 0, 0.03);
    --ag-header-column-resize-handle-color: rgb(126, 46, 132);
} 
.ag-theme-alpine .ag-header-cell {
    font-size: 12px;
}

.ag-theme-alpine .ag-cell {
    font-size: 12px;
}