/* =====================================================
RESET BÁSICO
===================================================== */
.asteriscorojo {color:#F00; font-size:1.2em;}
*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Montserrat', sans-serif;
background:#e7e7e9;
color:#222;
line-height:1.5;
}

/* =====================================================
TEXTOS GENERALES
===================================================== */
.intro{
width:80%;
padding:20px;
font-size:0.9em;
color:#333;
margin:auto;
}

.letritas{
font-size:0.75em;
color:#666;
}

/* =====================================================
HEADER
===================================================== */
.header{
position:sticky;
top:0;
z-index:100;
background:#ffffff;
border-bottom:1px solid #e3e3e3;
}

.header-container{
max-width:1200px;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
padding:15px 20px;
}

.logo{
font-weight:700;
font-size:18px;
color:#003366;
}

.logo span{
font-weight:400;
font-size:13px;
color:#666;
}

/* =====================================================
MENÚ
===================================================== */
.nav a{
margin-left:20px;
text-decoration:none;
color:#003366;
font-weight:500;
font-size:14px;
}

.nav a:hover{
color:#b00020;
}

/* =====================================================
ADMIN CONTENEDOR
===================================================== */
.admin-contenedor{
max-width:1200px;
margin:20px auto;
padding:0 10px;
}
.admin-contenedor96{
max-width:96%;
margin:10px auto;
padding:0 10px;
}
.admin-contenedor98{
max-width:98%;
margin:10px auto;
padding:0 10px;
}

/* GRID ADMIN (SOLUCIÓN CLAVE) */
.admin-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
gap:20px;
}

/* TARJETAS */
.admin-card{
background:#ffffff;
border-radius:12px;
padding:20px;
box-shadow:0 4px 10px rgba(0,0,0,0.1);
text-align:center;
transition:0.3s;
border-top:4px solid #003366;
}

.admin-card:hover{
transform:translateY(-4px);
box-shadow:0 8px 18px rgba(0,0,0,0.15);
}

.admin-card h3{
padding:10px;
border-radius:8px 8px 0 0;
color:#000000;
}
/* COLORES POR SECCIÓN (opcional pero mejora visual) */
.admin1{
  background: linear-gradient(to bottom, #270753 0%, #270753 20%, #6e5a8a 100%);
}

.admin2{
  background: linear-gradient(to bottom, #270753 0%, #270753 20%, #4f5d8a 100%);
}

.admin3{
  background: linear-gradient(to bottom, #270753 0%, #270753 20%, #5f7f63 100%);
}

.admin4{
  background: linear-gradient(to bottom, #270753 0%, #270753 20%, #8a7a4f 100%);
}

.admin5{
  background: linear-gradient(to bottom, #270753 0%, #270753 20%, #4f8a88 100%);
}

.admin6{
  background: linear-gradient(to bottom, #270753 0%, #270753 20%, #7a5a7f 100%);
}

.admin7{
  background: linear-gradient(to bottom, #270753 0%, #270753 20%, #4f7f76 100%);
}

.admin8{
  background: linear-gradient(to bottom, #270753 0%, #270753 20%, #5e5863 100%);
}

.admin9{
  background: linear-gradient(to bottom, #270753 0%, #270753 20%, #4f5863 100%);
}

/* =====================================================
TABLA CONSULTA
===================================================== */

/* CONTENEDOR SCROLL */
.tabla-contenedor{
width:98%;
margin:auto;
max-height:80vh;
overflow:auto;
border-radius:8px;
box-shadow:0 2px 8px rgba(0,0,0,0.1);
background:#fff;
}

/* TABLA */
.tabla{
width:100%;
border-collapse:collapse;
}

/* ENCABEZADO FIJO */
.tabla thead th{
position:sticky;
top:0;
z-index:10;
background:#000;
color:#fff;
}

/* CELDAS */
.tabla th,
.tabla td{
padding:6px 8px;
font-size:13px;
}

/* FILAS */
.tabla tbody tr:nth-child(even){
background:#f4f6f9;
}

.tabla tbody tr:nth-child(odd){
background:#ffffff;
}

.tabla tbody tr:hover{
background:#dfeaf5;
}

/* UTILIDADES */
.centrado{
text-align:center;
}

.fecha{
font-size:0.8em;
text-align:center;
}

/* COLUMNA FIJA */
.tabla th:nth-child(1),
.tabla td:nth-child(1){
position:sticky;
left:0;
z-index:20;
background:#fff;
}

.fondologotabla{
background-color:#606;
padding:2px;
}

/* =====================================================
BOTONES
===================================================== */
.botondelgado {padding-left:11px; padding-right:11px; padding-bottom:2px; padding-top:2px; background-color:#352059; color:#FFF; font-size:0.8em;
border-radius:6px; margin-left:8px; }
.botondelgado:hover { background-color:#60C; transition:0.5s;}
.boton{
display:inline-block;
padding:6px 12px;
background:#003366;
color:#fff;
border:none;
border-radius:6px;
cursor:pointer;
text-decoration:none;
font-size:13px;
margin:5px;
}

.boton:hover{
background:#043e29;
}

.boton-rojo{
display:inline-block;
background:#b00020;
color:#fff;
padding:5px 10px;
border-radius:6px;
cursor:pointer;
text-decoration:none;
}

.boton-rojo:hover{
background:#7a0016;
}

/* =====================================================
FOOTER
===================================================== */
.footer{
background:#320b5a;
color:#fff;
text-align:center;
padding:15px;
margin-top:30px;
}

/* =====================================================
RESPONSIVE
===================================================== */
@media(max-width:768px){
.nav{
display:none;
}

.admin-grid{
grid-template-columns:1fr;
}

.tabla{
min-width:900px;
}

}
/* BOTONES EN PANEL ADMIN (VERTICALES Y ANCHO COMPLETO) */
.admin-card .boton{
display:block;
width:100%;
margin:8px 0;
padding:10px;
text-align:center;
border-radius:8px;
font-weight:500;
}
/* BOTÓN MENÚ SOLO MÓVIL */
.menu-toggle{
display:none;
background:none;
border:none;
font-size:22px;
cursor:pointer;
}
.card-link{
display:block;
text-decoration:none;
color:#003366;
padding:30px;
text-align:center;
}
.cards-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
gap:25px;
max-width:1200px;
margin:auto;
padding:20px;
}
@media(max-width:768px){

.nav{
display:none;
}

/* MOSTRAR BOTÓN EN MÓVIL */
.menu-toggle{
display:block;
}

/* MENÚ DESPLEGABLE */
.nav.show{
display:flex;
flex-direction:column;
background:#fff;
position:absolute;
top:60px;
right:10px;
padding:10px;
border-radius:8px;
box-shadow:0 4px 10px rgba(0,0,0,0.1);
}

.nav.show a{
margin:10px 0;
}

.admin-grid{
grid-template-columns:1fr;
}

.tabla{
min-width:900px;
}

}
