:root{
  --tp-bg:#f5f5f7;
  --tp-surface:rgba(255,255,255,.78);
  --tp-text:#1d1d1f;
  --tp-muted:#6e6e73;
  --tp-line:rgba(29,29,31,.08);
  --tp-line-strong:rgba(29,29,31,.12);
  --tp-primary:#0071e3;
  --tp-shadow:0 14px 40px rgba(0,0,0,.06),0 2px 8px rgba(0,0,0,.03);
}
body.tp-public-shell{background:linear-gradient(180deg,#fafafc 0%,#f5f5f7 100%)!important;color:var(--tp-text)!important;-webkit-font-smoothing:antialiased}
body.tp-public-shell .hero,
body.tp-public-shell .ci-hero,
body.tp-public-shell .card-login .hero,
body.tp-public-shell .brand,
body.tp-public-shell .cardx .brand{color:var(--tp-text)!important}
body.tp-public-shell .hero,
body.tp-public-shell .ci-hero,
body.tp-public-shell .card-login .hero{
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.58))!important;
  border:1px solid var(--tp-line)!important;
  box-shadow:var(--tp-shadow)!important;
}
body.tp-public-shell .card-soft,
body.tp-public-shell .stat,
body.tp-public-shell .ci-card,
body.tp-public-shell .card-login,
body.tp-public-shell .card,
body.tp-public-shell .cardx,
body.tp-public-shell .pill,
body.tp-public-shell .nav-tabs-portal a,
body.tp-public-shell .security-notice,
body.tp-public-shell .bubble,
body.tp-public-shell .debug{
  background:var(--tp-surface)!important;
  border:1px solid var(--tp-line)!important;
  backdrop-filter:saturate(180%) blur(18px);
  -webkit-backdrop-filter:saturate(180%) blur(18px);
  box-shadow:var(--tp-shadow)!important;
}
body.tp-public-shell .nav-tabs-portal a.active,
body.tp-public-shell .btn-primary,
body.tp-public-shell .btn-nmc,
body.tp-public-shell .btn-checkin{background:var(--tp-text)!important;border-color:var(--tp-text)!important;color:#fff!important}
body.tp-public-shell .btn-light,
body.tp-public-shell .btn-warning,
body.tp-public-shell .btn-outline-light,
body.tp-public-shell .btn-wa,
body.tp-public-shell .pill.text-decoration-none{
  background:rgba(255,255,255,.78)!important;
  color:var(--tp-text)!important;
  border:1px solid var(--tp-line-strong)!important;
}
body.tp-public-shell .form-control,
body.tp-public-shell .form-select,
body.tp-public-shell .otp-input{background:rgba(255,255,255,.94)!important;border:1px solid var(--tp-line-strong)!important;color:var(--tp-text)!important;box-shadow:none!important}
body.tp-public-shell .form-control:focus,
body.tp-public-shell .form-select:focus,
body.tp-public-shell .otp-input:focus{border-color:rgba(0,113,227,.4)!important;box-shadow:0 0 0 4px rgba(0,113,227,.12)!important}
body.tp-public-shell .pill-ok,
body.tp-public-shell .badge-activo,
body.tp-public-shell .badge-activa{background:rgba(29,156,83,.12)!important;color:#1d9c53!important}
body.tp-public-shell .pill-warn,
body.tp-public-shell .badge-pendiente,
body.tp-public-shell .badge-programado{background:rgba(183,121,31,.12)!important;color:#b7791f!important}
body.tp-public-shell .pill-bad,
body.tp-public-shell .badge-impago,
body.tp-public-shell .badge-vencido{background:rgba(214,64,69,.11)!important;color:#d64045!important}
body.tp-public-shell .small-muted,
body.tp-public-shell .hint,
body.tp-public-shell .label,
body.tp-public-shell .muted,
body.tp-public-shell .soft-empty{color:var(--tp-muted)!important}
body.tp-public-shell a{color:var(--tp-primary)}
