/* STRONGLMB360 V13.6.5 - Visual Cleanup Premium Conservadora
   Capa visual reversible. No cambia lógica, navegación, cálculos ni Cliente 360.
*/
:root{
  --v1365-bg:#f5f7fb;
  --v1365-surface:#ffffff;
  --v1365-surface-soft:#f8fafc;
  --v1365-border:rgba(15,23,42,.10);
  --v1365-text:#172033;
  --v1365-muted:#64748b;
  --v1365-accent:#b8862b;
  --v1365-accent-soft:rgba(184,134,43,.12);
  --v1365-focus:rgba(37,99,235,.18);
  --v1365-shadow:0 10px 28px rgba(15,23,42,.07);
  --v1365-shadow-soft:0 4px 14px rgba(15,23,42,.055);
  --v1365-radius:18px;
}

html, body{
  background:var(--v1365-bg);
  color:var(--v1365-text);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

body:not(.login-active):not(.auth-active){
  background:
    radial-gradient(circle at 10% 0%, rgba(59,130,246,.055), transparent 28rem),
    linear-gradient(180deg,#f7f9fc 0%,#eef3f8 100%);
}

/* Superficies: cards, paneles, módulos, formularios */
.card,.kpi-card,.metric-card,.dashboard-card,.module-card,.panel,.content-card,
.section-card,.report-card,.qa-card,.client-card,.cliente-card,
[class*="card"],[class*="panel"]{
  border-color:var(--v1365-border);
  box-shadow:var(--v1365-shadow-soft);
}

.main-content .card,.main-content .panel,.app-main .card,.app-main .panel,
#app .card,#app .panel,.module-container,.view-container{
  border-radius:var(--v1365-radius);
}

/* Evita apariencia pesada en largas jornadas */
.main-content,.app-main,.content-area,.module-container{
  line-height:1.55;
}

h1,h2,h3,h4,.module-title,.section-title,.page-title{
  letter-spacing:-.025em;
  color:#111827;
}

p,.muted,.text-muted,.description,.small-note,.helper-text{
  color:var(--v1365-muted);
}

/* Menú: limpieza visual sin cambiar rutas ni eventos */
.sidebar,.side-nav,.app-sidebar,.menu-sidebar,nav[aria-label="Sidebar"]{
  box-shadow:8px 0 24px rgba(15,23,42,.06);
}

.sidebar a,.sidebar button,.side-nav a,.side-nav button,.app-sidebar a,.app-sidebar button,
.menu-item,.nav-item{
  transition:background-color .16s ease, color .16s ease, transform .16s ease, border-color .16s ease;
}

.sidebar a:hover,.sidebar button:hover,.side-nav a:hover,.side-nav button:hover,
.app-sidebar a:hover,.app-sidebar button:hover,.menu-item:hover,.nav-item:hover{
  transform:translateX(1px);
}

/* Botones: estética consistente y menos agresiva */
button,.btn,.button,[role="button"]{
  border-radius:12px;
}

button:focus-visible,.btn:focus-visible,input:focus,select:focus,textarea:focus,
[tabindex]:focus-visible{
  outline:3px solid var(--v1365-focus);
  outline-offset:2px;
}

.btn-primary,.primary,button.primary,.action-primary{
  box-shadow:0 8px 18px rgba(184,134,43,.16);
}

/* Tablas financieras más legibles */
table{
  border-collapse:separate;
  border-spacing:0;
}

thead th, table th{
  font-weight:700;
  letter-spacing:.01em;
}

tbody tr{
  transition:background-color .12s ease;
}

tbody tr:hover{
  background:rgba(37,99,235,.035);
}

td,th{
  vertical-align:middle;
}

/* Números alineados y más cómodos */
.amount,.money,.currency,.number,.metric-value,.kpi-value,
[data-format="money"],[data-type="currency"],[data-number],
td.numeric,td.amount,td.money{
  font-variant-numeric:tabular-nums;
  letter-spacing:-.015em;
  white-space:nowrap;
}

.kpi-value,.metric-value,.amount-large{
  line-height:1.05;
}

/* Alertas menos invasivas */
.alert,.notification,.toast,.notice,.warning,.error,.success{
  border-radius:14px;
  box-shadow:var(--v1365-shadow-soft);
}

/* Formularios: lectura y uso prolongado */
input,select,textarea{
  border-radius:12px;
  min-height:38px;
}

label,.form-label{
  font-weight:650;
  color:#334155;
}

/* Limpieza visual de herramientas técnicas sin eliminarlas del DOM */
.v1365-soft-hidden-technical,
[data-v1365-soft-hidden="true"]{
  opacity:.18;
  transform:scale(.98);
}

/* Respeto a preferencias del usuario */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }
}

@media (max-width: 768px){
  .card,.kpi-card,.metric-card,.dashboard-card,.module-card,.panel,.content-card,
  .section-card,.report-card,.qa-card,.client-card,.cliente-card{
    border-radius:16px;
  }
  .amount,.money,.currency,.number,.metric-value,.kpi-value{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}
