/* ============================================================
   PORTAL GRUPO DEPORTIVA · Sistema de diseño
   Tipografía única: Montserrat
   ============================================================ */

/* ---------------------------------------------- Montserrat */
@font-face{font-family:'Montserrat';src:url('../font/Montserrat-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../font/Montserrat-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../font/Montserrat-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../font/Montserrat-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../font/Montserrat-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../font/Montserrat-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../font/Montserrat-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../font/Montserrat-Black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}

/* ---------------------------------------------- Variables */
:root{
  --navy:#0E1B33;
  --navy-2:#16264A;
  --azul:#14417F;
  --azul-claro:#2E6BD4;
  --azul-suave:#EAF0FA;
  --bronce:#C08A3E;
  --negro:#111823;
  --gris:#6B7789;
  --gris-linea:#E3E8F1;
  --gris-fondo:#F5F7FB;
  --blanco:#FFFFFF;
  --ok:#1E8E5A;
  --alerta:#C9821B;
  --error:#C0392B;

  --r-lg:18px;
  --r-md:12px;
  --r-sm:9px;
  --sombra:0 10px 30px rgba(8,18,38,.16);
  --sombra-sm:0 3px 12px rgba(8,18,38,.10);
  --barra-h:64px;
  --pie-h:62px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Montserrat',-apple-system,'Segoe UI',Arial,sans-serif;
  font-weight:400;
  color:var(--negro);
  background:var(--navy);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* ------------------------------- FONDO FIJO (no se mueve) */
.gd-fondo{
  position:fixed;
  inset:0;
  z-index:-2;
  background-color:#0A1327;
  background-image:url('../img/FONDO-HD-1920X1080.webp');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.gd-fondo::after{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(6,12,26,.55) 0%,rgba(9,20,44,.30) 45%,rgba(6,12,26,.60) 100%);
}
/* Tamaños según pantalla */
@media (min-width:1921px){ .gd-fondo{background-image:url('../img/FONDO-2K.webp')} }
@media (max-width:1024px) and (orientation:landscape){ .gd-fondo{background-image:url('../img/FONDO-4-3-1200x900.webp')} }
@media (max-width:1024px) and (orientation:portrait){ .gd-fondo{background-image:url('../img/FONDO-1-1-1200x1200.webp')} }
@media (max-width:640px){ .gd-fondo{background-image:url('../img/FONDO-4-5-1080x1350.webp')} }

/* ------------------------------------ Barra superior */
.gd-barra{
  position:sticky;top:0;z-index:60;
  height:var(--barra-h);
  display:flex;align-items:center;gap:18px;
  padding:0 20px;
  background:rgba(11,21,42,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.gd-barra__marca{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.gd-barra__marca img{height:24px;width:auto;max-width:210px;object-fit:contain;display:block}
@media (max-width:900px){ .gd-barra__marca img{max-width:130px} }
@media (max-width:560px){ .gd-barra__marca img{max-width:96px} .gd-barra{gap:10px;padding:0 12px} }
.gd-barra__sub{color:#7FA8EC;font-size:8.5px;font-weight:700;letter-spacing:.22em;margin-top:3px}
.gd-barra__crece{flex:1}

.gd-barra__menu{display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:none}
.gd-barra__menu::-webkit-scrollbar{display:none}
.gd-barra__menu a{
  color:#C8D6EE;text-decoration:none;font-size:12.5px;font-weight:600;
  padding:8px 13px;border-radius:8px;white-space:nowrap;transition:.16s;
}
.gd-barra__menu a:hover{background:rgba(255,255,255,.10);color:#fff}
.gd-barra__menu a.activo{background:var(--azul-claro);color:#fff}

/* ------------------------------------ Buscador predictivo */
.gd-buscador{position:relative;flex-shrink:0;width:290px}
.gd-buscador input{
  width:100%;height:38px;border-radius:19px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
  color:#fff;font-family:inherit;font-size:13px;
  padding:0 38px 0 16px;outline:none;transition:.18s;
}
.gd-buscador input::placeholder{color:#93A6C4}
.gd-buscador input:focus{background:#fff;color:var(--negro);border-color:var(--azul-claro);box-shadow:0 0 0 3px rgba(46,107,212,.28)}
.gd-buscador input:focus::placeholder{color:#9AA6B8}
.gd-buscador__ico{
  position:absolute;right:13px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;stroke:#93A6C4;fill:none;stroke-width:2;pointer-events:none;
}
.gd-buscador input:focus ~ .gd-buscador__ico{stroke:var(--azul)}
.gd-buscador__lista{
  position:absolute;top:46px;right:0;width:380px;max-width:88vw;
  background:#fff;border-radius:var(--r-md);box-shadow:var(--sombra);
  overflow:hidden;display:none;max-height:60vh;overflow-y:auto;z-index:80;
}
.gd-buscador__lista.abierta{display:block}
.gd-buscador__item{
  display:flex;align-items:center;gap:11px;padding:10px 14px;
  text-decoration:none;color:var(--negro);border-bottom:1px solid var(--gris-linea);
}
.gd-buscador__item:last-child{border-bottom:none}
.gd-buscador__item:hover,.gd-buscador__item.sel{background:var(--azul-suave)}
.gd-buscador__ava{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  background:var(--azul);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;overflow:hidden;
}
.gd-buscador__ava img{width:100%;height:100%;object-fit:cover}
.gd-buscador__nom{display:block;font-size:13px;font-weight:600;line-height:1.35}
.gd-buscador__meta{
  display:block;font-size:11px;color:var(--gris);margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.gd-buscador__vacio{padding:16px;text-align:center;color:var(--gris);font-size:12.5px}
.gd-buscador__marca{font-size:10px;font-weight:700;color:var(--azul);letter-spacing:.04em;text-transform:uppercase}

/* ------------------------------------ Contenedor */
.gd-lienzo{
  min-height:calc(100vh - var(--barra-h));
  padding:26px 20px calc(var(--pie-h) + 26px);
}
.gd-ancho{max-width:1280px;margin:0 auto}
.gd-ancho--angosto{max-width:760px;margin:0 auto}

/* ------------------------------------ Encabezado de página */
.gd-titulo{margin:0 0 20px}
.gd-titulo h1{
  margin:0;color:#fff;font-size:25px;font-weight:800;letter-spacing:-.01em;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
}
.gd-titulo p{margin:6px 0 0;color:#B9CAE6;font-size:13px;font-weight:500}

/* ------------------------------------ TARJETAS BLANCAS */
.gd-tarjeta{
  background:var(--blanco);
  border-radius:var(--r-lg);
  box-shadow:var(--sombra);
  padding:24px;
  margin-bottom:20px;
  color:var(--negro);
}
.gd-tarjeta--plana{box-shadow:var(--sombra-sm)}
.gd-tarjeta__cab{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding-bottom:14px;margin-bottom:18px;border-bottom:2px solid var(--gris-linea);flex-wrap:wrap;
}
.gd-tarjeta__cab h2{margin:0;font-size:16px;font-weight:800;color:var(--azul);letter-spacing:-.01em}
.gd-tarjeta__cab p{margin:4px 0 0;font-size:12px;color:var(--gris);font-weight:500}

/* ------------------------------------ Rejillas */
.gd-rejilla{display:grid;gap:18px}
.gd-rejilla--2{grid-template-columns:repeat(2,1fr)}
.gd-rejilla--3{grid-template-columns:repeat(3,1fr)}
.gd-rejilla--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.gd-rejilla--3,.gd-rejilla--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.gd-rejilla--2,.gd-rejilla--3,.gd-rejilla--4{grid-template-columns:1fr}}

/* ------------------------------------ Métricas */
.gd-metrica{
  background:#fff;border-radius:var(--r-lg);box-shadow:var(--sombra);
  padding:20px;position:relative;overflow:hidden;
}
.gd-metrica::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--azul-claro)}
.gd-metrica.b::before{background:var(--bronce)}
.gd-metrica.v::before{background:var(--ok)}
.gd-metrica.r::before{background:var(--error)}
.gd-metrica__val{font-size:31px;font-weight:800;color:var(--navy);line-height:1}
.gd-metrica__eti{font-size:11.5px;font-weight:700;color:var(--gris);text-transform:uppercase;letter-spacing:.09em;margin-top:8px}

/* ------------------------------------ Formularios */
.gd-campo{margin-bottom:16px}
.gd-campo label{
  display:block;font-size:11.5px;font-weight:700;color:var(--azul);
  text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px;
}
.gd-campo .req{color:var(--error)}
.gd-campo input[type=text],.gd-campo input[type=email],.gd-campo input[type=password],
.gd-campo input[type=number],.gd-campo input[type=date],.gd-campo input[type=tel],
.gd-campo input[type=time],.gd-campo select,.gd-campo textarea{
  width:100%;padding:11px 14px;font-family:inherit;font-size:14px;color:var(--negro);
  background:var(--gris-fondo);border:1.5px solid var(--gris-linea);border-radius:var(--r-sm);
  outline:none;transition:.16s;
}
.gd-campo textarea{min-height:96px;resize:vertical}
.gd-campo select{cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7789' stroke-width='2.4' stroke-linecap='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:38px}
.gd-campo input:focus,.gd-campo select:focus,.gd-campo textarea:focus{
  background:#fff;border-color:var(--azul-claro);box-shadow:0 0 0 3px rgba(46,107,212,.15);
}
.gd-campo input[type=color]{width:56px;height:40px;padding:3px;border:1.5px solid var(--gris-linea);border-radius:var(--r-sm);background:#fff;cursor:pointer}
.gd-ayuda{font-size:11.5px;color:var(--gris);margin-top:6px;font-weight:500}

/* Contraseña con ojito */
.gd-pass{position:relative}
.gd-pass input{padding-right:46px !important}
.gd-pass__ojo{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border:none;background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--gris);
}
.gd-pass__ojo:hover{background:var(--azul-suave);color:var(--azul)}
.gd-pass__ojo svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.9}

/* Checkbox */
.gd-check{display:flex;align-items:center;gap:9px;cursor:pointer;user-select:none}
.gd-check input{width:17px;height:17px;accent-color:var(--azul-claro);cursor:pointer;margin:0}
.gd-check span{font-size:13px;color:var(--negro);font-weight:500}

/* ------------------------------------ Botones */
.gd-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border:none;border-radius:var(--r-sm);
  font-family:inherit;font-size:13.5px;font-weight:700;letter-spacing:.02em;
  cursor:pointer;text-decoration:none;transition:.16s;line-height:1.2;
}
.gd-btn--primario{background:var(--azul);color:#fff}
.gd-btn--primario:hover{background:#0F3468;transform:translateY(-1px);box-shadow:0 6px 18px rgba(20,65,127,.35)}
.gd-btn--claro{background:var(--azul-suave);color:var(--azul)}
.gd-btn--claro:hover{background:#DCE7F8}
.gd-btn--borde{background:#fff;color:var(--azul);border:1.5px solid var(--gris-linea)}
.gd-btn--borde:hover{border-color:var(--azul-claro);background:var(--azul-suave)}
.gd-btn--peligro{background:#FDECEA;color:var(--error)}
.gd-btn--peligro:hover{background:#F9D9D5}
.gd-btn--bloque{width:100%}
.gd-btn--sm{padding:8px 14px;font-size:12px}
.gd-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}

/* ------------------------------------ Tablas */
.gd-tabla-env{overflow-x:auto;margin:0 -4px}
table.gd-tabla{width:100%;border-collapse:collapse;font-size:13.5px}
table.gd-tabla th{
  text-align:left;padding:11px 12px;font-size:10.5px;font-weight:800;
  color:var(--azul);text-transform:uppercase;letter-spacing:.09em;
  border-bottom:2px solid var(--gris-linea);white-space:nowrap;
}
table.gd-tabla td{padding:13px 12px;border-bottom:1px solid var(--gris-linea);color:var(--negro);vertical-align:middle}
table.gd-tabla tbody tr:hover{background:var(--gris-fondo)}
table.gd-tabla tbody tr:last-child td{border-bottom:none}
.gd-tabla__acc{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}

/* ------------------------------------ Etiquetas de estado */
.gd-eti{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 11px;border-radius:20px;font-size:11px;font-weight:700;
  letter-spacing:.03em;white-space:nowrap;
}
.gd-eti--ok{background:#E4F4EC;color:var(--ok)}
.gd-eti--off{background:#EEF0F4;color:var(--gris)}
.gd-eti--azul{background:var(--azul-suave);color:var(--azul)}
.gd-eti--bronce{background:#F8EFE1;color:var(--bronce)}
.gd-eti--rojo{background:#FDECEA;color:var(--error)}
.gd-eti--alerta{background:#FDF3E2;color:var(--alerta)}

/* ------------------------------------ Avisos */
.gd-aviso{
  display:block;
  padding:13px 16px;border-radius:var(--r-sm);
  font-size:13px;font-weight:600;margin-bottom:16px;line-height:1.55;
}
.gd-aviso code{background:rgba(0,0,0,.07);padding:1px 6px;border-radius:5px;font-size:12px}
.gd-aviso--ok{background:#E4F4EC;color:#12603B;border-left:4px solid var(--ok)}
.gd-aviso--error{background:#FDECEA;color:#8E2A1F;border-left:4px solid var(--error)}
.gd-aviso--info{background:var(--azul-suave);color:var(--azul);border-left:4px solid var(--azul-claro)}
.gd-aviso--alerta{background:#FDF3E2;color:#8A5A11;border-left:4px solid var(--alerta)}

/* ------------------------------------ Vacío */
.gd-vacio{text-align:center;padding:48px 20px;color:var(--gris)}
.gd-vacio svg{width:52px;height:52px;stroke:var(--gris-linea);fill:none;stroke-width:1.5;margin-bottom:14px}
.gd-vacio h3{margin:0 0 6px;font-size:15px;color:var(--negro);font-weight:700}
.gd-vacio p{margin:0 0 18px;font-size:13px}

/* ------------------------------------ Interruptor */
.gd-switch{position:relative;display:inline-block;width:46px;height:25px;flex-shrink:0}
.gd-switch input{opacity:0;width:0;height:0}
.gd-switch__pista{
  position:absolute;inset:0;background:#CBD3E0;border-radius:25px;
  cursor:pointer;transition:.22s;
}
.gd-switch__pista::before{
  content:'';position:absolute;height:19px;width:19px;left:3px;bottom:3px;
  background:#fff;border-radius:50%;transition:.22s;box-shadow:0 1px 4px rgba(0,0,0,.28);
}
.gd-switch input:checked + .gd-switch__pista{background:var(--ok)}
.gd-switch input:checked + .gd-switch__pista::before{transform:translateX(21px)}

/* ------------------------------------ Campana de avisos */
.gd-avisos{position:relative;flex-shrink:0}
.gd-avisos__btn{
  width:38px;height:38px;border-radius:50%;position:relative;cursor:pointer;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);
  display:flex;align-items:center;justify-content:center;transition:.16s;
}
.gd-avisos__btn:hover{background:rgba(255,255,255,.18)}
.gd-avisos__btn svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.9}
.gd-avisos__punto{
  position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;
  border-radius:9px;background:#C0392B;color:#fff;font-size:10.5px;font-weight:800;
  display:flex;align-items:center;justify-content:center;border:2px solid #101F3C;
}
.gd-avisos__menu{
  position:absolute;top:46px;right:0;width:340px;max-width:88vw;background:#fff;
  border-radius:var(--r-md);box-shadow:var(--sombra);overflow:hidden;display:none;
  z-index:80;max-height:70vh;overflow-y:auto;
}
.gd-avisos__menu.abierto{display:block}
.gd-avisos__cab{
  padding:12px 16px;font-size:11px;font-weight:800;color:var(--azul);
  text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--gris-linea);
}
.gd-avisos__item{
  display:block;padding:13px 16px;text-decoration:none;border-bottom:1px solid var(--gris-linea);
}
.gd-avisos__item:last-child{border-bottom:none}
.gd-avisos__item:hover{background:var(--azul-suave)}
.gd-avisos__tit{display:block;font-size:13px;font-weight:700;color:var(--negro);line-height:1.35}
.gd-avisos__det{display:block;font-size:12px;color:var(--gris);margin-top:3px;line-height:1.4}
.gd-avisos__fec{display:block;font-size:10.5px;color:#9AA6B8;margin-top:5px}

/* ------------------------------------ Expediente */
.gd-progreso{height:8px;border-radius:5px;background:var(--gris-linea);overflow:hidden}
.gd-progreso i{display:block;height:100%;border-radius:5px;background:var(--ok);transition:width .4s}
.gd-progreso.medio i{background:var(--alerta)}
.gd-progreso.bajo  i{background:var(--error)}

.gd-req{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;
  border:1.5px solid var(--gris-linea);margin-bottom:9px;background:#fff;
}
.gd-req--ok{border-color:#9FDCC0;background:#F4FBF7}
.gd-req--pend{border-color:#F0D9A8;background:#FEF9F0}
.gd-req--falta{border-color:#F3BDB5;background:#FDF4F3}
.gd-req__ico{
  width:32px;height:32px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;font-size:14px;font-weight:800;color:#fff;background:var(--gris);
}
.gd-req--ok    .gd-req__ico{background:var(--ok)}
.gd-req--pend  .gd-req__ico{background:var(--alerta)}
.gd-req--falta .gd-req__ico{background:var(--error)}
.gd-req__txt{flex:1;min-width:0}
.gd-req__tit{font-size:13.5px;font-weight:700;color:var(--negro);line-height:1.3}
.gd-req--falta .gd-req__tit{color:var(--error)}
.gd-req__sub{font-size:11.5px;color:var(--gris);margin-top:3px}
.gd-req__acc{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}

.gd-etapas{display:flex;gap:0;flex-wrap:wrap;margin-bottom:4px}
.gd-etapa{display:flex;align-items:center;gap:7px;padding:6px 0;flex:1;min-width:130px;position:relative}
.gd-etapa__pin{
  width:22px;height:22px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;font-size:11px;font-weight:800;background:var(--gris-linea);color:var(--gris);
}
.gd-etapa.hecha .gd-etapa__pin{background:var(--ok);color:#fff}
.gd-etapa.actual .gd-etapa__pin{background:var(--azul);color:#fff;
  box-shadow:0 0 0 4px rgba(20,65,127,.16)}
.gd-etapa__txt{font-size:11.5px;font-weight:600;color:var(--gris);line-height:1.25}
.gd-etapa.hecha .gd-etapa__txt,.gd-etapa.actual .gd-etapa__txt{color:var(--negro);font-weight:700}

.gd-linea-tiempo{position:relative;padding-left:22px}
.gd-linea-tiempo::before{
  content:'';position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--gris-linea);
}
.gd-hito{position:relative;padding:0 0 16px}
.gd-hito::before{
  content:'';position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;
  background:var(--azul-claro);border:2px solid #fff;box-shadow:0 0 0 2px var(--azul-suave);
}
.gd-hito__tit{font-size:13px;font-weight:700;color:var(--negro);line-height:1.4}
.gd-hito__det{font-size:12px;color:var(--gris);margin-top:2px;line-height:1.45}
.gd-hito__fec{font-size:11px;color:#9AA6B8;margin-top:3px}

.gd-ficha{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.gd-ficha__foto{
  width:84px;height:84px;border-radius:50%;object-fit:cover;flex-shrink:0;
  border:3px solid #fff;box-shadow:0 4px 14px rgba(8,18,38,.18);
}
.gd-ficha__ini{
  width:84px;height:84px;border-radius:50%;background:var(--azul);color:#fff;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:27px;font-weight:800;
}

/* ------------------------------------ Usuario en la barra */
.gd-yo{display:flex;align-items:center;gap:9px;flex-shrink:0;position:relative}
.gd-yo__btn{
  display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:5px 12px 5px 5px;
  cursor:pointer;color:#fff;font-family:inherit;transition:.16s;
}
.gd-yo__btn:hover{background:rgba(255,255,255,.18)}
.gd-yo__ini{
  width:30px;height:30px;border-radius:50%;background:var(--azul-claro);
  display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;flex-shrink:0;
}
.gd-yo__txt{text-align:left;line-height:1.25}
.gd-yo__nom{font-size:12.5px;font-weight:700}
.gd-yo__rol{font-size:9.5px;color:#8FB0E4;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.gd-yo__menu{
  position:absolute;top:46px;right:0;min-width:210px;background:#fff;
  border-radius:var(--r-md);box-shadow:var(--sombra);overflow:hidden;display:none;z-index:80;
}
.gd-yo__menu.abierto{display:block}
.gd-yo__menu a{
  display:block;padding:12px 16px;color:var(--negro);text-decoration:none;
  font-size:13px;font-weight:600;border-bottom:1px solid var(--gris-linea);
}
.gd-yo__menu a:last-child{border-bottom:none}
.gd-yo__menu a:hover{background:var(--azul-suave);color:var(--azul)}
.gd-yo__menu a.salir{color:var(--error)}

/* ------------------------------------ PIE CON LOGOS (siempre visible) */
.gd-pie{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  height:var(--pie-h);
  display:flex;align-items:center;gap:18px;
  padding:0 22px;
  background:rgba(9,18,36,.90);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-top:1px solid rgba(255,255,255,.09);
}
.gd-pie__gd{display:flex;flex-direction:column;flex-shrink:0}
.gd-pie__gd strong{
  color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.16em;line-height:1;
}
.gd-pie__gd span{color:#5D8AD8;font-size:7.5px;font-weight:700;letter-spacing:.2em;margin-top:4px}
.gd-pie__sep{width:1px;height:26px;background:rgba(255,255,255,.16);flex-shrink:0}
.gd-pie__marcas{
  display:flex;align-items:center;gap:30px;flex:1;
  overflow-x:auto;scrollbar-width:none;
}
.gd-pie__marcas::-webkit-scrollbar{display:none}
/* Todas las marcas se normalizan dentro de una misma caja para que ninguna
   se vea más grande que otra, sin importar la proporción de su archivo. */
.gd-pie__marcas img{
  height:24px;width:auto;max-width:118px;object-fit:contain;
  opacity:.75;flex-shrink:0;transition:.2s;filter:brightness(0) invert(1);
}
.gd-pie__marcas img:hover{opacity:1}
.gd-pie__marcas .txt{
  color:#fff;opacity:.75;font-size:12.5px;font-weight:800;letter-spacing:.13em;flex-shrink:0;
}
@media (max-width:760px){
  .gd-pie{gap:12px;padding:0 14px}
  .gd-pie__gd span{display:none}
  .gd-pie__marcas{gap:18px}
  .gd-pie__marcas img{height:17px;max-width:68px}
  .gd-pie__marcas .txt{font-size:10px}
}

/* ============================================================
   PANTALLA DE ACCESO (login / recuperar)
   ============================================================ */
.gd-acceso{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:32px 18px calc(var(--pie-h) + 32px);
}
.gd-acceso__caja{width:100%;max-width:430px}
.gd-acceso__logo{text-align:center;margin-bottom:26px}
.gd-acceso__logo img{
  width:min(320px,76%);height:auto;display:block;margin:0 auto;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,.5));
}
.gd-acceso__logo p{
  margin:12px 0 0;color:#9CBBEA;font-size:9.5px;font-weight:700;letter-spacing:.28em;
}
.gd-acceso__tarjeta{
  background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(3,10,24,.45);
  padding:34px 32px;
}
.gd-acceso__tarjeta h1{
  margin:0 0 4px;font-size:21px;font-weight:800;color:var(--navy);letter-spacing:-.02em;
}
.gd-acceso__tarjeta .sub{margin:0 0 24px;font-size:13px;color:var(--gris);font-weight:500}
.gd-acceso__fila{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 22px;flex-wrap:wrap}
.gd-acceso__fila .gd-check span{font-size:12.5px}
.gd-acceso__enlace{color:var(--azul-claro);font-size:12.5px;font-weight:700;text-decoration:none}
.gd-acceso__enlace:hover{text-decoration:underline}
.gd-acceso__pie{
  text-align:center;margin-top:22px;color:#93A6C4;font-size:11px;font-weight:500;line-height:1.6;
}

/* ------------------------------------ Utilidades */
.mb0{margin-bottom:0}.mt0{margin-top:0}
.mt8{margin-top:8px}.mt16{margin-top:16px}.mt24{margin-top:24px}
.mb8{margin-bottom:8px}.mb16{margin-bottom:16px}.mb24{margin-bottom:24px}
.txt-c{text-align:center}.txt-d{text-align:right}
.flex{display:flex}.flex-c{align-items:center}.flex-e{justify-content:space-between}
.gap8{gap:8px}.gap12{gap:12px}.gap16{gap:16px}
.crece{flex:1}
.envolver{flex-wrap:wrap}
.azul{color:var(--azul)}.gris{color:var(--gris)}.negro{color:var(--negro)}
.peque{font-size:12px}
.fuerte{font-weight:700}
.oculto{display:none !important}
.nowrap{white-space:nowrap}
hr.gd-linea{border:none;border-top:1px solid var(--gris-linea);margin:22px 0}

/* Impresión */
@media print{
  .gd-fondo,.gd-barra,.gd-pie{display:none !important}
  .gd-lienzo{padding:0}
  .gd-tarjeta{box-shadow:none;border:1px solid #ddd}
  body{background:#fff}
}
