/* STRONG LMB 360 — V18.2.89 FINAL 10/10 CONSOLIDATION
   Capa final no destructiva: estabilidad visual, login robusto, menú limpio,
   pantallas sin residuos, accesibilidad básica y soporte responsive. */
:root{
  --strong-v18289-surface: rgba(255,255,255,.96);
  --strong-v18289-border: rgba(13,59,46,.12);
  --strong-v18289-focus: rgba(240,190,64,.58);
}
html{scroll-behavior:smooth;}
body{min-width:320px;}
body.login-active .app{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
body.strong-authenticated .app,
body.auth-active .app{visibility:visible!important;opacity:1!important;pointer-events:auto!important;}
body.strong-authenticated #login-screen,
body.auth-active #login-screen{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}

/* Login: campos visibles al escribir, sin distorsionar la imagen aprobada. */
body.login-active #login-user,
body.login-active #login-pass{
  caret-color:#f0be40!important;
  text-shadow:0 1px 2px rgba(0,0,0,.55)!important;
}
body.login-active .strong-input-wrap:focus-within,
body.login-active .strong-enter-btn:focus-visible,
body.login-active .strong-request-btn:focus-visible{
  outline:2px solid var(--strong-v18289-focus)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px rgba(240,190,64,.12)!important;
}
body.login-active .strong-enter-btn:active,
body.login-active .strong-request-btn:active{transform:translateY(1px)!important;}

/* Menú: evita contaminación visual arriba de los títulos y estabiliza botones. */
#nav-main{overflow-x:hidden!important;}
#nav-main>.nav-section-title:not(:first-child){display:none!important;}
#nav-main .nav-item,
#nav-main .nav-category-toggle{min-height:38px!important;align-items:center!important;}
#nav-main .nav-text{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#nav-search-results.hidden{display:none!important;}

/* Pantallas: contenedor limpio, sin bloques fantasma ni residuos flotantes. */
#content-area{position:relative;min-height:calc(100vh - 120px);}
#content-area:empty::before{
  content:'Seleccione un módulo del menú para iniciar el análisis.';
  display:block;margin:22px;padding:22px;border-radius:18px;
  background:var(--strong-v18289-surface);border:1px solid var(--strong-v18289-border);
  color:var(--coop-graphite,#59645f);font-weight:700;
}
#content-area [style*="undefined"],
#content-area .undefined,
#content-area .null,
#content-area .NaN{display:none!important;}
.card, .panel, .metric-card, .kpi-card{overflow-wrap:anywhere;}
table{max-width:100%;}
pre{max-width:100%;overflow:auto;}

/* Header de usuario y paneles flotantes: menor invasión visual. */
#user-header-bar{max-width:min(360px,92vw);}
.user-menu-dropdown{z-index:2500!important;}
.strong-help-panel{z-index:2400!important;}
.strong-help-launcher{z-index:2300!important;}

/* Responsive ejecutivo. */
@media(max-width:980px){
  .app{grid-template-columns:88px minmax(0,1fr)!important;}
  .sidebar{width:88px!important;}
  .brand-text,.sidebar-footer,.nav-search-wrap,.nav-category-toggle .nav-text,.nav-item .nav-text{display:none!important;}
  #nav-main .nav-item,#nav-main .nav-category-toggle{justify-content:center!important;padding:10px!important;}
  .main{min-width:0!important;}
  .topbar{gap:10px!important;align-items:flex-start!important;}
}
@media(max-width:720px){
  body:not(.login-active) .app{display:block!important;}
  body:not(.login-active) .sidebar{position:sticky!important;top:0!important;z-index:1200!important;width:100%!important;min-height:auto!important;max-height:44vh!important;overflow:auto!important;}
  body:not(.login-active) .main{width:100%!important;}
  .topbar{position:sticky!important;top:0!important;z-index:1100!important;}
  #user-header-bar{top:auto!important;bottom:12px!important;right:12px!important;}
}

/* Impresión y reportes. */
@media print{
  .sidebar,.topbar-actions,#user-header-bar,.strong-help-launcher,.strong-help-panel,.strong-help-backdrop,.toast-stack{display:none!important;}
  .app{display:block!important;}
  .main{padding:0!important;}
  #content-area{min-height:auto!important;}
}
