/* ============================================================================
   STRONG LMB 360 V18.2.34 — VISUAL DESIGN SYSTEM CERTIFICATION
   Alcance: unificación visual no destructiva. No altera cálculos, datos,
   navegación, permisos, motores internos ni renderizado funcional.
   ============================================================================ */
:root{
  --strong-v18234-surface: rgba(255,255,255,.88);
  --strong-v18234-surface-soft: rgba(248,250,252,.82);
  --strong-v18234-border: rgba(15,60,74,.12);
  --strong-v18234-border-strong: rgba(15,60,74,.18);
  --strong-v18234-shadow: 0 12px 32px rgba(15,23,42,.065);
  --strong-v18234-shadow-soft: 0 8px 22px rgba(15,23,42,.045);
  --strong-v18234-radius: 20px;
  --strong-v18234-radius-sm: 12px;
  --strong-v18234-ink: var(--coop-ink,#18211e);
  --strong-v18234-muted: var(--coop-graphite,#4a5651);
  --strong-v18234-gold: var(--coop-gold,#c9a227);
  --strong-v18234-primary: var(--coop-deep,#0d3b2e);
  --strong-v18234-transition: 180ms ease;
}
body:not(.login-active){
  text-rendering: optimizeLegibility;
}
body:not(.login-active) .main{
  background:
    radial-gradient(circle at 18% 0%, rgba(201,162,39,.075), transparent 34%),
    linear-gradient(180deg, rgba(251,248,241,.96), rgba(246,241,231,.84));
}
body:not(.login-active) .topbar{
  border-bottom:1px solid rgba(15,60,74,.10);
  background:rgba(251,248,241,.92);
  backdrop-filter: blur(16px);
  box-shadow:0 8px 28px rgba(15,23,42,.035);
}
body:not(.login-active) #breadcrumb,
body:not(.login-active) .breadcrumb{
  letter-spacing:.04em;
  font-weight:700;
  color:rgba(74,86,81,.82);
}
body:not(.login-active) #page-title{
  letter-spacing:-.025em;
}
body:not(.login-active) #content-area{
  padding-bottom:32px;
}
/* Componentes universales */
body:not(.login-active) :where(.card,.strong-v1812-card,.admin-card,.panel,.module-card,.metric-card,.kpi-card,.testlab-card,.academy-card,.governance-card){
  border:1px solid var(--strong-v18234-border) !important;
  border-radius:var(--strong-v18234-radius) !important;
  background:linear-gradient(180deg,var(--strong-v18234-surface),var(--strong-v18234-surface-soft)) !important;
  box-shadow:var(--strong-v18234-shadow-soft) !important;
}
body:not(.login-active) :where(.card,.strong-v1812-card,.admin-card,.panel,.module-card,.metric-card,.kpi-card,.testlab-card,.academy-card,.governance-card):hover{
  border-color:var(--strong-v18234-border-strong) !important;
  box-shadow:var(--strong-v18234-shadow) !important;
}
body:not(.login-active) :where(.card-title,.section-head,.module-head,.strong-v1812-card h3:first-child){
  gap:10px;
  align-items:flex-start;
}
body:not(.login-active) :where(.card-title h3,.card-title h4,.section-head h3,.module-head h3,.strong-v1812-card h3){
  letter-spacing:-.018em;
  line-height:1.18;
}
body:not(.login-active) :where(p,.small,.muted,.strong-v1812-source,.strong-v1812-warning){
  line-height:1.58;
}
body:not(.login-active) :where(.grid,.strong-v1812-grid,.cards-grid,.kpi-grid){
  gap:16px;
}
/* Botones */
body:not(.login-active) :where(.btn,button.sf-btn,.login-button){
  border-radius:999px;
  transition:transform var(--strong-v18234-transition), box-shadow var(--strong-v18234-transition), border-color var(--strong-v18234-transition), background var(--strong-v18234-transition);
}
body:not(.login-active) :where(.btn:hover,button.sf-btn:hover){
  transform:translateY(-1px);
}
body:not(.login-active) .btn-primary,
body:not(.login-active) .smart-flow-v18230 .sf-btn.primary{
  box-shadow:0 10px 24px rgba(13,59,46,.14);
}
body:not(.login-active) .btn-ghost{
  background:rgba(255,255,255,.62);
  border:1px solid rgba(15,60,74,.14);
}
/* Formularios y tablas */
body:not(.login-active) :where(input,select,textarea){
  border-radius:12px !important;
  border-color:rgba(15,60,74,.16) !important;
}
body:not(.login-active) :where(input:focus,select:focus,textarea:focus){
  outline:2px solid rgba(201,162,39,.22) !important;
  border-color:rgba(201,162,39,.55) !important;
}
body:not(.login-active) :where(table){
  border-collapse:separate;
  border-spacing:0;
}
body:not(.login-active) :where(th){
  letter-spacing:.02em;
  font-weight:800;
}
body:not(.login-active) :where(td,th){
  border-color:rgba(15,60,74,.10) !important;
}
/* Badges y estados */
body:not(.login-active) :where(.badge,.pill,.strong-v1812-pill,#institution-pill){
  border-radius:999px;
  font-weight:800;
  letter-spacing:.01em;
}
body:not(.login-active) .badge-ok,
body:not(.login-active) .badge-success{
  background:rgba(45,122,79,.12) !important;
  color:var(--coop-success,#2d7a4f) !important;
}
body:not(.login-active) .badge-warn,
body:not(.login-active) .badge-warning{
  background:rgba(200,133,31,.13) !important;
  color:var(--coop-warning,#c8851f) !important;
}
body:not(.login-active) .badge-danger{
  background:rgba(164,50,42,.12) !important;
  color:var(--coop-danger,#a4322a) !important;
}
/* Navegador Inteligente: hacerlo más discreto */
body:not(.login-active) .smart-flow-v18230{
  margin:0 0 12px 0 !important;
  border-radius:16px !important;
  padding:10px 12px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(248,250,252,.64)) !important;
  box-shadow:0 8px 22px rgba(15,23,42,.045) !important;
}
body:not(.login-active) .smart-flow-v18230 .sf-title{
  font-size:12px !important;
  letter-spacing:.02em;
  opacity:.88;
}
body:not(.login-active) .smart-flow-v18230 .sf-crumb{
  font-size:11.5px !important;
}
body:not(.login-active) .smart-flow-v18230 .sf-actions{
  margin-top:8px !important;
}
body:not(.login-active) .smart-flow-v18230 .sf-reco{
  max-width:520px;
}
/* Parámetros: más legible, sin alterar lógica */
body:not(.login-active) [data-module="parameters"] .card,
body:not(.login-active) .parameters-screen .card{
  box-shadow:0 8px 20px rgba(15,23,42,.04) !important;
}
body:not(.login-active) .parameters-tabs,
body:not(.login-active) .tabs{
  gap:8px;
}
body:not(.login-active) :where(.tab,.tab-btn,.tabs button){
  border-radius:999px !important;
}
/* Modo oscuro: coherencia */
body.dark:not(.login-active),
.dark body:not(.login-active){
  --strong-v18234-surface: rgba(15,23,42,.82);
  --strong-v18234-surface-soft: rgba(15,23,42,.68);
  --strong-v18234-border: rgba(148,163,184,.18);
  --strong-v18234-border-strong: rgba(201,162,39,.26);
  --strong-v18234-ink: #e5e7eb;
  --strong-v18234-muted: #a7b2c2;
}
body.dark:not(.login-active) .main,
.dark body:not(.login-active) .main{
  background:radial-gradient(circle at 20% 0%, rgba(201,162,39,.10), transparent 34%), linear-gradient(180deg,#0f172a,#111827);
}
body.dark:not(.login-active) .topbar,
.dark body:not(.login-active) .topbar{
  background:rgba(15,23,42,.86);
  border-bottom-color:rgba(148,163,184,.16);
}
body.dark:not(.login-active) :where(.btn-ghost,input,select,textarea),
.dark body:not(.login-active) :where(.btn-ghost,input,select,textarea){
  background:rgba(15,23,42,.55) !important;
  color:#e5e7eb !important;
}
/* Reducción de ruido visual en pantallas densas */
body:not(.login-active) .card + .card,
body:not(.login-active) .strong-v1812-card + .strong-v1812-card{
  margin-top:14px;
}
@media(max-width:760px){
  body:not(.login-active) #content-area{padding-left:12px;padding-right:12px;}
  body:not(.login-active) :where(.card,.strong-v1812-card){border-radius:16px !important;}
  body:not(.login-active) .smart-flow-v18230 .sf-reco{max-width:100%;}
}
