/* ============================================================
   style.css – Estilos personalizados Control de Cambios
   ============================================================ */

/* Variables corporativas */
:root {
  --cc-primary:    #1565C0;
  --cc-secondary:  #E3F2FD;
  --cc-success:    #4CAF50;
  --cc-warning:    #FF9800;
  --cc-danger:     #f44336;
  --cc-sidebar-w:  240px;
}

/* Body y tipografía base */
body {
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  font-size: 0.92rem;
  background-color: #f4f6fb;
  color: #333;
}

/* ---- Navbar ---- */
.navbar-dark.bg-primary {
  background-color: var(--cc-primary) !important;
}

.navbar-brand {
  font-size: 1.1rem;
  letter-spacing: 0.02em;
}

/* ---- Cards ---- */
.card {
  border-radius: 10px;
}

.card-header {
  border-radius: 10px 10px 0 0 !important;
  font-size: 0.9rem;
}

/* Hover lift effect para tarjetas de acceso rápido */
.hover-lift {
  transition: transform .18s ease, box-shadow .18s ease;
  color: #333;
}
.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(21,101,192,.18) !important;
  color: var(--cc-primary);
}

/* ---- Badges de estatus ---- */
.badge-solicitado { background-color: var(--cc-warning); color: #333; }
.badge-programado { background-color: var(--cc-primary);  color: #fff; }
.badge-liberado   { background-color: var(--cc-success);  color: #fff; }

/* ---- Tablas ---- */
.table thead th {
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: none;
  vertical-align: middle;
}

.table-primary thead,
thead.table-primary {
  background-color: var(--cc-primary);
  color: #fff;
}

.table tbody tr:hover {
  background-color: rgba(21,101,192,.05);
}

/* ---- Formularios ---- */
.form-control:focus,
.form-select:focus {
  border-color: var(--cc-primary);
  box-shadow: 0 0 0 .2rem rgba(21,101,192,.2);
}

.form-label {
  margin-bottom: .35rem;
}

/* ---- Botones ---- */
.btn-primary {
  background-color: var(--cc-primary);
  border-color: var(--cc-primary);
}
.btn-primary:hover {
  background-color: #0d47a1;
  border-color: #0d47a1;
}

/* ---- Paginación ---- */
.page-item.active .page-link {
  background-color: var(--cc-primary);
  border-color: var(--cc-primary);
}
.page-link {
  color: var(--cc-primary);
}

/* ---- Alertas flash ---- */
.alert {
  border-radius: 8px;
  font-size: 0.9rem;
}

/* ---- Login ---- */
.login-card {
  backdrop-filter: blur(4px);
}

/* ---- Footer ---- */
footer {
  font-size: 0.78rem;
}

/* ---- dl de detalles (solo lectura) ---- */
dl.row dt {
  font-size: 0.82rem;
  padding-top: 4px;
}
dl.row dd {
  padding-top: 4px;
  margin-bottom: 6px;
}

/* ---- Scrollbar personalizado para listas largas ---- */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #bbb; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--cc-primary); }

/* ---- Responsive ---- */
@media (max-width: 768px) {
  .table-responsive { font-size: 0.8rem; }
}
