:root{
  --bg-cream:#fff5ef;         /* fondo página */
  --card:#ffffff;             /* fondo card */
  --ink:#2b2d42;              /* texto principal */
  --muted:#8b8e99;            /* texto tenue */

  --accent:#ff5c6c;           /* coral botones/series */
  --accent-200:#ffd2d7;       /* coral claro */
  --accent-50:#fff0f2;        /* coral muy claro */

  --primary:#7a5af8;          /* morado para líneas/links */
  --primary-100:#e6ddff;

  --success:#22c55e;
  --warning:#f59e0b;
  --danger:#ef4444;

  --radius:16px;
  --shadow:0 10px 24px rgba(12,13,20,.06);
}

body.bg-body-tertiary{ background:var(--bg-cream) !important; color:var(--ink); }

.card, .widget {
  background:var(--card);
  border:0;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.widget-header{
  font-weight:700; color:var(--ink);
}

.kpi{
  background:var(--accent);
  color:#fff;
  border-radius: var(--radius);
  padding:24px;
  box-shadow: var(--shadow);
}
.kpi .pill{
  background:rgba(255,255,255,.25);
  backdrop-filter: blur(2px);
  border-radius:12px;
  padding:6px 10px;
  font-weight:600;
  font-size:.85rem;
}

.btn-accent{
  background:var(--accent); border-color:var(--accent); color:#fff;
}
.btn-accent:hover{ background:#ff4559; border-color:#ff4559; color:#fff; }

.badge-soft{ background:var(--accent-50); color:var(--accent); border-radius:999px; padding:4px 10px; font-weight:600; }

/* tablas/headers suaves */
.table thead.table-soft th{
  background:var(--bg-cream);
  color:var(--muted);
  border-bottom:1px dashed #eee;
}

/* utilidades */
.rounded-2xl{ border-radius: var(--radius) !important; }
.text-muted-2{ color:var(--muted) !important; }

/* ===== Tablas estilo dashboard ===== */
.table-card{ border:0; border-radius:16px; box-shadow:0 8px 24px rgba(15,23,42,.06); background:#fff; }
.table-card .card-body{ padding:16px; }
.table-toolbar{ gap:.5rem; }
.table-toolbar .form-control{ border-radius:999px; padding-left:2.2rem; }
.search-wrap{ position:relative; min-width:280px; }
.search-wrap .bi-search{ position:absolute; left:.75rem; top:50%; transform:translateY(-50%); opacity:.6; }

/* Encabezado azul suave */
.table-soft thead th{
  background:#eef4ff !important; color:#2a3a66; font-weight:600; border:0;
}

/* Celdas y pills */
.dataTable.table>tbody>tr>td{ vertical-align:middle; }
.status-pill{ padding:.25rem .6rem; border-radius:999px; font-weight:600; font-size:.8rem; }
.status-active{ background:#e8fff1; color:#10b981; }
.status-credit{ background:#ffecec; color:#ef4444; }

/* DataTables UI */
.dataTables_wrapper .dataTables_info{ padding-top:.75rem; color:#6b7280; }
.dataTables_wrapper .dataTables_paginate .pagination{ margin:.4rem 0 0; }
.dataTables_wrapper .dataTables_paginate .page-link{ border-radius:8px; }
.dataTables_wrapper .dataTables_length select{ border-radius:999px; padding:.25rem .75rem; }

/* Widgets arriba de la tabla (ya los usas) */
.widget{ background:#fff; border-radius:16px; box-shadow:0 8px 24px rgba(15,23,42,.06); }
.widget-header{ font-weight:600; color:#6b7280; }
.badge-soft{ background:#eef4ff; color:#2a3a66; border-radius:999px; padding:.35rem .6rem; font-weight:600; }
