/* STRONGLMB360 V13.7 — Unified Premium Design System
   Capa visual conservadora y reversible. No altera cálculos ni lógica.
*/
:root{
  --strong-bg:#f5f7fb;
  --strong-surface:#ffffff;
  --strong-surface-2:#f8fafc;
  --strong-border:#dbe3ee;
  --strong-border-soft:#e8edf5;
  --strong-text:#172033;
  --strong-muted:#64748b;
  --strong-muted-2:#8090a6;
  --strong-primary:#0f3d5e;
  --strong-primary-2:#134f78;
  --strong-accent:#b8862b;
  --strong-accent-soft:#f5ead4;
  --strong-success:#15803d;
  --strong-warning:#b45309;
  --strong-danger:#b91c1c;
  --strong-info:#2563eb;
  --strong-radius-sm:10px;
  --strong-radius:16px;
  --strong-radius-lg:22px;
  --strong-shadow-sm:0 1px 2px rgba(15,23,42,.06),0 1px 8px rgba(15,23,42,.04);
  --strong-shadow:0 12px 30px rgba(15,23,42,.08);
  --strong-shadow-lg:0 18px 46px rgba(15,23,42,.12);
  --strong-font:Inter, Manrope, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --strong-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

html,body{background:var(--strong-bg);color:var(--strong-text);font-family:var(--strong-font);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
body.strong-v137-design-system{--card-bg:var(--strong-surface);--card-border:var(--strong-border-soft);}

body.strong-v137-design-system .app{background:linear-gradient(180deg,#f7f9fc 0%,#eef3f8 100%);}
body.strong-v137-design-system .main{background:transparent;}
body.strong-v137-design-system #content-area{padding:24px;}

/* Sidebar y navegación: misma personalidad visual en todo el software */
body.strong-v137-design-system .sidebar{background:linear-gradient(180deg,#0d2538 0%,#112f45 55%,#0d2538 100%);border-right:1px solid rgba(255,255,255,.08);box-shadow:8px 0 26px rgba(15,23,42,.12);}
body.strong-v137-design-system .brand{padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.08);}
body.strong-v137-design-system .brand-mark{background:linear-gradient(135deg,#d8b463,#a97924);color:#112033;box-shadow:0 8px 22px rgba(184,134,43,.24);}
body.strong-v137-design-system .brand h1{letter-spacing:.01em;}
body.strong-v137-design-system .nav-section-title{color:rgba(255,255,255,.48);font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:18px 14px 8px;}
body.strong-v137-design-system .nav a,
body.strong-v137-design-system .nav button,
body.strong-v137-design-system .nav-item{border-radius:14px;margin:3px 10px;color:rgba(255,255,255,.78);transition:background .16s ease,color .16s ease,transform .16s ease;}
body.strong-v137-design-system .nav a:hover,
body.strong-v137-design-system .nav button:hover,
body.strong-v137-design-system .nav-item:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px);}
body.strong-v137-design-system .nav a.active,
body.strong-v137-design-system .nav button.active,
body.strong-v137-design-system .nav-item.active{background:rgba(184,134,43,.18);color:#fff;box-shadow:inset 3px 0 0 var(--strong-accent);}

/* Topbar */
body.strong-v137-design-system .topbar{background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--strong-border-soft);box-shadow:0 6px 18px rgba(15,23,42,.04);}
body.strong-v137-design-system .breadcrumb{color:var(--strong-muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase;}
body.strong-v137-design-system #page-title,
body.strong-v137-design-system .topbar h2{font-weight:750;color:var(--strong-text);letter-spacing:-.025em;}
body.strong-v137-design-system .pill{border:1px solid var(--strong-border);background:var(--strong-surface);color:var(--strong-primary);border-radius:999px;box-shadow:var(--strong-shadow-sm);}

/* Tarjetas y paneles */
body.strong-v137-design-system .card,
body.strong-v137-design-system .panel,
body.strong-v137-design-system .module-card,
body.strong-v137-design-system .kpi-card,
body.strong-v137-design-system .metric-card,
body.strong-v137-design-system .strong-card,
body.strong-v137-design-system .dashboard-card,
body.strong-v137-design-system [class*="card"],
body.strong-v137-design-system [class*="panel"]{border-radius:var(--strong-radius-lg);border:1px solid var(--strong-border-soft);background:var(--strong-surface);box-shadow:var(--strong-shadow-sm);}
body.strong-v137-design-system .card:hover,
body.strong-v137-design-system .module-card:hover,
body.strong-v137-design-system .kpi-card:hover,
body.strong-v137-design-system .metric-card:hover{box-shadow:var(--strong-shadow);}
body.strong-v137-design-system .card-header,
body.strong-v137-design-system .panel-header,
body.strong-v137-design-system .section-header{border-bottom:1px solid var(--strong-border-soft);padding-bottom:12px;margin-bottom:14px;}
body.strong-v137-design-system h1,
body.strong-v137-design-system h2,
body.strong-v137-design-system h3{color:var(--strong-text);letter-spacing:-.025em;}
body.strong-v137-design-system .eyebrow,
body.strong-v137-design-system .section-kicker{color:var(--strong-accent);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;}

/* Botones uniformes */
body.strong-v137-design-system button,
body.strong-v137-design-system .btn,
body.strong-v137-design-system .button{border-radius:13px;border:1px solid var(--strong-border);font-weight:700;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease;}
body.strong-v137-design-system button:hover,
body.strong-v137-design-system .btn:hover{transform:translateY(-1px);box-shadow:var(--strong-shadow-sm);}
body.strong-v137-design-system button:active,
body.strong-v137-design-system .btn:active{transform:translateY(0);}
body.strong-v137-design-system .btn-primary,
body.strong-v137-design-system button.primary,
body.strong-v137-design-system .login-button{background:linear-gradient(135deg,var(--strong-primary),var(--strong-primary-2));color:#fff;border-color:rgba(15,61,94,.22);}
body.strong-v137-design-system .btn-accent{background:linear-gradient(135deg,#d7b56a,var(--strong-accent));color:#172033;border-color:rgba(184,134,43,.25);}

/* Inputs y formularios */
body.strong-v137-design-system input,
body.strong-v137-design-system select,
body.strong-v137-design-system textarea{border-radius:13px;border:1px solid var(--strong-border);background:#fff;color:var(--strong-text);box-shadow:inset 0 1px 1px rgba(15,23,42,.03);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease;}
body.strong-v137-design-system input:focus,
body.strong-v137-design-system select:focus,
body.strong-v137-design-system textarea:focus{outline:none;border-color:rgba(15,61,94,.58);box-shadow:0 0 0 4px rgba(15,61,94,.10);}
body.strong-v137-design-system label{color:var(--strong-muted);font-weight:700;font-size:12px;}

/* Tablas financieras premium */
body.strong-v137-design-system table{border-collapse:separate;border-spacing:0;width:100%;background:#fff;border:1px solid var(--strong-border-soft);border-radius:18px;overflow:hidden;box-shadow:var(--strong-shadow-sm);}
body.strong-v137-design-system thead th{background:#f2f6fb;color:#334155;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;border-bottom:1px solid var(--strong-border);}
body.strong-v137-design-system th,
body.strong-v137-design-system td{padding:12px 14px;border-bottom:1px solid #eef2f7;vertical-align:middle;}
body.strong-v137-design-system tbody tr:nth-child(even){background:#fbfdff;}
body.strong-v137-design-system tbody tr:hover{background:#f6f9fd;}
body.strong-v137-design-system td.number,
body.strong-v137-design-system .number,
body.strong-v137-design-system .amount,
body.strong-v137-design-system [data-number]{font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;}

/* Estados suaves */
body.strong-v137-design-system .success,
body.strong-v137-design-system .status-success{color:var(--strong-success);background:#ecfdf3;border-color:#bbf7d0;}
body.strong-v137-design-system .warning,
body.strong-v137-design-system .status-warning{color:var(--strong-warning);background:#fff7ed;border-color:#fed7aa;}
body.strong-v137-design-system .danger,
body.strong-v137-design-system .status-danger{color:var(--strong-danger);background:#fef2f2;border-color:#fecaca;}
body.strong-v137-design-system .info,
body.strong-v137-design-system .status-info{color:var(--strong-info);background:#eff6ff;border-color:#bfdbfe;}

/* Modales, alertas y ayuda */
body.strong-v137-design-system .modal{border-radius:24px;border:1px solid var(--strong-border-soft);box-shadow:var(--strong-shadow-lg);}
body.strong-v137-design-system .modal-head{border-bottom:1px solid var(--strong-border-soft);}
body.strong-v137-design-system .toast,
body.strong-v137-design-system .alert{border-radius:16px;border:1px solid var(--strong-border-soft);box-shadow:var(--strong-shadow);}
body.strong-v137-design-system .strong-help-launcher{border-radius:999px;box-shadow:var(--strong-shadow);}
body.strong-v137-design-system .strong-help-panel{border-radius:24px 0 0 24px;border:1px solid var(--strong-border-soft);box-shadow:var(--strong-shadow-lg);}

/* Uniformidad de densidad visual */
body.strong-v137-design-system .grid,
body.strong-v137-design-system .dashboard-grid,
body.strong-v137-design-system .kpi-grid{gap:18px;}
body.strong-v137-design-system p{color:var(--strong-muted);line-height:1.55;}
body.strong-v137-design-system small{color:var(--strong-muted-2);}

/* Mantener intro con identidad visual restaurada, sin invadir interior */
body.strong-v137-design-system #login-screen{background:#0d2538;color:#fff;}
body.strong-v137-design-system #login-screen .intro-login-card{border-radius:26px;background:rgba(255,255,255,.94);box-shadow:var(--strong-shadow-lg);}
body.strong-v137-design-system #login-screen h2,
body.strong-v137-design-system #login-screen label{color:var(--strong-text);}

@media (max-width: 900px){
  body.strong-v137-design-system #content-area{padding:16px;}
  body.strong-v137-design-system .topbar{padding:14px 16px;}
  body.strong-v137-design-system table{font-size:13px;}
  body.strong-v137-design-system th,
  body.strong-v137-design-system td{padding:10px 11px;}
}
