/* Estilos generales */
body, html {
    height: 100%;
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    background-color: #3d313a; /* Fondo oscuro para el body */
    color: #e8e8e8; /* Color de texto general claro */
    overflow-x: hidden; /* Previene el scroll horizontal en el body */
    /* overflow-y: hidden;  DEJAREMOS QUE EL CONTENEDOR PRINCIPAL MANEJE ESTO SI ES 100VH */
}

.contenedor {
    display: flex;
    height: 100vh;
    width: 100%; /* Cambiado de 100vw a 100% para mejor compatibilidad con box-sizing */
    box-sizing: border-box;
}

/* Columnas */
.columna-izquierda, .columna-derecha {
    width: 320px;
    background-color: #2c2c2e;
    color: #c5c5c5;
    padding: 20px;
    box-sizing: border-box;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex-shrink: 0; /* Evita que estas columnas se encojan si no hay espacio */
}

.columna-izquierda {
    border-right: 1px solid #444;
}

.columna-derecha {
    border-left: 1px solid #444;
}

.columna-central {
    flex-grow: 1;
    padding: 20px;
    background-color: #343a40;
    color: #e8e8e8;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden; /* Previene scroll horizontal específico en la columna central */
    box-sizing: border-box; /* Asegurar que el padding no la haga más ancha */
}

#tvchart {
    width: 100%;
    flex-grow: 1;
    min-height: 250px;
    height: 450px;
    box-sizing: border-box; /* Importante para que el width 100% sea preciso */
}


/* Títulos */
h1, h2, h3 {
    color: #00b894;
    margin-top: 0;
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #00897b;
    box-sizing: border-box; /* Para que el padding y border no afecten el ancho */
}

h1 { font-size: 1.4em; }
h2 { font-size: 1.2em; color: #dadada; }
h3 { font-size: 1.1em; color: #c0c0c0; }


.control-section {
    background-color: #2c2c2e;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #444;
    color: #c5c5c5;
    box-sizing: border-box;
}

.control-section label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #b0b0b0;
}

.control-section select {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #555;
    border-radius: 4px;
    box-sizing: border-box;
    background-color: #333;
    color: #e0e0e0;
}

hr {
    border: none;
    border-top: 1px solid #555;
    margin: 15px 0;
}

/* ESTILOS DE ALERTAS (ajustados para tema oscuro) */
.alerta {
    padding: 12px 15px;
    margin-bottom: 10px;
    border-radius: 5px;
    font-weight: bold;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    text-align: center;
    font-size: 1.1em;
    border-left: 5px solid transparent;
    box-sizing: border-box;
}

.alerta-subida, .alerta-compra {
    background-color: #2a3b2a;
    color: #90ee90;
    border-left-color: #28a745;
}
.alerta-compra span {
    color: #90ee90 !important;
    font-weight: bold;
}

.alerta-bajada, .alerta-venta {
    background-color: #4d262a;
    color: #ff9999;
    border-left-color: #dc3545;
}
.alerta-venta span {
     color: #ff9999 !important;
     font-weight: bold;
}

.alerta-neutral {
    background-color: #4b3f30;
    color: #ffcc80;
    border-left-color: #ffc107;
}
.alerta-neutral span {
     color: #ffcc80 !important;
     font-weight: bold;
}

#alerta-general span {
    display: inline-block;
}

#alerta-general .compra-alcista { color: #50fa7b; font-weight: bold; }
#alerta-general .venta-bajista { color: #ff5555; font-weight: bold; }
#alerta-general .mercado-neutro { color: #bd93f9; font-weight: bold; }
#alerta-general .mercado-actualizando { color: #8be9fd; }
#alerta-general .mercado-error { background-color: #721c24; color: #f8d7da; padding: 2px 5px; border-radius:3px;}
#alerta-general .mercado-desconectado { background-color: #856404; color: #fff3cd; padding: 2px 5px; border-radius:3px;}


.indicador {
    background-color: #2c2c2e;
    padding: 12px;
    margin-bottom: 10px;
    border: 1px solid #444;
    border-radius: 4px;
    font-size: 1em;
    color: #c5c5c5;
    box-sizing: border-box;
}
.indicador span {
    font-weight: bold;
    color: #e0e0e0;
}

.indicador-detallado { /* Este es #analysis en tu HTML */
    background-color: #282a2e;
    padding: 15px;
    margin-bottom: 10px;
    border: 1px solid #404040;
    border-radius: 4px;
    font-size: 0.9em;
    line-height: 1.5;
    white-space: pre-wrap;
    color: #b0b0b0;
    max-height: 500px;
    overflow-y: auto;
    box-sizing: border-box;
}

.indicador-detallado strong { color: #e0e0e0; }
.indicador-detallado span[style*="color: red;"] { color: #ff79c6 !important; }
.indicador-detallado span[style*="color: green;"] { color: #50fa7b !important; }
.indicador-detallado span[style*="color: limegreen;"] { color: #48d180 !important; }
.indicador-detallado span[style*="color: orangered;"] { color: #ffb86c !important; }
.indicador-detallado span[style*="color: orange;"] { color: #f1fa8c !important; }
.indicador-detallado span[style*="color: yellow;"] { color: #f1fa8c !important; background-color: transparent !important; padding: 0 !important;}
.indicador-detallado span[style*="color: gray;"] { color: #999 !important; }
.indicador-detallado span[style*="color: blue;"] { color: #8be9fd !important; }
.indicador-detallado span[style*="font-weight: bold"] { font-weight: bold !important; color: #e8e8e8;}


@keyframes blink-warning {
    0% { color: #ff5555; opacity: 1; transform: scale(1); }
    50% { color: #ff8a80; opacity: 0.4; transform: scale(1.05); }
    100% { color: #ff5555; opacity: 1; transform: scale(1); }
}
.alerta-no-entrar-parpadeante { animation: blink-warning 2.2s infinite; font-weight: bold; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5); }

@keyframes slow-blinking-text-animation {
    0% { opacity: 1; } 50% { opacity: 0.3; } 100% { opacity: 1; }
}
.blinking-text { animation: slow-blinking-text-animation 3s linear infinite; }

@keyframes slow-blinking {
    0% { opacity: 1; } 50% { opacity: 0.3; } 100% { opacity: 1; }
}
.blinking { animation: slow-blinking 3s linear infinite; }

.blinking-text-green { animation: blink-green 1.5s linear infinite; }
.blinking-text-red { animation: blink-red 1.5s linear infinite; }
.blinking-text-general { animation: blink-general 1.2s linear infinite; }

@keyframes blink-green { 50% { opacity: 0.5; } }
@keyframes blink-red { 50% { opacity: 0.5; } }
@keyframes blink-general { 50% { opacity: 0.6; } }
@keyframes blink-urgente { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(1.02); } }

.controles-seleccion {
    display: flex; align-items: center; justify-content: center;
    gap: 15px; margin-bottom: 20px; flex-wrap: wrap;
    padding: 10px;
    background-color: #2a2a2e;
    border-radius: 6px;
    box-sizing: border-box;
}
.control-item { display: flex; align-items: center; gap: 8px; }
.control-item label { margin-bottom: 0; font-weight: bold; white-space: nowrap; font-size: 0.95em; color: #c0c0d0;}
.control-item select {
    padding: 7px 10px;
    border: 1px solid #555;
    border-radius: 4px;
    font-size: 0.95em;
    min-width: 120px;
    background-color: #3b3b40;
    color: #e0e0e0;
    box-sizing: border-box;
}
.control-item select:focus {
    outline: none;
    border-color: #00b894;
    box-shadow: 0 0 0 2px rgba(0, 184, 148, 0.3);
}


#agresion-en-linea-display {
    font-size: 0.95em; margin-bottom: 15px; text-align: center; padding: 6px;
    background-color: #282a2e;
    border-radius: 4px; line-height: 1.5;
    color: #b0b0b0;
    box-sizing: border-box;
}
#agresion-en-linea-display span { display: inline-block; margin: 0 3px; }
#agresion-en-linea-display .buy-volume { color: #50fa7b; }
#agresion-en-linea-display .sell-volume { color: #ff5555; }
#agresion-en-linea-display .neutral-volume { color: #ccc; }


/* --- ESTILOS PARA #user-auth-section (Tema Oscuro) --- */
#user-auth-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 8px 0px;
    margin-bottom: 15px;
    background-color: transparent;
    border-radius: 6px;
    box-sizing: border-box;
}

.user-actions-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

#user-auth-section .user-auth-links,
#user-auth-section .user-info-display {
    display: flex;
    align-items: center;
    gap: 10px;
}

#user-auth-section .auth-link {
    color: #61dafb;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.85em;
    padding: 6px 10px;
    border-radius: 4px;
    border: 1px solid transparent;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    white-space: nowrap;
}

#user-auth-section .auth-link:hover {
    background-color: rgba(97, 218, 251, 0.15);
    color: #8be9fd;
    border-color: rgba(97, 218, 251, 0.3);
}

#user-auth-section .auth-link.register-link {
    background-color: #61dafb;
    color: #1e1e2e;
    border-color: #61dafb;
}

#user-auth-section .auth-link.register-link:hover {
    background-color: #8be9fd;
    color: #111;
    border-color: #8be9fd;
}

#user-auth-section .user-info-display span {
    color: #bd93f9;
    margin-right: 10px;
    font-size: 0.85em;
    align-self: center;
}

#user-auth-section .logout-link {
    color: #ff79c6;
}

#user-auth-section .logout-link:hover {
    background-color: rgba(255, 121, 198, 0.15);
    color: #ff99d7;
    border-color: rgba(255, 121, 198, 0.3);
}

.linea-delgada-estado {
    flex-grow: 1;
    flex-shrink: 1;
    text-align: left;
    padding: 5px 10px;
    margin-right: 15px;
    font-size: 0.85em;
    border-radius: 4px;
    box-sizing: border-box;
    background-color: #2a2a2e;
    color: #ccc;
    border: 1px solid #444;
    display: none;
}

.estado-prueba {
    background-color: #4b3f30;
    border-color: #6f5a40;
    color: #ffcc80;
}
.estado-pro {
    background-color: #2a3b2a;
    border-color: #3a5b3a;
    color: #90ee90;
}
.estado-requiere-suscripcion {
    background-color: #4d262a;
    border-color: #6d363a;
    color: #ff9999;
}
.estado-cuenta-info {
    background-color: #2a3045;
    border-color: #3a4055;
    color: #a0a8d0;
}


/* --- MEDIA QUERIES PARA RESPONSIVE --- */

@media (max-width: 1023px) { /* Tablets y pantallas más pequeñas */
    body, html {
        overflow-y: auto; /* Permitir scroll vertical general en pantallas pequeñas */
        /* overflow-x: hidden; se mantiene del body general */
    }
    .contenedor {
        flex-direction: column;
        height: auto;
        width: 100%;
    }

    .columna-izquierda,
    .columna-central,
    .columna-derecha {
        width: 100%;
        border-right: none;
        border-left: none;
        margin-bottom: 15px;
        flex-basis: auto;
        overflow-y: visible; /* El scroll lo manejará el body */
        max-height: none;
        box-sizing: border-box; /* Asegurar esto en todas las columnas */
    }

    .columna-central { order: 1; }
    .columna-izquierda { order: 2; }
    .columna-derecha { order: 3; margin-bottom: 0; }

    /* No es necesario .columna-izquierda, .columna-derecha, .columna-central { padding: 15px; }
       porque ya tienen padding de 20px que está bien. */

    h1 { font-size: 1.3em; }
    h2 { font-size: 1.1em; }

    #tvchart {
        height: 350px;
        flex-grow: 0;
    }
    .indicador-detallado, #window-shape-output {
        max-height: none; /* Permitir que crezcan en tablet si la columna central es visible */
        overflow-y: visible;
    }


    #user-auth-section {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
    }

    .linea-delgada-estado {
        order: 1;
        flex-basis: 100%;
        margin-bottom: 10px;
        text-align: center;
    }

    .user-actions-wrapper {
        order: 2;
        flex-basis: 100%;
        justify-content: center;
        margin-bottom: 5px;
    }
}

@media (max-width: 767px) { /* Móviles */
    .controles-seleccion {
        justify-content: space-around;
        gap: 8px;
        flex-wrap: wrap;
        padding-left: 5px;
        padding-right: 5px;
    }

    .control-item {
        flex-grow: 1;
        flex-basis: calc(50% - 10px);
        gap: 5px;
        justify-content: center;
    }
    
    .control-item label {
        font-size: 0.85em;
        margin-right: 3px;
    }

    .control-item select {
        padding: 5px 6px;
        font-size: 0.85em;
        width: 100%;
        max-width: none;
    }

    #agresion-en-linea-display {
        font-size: 0.85em;
        padding: 6px;
        margin-bottom: 10px;
    }

    #agresion-en-linea-display span > span { /* Si hay spans anidados dentro */
        font-size: 0.9em;
    }

    #tvchart {
        height: 300px;
    }
    .indicador-detallado, #window-shape-output {
        font-size: 0.85em;
    }

    #user-auth-section {
        flex-direction: column;
        align-items: center;
        gap: 10px;
        padding: 8px 5px;
    }

    .linea-delgada-estado,
    .user-actions-wrapper {
        flex-basis: auto;
        width: 100%;
        margin-right: 0;
        text-align: center;
    }
    .user-actions-wrapper {
        justify-content: center;
    }
    #user-auth-section .user-auth-links {
        justify-content: center;
    }


    #user-auth-section .auth-link,
    #user-auth-section .user-info-display span,
    #user-auth-section .logout-link {
        font-size: 0.8em;
        padding: 5px 8px;
    }
}


/* Estilos para #window-shape-output (ajustados para tema oscuro) */
#window-shape-output {
    max-height: 350px; /* Altura máxima para este div específico */
    overflow-y: auto;  /* Scroll si el contenido excede esta altura */
    padding: 10px; /* Reducido padding-right, el scrollbar lo maneja el navegador */
    box-sizing: border-box;
    border: 1px solid #3a3f44;
    border-radius: 4px;
    background-color: #222528; /* Fondo ligeramente diferente para el contenido */
    margin-top: 10px;
    color: #c5c5c5; /* Color de texto por defecto para el contenido */
}
/* Estilos para el scrollbar del #window-shape-output (tema oscuro) */
#window-shape-output::-webkit-scrollbar {
    width: 10px;
}
#window-shape-output::-webkit-scrollbar-track {
    background: #2c3034; /* Fondo del track del scrollbar */
    border-radius: 5px;
}
#window-shape-output::-webkit-scrollbar-thumb {
    background-color: #55585c; /* Color del thumb del scrollbar */
    border-radius: 5px;
    border: 2px solid #2c3034; /* Borde alrededor del thumb */
}
#window-shape-output::-webkit-scrollbar-thumb:hover {
    background-color: #77797d; /* Color del thumb al pasar el mouse */
}

/* Ajuste final para asegurar que ningún elemento dentro de las columnas cause desbordamiento */
.columna-izquierda *,
.columna-central *,
.columna-derecha * {
    max-width: 100%; /* Evita que imágenes o elementos de texto largos rompan el layout */
    box-sizing: border-box; /* Asegura que padding y border no expandan más allá del 100% */
}



/* css para menu ************************************/


.dropdown-menu-container {
    position: relative; /* Para posicionar el contenido del dropdown */
    display: inline-block; /* O 'block' si quieres que ocupe todo el ancho disponible */
    margin-bottom: 15px; /* Espacio debajo del menú antes del siguiente elemento */
    z-index: 1000; /* Asegura que el menú esté por encima de otros elementos */
}

.dropdown-toggle {
    background-color: #4a4a4e; /* Color de fondo similar a otros controles */
    color: #e0e0e0; /* Color de texto claro */
    padding: 8px 15px;
    font-size: 0.95em;
    border: 1px solid #5f5f5f;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.dropdown-toggle:hover {
    background-color: #5a5a5e;
}

.dropdown-content {
    display: none; /* Oculto por defecto */
    position: absolute;
    background-color: #3a3a3e; /* Fondo del desplegable */
    min-width: 200px; /* Ancho mínimo del desplegable */
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.4);
    border-radius: 5px;
    border: 1px solid #505050;
    z-index: 1; /* Asegura que esté sobre elementos adyacentes */
    margin-top: 5px; /* Pequeño espacio entre el botón y el contenido */
}

.dropdown-content a {
    color: #c5c5c5; /* Color de los enlaces */
    padding: 10px 15px;
    text-decoration: none;
    display: block;
    font-size: 0.9em;
    border-bottom: 1px solid #48484e; /* Separador entre items */
    transition: background-color 0.2s ease, color 0.2s ease;
}

.dropdown-content a:last-child {
    border-bottom: none; /* Sin borde para el último item */
}

.dropdown-content a:hover {
    background-color: #4f4f53;
    color: #ffffff;
}

/* Clase para mostrar el dropdown vía JavaScript */
.dropdown-content.show {
    display: block;
}

/* Ajustes para el menú en pantallas pequeñas si es necesario */
@media (max-width: 767px) {
    .dropdown-menu-container {
        display: block; /* Que ocupe todo el ancho en móviles */
        text-align: left; /* O center, según preferencia */
    }
    .dropdown-toggle {
        width: auto; /* O '100%' si quieres un botón ancho */
        display: inline-block;
    }
    .dropdown-content {
        min-width: 0; /* Permite que se ajuste al contenido */
        width: 100%; /* Que el desplegable ocupe el ancho del contenedor */
        box-sizing: border-box;
    }
}

/* En tu archivo css/estilos.css */
.dropdown-content .dropdown-item-button {
    background: none; /* Sin fondo */
    border: none; /* Sin borde */
    color: #E0E0E0; /* Color de texto (ajústalo al de tus otros enlaces de menú) */
    padding: 12px 16px; /* Espaciado (ajústalo al de tus otros enlaces) */
    text-decoration: none;
    display: block; /* Para que ocupe todo el ancho */
    text-align: left; /* Alineación del texto */
    width: 100%; /* Ocupar todo el ancho disponible */
    cursor: pointer; /* Cursor de mano */
    font-size: inherit; /* Heredar tamaño de fuente */
    font-family: inherit; /* Heredar tipo de fuente */
}

.dropdown-content .dropdown-item-button:hover {
    background-color: #444; /* Color de fondo al pasar el ratón (ajústalo) */
}



/*css para barra de precion correcion */

.pressure-section-container {
    margin-bottom: 10px;
    padding: 8px;
    background-color: #222b33; /* Un fondo ligeramente diferente para las secciones */
    border-radius: 4px;
    border: 1px solid #333c44;
}

.pressure-section-title {
    margin-top: 0;
    margin-bottom: 4px;
    color: #ddeeff; /* Un color más claro para el título */
    text-align: center;
    font-size: 0.9em;
    font-weight: bold;
}

.pressure-section-status {
    font-size: 0.75em;
    color: #a0b0c0; /* Un gris azulado */
    text-align: center;
    margin-bottom: 5px;
    min-height: 16px;
    font-style: italic;
}

.pressure-progress-bar-outer {
    width: 100%;
    background-color: #1a2229; /* Fondo de barra más oscuro */
    border-radius: 3px;
    padding: 2px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.2);
    height: 18px; /* Altura fija para el contenedor exterior */
}

.pressure-progress-bar { /* Clase para las barras internas */
    width: 0%;
    height: 14px; /* Altura de barra interna, un poco menos que el outer por el padding */
    border-radius: 2px;
    text-align: center;
    line-height: 14px; /* Coincidir con altura */
    color: white;
    font-size: 0.7em; /* Texto de porcentaje más pequeño */
    font-weight: bold;
    transition: width 0.4s ease-out, background-color 0.4s ease-out;
    box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

.pressure-details-list {
    font-size: 0.7em; /* Detalles aún más pequeños */
    color: #90a0b0;
    margin-top: 6px;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3px 5px; /* Espacio vertical y horizontal entre items */
}

.pressure-mega-alert {
    font-size: 1em; /* Alerta más pequeña */
    font-weight: bold;
    text-align: center;
    margin-top: 8px;
    padding: 5px;
    border-radius: 3px;
    display: none; /* Se controla por JS */
}

/* Clases de estado y valor del indicador (anteriormente RSI) */
.pressure-detail-item { 
    margin: 1px 2px; 
    padding: 1px 3px; 
    border-radius: 2px; 
    font-weight: normal; /* Un poco menos bold aquí */
    font-size:0.95em; /* Relativo al font-size de pressure-details-list */
    border: 1px solid transparent; 
    min-width: 55px; /* Para que los items tengan un ancho similar */
    box-sizing: border-box;
}
.pressure-status-pending { color: #667788; border-color: #506070;}
.pressure-status-analyzing { color: #4a90e2; border-color: #4a90e2; font-style: italic;}
.pressure-status-error { color: #e74c3c; border-color: #c0392b; font-weight: bold;}
.pressure-value-normal { color: #77cc77; } /* Un verde suave para valores normales */

/* Colores para Presión Vendedora (RSI Alto) */
.pressure-sell-met { background-color: #f1c40f; color: #333; border-color: #cea70c;} /* Amarillo */
.pressure-sell-high { background-color: #e67e22; color: white; border-color: #c46a1d;} /* Naranja */
.pressure-sell-very-high { background-color: #d35400; color: white; border-color: #b04300;} /* Naranja Oscuro */
.pressure-sell-extreme { background-color: #c0392b; color: white; border-color: #a03023;} /* Rojo */

/* Colores para Presión Compradora (RSI Bajo) */
.pressure-buy-met { background-color: #A9DFBF; color: #145A32; border-color: #90c0a8;} /* Verde claro */
.pressure-buy-low { background-color: #58D68D; color: #196F3D; border-color: #4cb47a;} /* Verde medio */
.pressure-buy-very-low { background-color: #2ECC71; color: white; border-color: #27ad60;} /* Verde brillante */
.pressure-buy-extreme { background-color: #28B463; color: white; border-color: #219a52;} /* Verde más fuerte */

 /***********par de sibolos ****/

/* --- Estilos para los controles de selección --- */

/* Estilos base (para PC y móvil) */
.controles-seleccion {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-bottom: 20px;
}

.control-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Contenedor del buscador (input + botón) */
.control-item-buscar {
    display: flex; /* Alinea el input y el botón */
    flex-grow: 1;  /* Permite que ocupe el espacio disponible */
    align-items: center;
}

.control-item-buscar input[type="text"] {
    flex: 1; /* El input crece para ocupar el espacio sobrante */
    background-color: #3a3a3a;
    color: #f0f0f0;
    border: 1px solid #555;
    border-radius: 4px;
    padding: 6px;
    font-size: 1em;
}

/* Estilo del nuevo botón 'Aplicar' */
#search-apply-button {
    padding: 6px 12px;
    margin-left: 8px;
    background-color: #0d6efd;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    transition: background-color 0.2s ease;
}

#search-apply-button:hover {
    background-color: #0b5ed7;
}

/* Contenedor para los selectores 'Par' e 'Intervalo' */
.controles-agrupados {
    display: flex;
    flex-grow: 1;
    gap: 1rem;
}

.controles-agrupados select {
    background-color: #3a3a3a;
    color: #f0f0f0;
    border: 1px solid #555;
    border-radius: 4px;
    padding: 6px;
    font-size: 1em;
}

/* --- ESTILOS RESPONSIVOS (Para Móviles) --- */
@media (max-width: 768px) {
    .controles-seleccion {
        flex-direction: column; /* Apila los elementos verticalmente */
        align-items: stretch;   /* Ocupan todo el ancho */
    }

    .control-item-buscar {
        width: 100%;
    }
    
    .controles-agrupados {
        width: 100%;
    }

    .controles-agrupados .control-item {
        flex: 1; /* Cada selector ocupa la mitad del espacio */
    }
    
    .controles-agrupados .control-item select {
        width: 100%; /* El selector se estira para llenar su espacio */
    }
}