:root{
  --days-green:#58d68d;
  --days-yellow:#f4d03f;
  --days-orange:#e67e22;
  --days-red:#e74c3c;

  --status-yellow:#f9e79f;
  --status-sky:#85c1e9;
  --status-red:#e74c3c;
  --status-black:#111;
  --content-max: 1200px;
}
body{ font-family: "Segoe UI", system-ui, -apple-system, Arial, sans-serif; background:#f6f8fb; }
.container-max{ max-width: var(--content-max); }
.card{ border:0; border-radius:18px; box-shadow:0 10px 30px rgba(0,0,0,.06); }
.navbar{ background:#fff; box-shadow:0 2px 14px rgba(0,0,0,.05); }
.btn-nav{ border-radius:25px; padding:.25rem .9rem; font-weight:600; }
.badge-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  padding:6px 10px;
  font-weight:700;
  box-shadow:0 6px 10px rgba(0,0,0,.08);
}
.days-green{ background:var(--days-green); color:#0b2e13; }
.days-yellow{ background:var(--days-yellow); color:#3a2f00; }
.days-orange{ background:var(--days-orange); color:#fff; }
.days-red{ background:var(--days-red); color:#fff; }

.status-paid{ background:var(--status-sky); color:#0b2e13; }
.status-pending{ background:var(--status-yellow); color:#3a2f00; }
.status-late{ background:var(--status-red); color:#fff; }
.status-cancelled{ background:var(--status-black); color:#fff; }

.pill-status{ min-width:110px; text-align:center; }
.pill-days{ min-width:46px; text-align:center; }

.table thead th{ border-bottom:0; color:#2c3e50; }
.table tbody tr{ background:#fff; border-radius:14px; }
.table tbody td{ vertical-align:middle; }
.table-hover tbody tr:hover{ background:#f3f7ff; }

.action-btn{
  width:36px; height:36px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:12px;
  border:0;
  color:#fff;
}
.action-btn i{ font-size:1.1rem; }
.action-edit{ background:#3498db; }
.action-pay{ background:#27ae60; }
.action-print{ background:#34495e; }
.action-ticket{ background:#16a085; }
.action-history{ background:#8e44ad; }
.action-del{ background:#e74c3c; }
.action-wa{ background:#25D366; }

.form-control, .form-select{ border-radius:14px; }
.modal-content{ border-radius:18px; border:0; }
footer.small{ color:#6c757d; }

@media (max-width: 768px){
  .table-responsive{ border-radius:18px; }
  .action-btn{ width:40px; height:40px; }
}


.btn-nav-notif{
  background:#ffc107 !important;
  color:#fff;
  border:2px solid #f4d03f; /* borde amarillo/naranja para la campana */
}
.btn-nav-notif:hover{
  filter:brightness(.95);
  color:#fff;
}

.btn-view{
  background:#0d6efd;
  color:#fff;
  border:0;
  border-radius:12px;
  padding:.35rem .7rem;
  font-weight:700;
}
.btn-view:hover{ filter:brightness(.95); color:#fff; }

/* Navbar estilo "tabs" */
.nav-main-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.65rem .75rem;
  border-radius:14px;
  color:#2c3e50;
  font-weight:700;
  text-decoration:none;
}
.nav-main-link:hover{ background:#f3f7ff; color:#1f5eff; }
.nav-main-link.active{
  background:#eaf2ff;
  color:#1f5eff;
  position:relative;
}
.nav-main-link.active::after{
  content:"";
  position:absolute;
  left:10px; right:10px; bottom:-10px;
  height:3px;
  border-radius:4px;
  background:#1f5eff;
}
.navbar .nav-item{ display:flex; align-items:center; }
