/* ==========================================================================
   RECRUITMENT PORTAL — 1-Column Full-Width + Filter/Sort
   Design: Notion tokens from DESIGN.md
   Layout: CareerViet-style horizontal cards
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* --------------------------------------------------------------------------
   1. DESIGN TOKENS (Notion DESIGN.md)
   -------------------------------------------------------------------------- */
:root {
  --n-primary: #2563eb;
  --n-primary-pressed: #1d4ed8;
  --n-on-primary: #ffffff;
  --n-navy: #0f1d3a;
  --n-navy-deep: #0a1530;
  --n-link-blue: #2563eb;
  --n-green: #1aae39;
  --n-orange: #dd5b00;
  --n-orange-deep: #793400;
  --n-pink: #ff64c8;
  --n-error: #e03131;

  --n-tint-peach: #ffe8d4;
  --n-tint-rose: #fde0ec;
  --n-tint-mint: #d9f3e1;
  --n-tint-lavender: #dbeafe;
  --n-tint-sky: #dcecfa;
  --n-tint-yellow: #fef7d6;

  --n-canvas: #ffffff;
  --n-surface: #f6f5f4;
  --n-surface-soft: #fafaf9;
  --n-hairline: #e5e3df;
  --n-hairline-soft: #ede9e4;
  --n-hairline-strong: #c8c4be;

  --n-ink-deep: #000000;
  --n-ink: #1a1a1a;
  --n-charcoal: #37352f;
  --n-slate: #5d5b54;
  --n-steel: #787671;
  --n-stone: #a4a097;
  --n-muted: #bbb8b1;
  --n-on-dark: #ffffff;

  --n-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --n-radius-sm: 6px;
  --n-radius-md: 8px;
  --n-radius-lg: 12px;
  --n-radius-pill: 9999px;
  --n-shadow-sm: 0 1px 2px rgba(15,15,15,0.04);
  --n-shadow-md: 0 4px 12px rgba(15,15,15,0.08);
  --n-transition: all 0.15s ease;
}

/* --------------------------------------------------------------------------
   2. GLOBAL
   -------------------------------------------------------------------------- */
body.customers {
  font-family: var(--n-font) !important;
  background-color: var(--n-surface-soft) !important;
  color: var(--n-charcoal);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  margin: 0; padding: 0;
  padding-bottom: 0 !important;
}
body.customers *, body.customers *::before, body.customers *::after { box-sizing: border-box; }
body.customers a { transition: var(--n-transition); }
body.customers ::selection { background: var(--n-primary); color: var(--n-on-primary); }
body.customers h1,body.customers h2,body.customers h3,body.customers h4,body.customers h5,body.customers h6 {
  font-family: var(--n-font); color: var(--n-ink); font-weight: 600;
}
body.customers p { font-family: var(--n-font); color: var(--n-charcoal); line-height: 1.55; }
body.customers .container { max-width: 1200px; }

/* --------------------------------------------------------------------------
   3. NAVBAR — Dark navy (matches hero)
   -------------------------------------------------------------------------- */
body.customers .navbar.navbar-default.header {
  background-color: var(--n-navy) !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
  min-height: 56px; height: 56px;
  margin-bottom: 0; z-index: 1030;
}
body.customers .navbar.navbar-default.header > .container {
  display: flex; align-items: center; height: 56px; max-width: 1200px;
}
body.customers .navbar.navbar-default.header .navbar-header {
  display: flex; align-items: center; height: 56px; float: none;
}
body.customers .navbar.navbar-default.header .navbar-brand {
  height: auto; padding: 0; display: flex; align-items: center; margin-right: 24px;
}
body.customers .navbar.navbar-default.header .navbar-brand img {
  max-height: 32px; width: auto; object-fit: contain;
}
body.customers .navbar.navbar-default.header .navbar-nav > li > a {
  font-family: var(--n-font) !important; font-size: 14px; font-weight: 500;
  color: rgba(255,255,255,0.7) !important; padding: 16px 14px;
  text-decoration: none !important; transition: var(--n-transition);
}
body.customers .navbar.navbar-default.header .navbar-nav > li > a:hover {
  color: var(--n-on-dark) !important; background: rgba(255,255,255,0.08) !important;
}
body.customers .navbar.navbar-default.header .navbar-nav > li.customers-nav-item-login > a {
  font-family: var(--n-font) !important; font-size: 14px !important; font-weight: 500 !important;
  color: var(--n-on-primary) !important; background-color: var(--n-primary) !important;
  border-radius: var(--n-radius-md) !important; padding: 8px 18px !important;
  margin: 12px 0 12px 8px;
}
body.customers .navbar.navbar-default.header .navbar-nav > li.customers-nav-item-login > a:hover {
  background-color: var(--n-primary-pressed) !important;
}
body.customers .navbar.navbar-default.header .dropdown-menu {
  border-radius: var(--n-radius-md) !important; border: 1px solid var(--n-hairline) !important;
  box-shadow: var(--n-shadow-md) !important; background: var(--n-canvas);
}
body.customers .navbar.navbar-default.header .dropdown-menu > li > a {
  font-family: var(--n-font) !important; font-size: 14px; color: var(--n-charcoal) !important; padding: 10px 20px;
}
body.customers .navbar.navbar-default.header .dropdown-menu > li > a:hover {
  background: var(--n-surface) !important;
}
body.customers .navbar.navbar-default.header .navbar-toggle { border: 1px solid rgba(255,255,255,0.2); border-radius: var(--n-radius-md); }
body.customers .navbar.navbar-default.header .navbar-toggle .icon-bar { background: var(--n-on-dark) !important; }
body.customers .navbar-default .navbar-nav > .open > a,
body.customers .navbar-default .navbar-nav > .open > a:hover {
  background: rgba(255,255,255,0.1) !important; color: var(--n-on-dark) !important; background-image: none !important;
}

/* --------------------------------------------------------------------------
   4. HERO — Navy band with purple accent
   -------------------------------------------------------------------------- */
body.customers .jumbotron.kb-search-jumbotron {
  background-color: var(--n-navy) !important;
  background-image: radial-gradient(ellipse at 50% 120%, rgba(37,99,235,0.20) 0%, transparent 70%) !important;
  padding: 48px 0 36px !important;
  margin-bottom: 0 !important; border: none !important; border-radius: 0 !important; box-shadow: none !important;
}
body.customers .kb-search-heading, body.customers .kb-search-heading h2 {
  font-family: var(--n-font) !important; font-size: 36px !important; font-weight: 600 !important;
  color: var(--n-on-dark) !important; letter-spacing: -0.5px !important; line-height: 1.2 !important;
  margin-bottom: 8px !important; text-align: center;
}
.rec-hero-subtitle {
  font-family: var(--n-font); font-size: 16px; font-weight: 400;
  color: var(--n-stone) !important; margin-bottom: 24px; line-height: 1.5;
}

/* Search */
body.customers .kb-search .input-group {
  max-width: 600px; margin: 0 auto; display: flex; border-radius: var(--n-radius-md);
  overflow: hidden; border: 1px solid var(--n-hairline); background: var(--n-canvas);
}
body.customers .kb-search .input-group:focus-within {
  border-color: var(--n-primary); box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}
body.customers .kb-search-input, body.customers input.kb-search-input {
  font-family: var(--n-font) !important; font-size: 16px !important; color: var(--n-ink) !important;
  background: var(--n-canvas) !important; height: 44px !important; border: none !important;
  border-radius: var(--n-radius-md) 0 0 var(--n-radius-md) !important; padding: 0 16px !important;
  outline: none !important; box-shadow: none !important; flex: 1;
}
body.customers .kb-search-input::placeholder { color: var(--n-muted); }
body.customers .kb-search-button, body.customers .btn.kb-search-button, body.customers .btn-success.kb-search-button {
  font-family: var(--n-font) !important; font-size: 14px !important; font-weight: 500 !important;
  color: var(--n-on-primary) !important; background-color: var(--n-primary) !important;
  background-image: none !important; border: none !important; height: 44px !important;
  padding: 0 22px !important; border-radius: 0 var(--n-radius-md) var(--n-radius-md) 0 !important;
  cursor: pointer; text-shadow: none !important; white-space: nowrap;
}
body.customers .kb-search-button:hover { background-color: var(--n-primary-pressed) !important; }
body.customers .kb-search-icon { display: none !important; }
body.customers .kb-search .input-group-btn { border: none; }

/* --------------------------------------------------------------------------
   5. FILTER BAR — Notion pill-tab component
   -------------------------------------------------------------------------- */
.rec-filter-bar {
  background: var(--n-canvas);
  border-bottom: 1px solid var(--n-hairline);
  padding: 20px 0;
}
.rec-filter-section {
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.rec-filter-section:last-child { margin-bottom: 0; }
.rec-filter-label {
  font-family: var(--n-font);
  font-size: 13px;
  font-weight: 600;
  color: var(--n-slate);
  min-width: 90px;
  flex-shrink: 0;
}

/* pill-tab from DESIGN.md */
.rec-pill {
  font-family: var(--n-font);
  font-size: 14px;
  font-weight: 500;
  color: var(--n-steel);
  background: transparent;
  border: 1px solid var(--n-hairline);
  border-radius: var(--n-radius-pill);
  padding: 6px 16px;
  cursor: pointer;
  transition: var(--n-transition);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
}
.rec-pill:hover {
  border-color: var(--n-hairline-strong);
  color: var(--n-charcoal);
}
/* pill-tab-active from DESIGN.md */
.rec-pill.active {
  background-color: var(--n-ink-deep);
  color: var(--n-on-dark);
  border-color: var(--n-ink-deep);
}

/* --------------------------------------------------------------------------
   6. SORT BAR
   -------------------------------------------------------------------------- */
.rec-sort-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  flex-wrap: wrap;
  gap: 8px;
}
.rec-sort-count {
  font-family: var(--n-font);
  font-size: 15px;
  font-weight: 600;
  color: var(--n-ink);
}
.rec-sort-count span {
  color: var(--n-primary);
}
.rec-sort-right {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rec-sort-label {
  font-family: var(--n-font);
  font-size: 13px;
  color: var(--n-steel);
}
.rec-sort-select {
  font-family: var(--n-font);
  font-size: 14px;
  font-weight: 500;
  color: var(--n-ink);
  background: var(--n-canvas);
  border: 1px solid var(--n-hairline);
  border-radius: var(--n-radius-md);
  padding: 6px 32px 6px 12px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23787671' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  min-width: 140px;
}
.rec-sort-select:focus {
  border-color: var(--n-primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(37,99,235,0.15);
}

/* --------------------------------------------------------------------------
   7. JOBS LIST — 1 Column Full-Width
   -------------------------------------------------------------------------- */
body.customers .rec-jobs-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding: 0 !important;
}

/* --------------------------------------------------------------------------
   8. JOB CARD — Each campaign = separate rounded card
   -------------------------------------------------------------------------- */
body.customers .job,
body.customers .rec-jobs-grid > .job,
body.customers #panel_body_job > .job {
  background-color: var(--n-canvas) !important;
  border: 1px solid var(--n-hairline) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(15,15,15,0.04), 0 1px 2px rgba(15,15,15,0.03) !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  transition: var(--n-transition) !important;
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  isolation: isolate;
}
body.customers .job:hover,
body.customers .rec-jobs-grid > .job:hover {
  box-shadow: 0 4px 16px rgba(15,15,15,0.10), 0 2px 4px rgba(15,15,15,0.05) !important;
  border-color: var(--n-hairline-strong) !important;
  transform: translateY(-1px);
}

/* Card inner layout */
.rec-card-inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px 24px;
  flex: 1;
}
@media (max-width: 600px) {
  .rec-card-inner { flex-direction: column; gap: 12px; padding: 16px; }
}

/* Logo section */
.rec-card-logo {
  flex-shrink: 0;
}
.rec-logo-img {
  width: 64px; height: 64px; min-width: 64px;
  object-fit: contain; border-radius: var(--n-radius-lg);
  border: 1px solid var(--n-hairline); background: var(--n-canvas); padding: 4px;
}
.rec-logo-placeholder {
  width: 64px; height: 64px; min-width: 64px;
  border-radius: var(--n-radius-lg); border: 1px solid var(--n-hairline);
  background: var(--n-surface); display: flex; align-items: center; justify-content: center;
  color: var(--n-muted); font-size: 24px;
}

/* Info section */
.rec-card-info {
  flex: 1;
  min-width: 0;
}
.rec-card-title {
  font-family: var(--n-font) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 0 4px !important;
}
.rec-card-title a {
  color: var(--n-ink) !important;
  text-decoration: none !important;
}
.rec-card-title a:hover {
  color: var(--n-primary) !important;
}
.rec-company-name {
  font-family: var(--n-font);
  font-size: 14px;
  color: var(--n-steel);
  margin: 0 0 8px;
}

/* Tags */
.rec-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

/* Work type — Notion badge-tag-* */
body.customers .job__skill.ilabel,
body.customers a.job__skill.ilabel {
  font-family: var(--n-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: var(--n-radius-sm) !important;
  padding: 2px 8px !important;
  border: none !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
}
body.customers .full_time-color, body.customers a.full_time-color {
  background: var(--n-tint-mint) !important; color: var(--n-green) !important;
}
body.customers .part_time-color, body.customers a.part_time-color {
  background: var(--n-tint-peach) !important; color: var(--n-orange) !important;
}
body.customers .intership-color, body.customers a.intership-color {
  background: var(--n-tint-lavender) !important; color: var(--n-primary) !important;
}
body.customers .collaborators-color, body.customers a.collaborators-color {
  background: var(--n-tint-rose) !important; color: var(--n-error) !important;
}

/* Workplace tag */
body.customers .ilabel-cp-workplace, body.customers a.ilabel-cp-workplace {
  font-family: var(--n-font) !important; font-size: 13px !important; font-weight: 400;
  color: var(--n-slate) !important; background: var(--n-surface) !important;
  border: 1px solid var(--n-hairline) !important; border-radius: var(--n-radius-sm) !important;
  padding: 2px 10px !important; text-decoration: none !important;
  display: inline-flex; align-items: center;
}

/* Experience tag */
.rec-tag-experience {
  font-family: var(--n-font);
  font-size: 13px;
  font-weight: 600;
  color: #1e3a5f;
  background: var(--n-tint-lavender);
  border-radius: var(--n-radius-sm);
  padding: 2px 8px;
  display: inline-flex;
  align-items: center;
}

/* Position + Salary */
.rec-position {
  font-family: var(--n-font); font-size: 14px; font-weight: 500;
  color: var(--n-charcoal); margin-bottom: 4px;
  display: flex; align-items: center; gap: 6px;
}
.rec-salary {
  font-family: var(--n-font); font-size: 14px; font-weight: 600;
  color: var(--n-ink); margin: 4px 0;
  display: flex; align-items: center; gap: 6px;
}
.rec-salary--negotiable { color: var(--n-stone); font-weight: 400; font-style: italic; }

/* Description */
.rec-description {
  font-family: var(--n-font); font-size: 14px; color: var(--n-steel); line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; margin: 4px 0 0;
}

/* Right action */
.rec-card-action {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  min-width: 120px;
}
@media (max-width: 600px) {
  .rec-card-action { flex-direction: row; align-items: center; width: 100%; justify-content: space-between; }
}

/* Badges */
.rec-badge-new {
  font-family: var(--n-font); font-size: 13px; font-weight: 600;
  color: var(--n-green); background: var(--n-tint-mint);
  border-radius: var(--n-radius-sm); padding: 2px 8px;
  display: inline-flex; align-items: center; gap: 4px;
}
.rec-badge-urgent {
  font-family: var(--n-font); font-size: 13px; font-weight: 600;
  color: var(--n-orange-deep); background: var(--n-tint-peach);
  border-radius: var(--n-radius-sm); padding: 2px 8px;
  display: inline-flex; align-items: center; gap: 4px;
}

/* View Detail — button-primary from DESIGN.md */
.rec-view-detail {
  font-family: var(--n-font) !important; font-size: 14px !important; font-weight: 500 !important;
  color: var(--n-on-primary) !important; background: var(--n-primary) !important;
  border: none !important; border-radius: var(--n-radius-md) !important;
  padding: 10px 18px !important; text-decoration: none !important;
  display: inline-flex; align-items: center; gap: 6px;
  transition: var(--n-transition); white-space: nowrap; cursor: pointer;
}
.rec-view-detail:hover {
  background: var(--n-primary-pressed) !important; color: var(--n-on-primary) !important;
}

/* Card Footer */
.rec-card-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 24px; border-top: 1px solid var(--n-hairline); gap: 8px;
  background: var(--n-surface-soft);
}
@media (max-width: 600px) { .rec-card-footer { padding: 12px 16px; } }
.rec-date-range {
  font-family: var(--n-font); font-size: 13px; color: var(--n-steel);
  display: inline-flex; align-items: center; gap: 4px;
}
/* Status badge */
.rec-status-badge {
  font-family: var(--n-font); font-size: 12px; font-weight: 600;
  padding: 3px 10px; border-radius: var(--n-radius-pill);
  display: inline-flex; align-items: center; gap: 4px;
}
.rec-status-badge--active { background: var(--n-tint-mint); color: var(--n-green); }
.rec-status-badge--expired { background: var(--n-tint-rose); color: var(--n-error); }
.rec-status-badge__dot { width: 6px; height: 6px; border-radius: 50%; }
.rec-status-badge--active .rec-status-badge__dot { background: var(--n-green); }
.rec-status-badge--expired .rec-status-badge__dot { background: var(--n-error); }

/* --------------------------------------------------------------------------
   9. PANEL / EMPTY STATE / SHOW MORE
   -------------------------------------------------------------------------- */
body.customers .panel_s { background: transparent !important; border: none !important; box-shadow: none !important; margin-bottom: 0; }
body.customers .panel_s > .panel-body { background: transparent !important; padding: 16px 0 !important; }

.rec-empty-state {
  text-align: center; padding: 48px 24px; background: var(--n-canvas);
  border-radius: var(--n-radius-lg); border: 1px solid var(--n-hairline);
}
.rec-empty-state__icon { font-size: 40px; color: var(--n-muted); margin-bottom: 12px; }
.rec-empty-state__text { font-family: var(--n-font); font-size: 15px; color: var(--n-steel); }

body.customers .recruitment_showmore, body.customers .btn.btn-danger.recruitment_showmore {
  font-family: var(--n-font) !important; font-size: 14px !important; font-weight: 500 !important;
  color: var(--n-ink) !important; background: var(--n-canvas) !important;
  background-image: none !important; border: 1px solid var(--n-hairline-strong) !important;
  border-radius: var(--n-radius-md) !important; padding: 10px 32px !important;
  cursor: pointer; transition: var(--n-transition); text-shadow: none !important;
  display: inline-flex; align-items: center; justify-content: center;
}
body.customers .recruitment_showmore:hover { background: var(--n-surface) !important; border-color: var(--n-charcoal) !important; }

/* --------------------------------------------------------------------------
   10. FOOTER
   -------------------------------------------------------------------------- */
body.customers footer.footer, body.customers footer.navbar-fixed-bottom.footer {
  position: relative !important; bottom: auto !important; left: auto !important; right: auto !important; width: 100% !important;
  background: var(--n-canvas) !important; border: none !important; border-top: 1px solid var(--n-hairline) !important;
  padding: 24px 0 !important; margin: 0 !important;
}
body.customers footer.footer .copyright-footer { font-family: var(--n-font) !important; font-size: 13px !important; color: var(--n-steel) !important; }
body.customers footer.footer a { font-family: var(--n-font) !important; font-size: 13px !important; color: var(--n-steel) !important; text-decoration: none !important; }
body.customers footer.footer a:hover { color: var(--n-ink) !important; }
body.customers footer.footer .col-md-12.text-center { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; }

/* --------------------------------------------------------------------------
   11. ANIMATIONS
   -------------------------------------------------------------------------- */
@keyframes rec-fade-up {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
body.customers .rec-animate-in { animation: rec-fade-up 0.25s ease both; }
body.customers .rec-jobs-grid > .job:nth-child(1) { animation-delay: 0s; }
body.customers .rec-jobs-grid > .job:nth-child(2) { animation-delay: 0.04s; }
body.customers .rec-jobs-grid > .job:nth-child(3) { animation-delay: 0.06s; }
body.customers .rec-jobs-grid > .job:nth-child(4) { animation-delay: 0.08s; }
body.customers .rec-jobs-grid > .job:nth-child(5) { animation-delay: 0.10s; }
body.customers .rec-jobs-grid > .job:nth-child(6) { animation-delay: 0.12s; }

/* Hide filtered */
body.customers .job.rec-hidden { display: none !important; }

/* --------------------------------------------------------------------------
   12. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
  body.customers .kb-search-heading, body.customers .kb-search-heading h2 { font-size: 24px !important; }
  .rec-filter-section { gap: 6px; }
  .rec-pill { font-size: 13px; padding: 5px 12px; }
}

/* --------------------------------------------------------------------------
   13. OVERRIDES
   -------------------------------------------------------------------------- */
body.customers .main-content, body.customers #wrapper, body.customers .wrapper { min-height: calc(100vh - 56px); }

/* ==========================================================================
   JOB DETAIL — shared tokens (used by inline styles in job_detail.php)
   ========================================================================== */
body.customers .rec-btn-primary {
  font-family: var(--n-font) !important; font-size: 14px !important; font-weight: 500 !important;
  color: var(--n-on-primary) !important; background: var(--n-primary) !important;
  border: none !important; border-radius: var(--n-radius-md) !important;
  padding: 10px 18px !important; text-decoration: none !important;
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
}
body.customers .rec-btn-primary:hover { background: var(--n-primary-pressed) !important; }
body.customers .rec-btn-secondary {
  font-family: var(--n-font) !important; font-size: 14px !important; font-weight: 500 !important;
  color: var(--n-charcoal) !important; background: var(--n-canvas) !important;
  border: 1px solid var(--n-hairline-strong) !important; border-radius: var(--n-radius-md) !important;
  padding: 10px 18px !important; text-decoration: none !important;
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
}
body.customers .rec-btn-secondary:hover { background: var(--n-surface) !important; }
body.customers .rec-content-card {
  background: var(--n-canvas); border: 1px solid var(--n-hairline);
  border-radius: var(--n-radius-lg); padding: 24px; margin-bottom: 16px;
}
body.customers .rec-content-card h3 {
  font-family: var(--n-font) !important; font-size: 16px !important; font-weight: 600 !important;
  color: var(--n-ink) !important; margin: 0 0 16px; padding-bottom: 8px; border-bottom: 1px solid var(--n-hairline);
}
body.customers .rec-skill-badge {
  font-family: var(--n-font) !important; font-size: 13px !important; font-weight: 600 !important;
  color: #1e3a5f !important; background: var(--n-tint-lavender) !important;
  border: none !important; border-radius: var(--n-radius-sm) !important;
  padding: 2px 8px !important; margin: 0 4px 4px 0; display: inline-block;
}
body.customers .rec-related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
@media (max-width: 992px) { body.customers .rec-related-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 576px) { body.customers .rec-related-grid { grid-template-columns: 1fr; } }
