/* hcelab — tema de la app sobre Bootstrap 5.3 (paleta de marca).
   Cargar DESPUÉS de bootstrap.min.css. Tokens en theme.css. */

:root {
  /* Mapeo a variables globales de Bootstrap (utilidades bg-*, links, etc.) */
  --bs-primary:        #1E3A8A;
  --bs-primary-rgb:    30, 58, 138;
  --bs-secondary:      #64748B;
  --bs-secondary-rgb:  100, 116, 139;
  --bs-success:        #10B981;
  --bs-success-rgb:    16, 185, 129;
  --bs-warning:        #F59E0B;
  --bs-warning-rgb:    245, 158, 11;
  --bs-danger:         #DC2626;
  --bs-danger-rgb:     220, 38, 38;
  --bs-info:           #0EA5E9;
  --bs-info-rgb:       14, 165, 233;

  --bs-body-bg:        #F5F7FB;
  --bs-body-color:     #1E293B;
  --bs-border-color:   #CBD5E1;
  --bs-secondary-color: #64748B;

  --bs-link-color:        #1E3A8A;
  --bs-link-color-rgb:    30, 58, 138;
  --bs-link-hover-color:  #3B82F6;
  --bs-link-hover-color-rgb: 59, 130, 246;

  --bs-focus-ring-color: rgba(59, 130, 246, .25);
}

body { background: var(--hc-bg, #F5F7FB); color: var(--hc-text, #1E293B); }

/* ── Navbar ──────────────────────────────────────────────── */
.navbar.hc-navbar {
  background: var(--hc-primary, #1E3A8A);
  box-shadow: 0 1px 0 rgba(15, 23, 42, .06), 0 4px 16px rgba(30, 58, 138, .12);
}
.hc-navbar .navbar-brand { font-weight: 700; letter-spacing: -.5px; }
.hc-navbar .brand-dot { color: #93B4FF; }      /* "lab" legible sobre azul profundo */
.hc-navbar .nav-link { color: rgba(255, 255, 255, .82); }
.hc-navbar .nav-link:hover,
.hc-navbar .nav-link.active { color: #fff; }

/* ── Botones ─────────────────────────────────────────────── */
.btn-primary {
  --bs-btn-bg: #1E3A8A; --bs-btn-border-color: #1E3A8A;
  --bs-btn-hover-bg: #3B82F6; --bs-btn-hover-border-color: #3B82F6;
  --bs-btn-active-bg: #172E6E; --bs-btn-active-border-color: #172E6E;
  --bs-btn-disabled-bg: #1E3A8A; --bs-btn-disabled-border-color: #1E3A8A;
}
.btn-outline-primary {
  --bs-btn-color: #1E3A8A; --bs-btn-border-color: #1E3A8A;
  --bs-btn-hover-bg: #1E3A8A; --bs-btn-hover-border-color: #1E3A8A;
  --bs-btn-active-bg: #172E6E; --bs-btn-active-border-color: #172E6E;
}
.btn-outline-secondary {
  --bs-btn-color: #64748B; --bs-btn-border-color: #CBD5E1;
  --bs-btn-hover-bg: #64748B; --bs-btn-hover-border-color: #64748B;
  --bs-btn-active-bg: #475569; --bs-btn-active-border-color: #475569;
}
.btn-outline-danger {
  --bs-btn-color: #DC2626; --bs-btn-border-color: #DC2626;
  --bs-btn-hover-bg: #DC2626; --bs-btn-hover-border-color: #DC2626;
}
.btn-light { --bs-btn-bg: #fff; --bs-btn-border-color: #CBD5E1; --bs-btn-hover-bg: #F1F5F9; }

/* ── Badges semánticos ───────────────────────────────────── */
.text-bg-primary   { background-color: #1E3A8A !important; color: #fff !important; }
.text-bg-secondary { background-color: #64748B !important; color: #fff !important; }
.text-bg-success   { background-color: #10B981 !important; color: #fff !important; }
.text-bg-warning   { background-color: #F59E0B !important; color: #1E293B !important; }
.text-bg-danger    { background-color: #DC2626 !important; color: #fff !important; }
.text-bg-info      { background-color: #0EA5E9 !important; color: #fff !important; }
.text-bg-info-subtle { background-color: #E0F2FE !important; color: #075985 !important; border-color: #BAE6FD !important; }

/* ── Alerts (flash) ──────────────────────────────────────── */
.alert-success { --bs-alert-color: #065F46; --bs-alert-bg: #D1FAE5; --bs-alert-border-color: #A7F3D0; }
.alert-danger  { --bs-alert-color: #991B1B; --bs-alert-bg: #FEE2E2; --bs-alert-border-color: #FECACA; }
.alert-warning { --bs-alert-color: #92400E; --bs-alert-bg: #FEF3C7; --bs-alert-border-color: #FDE68A; }
.alert-info    { --bs-alert-color: #075985; --bs-alert-bg: #E0F2FE; --bs-alert-border-color: #BAE6FD; }
.alert-light   { --bs-alert-bg: #F8FAFC; --bs-alert-border-color: #E2E8F0; --bs-alert-color: #1E293B; }

/* ── Tarjetas y tablas ───────────────────────────────────── */
.card { background: #fff; border: 1px solid var(--hc-border, #CBD5E1); border-radius: .6rem; }
.card-footer.bg-white { background: #fff !important; border-top: 1px solid #EEF2F7; }
.table { --bs-table-color: #1E293B; }
.table > thead.table-light th { background: #F1F5F9; color: #64748B; font-weight: 600; text-transform: uppercase; font-size: .72rem; letter-spacing: .03em; }
.table-hover > tbody > tr:hover > * { background: #F5F8FF; }

/* ── Formularios ─────────────────────────────────────────── */
.form-label { color: #334155; font-weight: 500; font-size: .9rem; }
.form-control:focus, .form-select:focus {
  border-color: #3B82F6;
  box-shadow: 0 0 0 .25rem rgba(59, 130, 246, .25);
}
.list-group-item-action:hover { background: #F5F8FF; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
