    
        /* --- Fuentes y Estilos Base --- */
        /* * NOTA: Las rutas a las fuentes son relativas. 
         * Asegúrate de que la carpeta 'fontes' esté en la ubicación correcta 
         * o reemplaza las URLs por enlaces a fuentes web como Google Fonts.
         */
        @font-face {
            font-family: 'Xunta Sans';
            src: url('fontes/woff2/XuntaSans-Regular.woff2') format('woff2');
            font-weight: normal; font-style: normal; font-display: swap;
        }
        @font-face {
            font-family: 'Xunta Sans';
            src: url('fontes/woff2/XuntaSans-Bold.woff2') format('woff2');
            font-weight: bold; font-style: normal; font-display: swap;
        }

        body { 
            font-family: 'Xunta Sans', sans-serif;
            margin: 0;
            background-color: #f4f4f4; 
            color: #333; 
        }

        /* --- Estructura del Banner Superior --- */
        .banner-superior {
            display: flex;
            justify-content: space-between; /* Distribuye el espacio entre columnas */
            align-items: center; /* Alinea verticalmente los elementos al centro */
            background-color: #000000;
            color: white;
            padding: 15px 30px; /* Añade espacio interior al banner */
            width: 100%;
            box-sizing: border-box; /* Asegura que el padding no afecte el ancho total */
        }

        /* --- Columnas del Banner --- */

        /* Columna 1: Logo Izquierda */
        .columna-izquierda {
            flex: 1; /* Ocupa 1/3 del espacio */
            text-align: left; /* Alinea el contenido a la izquierda */
        }
        .columna-izquierda img {
            max-height: 80px; /* Altura máxima para el logo principal */
            width: auto;
        }

        /* Columna 2: Título Central */
        .columna-central {
            flex: 1; /* Ocupa 1/3 del espacio */
            text-align: center; /* Alinea el contenido al centro */
        }
        .columna-central h1 {
            margin: 0; /* Elimina márgenes por defecto del h1 */
            font-size: 2.2em;
            font-weight: bold;
        }

        /* Columna 3: Logos Derecha */
        .columna-derecha {
            flex: 1; /* Ocupa 1/3 del espacio */
            display: flex;
            justify-content: flex-end; /* Alinea los logos al final (derecha) */
            align-items: center;
            gap: 20px; /* Espacio entre los logos */
        }
        .columna-derecha img {
            max-height: 50px; /* Altura máxima para los logos secundarios */
            width: auto;
        }

        /* --- Resto de tus estilos (sin cambios) --- */
        .content-wrapper {
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 20px;
        }
        label { font-weight: bold; color: #555;}
        input[type="date"], input[type="number"], input[type="text"] { 
            padding: 8px; 
            border: 1px solid #ccc; 
            border-radius: 4px; 
            font-size: 1em;
            width: 100%;
            box-sizing: border-box;
        }
        button { padding: 10px 15px; background-color: #3388ff; color: white; 
            border: none; border-radius: 4px; cursor: pointer; 
            font-size: 1em; transition: background-color 0.2s; }
        button:hover { background-color: #005cbf; }
        #toggleUpdateFormBtn {
            background-color: #6c757d;
            margin-top: 15px;
        }
        #toggleUpdateFormBtn:hover {
            background-color: #5a6268;
        }
        .grafico-container { 
            border: 1px solid #ccc; margin-bottom: 20px; background-color: #fff; 
            box-shadow: 0 2px 4px rgba(0,0,0,0.05); padding: 5px; border-radius: 4px;}
        .info-texto { 
            margin-top: 5px; margin-bottom:15px; 
            color: #333; text-align: center; 
            width: 90%; max-width: 900px; 
            font-size: 0.9em; 
            min-height: 1.2em;}
        .mapa-y-controles-container {
            display: flex;
            flex-direction: row;
            align-items: stretch;
            width: 95%;
            max-width: 1600px;
            height: 75vh;
            min-height: 600px;
        }
        .controles-hora-container {
            flex: 0 0 320px;
            margin-right: 20px;
            display: flex;
            flex-direction: column;
            padding: 20px;
            background-color: #fff;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            border: 1px solid #ddd;
            border-radius: 8px;
            overflow-y: auto;
        }
        #map {
            flex: 1;
            height: 100%;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
         .leaflet-control-layers:nth-of-type(1) .leaflet-control-layers-toggle::before {
        content: '🗺️'; /* O el código de Font Awesome: '\f279' (map) */
        /* ... otros estilos como font-size, etc. */
        }

        /* --- Estilo para el SEGUNDO controlador (Superpuestas) --- */
        .leaflet-control-layers:nth-of-type(2) .leaflet-control-layers-toggle::before {
        content: '💧'; /* O el código de Font Awesome: '\f5fd' (layer-group) */
        /* ... otros estilos como font-size, etc. */
        }
    
        /* Esta parte e fundamental para que non se mostren os iconos orixnais */
        .leaflet-control-layers-toggle {
            background-image: none !important;
            width: 36px !important;
            height: 36px !important;
        }
        .leaflet-control-layers-toggle::before {
            font-size: 26px;
            line-height: 36px;
            text-align: center;
            display: block;
        }
        .control-item {
            display: flex;
            flex-direction: column;
            gap: 5px;
            margin-bottom: 15px;
        }
        .control-item label {
            font-size: 0.9em;
        }
        .controles-hora-sliders div { 
            display: flex; flex-wrap: wrap; align-items: center;
            gap: 10px; margin-bottom: 8px; width: 100%; justify-content: space-between;}
        .controles-hora-sliders label { 
            min-width: 80px; }
        .controles-hora-sliders input[type="range"] { flex-grow: 1;max-width: 120px; cursor: pointer;}
        .controles-hora-sliders span { min-width: 25px; text-align: right; font-weight: bold; background-color: #e9ecef; padding: 3px 6px; border-radius: 4px; font-size: 0.7em;}
        #alturaMareaSeleccionada { font-weight: bold; color: #0056b3; background-color: #e6f7ff; padding: 5px 8px; border-radius: 4px; border: 1px solid #b3e0ff;}
        #tiempoSeleccionado { font-weight: bold; }
        .controles-hora-container p { font-weight: bold; color: #333; margin-bottom: 15px; border-bottom: 1px solid #eee; padding-bottom: 10px;}
        .controles-hora-container div[style*="font-size: 1.1em"] { margin-top: 10px; }
        .site-footer {
            background-color: #000000;
            color: #ffffff;
            padding: 20px 40px;
            margin-top: 40px;
            width: 100%;
            box-sizing: border-box;
        }
        .footer-content {
            max-width: 1600px;
            margin: 0 auto;
            text-align: center;
        }
        .footer-content p {
            margin: 5px 0;
            font-size: 0.9em;
        }
        .footer-logos {
            margin-top: 15px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 30px;
            flex-wrap: wrap;
        }
        .footer-logos img {
            max-height: 60px;
            width: auto;
        }
        #tablaPuntos {
    /* Contenedor principal de la tabla */
    display: block; /* Asegura que el contenedor respete su ancho */
    max-width: 100%; /* La tabla no excederá el ancho de su padre */
    overflow-x: auto; /* Permite desplazamiento horizontal en pantallas pequeñas */
    margin: 15px auto;
    border: 1px solid #ccc; /* Borde sutil alrededor de la tabla */
    border-radius: 8px; /* Esquinas redondeadas */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
}

#tablaPuntos table {
    /* Estilo general de la tabla */
    width: 100%; /* Ocupa todo el ancho del contenedor */
    border-collapse: collapse; /* Elimina los espacios entre bordes de celdas */
    font-family: Arial, sans-serif;
    font-size: 14px;
}

#tablaPuntos th, 
#tablaPuntos td {
    /* Estilo de encabezados y celdas de datos */
    padding: 10px 15px;
    text-align: center;
    border-bottom: 1px solid #eee; /* Línea separadora sutil */
}

#tablaPuntos th {
    /* Estilo específico para los encabezados */
    background-color: #007BFF; /* Azul de cabecera */
    color: white; /* Texto blanco */
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-top-left-radius: 8px; /* Redondea las esquinas superiores */
    border-top-right-radius: 8px;
}

/* Color alternado para filas (Striped rows) */
#tablaPuntos tbody tr:nth-child(even) {
    background-color: #f8f8f8; /* Color de fondo muy claro para filas pares */
}

/* Efecto al pasar el ratón */
#tablaPuntos tbody tr:hover {
    background-color: #e0f7fa; /* Fondo azul claro al pasar el ratón */
    cursor: default;
}

/* Estilo para la última fila */
#tablaPuntos tbody tr:last-child td {
    border-bottom: none; /* Elimina la línea inferior de la última fila */
}