/* AmeliaGym R10.1.9 UI fatal fix
   Autoridad final de sesión: nunca renderizar shell autenticado durante login. */

/* R9.5 declaró .shell{display:block!important}; esa regla no puede vencer el estado hidden. */
#shell.hidden,
html[data-ag-session="guest"] #shell,
body.ag-session-guest #shell {
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

#auth.hidden,
html[data-ag-session="authenticated"] #auth,
body.ag-session-authenticated #auth {
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* El login es una superficie independiente; no hereda offsets ni estado del shell. */
html[data-ag-session="guest"],
html[data-ag-session="guest"] body,
body.ag-session-guest {
  overflow-x:hidden!important;
}
body.ag-session-guest .auth {
  width:100%!important;
  min-width:0!important;
  min-height:100dvh!important;
  margin:0!important;
}
body.ag-session-guest .auth-brand,
body.ag-session-guest .auth-panel {
  min-width:0!important;
}

/* Evita cualquier flash del menú si otra capa visual intenta forzar display. */
body:not(.ag-session-authenticated) #shell .sidebar,
body:not(.ag-session-authenticated) #shell main {
  display:none!important;
}

/* Login de producción: limpio, sin textos técnicos de implementación. */
.login-foot { color:#718196!important; }
.login-foot i { background:#18a979!important; }
.auth-metrics b { letter-spacing:-.01em; }
.auth-metrics span { line-height:1.35; }

/* El formulario nunca debe salir del viewport aun con zoom o resoluciones intermedias. */
.auth-panel { min-width:0!important; }
.login-card { max-width:450px!important; }
.login-card input { min-width:0!important; }

@media (max-width:980px){
  body.ag-session-guest .auth{grid-template-columns:1fr!important;}
  body.ag-session-guest .auth-brand{display:none!important;}
  body.ag-session-guest .auth-panel{min-height:100dvh!important;padding:20px!important;}
}
