:root{
  --rz-bg:#f5f6f8;
  --rz-card:#ffffff;
  --rz-text:#1f2937;
  --rz-muted:#6b7280;
  --rz-border: rgba(0,0,0,.08);
  --rz-shadow: 0 2px 10px rgba(0,0,0,.06);
  --rz-radius: 16px;
}
html,body{height:100%}
body{font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--rz-bg);color:var(--rz-text)}
.rz-card{border:none;border-radius:var(--rz-radius);background:var(--rz-card);box-shadow:var(--rz-shadow)}
.rz-muted{color:var(--rz-muted)}
.rz-pill{display:inline-flex;gap:.5rem;align-items:center;padding:.5rem .75rem;border-radius:999px;border:1px solid var(--rz-border);background:#fff;font-size:.92rem}
.rz-btn{border-radius:14px;font-weight:600;padding:.75rem 1rem}
.rz-sidebar{min-height:100vh;border-right:1px solid var(--rz-border);background:#fff}
.rz-sidehead{padding:16px 16px 8px 16px;display:flex;align-items:center;gap:10px}
.rz-logo{width:38px;height:38px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--rz-border);padding:6px}
.rz-brand{font-weight:700}
.rz-nav a{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:4px 10px;border-radius:12px;color:var(--rz-text);text-decoration:none}
.rz-nav a:hover{background:rgba(13,110,253,.06)}
.rz-nav a.active{background:rgba(13,110,253,.10);color:#0b5ed7}
.rz-topbar{background:#fff;border-bottom:1px solid var(--rz-border);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.rz-mobile-toggle{border:1px solid var(--rz-border);background:#fff;border-radius:12px;padding:10px 12px}


/* ======================================================
   DATATABLES – BASE GLOBAL
   ====================================================== */

.dataTables_wrapper {
  width: 100%;
  font-family: "Inter", "Poppins", system-ui, -apple-system, sans-serif;
}

/* ===============================
   TABLA
   =============================== */

table.dataTable {
  width: 100% !important;
  font-size: 0.80rem;
  color: #212529;
}

table.dataTable thead th {
  font-weight: 600;
  font-size: 0.8rem;
  text-transform: uppercase;
  white-space: nowrap;
}

table.dataTable tbody td {
  font-weight: 300;
  white-space: nowrap;
  vertical-align: middle;
}

/* Bordes suaves solo en filas */
table.dataTable tbody tr td {
  border-top-color: #edf0f4;
}

table.dataTable tbody tr {
  border-bottom-color: #edf0f4;
}

/* ===============================
   BUSCADOR
   =============================== */

.dataTables_filter {
  float: none !important;
  text-align: right;
}

.dataTables_filter label {
  font-size: 0;
}

.dataTables_filter input {
  width: 200px;
  font-size: 0.85rem;
  padding: 0.45rem 0.7rem;
  border-radius: 0.4rem;
  box-shadow: none !important;
}

.dataTables_filter input::placeholder {
  font-size: 0.85rem;
  color: #6c757d;
}

.dataTables_filter input:focus {
  border-color: #ced4da;
  box-shadow: none !important;
}

/* ===============================
   INFO
   =============================== */

.dataTables_info {
  font-size: 0.8rem;
  color: #6c757d;
}

/* ===============================
   PAGINACIÓN
   =============================== */

.dataTables_paginate {
  display: flex;
  align-items: center;
  gap: 6px;              /* separación ENTRE números */
}

/* TODOS los botones igual */
.dataTables_paginate .paginate_button {
  display: inline-flex;       /* 👈 evita desalineación vertical */
  align-items: center;
  justify-content: center;

  min-width: 34px;
  height: 34px;

  font-size: 0.85rem;
  line-height: 1;

  padding: 0;
  margin: 0;

  border-radius: 0.45rem;
  border: 1px solid #e9ecef;
  background-color: #f8f9fa;
  color: #495057;

  cursor: pointer !important;
  text-decoration: none !important;

  transition: all 0.15s ease-in-out;
}

.dataTables_paginate
.paginate_button:not(.current):not(.disabled):hover {
  background-color: #e9ecef;
  color: #212529;
}

.dataTables_paginate .paginate_button.current {
  background-color: #0d6efd;
  color: #fff !important;
  border-color: #0d6efd;
  font-weight: 500;
  cursor: default !important;
}

.dataTables_paginate .paginate_button.previous,
.dataTables_paginate .paginate_button.next {
  font-size: 0.9rem;   /* igual que números */
  font-weight: 500;
}

.dataTables_paginate .paginate_button.disabled {
  display: none !important;
}

.dataTables_paginate a {
  text-decoration: none !important;
}

.dataTables_paginate .paginate_button {
  margin: 0 !important; /* evita conflictos */
}

.dataTables_paginate > span {
  display: flex;
  gap: 6px;              /* separación ENTRE números */
}

/* ===============================
   BUSCADOR + BOTÓN – MISMA ALTURA
   =============================== */

#dt-search {
  height: 36px;              /* igual a btn-sm */
  font-size: 0.85rem;
  padding: 0.35rem 0.6rem;
  border-radius: 0.2rem;
}

#btn-export-excel {
  height: 36px;
  border-radius: 0.2rem;
  padding: 0.5rem 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#btn-export-excel .btn-text {
  font-weight: 300;       /* fuente suave */
  font-size: 0.80rem;
  letter-spacing: 0.02em; /* un pelín de aire */
}

/* ===============================
   FORMATO CONTABLE MONTO
   =============================== */

.monto-contable {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-variant-numeric: tabular-nums;
}

.monto-contable .simbolo {
  color: #6c757d;
  font-size: 0.8rem;
  min-width: 12px;
}

.monto-contable .valor {
  text-align: right;
  width: 100%;
}

/* ===============================
   PERSONALIZACIONES ADICIONALES
   =============================== */

/* Badges en tablas con todos pasteles */

table .badge {
  font-weight: 500;
  padding: 0.45em 0.65em;   /* ⬅️ más alto */
  line-height: 1;          /* evita que se “aplane” */
  border-radius: 0.2rem;
}

table .badge.bg-warning {
  background-color: #fff3cd !important;
  color: #856404 !important;
}

table .badge.bg-success {
  background-color: #d1e7dd !important;
  color: #0f5132 !important;
}

table .badge.bg-danger {
  background-color: #f8d7da !important;
  color: #842029 !important;
}

table .badge.bg-secondary {
  background-color: #e9ecef !important;
  color: #495057 !important;
}


/* Cuenta contable */
.td-cuenta {
  line-height: 1.2;
}

.cuenta-codigo {
  font-size: 0.75rem;
  color: #6c757d; /* gris suave */
  font-weight: 300;
}

.cuenta-nombre {
  font-size: 0.7rem;
  color: #212529;
  font-weight: 300;
}

.btn.btn-outline-secondary.rz-btn:hover,
.btn-outline-secondary.rz-btn:hover {
  color: #fff !important;
}

@media (min-width: 768px) {
  .prorrateo-grid {
    display: flex;
    flex-wrap: wrap;
  }

  .prorrateo-col {
    flex: 0 0 calc(100% / 7);
    max-width: calc(100% / 7);
  }
}