/* STRONG LMB 360 v18.2.99 — Module-by-Module Final Certification */
:root{
  --strong-v18299-readable-min:13.5px;
  --strong-v18299-table-min:14px;
  --strong-v18299-number-min:14px;
}
/* Final visual lock: prevents floating garbage and keeps financial values readable without removing UI. */
[data-legacy="true"], .legacy-shadow, .debug-panel, .debug-toolbar, .dev-banner, .test-banner, .floating-debug, .ghost-layer, .orphan-overlay, .empty-overlay{
  display:none!important; visibility:hidden!important; pointer-events:none!important; opacity:0!important;
}
body:not(.login-active) .login-only, body:not(.login-active) [data-login-only="true"]{display:none!important;}
body.login-active .app-only, body.login-active [data-app-only="true"]{display:none!important;}
/* Typography certification */
.app-shell, .module-shell, .screen, .view, .panel, .card, .strong-card, .module-card{
  font-size:max(var(--strong-v18299-readable-min), 0.92rem);
  line-height:1.42;
}
small, .small, .muted, .hint, .caption, .help-text, .form-hint, .kpi-label, .stat-label{
  font-size:max(12.5px, .78rem)!important;
  line-height:1.35!important;
}
/* Financial numbers lock */
.amount, .money, .currency, .financial-value, .ratio-value, .kpi-value, .metric-value, .numeric, [data-type="number"], [data-format="currency"], [data-format="percent"]{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1, "lnum" 1;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
  min-width:0;
}
td.amount, td.money, td.currency, td.numeric, td.financial-value, td.ratio-value, td[data-type="number"], td[data-format="currency"], td[data-format="percent"]{
  text-align:right;
  font-size:max(var(--strong-v18299-number-min), .86rem)!important;
}
th,td{vertical-align:middle;}
table{table-layout:auto; width:100%;}
.table-responsive, .data-table-wrap, .financial-table-wrap{overflow-x:auto; max-width:100%;}
/* Module title stability: avoid garbage above headings */
.module-title, .screen-title, h1, h2, h3{
  clear:both;
  overflow-wrap:break-word;
}
/* Certification badge is hidden unless explicitly requested by JS for diagnostics */
#strong-v18299-certification-badge{
  position:fixed; right:14px; bottom:14px; z-index:2147482000;
  max-width:min(360px, calc(100vw - 28px));
  padding:10px 12px; border-radius:12px;
  background:rgba(8,24,30,.92); color:#f7e6b0;
  border:1px solid rgba(212,175,55,.45); box-shadow:0 10px 28px rgba(0,0,0,.28);
  font-size:12.5px; line-height:1.35; display:none;
}
body.show-strong-certification #strong-v18299-certification-badge{display:block;}
@media (max-width: 900px){
  .app-shell, .module-shell, .screen, .view, .panel, .card, .strong-card, .module-card{font-size:14px;}
  .kpi-value, .metric-value{font-size:clamp(18px, 5vw, 28px)!important;}
}
@media print{
  .debug-panel,.dev-banner,#strong-v18299-certification-badge{display:none!important;}
  body{font-size:12pt;}
}
