/* STRONG LMB 360 V18.2.95 — Deep Cleanup, Visual Garbage Removal & Stability Lock
   Objetivo: neutralizar residuos visuales y consolidar autoridad final sin eliminar funcionalidades. */
:root{
  --strong-v18295-authority: 1;
  --strong-ui-safe-z-modal: 2147483000;
  --strong-ui-safe-z-toast: 2147483100;
}
html{ data-strong-build: v18.2.95; }
html,body{ min-height:100%; }
body{
  overflow-x:hidden !important;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}
/* Limpieza de residuos de desarrollo visibles */
body:not(.strong-debug) .debug,
body:not(.strong-debug) .dev-debug,
body:not(.strong-debug) .debug-panel,
body:not(.strong-debug) .diagnostic-floating,
body:not(.strong-debug) .runtime-debug,
body:not(.strong-debug) [data-debug],
body:not(.strong-debug) [data-dev-only],
body:not(.strong-debug) [data-legacy-floating],
body:not(.strong-debug) [data-strong-garbage="true"]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
/* Evita textos/capas huérfanas arriba de títulos y menús */
.strong-orphan-fragment,
.strong-legacy-ghost,
.strong-empty-floating-node,
.strong-v18295-removed-garbage{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
/* Control de overlays heredados: solo permitir los que estén marcados como activos */
body:not(.strong-debug) .legacy-overlay:not(.is-active):not(.active):not([aria-modal="true"]),
body:not(.strong-debug) .screen-guard:not(.is-active):not(.active),
body:not(.strong-debug) .empty-shell-guard:empty,
body:not(.strong-debug) .modal-backdrop:empty{
  display:none !important;
  opacity:0 !important;
  pointer-events:none !important;
}
/* Titulares y contenedores: no permitir basura montada por encima */
main, #app, .app-shell, .strong-app-shell, [data-strong-app], .module-screen, .screen, .view{
  position:relative;
  isolation:isolate;
}
.module-title, .screen-title, h1, h2{
  position:relative;
  z-index:2;
}
/* Menú: estabilidad visual sin invadir pantallas */
#mainMenu, .main-menu, .sidebar, .app-sidebar, .strong-sidebar, [data-strong-menu]{
  contain:layout paint;
  backface-visibility:hidden;
}
#mainMenu *, .main-menu *, .sidebar *, .app-sidebar *, .strong-sidebar *, [data-strong-menu] *{
  box-sizing:border-box;
}
/* Tablas, tarjetas y módulos: prevención de desbordes que generan espacios basura */
.card, .panel, .module-card, .strong-card, table, .table, .grid, .dashboard-grid{
  max-width:100%;
}
table{ border-collapse:collapse; }
img,svg,canvas{ max-width:100%; }
/* Login oficial V18.2.95: refuerza imagen y formulario real */
body.strong-login-active,
body[data-login="true"]{
  background:#07131f;
}
.strong-login, .strong-login-screen, .login-screen, .login-card{
  box-sizing:border-box;
}
/* Notificaciones institucionales finales */
.strong-v18295-toast-stack{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:var(--strong-ui-safe-z-toast);
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:min(420px, calc(100vw - 36px));
  pointer-events:none;
}
.strong-v18295-toast{
  pointer-events:auto;
  border:1px solid rgba(212,175,55,.35);
  border-radius:14px;
  background:rgba(7,19,31,.96);
  color:#f7f2df;
  box-shadow:0 18px 45px rgba(0,0,0,.35);
  padding:12px 14px;
  font-family:Inter, system-ui, -apple-system, Segoe UI, sans-serif;
  transform:translateY(0);
  opacity:1;
  transition:opacity .24s ease, transform .24s ease;
}
.strong-v18295-toast strong{ display:block; color:#d4af37; margin-bottom:4px; font-size:13px; letter-spacing:.02em; }
.strong-v18295-toast span{ display:block; font-size:13px; line-height:1.35; }
.strong-v18295-toast.is-leaving{ opacity:0; transform:translateY(8px); }
/* Impresión limpia */
@media print{
  .strong-v18295-toast-stack,
  .debug,.dev-debug,.debug-panel,.diagnostic-floating,[data-debug],[data-dev-only]{display:none!important;}
  body{background:#fff!important;color:#111!important;}
}
@media (max-width:900px){
  .strong-v18295-toast-stack{right:12px;bottom:12px;max-width:calc(100vw - 24px);}
}
