/* STRONGLMB360 V9.5 — Experiencia Comercial y Pulido Visual
   Alcance: mejora visual no destructiva. No modifica cálculos ni lógica financiera. */
:root{
  --v95-surface:#ffffff;
  --v95-soft:#f7f8f6;
  --v95-line:rgba(31,42,35,.12);
  --v95-text:#18241d;
  --v95-muted:#637064;
  --v95-radius:18px;
  --v95-shadow:0 14px 38px rgba(15,31,24,.08);
}
body{background:linear-gradient(180deg,#f7f8f6 0%,#eef2ee 100%);}
.app{background:transparent;}
.sidebar{box-shadow:10px 0 32px rgba(0,0,0,.10);}
.brand{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12);}
.nav button,.nav a,.nav-item{
  border-radius:14px!important;
  margin:4px 8px!important;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.nav button:hover,.nav a:hover,.nav-item:hover{transform:translateX(2px);}
.nav button.active,.nav a.active,.nav-item.active{
  box-shadow:inset 3px 0 0 var(--coop-gold-soft),0 8px 18px rgba(0,0,0,.12)!important;
}
.main{background:transparent;}
.topbar{
  position:sticky;top:0;z-index:40;
  backdrop-filter:blur(12px);
  background:rgba(247,248,246,.88)!important;
  border-bottom:1px solid var(--v95-line)!important;
  box-shadow:0 8px 24px rgba(15,31,24,.04);
}
.breadcrumb{font-size:12px!important;letter-spacing:.04em;text-transform:uppercase;color:var(--v95-muted)!important;}
#page-title{letter-spacing:-.02em;}
#content-area{padding-bottom:48px;}
.card,.kpi,.table-wrap,.modal,.panel,.section-card,
[class*="card"], [class*="panel"]{
  border-radius:var(--v95-radius)!important;
}
.card,.kpi,.table-wrap,.section-card{
  border:1px solid var(--v95-line)!important;
  box-shadow:var(--v95-shadow)!important;
}
.card-title h4,.card h3,.card h4{letter-spacing:-.01em;}
.kpi{background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%)!important;}
.kpi-label{text-transform:uppercase;letter-spacing:.05em;font-weight:700!important;color:var(--v95-muted)!important;}
.kpi-value{letter-spacing:-.03em;}
.pill,.badge,.chip,[class*="badge"],[class*="chip"]{
  border-radius:999px!important;
  border:1px solid rgba(31,42,35,.12);
  font-weight:700;
}
.btn,button,input[type="button"],input[type="submit"]{
  border-radius:13px!important;
  font-weight:800!important;
  letter-spacing:.01em;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.btn:hover,button:hover{transform:translateY(-1px);}
.btn:active,button:active{transform:translateY(0);}
.btn-primary,.login-button{
  box-shadow:0 10px 22px rgba(13,59,46,.22)!important;
}
.btn-danger{box-shadow:0 10px 22px rgba(138,40,32,.18)!important;}
input,select,textarea{
  border-radius:12px!important;
  border:1px solid rgba(31,42,35,.16)!important;
  background:#fff!important;
}
input:focus,select:focus,textarea:focus{
  outline:3px solid rgba(194,157,82,.22)!important;
  border-color:rgba(194,157,82,.75)!important;
}
table{border-collapse:separate!important;border-spacing:0!important;width:100%;}
thead th{
  position:sticky;top:0;z-index:3;
  background:#f5f7f4!important;
  color:#26352b!important;
  font-size:12px!important;
  text-transform:uppercase;letter-spacing:.045em;
  border-bottom:1px solid rgba(31,42,35,.12)!important;
}
tbody tr{transition:background .14s ease;}
tbody tr:hover{background:rgba(194,157,82,.08)!important;}
td,th{vertical-align:middle!important;}
.modal-backdrop{backdrop-filter:blur(6px);}
.modal{box-shadow:0 30px 80px rgba(0,0,0,.28)!important;}
.modal-head{border-bottom:1px solid var(--v95-line)!important;}
.modal-foot{border-top:1px solid var(--v95-line)!important;}
.alert,.warning,.notice,[class*="alert"],[class*="warning"],[class*="notice"]{
  border-radius:16px!important;
}
/* Cliente 360 y Motor de Intervenciones: más claridad comercial sin alterar lógica */
.client-integral-score,.client-score-validation,.rate-preview,.intervention-preview,.intervention-dossier{
  border-radius:18px!important;
  border:1px solid rgba(31,42,35,.12)!important;
  box-shadow:0 12px 30px rgba(15,31,24,.07)!important;
}
.rate-engine button[data-danger="true"],button[onclick*="revert"],button[onclick*="Revert"]{
  border-color:rgba(138,40,32,.35)!important;
}
/* Estados vacíos y mensajes de apoyo */
.empty-state,.no-data,[class*="empty"]{
  border:1px dashed rgba(31,42,35,.20)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.72)!important;
  color:var(--v95-muted)!important;
}
/* Responsive comercial */
@media (max-width:900px){
  .topbar{position:relative;}
  .kpi,.card{border-radius:16px!important;}
  #content-area{padding-left:12px!important;padding-right:12px!important;}
}
@media print{
  .sidebar,.topbar-actions,.btn,button{display:none!important;}
  .main{margin:0!important;}
  .card,.kpi,.table-wrap{box-shadow:none!important;border:1px solid #ddd!important;}
}
