/*
 * Theme override — Blue / White / Black
 * Load AFTER bootstrap.min.css and fonts.css. Requires Bootstrap 5.3+
 * (uses Bootstrap's CSS-variable theming API — no Sass recompile needed).
 * If the app is still on Bootstrap <5.3, most of the --bs-* overrides below
 * will be silently ignored; flag that back before relying on this file.
 */

:root {
  /* ---- Brand tokens ---- */
  --brand-ink: #12151c;          /* primary text — near-black, softer than #000 */
  --brand-blue: #1b3f91;         /* primary accent — deep indigo-blue, not Bootstrap default */
  --brand-blue-mid: #4c6fc4;     /* hover / secondary accent */
  --brand-blue-light: #e8eefb;   /* tints — selected rows, chips, active nav */
  --surface-canvas: #f6f8fc;     /* page background — faint cool tint, not flat white */
  --surface-card: #ffffff;       /* card/table surfaces — pure white, lifts off the canvas */
  --border-subtle: #dce3f0;      /* cool-toned border, ties to the blue palette */

  /* ---- Status colors (kept close to convention — status color must stay unambiguous) ---- */
  --status-success: #1e8e5a;
  --status-success-bg: #e4f5ec;
  --status-warning: #c77700;
  --status-warning-bg: #fceeda;
  --status-danger: #d23b3b;
  --status-danger-bg: #fbe7e7;

  /* ---- Typography ---- */
  --font-display: 'Space Grotesk', 'Inter', -apple-system, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* ---- Bootstrap 5.3 variable overrides ---- */
  --bs-primary: var(--brand-blue);
  --bs-primary-rgb: 27, 63, 145;
  --bs-primary-text-emphasis: var(--brand-blue);
  --bs-primary-bg-subtle: var(--brand-blue-light);
  --bs-primary-border-subtle: var(--brand-blue-mid);

  --bs-body-font-family: var(--font-body);
  --bs-body-color: var(--brand-ink);
  --bs-body-bg: var(--surface-canvas);
  --bs-border-color: var(--border-subtle);

  --bs-success: var(--status-success);
  --bs-success-bg-subtle: var(--status-success-bg);
  --bs-warning: var(--status-warning);
  --bs-warning-bg-subtle: var(--status-warning-bg);
  --bs-danger: var(--status-danger);
  --bs-danger-bg-subtle: var(--status-danger-bg);

  --bs-link-color: var(--brand-blue);
  --bs-link-hover-color: var(--brand-blue-mid);
  --bs-focus-ring-color: rgba(27, 63, 145, 0.35);
}

/* ---- Base ---- */
body {
  font-family: var(--font-body);
  font-feature-settings: 'tnum' 1; /* tabular numerals — steadier alignment for salary, match %, IDs */
  font-size: 0.9375rem; /* 15px — slightly tighter than Bootstrap default, suits dense tables */
}

h1, h2, h3, h4, h5, h6,
.navbar-brand, .card-title, .modal-title,
.display-1, .display-2, .display-3, .display-4 {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--brand-ink);
}

/* ---- Surfaces ---- */
.card, .table, .modal-content, .list-group-item, .dropdown-menu {
  background-color: var(--surface-card);
  border-color: var(--border-subtle);
}

.table > :not(caption) > * > * {
  border-bottom-color: var(--border-subtle);
}

/* ---- Buttons ---- */
.btn-primary {
  background-color: var(--brand-blue);
  border-color: var(--brand-blue);
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--brand-blue-mid);
  border-color: var(--brand-blue-mid);
}
.btn-outline-primary {
  color: var(--brand-blue);
  border-color: var(--brand-blue);
}
.btn-outline-primary:hover {
  background-color: var(--brand-blue);
  border-color: var(--brand-blue);
}

/* ---- Sidebar / nav ---- */
.sidebar .nav-link {
  color: var(--brand-ink);
  border-radius: 0.375rem;
}
.sidebar .nav-link.active {
  background-color: var(--brand-blue-light);
  color: var(--brand-blue);
  font-weight: 500;
}
.sidebar .nav-link:hover:not(.active) {
  background-color: var(--surface-canvas);
}

/* ---- Signature element: status/priority accent bar ----
   Reused on requisition list rows, candidate cards, kanban cards,
   and notification items so status is legible at a glance without
   reading text — ties directly to the existing SLA/priority feature. */
.accent-bar {
  border-left: 3px solid var(--border-subtle);
  padding-left: 0.75rem;
}
.accent-bar--normal   { border-left-color: var(--brand-blue-mid); }
.accent-bar--attention { border-left-color: var(--status-warning); }
.accent-bar--critical  { border-left-color: var(--status-danger); }

/* ---- Pipeline Kanban drag-and-drop states ---- */
.kanban-card {
  cursor: grab;
}
.kanban-card-dragging {
  opacity: 0.5;
}
.kanban-card-moving {
  opacity: 0.6;
  pointer-events: none;
}
.kanban-drop-zone {
  border-radius: var(--radius);
  transition: background-color 0.15s ease;
}
.kanban-drop-target {
  background-color: var(--brand-blue-light);
  outline: 2px dashed var(--brand-blue-mid);
  outline-offset: -2px;
}

/* ---- Focus visibility (keep this — accessibility floor, not optional) ---- */
:focus-visible {
  outline: 2px solid var(--brand-blue);
  outline-offset: 2px;
}
