/* AANPCB portal — professional healthcare / certification palette (see .cursorrules) */

:root {
  /* Brand */
  --aanpcb-navy: #003b5c;
  --aanpcb-navy-deep: #002a42;
  --aanpcb-teal: #0077a3;
  --aanpcb-teal-dark: #005f82;
  --aanpcb-steel: #2a6f97;
  --aanpcb-body: #212529;
  --aanpcb-muted-bg: #f8f9fa;
  --aanpcb-border: #dee2e6;

  /* Bootstrap 5 — primary actions, nav emphasis */
  --bs-primary: var(--aanpcb-navy);
  --bs-primary-rgb: 0, 59, 92;
  --bs-link-color: var(--aanpcb-teal);
  --bs-link-hover-color: var(--aanpcb-teal-dark);
}

.btn-primary {
  --bs-btn-bg: var(--aanpcb-navy);
  --bs-btn-border-color: var(--aanpcb-navy-deep);
  --bs-btn-hover-bg: var(--aanpcb-navy-deep);
  --bs-btn-hover-border-color: #001f30;
  --bs-btn-active-bg: #001f30;
  --bs-btn-active-border-color: #001a28;
  --bs-btn-focus-shadow-rgb: 0, 59, 92;
}

.btn-outline-primary {
  --bs-btn-color: var(--aanpcb-navy);
  --bs-btn-border-color: var(--aanpcb-navy);
  --bs-btn-hover-bg: var(--aanpcb-navy);
  --bs-btn-hover-border-color: var(--aanpcb-navy-deep);
  --bs-btn-active-bg: var(--aanpcb-navy-deep);
  --bs-btn-active-border-color: #001f30;
}

.text-primary {
  color: var(--aanpcb-navy) !important;
}

.bg-primary {
  background-color: var(--aanpcb-navy) !important;
}

/* Candidate dashboard (dynamic view) */
.dv-dashboard-aanpcb .welcome-banner {
  background: linear-gradient(
    135deg,
    var(--aanpcb-muted-bg) 0%,
    #e8eef2 55%,
    #dfe8ee 100%
  );
  color: var(--aanpcb-body);
  border: 1px solid var(--aanpcb-border);
  border-left: 5px solid var(--aanpcb-teal);
}

.dv-dashboard-aanpcb .welcome-banner .display-5 {
  color: var(--aanpcb-navy) !important;
}

.dv-dashboard-aanpcb .welcome-icon {
  font-size: 2.5rem;
  color: var(--aanpcb-steel);
}

.dv-dashboard-aanpcb .last-login {
  font-size: 0.9rem;
  color: #6c757d;
}

.dv-dashboard-aanpcb .dashboard-section-card {
  border: 1px solid var(--aanpcb-border) !important;
  border-radius: 0.5rem;
}

.dv-dashboard-aanpcb .dashboard-section-card .card-body {
  background-color: #fff;
}

.dv-dashboard-aanpcb #existing-credential-applications .card,
.dv-dashboard-aanpcb #no-credential-applications .card {
  border-left: 4px solid var(--aanpcb-teal) !important;
}

.dv-dashboard-aanpcb .card-header.bg-light {
  background-color: #f1f5f8 !important;
  border-bottom: 1px solid var(--aanpcb-border);
  color: var(--aanpcb-navy);
}

.dv-dashboard-aanpcb .new-exam-card-inner {
  background: linear-gradient(to bottom, #fff, var(--aanpcb-muted-bg));
  border: 1px solid var(--aanpcb-border) !important;
}

.dv-dashboard-aanpcb #earnedCredentials > .row h4 {
  color: var(--aanpcb-navy);
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-bottom: 1rem;
}

/* Demo tools — distinct but on-brand (stage / demo) */
.dv-dashboard-aanpcb .aanpcb-demo-modal-header {
  background: linear-gradient(90deg, var(--aanpcb-navy-deep), var(--aanpcb-steel));
  color: #fff;
}

/* Credential cards (injected via NextGen.credentials.show_single_credential_card) */
.hidden {
  display: none !important;
}

.aanpcb-credential-card {
  border-radius: 0.5rem;
  overflow: hidden;
}

.aanpcb-credential-card--earned {
  border: 1px solid var(--aanpcb-border) !important;
  border-left: 4px solid var(--aanpcb-teal) !important;
}

.aanpcb-credential-card__header {
  border-bottom: 1px solid var(--aanpcb-border) !important;
  background-color: #fff !important;
}

.aanpcb-credential-card__header .credential-card-name {
  color: var(--aanpcb-navy);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
}

.aanpcb-credential-card__meta {
  font-size: 0.875rem;
  color: #6c757d;
}

.aanpcb-credential-card__meta .credential-time-remaining {
  font-style: italic;
  color: #5c636a;
}

.aanpcb-credential-card__body {
  background: linear-gradient(
    180deg,
    #eef4f8 0%,
    var(--aanpcb-muted-bg) 100%
  );
}

.aanpcb-credential-card .btn-unpin {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.35rem 0 0;
  line-height: 1;
  border: 0;
  background: transparent;
  color: #6c757d;
}

.aanpcb-credential-card .btn-unpin:hover {
  color: var(--aanpcb-navy);
}

.aanpcb-credential-renewal-banner {
  background-color: #fff !important;
  border-color: var(--aanpcb-border) !important;
  color: var(--aanpcb-body);
}

.aanpcb-credential-cpd-card .aanpcb-credential-cpd-heading {
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}

.aanpcb-cpd-progress {
  border-radius: 0.375rem;
  background-color: #e2e8ed;
}

.aanpcb-cpd-progress .progress-bar {
  font-size: 0.75rem;
  font-weight: 600;
}

.aanpcb-cpd-progress .aanpcb-cpd-progress-remaining {
  background-color: rgba(0, 119, 163, 0.35) !important;
  color: #fff;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.35);
}

.aanpcb-credential-reqs-card {
  border: 1px solid var(--aanpcb-border) !important;
}

.aanpcb-credential-reqs-card .credential-requirements-list {
  padding-left: 0;
  margin-bottom: 0;
}

.aanpcb-credential-renewal-desc {
  line-height: 1.5;
}

.aanpcb-credential-reqs-card .credential-requirement a {
  color: var(--aanpcb-teal);
  font-weight: 500;
}

.aanpcb-credential-reqs-card .credential-requirement a:hover {
  color: var(--aanpcb-teal-dark);
}

.aanpcb-credential-reqs-card .credential-requirement.unsatisfied-req {
  color: var(--aanpcb-body);
}
