/* STRONG LMB 360 V18.3.05 — World Class Visual Authority + Clean Runtime
   Objetivo: una sola lógica visual para intro, letras, números, justificaciones,
   tablas, tarjetas y formularios. Esta capa final neutraliza basura visual heredada
   sin eliminar funcionalidades. */

:root{
  --strong-font-main: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --strong-font-finance: "SF Mono", "Roboto Mono", "Cascadia Mono", "Segoe UI Mono", ui-monospace, Menlo, Consolas, monospace;
  --strong-text: #182024;
  --strong-muted: #607078;
  --strong-title: #0d1b21;
  --strong-line: rgba(20,35,42,.12);
  --strong-card: rgba(255,255,255,.96);
  --strong-radius: 16px;
  --strong-gap: 18px;
  --strong-table-row: 44px;
}

html,body{font-family:var(--strong-font-main)!important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums lining-nums;}
body:not(.login-active){color:var(--strong-text)!important;}

/* === PANTALLA DE INICIO: UNA SOLA AUTORIDAD, CERO DOBLE IMAGEN === */
body.login-active{overflow:hidden!important;background:#020807!important;}
body.login-active .app,
body.login-active #app,
body.login-active .sidebar,
body.login-active .executive-dock,
body.login-active .macos-dock,
body.login-active .dock,
body.login-active #user-header-bar,
body.login-active .strong-v1393-edge-zone,
body.login-active .v1393-more-panel{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}

body.login-active #login-screen,
body.login-active .intro-v10,
body.login-active .strong-login-v18281{
  position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;min-height:100vh!important;
  display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;
  background:#020807!important;color:#f7f3ea!important;isolation:isolate!important;font-family:var(--strong-font-main)!important;
}

/* Neutraliza fondos/pseudo-elementos heredados que crean superposición visual. */
body.login-active #login-screen::before,
body.login-active #login-screen::after,
body.login-active .intro-v10::before,
body.login-active .intro-v10::after,
body.login-active .strong-login-v18281::before,
body.login-active .strong-login-v18281::after,
body.login-active .strong-login-brand::before,
body.login-active .strong-login-brand::after,
body.login-active .strong-access-card::after,
body.login-active .strong-brand-emblem,
body.login-active .strong-brand-emblem img{content:none!important;display:none!important;background:none!important;background-image:none!important;box-shadow:none!important;filter:none!important;}

body.login-active .strong-login-art{
  position:absolute!important;inset:0!important;z-index:0!important;display:block!important;pointer-events:none!important;
  background-image:url('../img/strong-institutional-login-corrected-v18290.png')!important;
  background-repeat:no-repeat!important;background-position:center center!important;background-size:cover!important;
  opacity:.54!important;filter:brightness(.62) contrast(1.02) saturate(.96)!important;transform:none!important;
}
body.login-active .strong-login-vignette{
  display:block!important;position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;
  background:radial-gradient(circle at 24% 50%, rgba(3,13,12,.18), rgba(2,8,7,.78) 56%, rgba(2,8,7,.95) 100%)!important;
  opacity:1!important;filter:none!important;box-shadow:none!important;
}

body.login-active .strong-login-shell{
  position:relative!important;z-index:2!important;width:min(1180px,94vw)!important;height:auto!important;max-height:92vh!important;
  display:grid!important;grid-template-columns:minmax(320px,.9fr) minmax(440px,1fr)!important;gap:clamp(28px,5vw,72px)!important;
  align-items:center!important;justify-content:center!important;background:transparent!important;aspect-ratio:auto!important;padding:24px!important;box-sizing:border-box!important;
}
body.login-active .strong-login-brand{display:block!important;min-height:520px!important;background:transparent!important;pointer-events:none!important;}
body.login-active .strong-access-panel{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:auto!important;padding:0!important;background:transparent!important;}
body.login-active .strong-access-card{
  width:min(560px,100%)!important;min-height:0!important;margin:0!important;padding:36px 40px 30px!important;border-radius:24px!important;
  background:linear-gradient(180deg,rgba(3,14,13,.94),rgba(4,10,10,.89))!important;border:1px solid rgba(219,171,57,.42)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.54), inset 0 1px 0 rgba(255,255,255,.06)!important;backdrop-filter:blur(14px)!important;transform:none!important;
}
body.login-active .strong-access-card::before{content:""!important;display:block!important;position:absolute!important;left:12%!important;right:12%!important;top:-1px!important;height:1px!important;background:linear-gradient(90deg,transparent,rgba(242,190,69,.9),transparent)!important;}
body.login-active .strong-lock-badge{width:64px!important;height:64px!important;margin:0 auto 16px!important;font-size:23px!important;}
body.login-active .strong-access-heading{margin:0 0 24px!important;text-align:center!important;}
body.login-active .strong-access-heading h2{font-size:clamp(30px,2.7vw,40px)!important;line-height:1.08!important;margin:0 0 10px!important;color:#f7f3eb!important;font-weight:650!important;letter-spacing:-.015em!important;}
body.login-active .strong-access-heading p{font-size:15.5px!important;line-height:1.45!important;margin:0!important;color:rgba(247,243,235,.82)!important;}
body.login-active .strong-field{margin:0 0 18px!important;}
body.login-active .strong-field label{font-size:13px!important;line-height:1.2!important;text-transform:uppercase!important;letter-spacing:.055em!important;font-weight:750!important;color:rgba(247,243,235,.82)!important;margin-bottom:9px!important;}
body.login-active .strong-input-wrap{height:56px!important;border-radius:12px!important;border:1px solid rgba(151,190,113,.50)!important;background:rgba(1,8,8,.72)!important;padding:0 15px!important;box-sizing:border-box!important;}
body.login-active .strong-input-wrap input{font-size:16px!important;letter-spacing:.01em!important;color:#fffaf0!important;}
body.login-active .strong-enter-btn,
body.login-active .strong-request-btn{height:56px!important;border-radius:12px!important;font-size:16px!important;font-weight:800!important;letter-spacing:.01em!important;}
body.login-active .strong-access-footer{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin-top:24px!important;padding-top:20px!important;}
body.login-active .strong-access-footer div{min-width:0!important;}
body.login-active .strong-access-footer strong,
body.login-active .strong-access-footer small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
body.login-active .strong-login-bottom{z-index:2!important;font-size:12.5px!important;line-height:1.65!important;opacity:.82!important;}
@media(max-width:900px){
  body.login-active .strong-login-shell{display:flex!important;width:100vw!important;height:100vh!important;max-height:none!important;padding:20px!important;}
  body.login-active .strong-login-brand{display:none!important;}
  body.login-active .strong-access-card{width:min(580px,100%)!important;padding:30px 24px 24px!important;}
  body.login-active .strong-access-footer{grid-template-columns:1fr!important;}
  body.login-active .strong-login-bottom{display:none!important;}
}
@media(max-width:520px){body.login-active .strong-access-card{padding:26px 18px 20px!important;border-radius:18px!important}.strong-lock-badge{display:none!important}}

/* === ORDEN MUNDIAL DE LETRAS === */
body:not(.login-active) h1,
body:not(.login-active) .page-title,
body:not(.login-active) .module-title{font-size:clamp(24px,2.2vw,30px)!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.025em!important;color:var(--strong-title)!important;margin:0 0 14px!important;}
body:not(.login-active) h2,
body:not(.login-active) .section-title{font-size:clamp(20px,1.75vw,24px)!important;line-height:1.22!important;font-weight:760!important;letter-spacing:-.018em!important;color:var(--strong-title)!important;margin:0 0 12px!important;}
body:not(.login-active) h3,
body:not(.login-active) .card-title{font-size:16px!important;line-height:1.28!important;font-weight:760!important;color:#17252b!important;margin:0 0 8px!important;}
body:not(.login-active) p,
body:not(.login-active) .description,
body:not(.login-active) .muted,
body:not(.login-active) small{line-height:1.52!important;}
body:not(.login-active) .muted,
body:not(.login-active) .help-text,
body:not(.login-active) .text-muted{color:var(--strong-muted)!important;}

/* === ORDEN MUNDIAL DE NÚMEROS === */
body:not(.login-active) .amount,
body:not(.login-active) .money,
body:not(.login-active) .currency,
body:not(.login-active) .numeric,
body:not(.login-active) .number,
body:not(.login-active) .percent,
body:not(.login-active) .rate,
body:not(.login-active) .ratio,
body:not(.login-active) .kpi-value,
body:not(.login-active) .metric-value,
body:not(.login-active) [data-format="money"],
body:not(.login-active) [data-format="currency"],
body:not(.login-active) [data-format="percent"],
body:not(.login-active) [data-format="ratio"],
body:not(.login-active) [data-value],
body:not(.login-active) td[data-type="number"],
body:not(.login-active) td[data-type="money"],
body:not(.login-active) td[data-type="percent"]{
  font-family:var(--strong-font-finance)!important;font-variant-numeric:tabular-nums lining-nums!important;text-align:right!important;letter-spacing:-.015em!important;white-space:nowrap!important;
}
body:not(.login-active) .kpi-value,
body:not(.login-active) .metric-value{font-size:clamp(24px,2.6vw,34px)!important;line-height:1.05!important;font-weight:850!important;color:#0d1b21!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body:not(.login-active) .percent,
body:not(.login-active) .rate,
body:not(.login-active) .ratio{font-size:.96em!important;}

/* === TARJETAS Y KPIs: DATO → ESTADO → JUSTIFICACIÓN → ACCIÓN === */
body:not(.login-active) .card,
body:not(.login-active) .kpi-card,
body:not(.login-active) .metric-card,
body:not(.login-active) .panel,
body:not(.login-active) .module-card,
body:not(.login-active) .dashboard-card{
  border-radius:var(--strong-radius)!important;border:1px solid var(--strong-line)!important;background:var(--strong-card)!important;
  padding:clamp(16px,1.8vw,22px)!important;box-sizing:border-box!important;overflow:hidden!important;
}
body:not(.login-active) .kpi-card,
body:not(.login-active) .metric-card{display:grid!important;gap:9px!important;align-content:start!important;}
body:not(.login-active) .kpi-card .label,
body:not(.login-active) .metric-card .label,
body:not(.login-active) .kpi-label{font-size:12px!important;line-height:1.25!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.055em!important;color:#607078!important;}
body:not(.login-active) .status,
body:not(.login-active) .badge,
body:not(.login-active) .indicator-status{display:inline-flex!important;align-items:center!important;width:max-content!important;max-width:100%!important;font-size:12px!important;line-height:1.15!important;font-weight:800!important;border-radius:999px!important;padding:6px 10px!important;white-space:normal!important;}
body:not(.login-active) .justification,
body:not(.login-active) .technical-justification,
body:not(.login-active) .analysis-text,
body:not(.login-active) .recommendation,
body:not(.login-active) .action-recommendation{font-size:13.5px!important;line-height:1.48!important;color:#33444c!important;margin-top:4px!important;max-width:72ch!important;}
body:not(.login-active) .recommendation,
body:not(.login-active) .action-recommendation{font-weight:650!important;color:#213138!important;}

/* === TABLAS FINANCIERAS === */
body:not(.login-active) table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;font-size:13.5px!important;line-height:1.35!important;table-layout:auto!important;}
body:not(.login-active) thead th{height:40px!important;padding:10px 12px!important;text-align:left!important;font-size:11.5px!important;text-transform:uppercase!important;letter-spacing:.055em!important;font-weight:850!important;color:#52666e!important;border-bottom:1px solid var(--strong-line)!important;white-space:nowrap!important;}
body:not(.login-active) tbody td{min-height:var(--strong-table-row)!important;padding:11px 12px!important;border-bottom:1px solid rgba(20,35,42,.075)!important;vertical-align:middle!important;color:#1c2c33!important;}
body:not(.login-active) tfoot td,
body:not(.login-active) tr.total td,
body:not(.login-active) tr.subtotal td{font-weight:850!important;border-top:1px solid rgba(20,35,42,.16)!important;background:rgba(10,45,55,.035)!important;}
body:not(.login-active) td:nth-child(n+2):not(.text):not(.name):not(.description):not(.concept):not(.left),
body:not(.login-active) th:nth-child(n+2):not(.text):not(.name):not(.description):not(.concept):not(.left){text-align:right;}
body:not(.login-active) td:nth-child(n+2){font-variant-numeric:tabular-nums lining-nums;}
body:not(.login-active) .table-wrap,
body:not(.login-active) .table-responsive{overflow:auto!important;max-width:100%!important;border-radius:14px!important;}

/* === FORMULARIOS Y FILTROS === */
body:not(.login-active) label{font-size:12px!important;font-weight:780!important;color:#52666e!important;letter-spacing:.025em!important;line-height:1.25!important;margin-bottom:6px!important;}
body:not(.login-active) input,
body:not(.login-active) select,
body:not(.login-active) textarea{font-family:var(--strong-font-main)!important;font-size:14px!important;line-height:1.35!important;border-radius:10px!important;min-height:40px!important;box-sizing:border-box!important;}
body:not(.login-active) input[type="number"],
body:not(.login-active) input.input-money,
body:not(.login-active) input.input-percent{font-family:var(--strong-font-finance)!important;text-align:right!important;font-variant-numeric:tabular-nums lining-nums!important;}

/* === LIMPIEZA VISUAL DE BASURA EN PANTALLA === */
body:not(.login-active) .version-badge:not(.about-system *):not(.support-panel *):not(.settings-panel *),
body:not(.login-active) .build-badge:not(.about-system *):not(.support-panel *):not(.settings-panel *),
body:not(.login-active) .debug-badge,
body:not(.login-active) .dev-only,
body:not(.login-active) .test-badge,
body:not(.login-active) [data-debug="true"]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}

/* Protección contra textos/números montados. */
body:not(.login-active) *{min-width:0;}
body:not(.login-active) .main-content,
body:not(.login-active) .content,
body:not(.login-active) .module-content{overflow-x:hidden;}
body:not(.login-active) .grid,
body:not(.login-active) .cards-grid,
body:not(.login-active) .dashboard-grid{gap:var(--strong-gap)!important;}
