/* ─────────────────────────────────────────────
   AllureDispatch — Global UI overrides
   Normalises button + form-control sizing so
   filter areas, page headers, and cards all
   render at a comfortable 36 px touch target.
   Table row action buttons stay intentionally
   small (they're inside a <td>).
───────────────────────────────────────────── */

.btn.btn-sm i,
button.btn-sm i {
  font-size: 14px;
}

/* ── Filter-card buttons (not in a table row) ── */
.card-body .btn-sm,
.card-header .btn-sm,
.card-footer .btn-sm,
.page-header .btn-sm {
  padding: 8px 14px !important;
  font-size: 13px !important;
  height: 36px !important;
  line-height: 1.3 !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Keep table row actions small — but not icon-only action buttons (edit/delete etc.), which
   already get their fixed 32px square shape from .btn-icon-square in globals.css. Without this
   exclusion, this rule's own !important padding/height fought that one for the same button,
   leaving icon buttons neither properly square nor properly sized like a text button. */
.table td .btn-sm:not(.btn-icon-square),
.table th .btn-sm:not(.btn-icon-square) {
  padding: 4px 10px !important;
  font-size: 11px !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* ── Form controls inside cards ──
   height/padding/font-size must leave enough room for a 13px line-height
   inside the 36px box, or descenders (g/p/y) get clipped at the bottom. */
.card-body .form-control-sm,
.card-body .form-select-sm {
  height: 36px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  padding-left: 12px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}
.card-body .form-control-sm {
  padding-right: 12px !important;
}

/* Selects need room on the right for the caret icon, but the -sm caret is
   smaller than the regular one — 2.5rem (the regular select's clearance)
   left too little text room in narrow selects (e.g. the ~120px status
   dropdown in a table row) and clipped the value on the right instead. */
.card-body .form-select-sm {
  padding-right: 1.75rem !important;
}

/* ── Page header primary action ── */
.page-header .btn {
  font-size: 13px;
  padding: 8px 18px;
  height: 36px;
  display: inline-flex;
  align-items: center;
}

/* ── Badge sizing consistency ── */
.badge {
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* ── Sidebar: child nav items should read as subordinate to their parent ──
   Theme CSS only shrinks the font-size for submenu links; it doesn't touch
   font-weight or color, so children inherited the same bold, dark styling
   as the parent ("Jobs") and looked like siblings instead of children. */
.nxl-submenu .nxl-link {
  font-weight: 400;
  color: #6b7885;
}
.nxl-submenu .nxl-link.active,
.nxl-submenu .nxl-item.active > .nxl-link {
  font-weight: 600;
  color: #283c50;
}

/* ── Logo must keep its real brand colors in every theme skin ──
   The template's dark navigation/header/skin modes invert the logo image
   (assuming a plain single-color mark), which turns Allure's red+black
   logo into cyan/white nonsense. Brand marks should never re-color. */

