        :root {
            --primary-color: #003366;
            --accent-color: #0099CC;
            --bg-body: #f8fafc;
            --text-main: #1e293b;
            --white: #ffffff;
            --shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
        }
        * { box-sizing: border-box; margin: 0; padding: 0; }

        body {
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            background-color: var(--bg-body);
            color: var(--text-main);
            line-height: 1.6;
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        /* Contenedor Principal */
        .app-container {
            flex: 1;
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 10px;
        }

        /* Sección del Cuerpo (La caja donde carga todo) */
        main {
            background: var(--white);
            border-radius: 12px;
            box-shadow: var(--shadow);
            padding: 10px;
            min-height: 10vh;
            margin-top: 10px;
        }

        /* Soporte flotante (Estilo moderno) */
        .support-float {
            position: fixed;
            bottom: 80px;
            right: 20px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            z-index: 100;
        }
        .support-btn {
            background: var(--white);
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            box-shadow: var(--shadow);
            transition: transform 0.3s ease;
        }
        .support-btn:hover { transform: scale(1.1); }
        .support-btn img { width: 30px; height: 30px; }

        /* Footer profesional */
        footer {
            background: var(--primary-color);
            color: #cbd5e1;
            padding: 10px 10px;
            text-align: center;
            margin-top: 10px;
            font-size: 0.85rem;
        }
        footer a { color: var(--accent-color); text-decoration: none; font-weight: 600; }

        /* Ajustes para Móviles */
        @media (max-width: 768px) {
            .app-container { padding: 10px; }
            main { padding: 10px; border-radius: 0; margin-top: 0; }
            .support-float { bottom: 10px; right: 10px; }
        }

        /* Para las tablas -  class="mi-tabla" */
        .mi-tabla {
            margin-left: auto;
            margin-right: auto;
            border-color: rgb(255, 0, 0);
            border-collapse: collapse; /* Opcional: para que los bordes se vean mejor */
            width: auto; /* O el ancho que prefieras */
        }

        .p {
            text-decoration: none;
        }
        /* Opcional: Que aparezca la línea solo cuando pases el mouse */
        .p:hover {
            text-decoration: underline;
        }

        /* Boton de formulario - class="btn-elegante" */
        .btn-elegante {
            /* Tamaño y Espaciado */
            padding: 12px 30px;
            font-size: 16px;
            font-weight: 600;
            /* Colores y Bordes */
            background-color: #2c3e50; /* Un azul medianoche elegante */
            color: #ffffff;
            border: none;
            border-radius: 8px; /* Bordes redondeados */
            /* Estilo de cursor y transiciones */
            cursor: pointer;
            transition: all 0.3s ease; /* Suaviza el cambio de color */
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra sutil */
            /* Para que no se pegue a otros elementos */
            display: inline-block;
            text-decoration: none;
        }
        /* Efecto al pasar el ratón (Hover) */
        .btn-elegante:hover {
            background-color: #34495e;
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
            transform: translateY(-2px); /* El botón sube un poquito */
        }
        /* Efecto al hacer clic */
        .btn-elegante:active {
            transform: translateY(0);
        }

        .textiton {
            font-family: 'Arial Narrow', Arial, sans-serif; 
            font-weight: bold;
        }
        .textito {
            font-family: 'Arial Narrow', Arial, sans-serif; 
        }
        .textitito {
            font-family: 'Arial Narrow', Arial, sans-serif; 
            font-size: 12px;
        }
        .textote {
            font-family: 'Arial Narrow', Arial, sans-serif; 
            font-size: 18px;
        }

        .blanco {color: #FFFFFF}
        .guindo {color: #990000}
        .rojo {color: #CC0000}
        .verde {color: #00CC00}
        .azul {color: #0000FF}
        .amarillo {color: #FFFF00}
        .celeste {color: #00FFFF}
        .rosado {color: #FF00FF}
        .azul1 {color: #003366}
        .azul2 {color: #006699}



.titulo{
   background-image: url(../images/logi.jpg);
   background-repeat: repeat-x;
   background-size: 220px;
   height: 48px;
}
.texto_titulo {
   font-family: Verdana; 
   font-size: 12px; 
   font-weight: bold;
   color: #FFFFFF;
   background-color: #004BC0;
}
.texto_menu {
   font-family: Verdana; 
   font-size: 10px; 
}
.texto {
   font-family: Arial; 
   font-size: 13px; 
}
.texto_mas_grande {
   filter: shadow( color = #003399 , direction = 300 );
   font-family: Arial; 
   font-size: 24px; 
}
.texto_grande {
   font-family: Arial; 
   font-size: 18px; 
}
.texto_mediano {
   font-family: Arial; 
   font-size: 16px; 
}
.texto_pequeno {
   font-family: Arial; 
   font-size: 14px; 
}
.texto_mini {
   font-family: Arial; 
   font-size: 12px; 
}
.texto_micro {
   font-family: Arial; 
   font-size: 11px; 
}
.texto_nano {
   font-family: Arial; 
   font-size: 10px; 
}
.texto_copy_mini {
   text-align: center;
   font-family: Arial; 
   font-size: 9px; 
}

.pie {
   border: groove;
/*      para margenes
    padding-top: 15px;
    padding-bottom: 15px;
    padding-right: 40px;
    padding-left: 50px;
    background-color: silver;
   color: purple;
*/
   font-family: Arial; 
   font-size: 12px; 
}

.Rotate-90
{
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg);
 
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
 
  font-size: 40px;
  background: #e0e0e0;
  width: 100px;
  position: relative;
  top: 50px;
}

.vertical1 {
    writing-mode: vertical-lr;
}
.vertical2 {
    writing-mode: vertical-lr;
    transform: rotate(180deg);
}
.vertical3 {
  width:20px;
  word-wrap: break-word;
  text-align:center;
}