/* SIGDA V92 · CURRENT ROUTE VISUAL OWNER
   Migrated from retired visual generations; no legacy stylesheet is loaded. */
/* ── Puerta publica y acceso institucional ──────────────────────── */
.auth-view{display:none;}
body:has(.sigda-gateway-v5a),
body:has(.auth-card){background:var(--sg-bg);color:var(--sg-text);font-family:var(--sg-font);}

.sigda-gateway-header-v5a{
  display:flex;
  justify-content:center;
  width:100%;
  padding:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:var(--sg-navy-900);
}
.sigda-gateway-header-v5a .brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  width:100%;
  max-width:1180px;
  padding:18px 28px;
  color:inherit;
  text-decoration:none;
}
/* V107 · isotipo oficial, el mismo que ya usaba el shell de administracion
   (.sgx-brand-mark). La "S" en un cuadro translucido era un marcador. */
.sigda-gateway-header-v5a .mark{
  display:block;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:0;
  background:transparent url('/assets/sigda-mark-v91.png') center / contain no-repeat;
  color:transparent;
  font-size:0;
  overflow:hidden;
}
.sigda-gateway-header-v5a .mark span{color:inherit;font:inherit;}
.sigda-gateway-brand-copy-v5a{display:grid;gap:2px;min-width:0;}
.sigda-gateway-brand-copy-v5a strong{
  color:var(--sg-text-invert);
  font:800 17px/1.15 var(--sg-font);
  letter-spacing:-.02em;
}
.sigda-gateway-brand-copy-v5a small{
  color:rgba(255,255,255,.76);
  font:500 var(--sg-fs-xs)/1.3 var(--sg-font);
}
.sigda-gateway-v5a{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,400px);
  grid-template-rows:auto 1fr;
  align-items:start;
  gap:28px;
  width:100%;
  max-width:1180px;
  min-height:calc(100vh - 80px);
  margin:0 auto;
  padding:44px 28px 56px;
}
/* El pie es de la pagina, no de la columna de portales: ocupaba solo la
   primera columna y quedaba flotando a media pantalla. */
.sigda-gateway-v5a .sgx-foot{
  grid-column:1/-1;
  align-self:end;
  margin:0;
  padding-top:32px;
  color:var(--sg-text-faint);
  font:400 var(--sg-fs-xs)/1.45 var(--sg-font);
  text-align:center;
}
.sigda-gateway-access-v5a{display:grid;gap:6px;min-width:0;}
.sigda-gateway-access-v5a>h1{
  margin:0;
  color:var(--sg-text);
  font:700 var(--sg-fs-4xl)/1.12 var(--sg-font);
  letter-spacing:-.03em;
}
.sigda-gateway-lead-v5a{margin:0 0 8px;color:var(--sg-text-muted);font:400 var(--sg-fs-md)/1.5 var(--sg-font);}
.sigda-gateway-portals-v5a{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:6px;
}
.sigda-gateway-portal-v5a{
  display:grid;
  align-content:start;
  gap:3px;
  min-height:96px;
  padding:16px 18px;
  border:1px solid var(--sg-border);
  border-radius:var(--sg-radius-lg);
  background:var(--sg-surface);
  box-shadow:var(--sg-shadow-sm);
  color:var(--sg-text);
  text-decoration:none;
}
.sigda-gateway-portal-v5a:hover{border-color:var(--sg-border-strong);background:var(--sg-surface-alt);}
.sigda-gateway-portal-v5a:focus-visible{outline:2px solid var(--sg-accent);outline-offset:2px;}
.sigda-gateway-portal-v5a strong{color:var(--sg-text);font:700 var(--sg-fs-lg)/1.2 var(--sg-font);letter-spacing:-.01em;}
.sigda-gateway-portal-copy-v5a,
.sigda-gateway-portal-v5a small{color:var(--sg-text-muted);font:400 var(--sg-fs-xs)/1.45 var(--sg-font);}
.sigda-gateway-portal-v5a b{margin-top:auto;padding-top:10px;color:var(--sg-accent);font:600 var(--sg-fs-sm) var(--sg-font);}
.sigda-gateway-validation-v5a{
  display:grid;
  gap:10px;
  padding:22px;
  border:1px solid var(--sg-border);
  border-radius:var(--sg-radius-lg);
  background:var(--sg-surface);
  box-shadow:var(--sg-shadow-sm);
}
.sigda-gateway-validation-v5a h2{margin:0;color:var(--sg-text);font:700 var(--sg-fs-xl) var(--sg-font);letter-spacing:-.02em;}
.sigda-gateway-validation-v5a>p{margin:0;color:var(--sg-text-muted);font:400 var(--sg-fs-sm)/1.5 var(--sg-font);}
.sigda-gateway-validation-v5a .sigda-home-form-v245{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;}
.sigda-gateway-validation-v5a .sigda-home-form-v245 input{
  flex:1 1 190px;
  min-width:0;
  min-height:42px;
  padding:0 13px;
  border:1px solid var(--sg-border-control);
  border-radius:var(--sg-radius);
  background:var(--sg-surface);
  color:var(--sg-text);
  font:500 var(--sg-fs-sm) var(--sg-font);
  font-variant-numeric:tabular-nums;
}
.sigda-gateway-validation-v5a .sigda-home-form-v245 input:focus-visible{outline:0;border-color:var(--sg-accent);box-shadow:var(--sg-focus-ring);}
.sigda-gateway-validation-v5a .sigda-home-submit-v245{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  min-height:42px;
  padding:0 16px;
  border:1px solid var(--sg-accent);
  border-radius:var(--sg-radius);
  background:var(--sg-accent);
  color:var(--sg-text-invert);
  font:700 var(--sg-fs-sm) var(--sg-font);
  cursor:pointer;
}
.sigda-gateway-validation-v5a .sigda-home-submit-v245:hover{background:var(--sg-accent-strong);border-color:var(--sg-accent-strong);}
.sigda-gateway-validation-note-v5a{color:var(--sg-text-faint);font:400 var(--sg-fs-xs)/1.45 var(--sg-font);}

/* V107 · el acceso institucional es hermano de la portada, no otro producto:
   misma cabecera navy a lo ancho, mismo lockup y mismo maximo de 1180. El
   riel de 420px dejaba ~1100px de navy vacio frente a una tarjeta de 400. */
.auth-view.show{display:grid;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:100vh;}
.auth-view.show .auth-top{
  display:flex;
  justify-content:center;
  gap:0;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:var(--sg-navy-900);
}
.auth-view.show .auth-top-inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px;width:100%;max-width:1180px;padding:18px 28px;min-height:0;}
.auth-view.show .auth-brand{display:flex;align-items:center;gap:12px;min-width:0;color:inherit;text-decoration:none;}
.auth-view.show .auth-brand-mark{
  display:block;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:0;
  background:transparent url('/assets/sigda-mark-v91.png') center / contain no-repeat;
  color:transparent;
  font-size:0;
  overflow:hidden;
}
.auth-view.show .auth-brand strong{display:block;color:var(--sg-text-invert);font:800 17px/1.15 var(--sg-font);letter-spacing:-.02em;}
.auth-view.show .auth-brand span{display:block;color:rgba(255,255,255,.76);font:500 var(--sg-fs-xs)/1.3 var(--sg-font);}
.auth-view.show .auth-back{color:rgba(255,255,255,.82);font:600 var(--sg-fs-xs) var(--sg-font);text-decoration:none;white-space:nowrap;}
.auth-view.show .auth-back:hover{color:var(--sg-text-invert);}
.auth-view.show .auth-back:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:3px;}
.auth-view.show .sigda-auth-context-v5a{display:none;}
.auth-view.show .auth-main{display:grid;place-items:center;padding:56px 28px 64px;background:var(--sg-bg);}
.auth-view.show .auth-card{
  display:grid;
  gap:16px;
  width:min(400px,100%);
  padding:28px;
  border:1px solid var(--sg-border);
  border-radius:var(--sg-radius-lg);
  background:var(--sg-surface);
  box-shadow:var(--sg-shadow-sm);
}
.auth-view.show .auth-card>div:not(.auth-session){display:grid;gap:16px;}
.auth-view.show .auth-session{display:none;}
.auth-view.show .auth-session.show{display:grid;gap:14px;}
.auth-view.show .auth-card-head{display:grid;gap:5px;}
.auth-view.show .auth-card-head h1,
.auth-view.show .auth-card-head h2{margin:0;color:var(--sg-text);font:700 var(--sg-fs-2xl)/1.2 var(--sg-font);letter-spacing:-.025em;}
.auth-view.show .auth-card-head p{margin:0;color:var(--sg-text-muted);font:400 var(--sg-fs-sm)/1.45 var(--sg-font);}
.auth-view.show .auth-field{display:grid;gap:5px;min-width:0;}
.auth-view.show .auth-field label{color:var(--sg-text-muted);font:600 var(--sg-fs-xs) var(--sg-font);}
.auth-view.show .auth-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  padding:0 16px;
  border:1px solid var(--sg-accent);
  border-radius:var(--sg-radius);
  background:var(--sg-accent);
  color:var(--sg-text-invert);
  font:700 var(--sg-fs-md) var(--sg-font);
  cursor:pointer;
}
.auth-view.show .auth-submit:hover{background:var(--sg-accent-strong);border-color:var(--sg-accent-strong);}
.auth-view.show .auth-note{color:var(--sg-text-faint);font:400 var(--sg-fs-xs)/1.45 var(--sg-font);}


@media(max-width:1024px){
  .sigda-gateway-v5a{grid-template-columns:minmax(0,1fr);grid-template-rows:none;min-height:0;gap:22px;}
  .sigda-gateway-v5a .sgx-foot{align-self:auto;padding-top:24px;}
}
@media(max-width:900px){
  .auth-view.show{min-height:auto;}
  .auth-view.show .auth-top-inner{padding:14px 18px;}
  .auth-view.show .auth-main{padding:32px 18px 40px;}
}
@media(max-width:640px){
  .sigda-gateway-header-v5a .brand{padding:14px 18px;}
  .sigda-gateway-v5a{padding:28px 18px 40px;}
  .sigda-gateway-access-v5a>h1{font-size:var(--sg-fs-3xl);}
  .sigda-gateway-portals-v5a{grid-template-columns:minmax(0,1fr);}
  .sigda-gateway-validation-v5a{padding:18px;}
  .sigda-gateway-validation-v5a .sigda-home-form-v245{flex-direction:column;}
  /* En columna, flex-basis:190px se aplicaba al ALTO: el campo de folio
     medía 190px en vez de 42 y no pertenecía a la familia de inputs. */
  .sigda-gateway-validation-v5a .sigda-home-form-v245 input{flex:0 0 auto;}
  .sigda-gateway-validation-v5a .sigda-home-submit-v245{width:100%;}
  .auth-view.show .auth-card{padding:22px 18px;border-radius:var(--sg-radius-lg);}
}

/* RC2 · /acceso pintaba la portada Y el login, uno encima de otro: 1,464 px
   donde el usuario tenia que pasar de largo "Elige tu espacio" y un bloque
   vacio para encontrar el formulario. El login es una superficie completa;
   cuando esta activo, la portada no compite con el. */
body:has(#authView.show) .sigda-gateway-header-v5a,
body:has(#authView.show) .sigda-gateway-v5a { display: none; }

/* touch-target accessibility / mobile usability: "← Inicio" medía 21 px. */
.portal-home { display: inline-flex; align-items: center; min-height: 44px; }
