/* Business Lab Partners — sistema de diseño compartido (tokens + pulido premium).
   Reutilizado por partners-portal.html y partners-admin.html. */
:root{
  --bg:#070a0e; --bg2:#0c1119; --paper:#f1ede4; --muted:#6a7280;
  --cyan:#36d6e0; --copper:#bd7257;
  --grad:linear-gradient(135deg,#bd7257,#36d6e0);
  --card:rgba(255,255,255,.03); --border:rgba(255,255,255,.09);
  --line:rgba(255,255,255,.08); --radius:14px; --red:#e2574a;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--paper);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}

@keyframes blGrad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* ===== Ambiente: glows tenues fijos + grano sutil (como el resto del sitio) ===== */
body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(820px 520px at 82% -8%, rgba(54,214,224,.07), transparent 60%),
    radial-gradient(680px 560px at 4% 108%, rgba(189,114,87,.07), transparent 55%);
}
body::after{
  content:""; position:fixed; inset:0; z-index:8; pointer-events:none; opacity:.045; background-size:170px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ===== Tipografía editorial: serif con degradado animado ===== */
.serif{
  font-family:Georgia,'Times New Roman',serif;font-style:italic;letter-spacing:-.01em;
  background:var(--grad);background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:blGrad 7s ease-in-out infinite;
}

/* ===== Botones premium ===== */
.btn{
  display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;
  border-radius:99px;font-weight:700;padding:11px 20px;font-size:14px;text-decoration:none;
  transition:transform .18s var(--ease), box-shadow .25s ease, background .2s ease, border-color .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.985)}
.btn-grad{
  background:var(--grad);background-size:175% auto;color:#08141a;position:relative;overflow:hidden;
  animation:blGrad 6s ease-in-out infinite; box-shadow:0 10px 26px -12px rgba(54,214,224,.45);
}
.btn-grad::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.32) 50%,transparent 70%);
  transform:translateX(-130%);transition:transform .6s ease;
}
.btn-grad:hover{box-shadow:0 14px 32px -10px rgba(54,214,224,.6)}
.btn-grad:hover::after{transform:translateX(130%)}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--paper)}
.btn-outline:hover{border-color:rgba(54,214,224,.6);background:rgba(54,214,224,.06)}

/* ===== Foco visible (accesibilidad) ===== */
.btn:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--cyan); outline-offset:2px;
}

/* ===== Cifras tabulares para datos ===== */
.kpi .val, .mono{font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
  .serif, .btn-grad{animation:none}
  .btn-grad::after{display:none}
}

/* ===== Estatus en pills (referidos, solicitudes, partners) ===== */
.st{font-size:11px;font-weight:700;border-radius:99px;padding:3px 10px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;text-transform:capitalize}
.st i{width:6px;height:6px;border-radius:50%;display:inline-block;flex:none}
.st.activo,.st.aprobada{background:rgba(29,158,117,.14);color:#7fe0c2}.st.activo i,.st.aprobada i{background:#1d9e75}
.st.en_proceso,.st.pendiente{background:rgba(189,114,87,.16);color:#e3b6a4}.st.en_proceso i,.st.pendiente i{background:#bd7257}
.st.lead{background:rgba(255,255,255,.06);color:#9aa3ad}.st.lead i{background:#6a7280}
.st.cerrado,.st.pausado,.st.rechazada{background:rgba(226,87,74,.13);color:#eaa39b}.st.cerrado i,.st.pausado i,.st.rechazada i{background:#e2574a}

/* ===== Cristal (glassmorphism) ===== */
.glass{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(7,10,14,.55)}

/* ===== Entrada escalonada al cargar ===== */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.stagger>*{opacity:0;animation:rise .55s var(--ease) forwards}
.stagger>*:nth-child(1){animation-delay:.04s}.stagger>*:nth-child(2){animation-delay:.12s}
.stagger>*:nth-child(3){animation-delay:.20s}.stagger>*:nth-child(4){animation-delay:.28s}
.stagger>*:nth-child(5){animation-delay:.36s}.stagger>*:nth-child(6){animation-delay:.44s}
@media (prefers-reduced-motion:reduce){.stagger>*{animation:none;opacity:1}}
