﻿
/*** ESTILOS PAGINA MAESTRA ****************************************************************  */

/* 1. CODIFICACIÓN DE CARACTERES (Siempre en la primera línea) */
@charset "UTF-8";

/* Aplicamos box-sizing a todos los elementos del proyecto para evitar errores de cálculo */
/* El espacio real que quieres entre el body y la pantalla (Arriba/Abajo Izquierda/Derecha) */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    /* Tu tipografía fluida base (10px a 16px) */
    font-size: clamp(0.625rem, 0.4167rem + 0.6667vw, 1rem);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; /* background-color: #003300;  El color verde oscuro del fondo exterior */
    background-color: #339933;
    width: 100%;
    height: 100%; /* 1. SE SOLUCIONA AQUÍ: box-sizing calcula el tamaño incluyendo el espacio extra */
    padding: 10px;
}

body {
    /* Asegura que el texto común herede el tamaño base */
    font-size: 1rem;
    line-height: 1.5;
    /* 3. IMPORTANTE: El body ahora inicia pegado a su contenedor limpio */
    margin: 0;
    width: 100%;
    min-height: 100%; /* Asegura que llene el alto de la pantalla */
    background: linear-gradient(to right, #11998e, #38ef7d);
    display: flow-root; /* === NUEVOS EFECTOS VISUALES === */
    border-radius: 10px; /* Redondea las 4 esquinas de la tarjeta principal */ /* Sombra suave y profunda para dar sensación de elevación */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    /* background-color: #669999;*/
}

form {
    min-height: 100%;
    padding: 0;
    display: flow-root;
    /* === OPTIMIZACIÓN PARA PANTALLAS GRANDES === */
    max-width: 1200px; /* El contenido no se estirará más allá de este ancho */
    margin: 0 auto; /* Centra el formulario perfectamente en la pantalla */
}

label {
    color: #FFFF00;
    font-weight: bold;
}

/* Inputs, Selects y Botones */
input, select, textarea, button {
    font-size: 1rem; /* Automáticamente será fluido (10px a 16px) */
}

input, select {
    border-style: none;
    width: clamp(80px, 100%, 250px);
    height: 25px;
    background-color: #FFFFFF;
}

    input:focus, select:focus {
        background-color: #FFFF99;
    }

.textbox_100px {
    width: 100px;
}


.textbox_50px {
    width: 50px;
}


.limpiador {
    clear: both; /* ¡Esta es la instrucción mágica que limpia! */
    display: block; /* Se asegura de actuar como un bloque */
    height: 0; /* Es invisible, no ocupa espacio hacia abajo */
    visibility: hidden; /* Oculto a la vista del usuario */
}


.border_radius {
    border: 1px solid #808080;
    border-radius: 5px;
    margin-bottom: 5px;
    width: auto;
    height: auto;
}

.section {
    border: 1px none #00CC00;
    border-radius: 8px;
    margin-bottom: 3px;
    background-color: rgba(0, 0, 0, 0.2);
    padding-top: 3px;
    padding-right: 3px;
    padding-left: 3px;
}

.section_azul {
    padding: 5px;
    border: 1px none #00CC00;
    border-radius: 8px;
    margin-bottom: .5em;
    background-color: rgba(00,66,FF, 0.5); /*Hex= {00,66,FF} *azul */
}

header {
    padding: 5px;
    background-color: #0066FF;
    width: 100%;
    height: auto;
    margin-bottom: 10px;
    vertical-align: middle;
    text-align: left;
    display: inline-block;
    white-space: nowrap;
    border-radius: 8px 8px 0 0;
}

h2 {
    padding: 0px;
    margin: 0px;
    font-size: 50px;
}

h1 {
    padding: 0px;
    margin: 0px;
    font-size: 35px;
}

.logo {
    color: #FFFF00;
    display: inline-block;
    width: auto;
    font-family: "Old English Text MT";
    background-color: #339933;
    height: auto;
    padding-left: 10px;
    padding-right: 20px;
}

.titulo {
    padding: 5px;
    color: #FFFFFF;
    display: inline-block;
    margin-left: 20px;
    font-family: Georgia, "Times New Roman", Times, serif;
    width: auto;
    height: auto;
}

table {
    width: auto;
    height: auto; /* OBLIGATORIO: Fuerza a respetar el 100% e evita el estiramiento */
}

footer {
    background-color: #0066FF;
    width: inherit;
    height: auto;
    font-size: 3em;
    margin-top: 10px;
}

caption {
    padding: 3px 5px 3px 5px;
    font-size: 12px;
    background-color: #0066FF;
    font-style: italic;
    font-weight: bold;
    letter-spacing: 1px;
    color: #FFFF00;
    text-align: left;
    box-sizing: border-box;
    white-space: nowrap;
    border-radius: 8px 8px 0 0;
    max-width: 100%;
}

.validador {
    margin: 0px 5px 0px 5px;
    color: #FF3300;
    text-align: center;
    font-size: 20px;
}

.campo-bloqueado .disable {
    background-color: #CCCCCC; /* Fondo gris claro */
    color: #333333; /* Texto opaco */
    /* Borde suave */
    cursor: not-allowed; /* Cursor con icono de prohibido */
    pointer-events: none; /* CSS puro: Deshabilita clics, selección de texto y eventos del mouse */
}
/* Tablas, Datagrids, Encabezados (th), Celdas (td) y Captions */
table, th, td, caption {
    font-size: 1rem;
}

td {
    padding-left: 5px;
    white-space: nowrap;
    width: auto;
    height: auto;
}

th {
    text-align: left;
    white-space: nowrap;
    padding-left: 5px;
    color: #FFFFFF;
    letter-spacing: 1px;
    xfont-size: 10px;
    padding-right: 5px;
}

.boton_sel {
    background-color: #009879;
    color: #FFFFFF;
    padding: 5px 3px 5px 3px;
    border: 1px outset #000000;
    border-radius: 4px;
    vertical-align: middle;
    text-align: center;
    font-style: italic;
    white-space: normal;
    height: auto; /* Sombra inicial que da volumen */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.50); /* Transición suave para que el regreso no sea brusco */
    transition: all 0.1s ease;
    width: clamp(5.625rem, -1.6667rem + 23.3333vw, 10rem); /*500-800   (90px-160px)*/
    xfont-size: clamp(0.625rem, 0.2083rem + 1.3333vw, 0.875rem);
    text-transform: inherit;
    margin-bottom: 5px;
}

    .boton_sel:hover {
        background-color: #00FFFF;
        color: #000000;
        text-decoration: none;
        cursor: pointer;
    }
    /* EFECTO HUNDIDO (Al hacer clic) */
    .boton_sel:active {
        /* Desplaza el botón 3 píxeles hacia abajo */
        transform: translateY(3px);
        /* Reduce la sombra para simular que se acercó al fondo */
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    }

a {
    color: #0033CC;
    font-size: .8em;
    margin-right: 5px;
    margin-left: 5px;
}

    a:hover {
        color: #FF3300;
    }

    a:active {
        background-color: #FF33CC;
    }

.modalBackground /*  ESTILOS PARA UpdateProgress*/ {
    /*background-color: Gray;
    filter: alpha(opacity=50);
    opacity: 0.50;*/
    background-color: rgba(128, 128, 128, 0.5);
}



.updateProgress {
    border: 2px solid #FF3300;
    background-color: #FFFFFF;
    position: absolute;
    width: 15em;
    height: 15em;
    border-radius: 8px;
}

.menu:hover {
    background-color: #00FF00;
    color: #000000;
    text-decoration: none;
}

/* para inicio */
/* para 800px o menos   @media screen and (max-width:800px)      */
/* RESOLUCION : IPHONE 6     : 375  x 667   (max-width:400px)    */
/* RESOLUCION : IPAD (TODOS) : 1025 x 768   (max-width:800px)    */
/* RESOLUCION : NETBOOK      : 1024 x 600   (max-width:800px)    */

@media screen and (max-width:800px) {
    #max_800 {
    }

    html {
        margin: 0px;
        padding: 0px;
    }

    body {
        padding: 5px;
        background: linear-gradient(to right, #3399FF, #99CCff);
    }

    h2 {
        font-size: 25px;
    }

    h1 {
        font-size: 15px;
    }

    table {
        width: 100%;
        height: auto;
    }

    .boton_sel {
        height: 35px;
    }
}

@media screen and (max-width: 500px) {
    #max_500 {
    }

    body {
        padding: 3px;
        background: linear-gradient(to right, #11998e, #38ef7d);
    }

    td {
        padding-left: 1px;
    }

    th {
        padding-left: 1px;
    }
}
