/* Shared visual language. Brand colours remain configurable; workflow semantics
   and status labels are preserved. Keep this after module styles in the shell. */
:root {
  --ink: #34313e;
  --muted: #686371;
  --paper: #f8f6f3;
  --line: #e7e2e7;
  --soft: #f3eff7;
  --surface: #fff;
  --border: var(--line);
  --brand-nav-surface: #f2f0f3;
  --brand-nav-ink: #383340;
  --shadow-card: 0 3px 7px #39304407, 0 9px 24px #3930440b;
  --shadow-raised: 0 5px 10px #39304409, 0 15px 30px #39304414;
  font-family: "Aptos", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ink);
  background: var(--paper);
}
body { background: var(--paper); color: var(--ink); }
h1 { font-weight: 600; letter-spacing: -.035em; line-height: 1.22; }
.page-heading h1, .boards-heading h1, .advert-heading h1 { font-weight: 600; }
h2, h3 { font-weight: 600; letter-spacing: -.015em; }
.subtitle, .page-heading p, .boards-heading p { color: var(--muted); line-height: 1.7; }
.eyebrow { color: #716878; letter-spacing: .1em; font-weight: 600; }
.page-heading, .boards-heading { margin-bottom: 28px; }

/* Lighter navigation retains the hue selected in the branding studio. */
.sidebar, .branded-workspace .sidebar {
  background: var(--brand-nav-surface);
  color: var(--brand-nav-ink);
  border-color: #e4dfe6;
  box-shadow: 3px 0 18px #39304405;
}
.branded-workspace .brand { color: var(--brand-nav-ink); }
.sidebar .brand { padding-bottom: 18px; }
.brand-monogram { border-radius: 15px; box-shadow: 0 4px 10px #39304416; }
.brand-wordmark { font-weight: 650; }
.branded-workspace .workspace-label {
  color: var(--brand-nav-ink); border-color: #ded8e2;
}
.branded-workspace .nav-group, .branded-workspace .nav-caption,
.branded-workspace .nav-item, .branded-workspace .sidebar-footer,
.branded-workspace .nav-section > summary, .network-nav-label {
  color: var(--brand-nav-ink);
}
.nav-item { border-radius: 12px; margin: 4px 0; }
.branded-workspace .nav-item:hover { background: #ffffffa6; color: var(--brand-nav-ink); }
.branded-workspace .nav-item.active {
  background: white; color: var(--accent-ink); font-weight: 650;
  box-shadow: inset 3px 0 var(--accent), 0 3px 12px #39304410;
}
.branded-workspace .nav-item .count { background: white; color: var(--brand-nav-ink); border: 1px solid var(--line); border-radius: 7px; }
.branded-workspace #navigation { scrollbar-color: #cfc7d2 transparent; }
.branded-workspace .sidebar-footer, .brand-person-link { border-color: #ded8e2; }
.brand-person-link { color: var(--brand-nav-ink); }
.branded-workspace .brand-wordmark small,
.branded-workspace .brand-person-link small,
.branded-workspace .sidebar-footer small { color: var(--brand-nav-ink); opacity: 1; }
.brand-person-avatar { box-shadow: 0 3px 9px #39304412; border: 2px solid white; }
.tap-platform > strong > span { color: var(--accent-ink); opacity: 1; }
.topbar { background: #ffffffed; border-top: 0; border-bottom-color: var(--line); box-shadow: 0 3px 14px #39304404; }
.breadcrumb, .persona-label { color: var(--muted); }
.breadcrumb strong { color: var(--ink); }
.persona-label select { border-color: #d9d1dd; border-radius: 10px; background: #fcfafc; color: var(--ink); }
.demo-banner { background: #f2eef3; color: #63576d; border-color: #e5dfe9; }
.demo-banner #storage-mode { color: #63576d; }
.page-footer { color: var(--muted); }

/* A quieter, easier-to-scan sidebar accordion. */
.sidebar #navigation .nav-core { padding-bottom: 7px; }
.sidebar #navigation .nav-section {
  border-top: 0;
  margin-top: 3px;
  padding: 2px 0;
}
.sidebar #navigation .nav-section > summary {
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 9px;
  color: var(--brand-nav-ink);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
  opacity: 1;
  transition: background-color .15s ease;
}
.sidebar #navigation .nav-section > summary::-webkit-details-marker { display: none; }
.sidebar #navigation .nav-section > summary::after {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  margin: 0 3px 3px 12px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  opacity: .62;
  transform: rotate(45deg);
  transition: transform .16s ease;
}
.sidebar #navigation .nav-section[open] > summary::after {
  margin-bottom: -3px;
  transform: rotate(225deg);
}
.sidebar #navigation .nav-section > summary:hover {
  background: color-mix(in srgb, currentColor 5%, transparent);
}
.sidebar #navigation .nav-section > summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}
.sidebar #navigation .nav-section .nav-item { padding-left: 17px; }
.sidebar #navigation .nav-help {
  margin-top: 6px;
  padding-top: 6px;
  border-top-color: color-mix(in srgb, currentColor 12%, transparent);
}
.sidebar .nav-sort-toggle { font-size: .8125rem; }
@media (prefers-reduced-motion: reduce) {
  .sidebar #navigation .nav-section > summary,
  .sidebar #navigation .nav-section > summary::after { transition: none; }
}

/* Gentle depth, without heavy borders around every nested element. */
.panel, .metric, .connected-profile-card, .opportunity, .settings-card,
.sharing-job-list, .sharing-explainer, .sharing-choices section,
.network-metrics a, .network-contacts, .board-provider, .board-candidate,
.advert-approval-list article, .advert-settings-cards article,
.workflow-step, .mode-preset, .mode-module, .consent-disclosure,
.attention-centre, .workspace-note, .brand-live-preview {
  border-color: var(--line); border-radius: 18px; box-shadow: var(--shadow-card);
}
.panel-header { border-bottom-color: #eee9ef; padding-top: 21px; padding-bottom: 21px; }
.panel-body { padding-top: 23px; padding-bottom: 23px; }
.panel-header small, .metric-top, .metric-note, .metric-note > span { color: var(--muted); }
.metric-value { font-weight: 600; letter-spacing: -.035em; }
.metric-icon, .network-strip-icon, .activity-mark, .company-monogram, .date-tile { border-radius: 12px; }
.network-strip, .network-callout, .first-use, .workflow-launch, .mode-entry,
.company-review-strip, .sharing-review { border-radius: 16px; box-shadow: var(--shadow-card); }
.suite-hero { background: #f2edf6; border-color: #e5ddea; border-radius: 18px; box-shadow: var(--shadow-card); }
.network-hero { background: #f2edf6; color: var(--ink); border: 1px solid #e5ddea; box-shadow: var(--shadow-card); }
.network-hero p, .network-hero .eyebrow { color: var(--muted); }
.network-hero li { border-color: #ddd4e5; }
.network-hero li > span { border-color: #a99ab6; }
.connected-profile-card:hover, .dashboard-metric:hover, .settings-card:hover,
.network-metrics a:hover { border-color: var(--brand-border); box-shadow: var(--shadow-raised); }
.settings-card, .connected-profile-card { background: white; }
.settings-card p, .settings-card span, .settings-card small,
.workflow-step p, .workflow-launch span { color: var(--muted); }
.mode-core, .mode-policy, .mode-full-note, .settings-scope { background: #f1edf3; border-color: var(--line); border-radius: 14px; }
.mode-preset:has(input:checked), .mode-module:has(input:checked) { background: var(--brand-soft); border-color: var(--accent-ink); }

/* Shared-role home: two calm, clearly different starting points. */
.sharing-choices { gap: 24px; }
.sharing-choices section { padding: 30px; border-top: 1px solid var(--line); }
.sharing-choices section:first-child { background: #f4eff9; border-top: 1px solid #e6deef; }
.sharing-choices section:last-child { background: #fbf1e9; border-top: 1px solid #efe1d8; }
.sharing-choice-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; background: white; color: #72558a; margin-bottom: 20px; box-shadow: 0 4px 12px #5540650e; }
.sharing-choice-icon svg { width: 23px; height: 23px; }
.sharing-choices section:last-child .sharing-choice-icon { color: #8b6249; }
.sharing-choices h2 { font-weight: 600; font-size: 26px; letter-spacing: -.025em; margin: 10px 0 12px; }
.sharing-choices p { color: #625a69; }
.sharing-choices .eyebrow { color: #6b6074; }
.sharing-job-row { border-color: #eee9ef; padding: 26px; }
.sharing-role { background: #f2edf6; color: #665274; border-radius: 8px; }
.sharing-job-row p, .sharing-explainer p, .sharing-explainer li,
.sharing-fees small, .sharing-fees p, .sharing-bid-count span { color: var(--muted); }
.sharing-bid-count strong { color: var(--ink); }
.sharing-example, .sharing-next, .sharing-progress li[aria-current],
.sharing-bid-metrics > div, .company-brief .request-metrics > div { background: #f5f1f7; border-color: #e5ddea; border-radius: 12px; }
.sharing-fees > div > div { border-color: var(--line); border-radius: 12px; }
.sharing-explainer summary { color: var(--ink); }
.company-how { border-radius: 14px; box-shadow: var(--shadow-card); }

/* Forms and actions stay crisp, readable and easy to target. */
.btn { border-radius: 11px; border-color: #d8d0dc; color: #51485d; min-height: 42px; box-shadow: 0 2px 4px #39304406; }
.btn:hover { background: #f7f3f9; border-color: #b5a6c3; box-shadow: 0 4px 10px #3930440d; }
.btn.primary { background: var(--accent); border-color: var(--accent); color: var(--accent-on); box-shadow: 0 4px 8px #39304415, 0 7px 16px #3930440a; }
.btn.primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); color: white; box-shadow: 0 6px 14px #39304422; }
.btn.small { min-height: 34px; border-radius: 9px; }
.btn.text, .panel-header > .btn { box-shadow: none; }
.field input, .field select, .field textarea, .search input, .toolbar select,
.checks-toolbar select, .talent-filter select, .table-wrap select,
.advert-table-tools select { border-color: #d8d0dc; border-radius: 10px; color: var(--ink); background: #fff; }
.field input:not([type=checkbox]):not([type=radio]):not([type=color]), .field select,
.field textarea, .search input { box-shadow: inset 0 1px 3px #39304404; }
input::placeholder, textarea::placeholder { color: #79717f; opacity: 1; }
input[type=checkbox], input[type=radio] { accent-color: var(--accent-ink); }
.field-hint, .field small, .board-small { color: var(--muted); }
.form-check { background: #f6f2f8; border-radius: 12px; }
.note, .detail-notes, .guide-note, .talent-next-step { background: #f5f1f7; border-color: #e4dce9; border-radius: 12px; color: #62556e; }
.info-button { color: #65596f; background: #f4eff7; border-color: #d7ccdf; }
.info-button:hover { background: #e9e0f0; color: #493858; }

/* Tables and hiring boards use quiet surfaces, with explicit status text. */
th { background: #f8f5f9; color: #655c6f; border-color: #e9e2ed; text-transform: none; letter-spacing: 0; font-weight: 600; }
td { border-color: #eee9ef; }
td small { color: var(--muted); }
tbody tr:hover { background: #fcfafc; }
.record-link { color: #46384e; }
.badge { border-radius: 7px; }
.badge.neutral { background: #f0edf2; color: #665e70; }
.badge.warm { background: #fcf0df; color: #80591e; }
.lane { border: 1px solid #e5dfe9; background: #eeebf1; border-radius: 16px; }
.lane-heading { color: #554960; }
.lane-heading span { background: white; color: #5e5268; border-radius: 7px; }
.candidate-card { border-color: #e5dfe9; border-radius: 13px; box-shadow: var(--shadow-card); padding: 18px; }
.candidate-card select { border-radius: 9px; }
.lane-empty { color: #716778; }
.workspace-tabs, .boards-tabs, .advert-tabs { border-color: var(--line); }
.workspace-tabs button, .boards-tabs button, .advert-tabs button { color: var(--muted); }
.workspace-tabs button[aria-pressed=true], .boards-tabs button[aria-selected=true],
.advert-tabs button[aria-current=page] { color: var(--accent-ink); background: var(--brand-soft); border-color: var(--accent-ink); }

/* Profile identity, photos and recruiter-controlled picture tags. */
.profile-hero { border-color: var(--line); border-top: 3px solid var(--accent); border-radius: 20px 20px 0 0; padding: 30px; background: #fffdfd; box-shadow: 0 -2px 20px #39304405; }
.profile-hero h1 { font-weight: 600; }
.profile-hero p, .profile-meta-line, .profile-kind, .profile-meta,
.profile-facts dt, .profile-prose, .profile-timeline p { color: var(--muted); }
.profile-facts dd { color: var(--ink); }
.profile-hero-avatar { border-radius: 23px; box-shadow: 0 6px 18px #39304414; border: 4px solid white; }
.profile-tabs { border-color: var(--line); border-radius: 0 0 18px 18px; box-shadow: var(--shadow-card); }
.profile-tabs > a { color: var(--muted); }
.profile-tabs > a:hover { background: var(--brand-soft); }
.profile-tabs > a.active { color: var(--accent-ink); border-color: var(--accent); }
.stage-picture-tag { border-radius: 8px; }
.stage-picture-option { border-radius: 12px; }
.talent-pill { border-radius: 8px; }

/* Personal candidate markers: symbols only, with accessible names. */
.candidate-name-tools { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; }
.candidate-name-tools > .record-link { min-width: 0; overflow-wrap: anywhere; }
.candidate-profile-name { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.candidate-flag-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 3px; flex-shrink: 0; min-height: 32px; min-width: 36px; padding: 4px 6px; border: 1px solid #dfd6e7; border-radius: 9px; background: #faf7fc; color: #71627f; vertical-align: middle; }
.candidate-flag-trigger:hover, .candidate-flag-trigger[aria-expanded=true] { background: #eee7f5; border-color: #9f88b2; box-shadow: 0 3px 9px #39304412; }
.candidate-flag-trigger.has-markers { background: white; border-color: #d8cbe3; }
.candidate-flag-symbols { font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif; font-size: 19px; line-height: 1.2; white-space: nowrap; }
.candidate-flag-symbols > svg { width: 16px; height: 16px; display: block; }
.candidate-flag-trigger .candidate-flag-chevron { width: 11px; height: 11px; }
.candidate-flags-picker { position: fixed; inset: auto; margin: 0; width: 272px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; padding: 12px; border: 1px solid #ded3e7; border-radius: 17px; background: #fff; color: var(--ink); box-shadow: 0 6px 18px #39204420, 0 18px 45px #39204424; }
.candidate-flags-picker::backdrop { background: transparent; }
.candidate-flag-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
.candidate-flag-option, .candidate-flag-footer button { position: relative; display: grid; place-items: center; min-width: 0; height: 43px; border: 1px solid transparent; border-radius: 10px; background: #faf7fc; color: #675374; font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif; font-size: 25px; line-height: 1; }
.candidate-flag-option:hover, .candidate-flag-footer button:hover { background: #eee6f5; border-color: #c4afd4; }
.candidate-flag-option[aria-pressed=true] { border: 2px solid #77548d; background: #f0e7f7; }
.candidate-flag-option[aria-pressed=true]::after { content: '✓'; position: absolute; bottom: 1px; right: 2px; display: grid; place-items: center; width: 14px; height: 14px; border-radius: 50%; background: #684680; color: white; font-family: sans-serif; font-size: 11px; }
.candidate-flag-footer { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 9px; margin-top: 9px; }
.candidate-flag-footer button { width: 43px; height: 36px; font-family: sans-serif; font-size: 24px; }
.candidate-flag-option:disabled, .candidate-flag-footer button:disabled { opacity: .35; }
@media print { .candidate-flag-trigger, .candidate-flags-picker { display: none!important; } }

/* Candidate context stays visible when choosing talent-pool members. */
.pool-picker-help { font-size: 1rem; line-height: 1.6; color: var(--muted); margin: 0 0 18px; }
.pool-picker-filters { display: grid; grid-template-columns: minmax(0, 1fr) 185px; gap: 14px; }
.pool-picker-filters .field + .field { margin-top: 0; }
.pool-picker-status { font-size: .875rem; color: var(--muted); margin: 16px 0 10px; }
.pool-detailed-picker { max-height: 390px; margin-top: 0; border-radius: 14px; }
.pool-detailed-picker .pool-member-option { display: block; padding: 18px; }
.pool-detailed-picker .pool-member-option[hidden] { display: none; }
.pool-detailed-picker .pool-member-option:has(input:checked) { background: var(--brand-soft); box-shadow: inset 3px 0 var(--accent); }
.pool-detailed-picker .pool-member-option:last-of-type { border-bottom: 0; }
.pool-candidate-select { display: flex; gap: 13px; align-items: flex-start; cursor: pointer; }
.pool-candidate-select input { margin: 4px 0 0; }
.pool-candidate-select > span { min-width: 0; }
.pool-candidate-select strong, .pool-person-summary > strong { font-size: 1rem; display: block; line-height: 1.5; }
.pool-candidate-role, .pool-candidate-meta { display: block; font-size: .875rem; line-height: 1.6; color: var(--muted); margin-top: 3px; overflow-wrap: anywhere; }
.pool-candidate-role { color: var(--ink); }
.pool-skill-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; font-size: .875rem; }
.pool-skill-tags > span, .pool-more-skills span { display: inline-block; padding: 3px 8px; background: #f3eff6; color: #5f4d70; border: 1px solid #e4dce9; border-radius: 7px; line-height: 1.5; overflow-wrap: anywhere; }
.pool-detailed-picker .pool-skill-tags, .pool-detailed-picker .pool-missing, .pool-experience { margin-left: 32px; }
.pool-missing { display: block; font-size: .875rem; color: var(--muted); margin-top: 9px; }
.pool-more-skills summary, .pool-experience summary { font-size: .875rem; color: var(--accent-ink); cursor: pointer; padding: 4px 0; }
.pool-more-skills > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.pool-experience { margin-top: 7px; }
.pool-experience p { white-space: pre-wrap; font-size: .875rem; line-height: 1.7; color: var(--muted); margin: 8px 0; }
.pool-picker-empty { padding: 24px 18px; font-size: 1rem; line-height: 1.6; color: var(--muted); }
.pool-person-summary { padding: 18px; border-radius: 14px; background: #f7f3f9; border: 1px solid var(--line); margin-bottom: 18px; }
.pool-destination-list { border: 1px solid var(--line); border-radius: 14px; padding: 0 16px; margin: 20px 0; max-height: 300px; overflow-y: auto; }
.pool-destination-list legend { padding: 0 6px; font-weight: 600; font-size: 1rem; }
.pool-destination { display: flex; align-items: flex-start; gap: 13px; padding: 16px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.pool-destination:last-child { border-bottom: 0; }
.pool-destination input { width: 18px; height: 18px; flex-shrink: 0; margin: 4px 0 0; }
.pool-destination strong, .pool-destination span span, .pool-destination small { display: block; font-size: .875rem; line-height: 1.6; }
.pool-destination strong { font-size: 1rem; }
.pool-destination span span, .pool-destination small { color: var(--muted); margin-top: 4px; }
.pool-destination.is-member { cursor: default; }
.profile-pool-list { display: flex; gap: 8px; flex-wrap: wrap; }
.profile-pool-list .btn { white-space: normal; text-align: left; max-width: 100%; }
.profile-pools > p { font-size: .9375rem; line-height: 1.7; }
.profile-pools .field-hint { margin-top: 16px; font-size: .875rem; }
@media (max-width: 650px) {
  .pool-picker-filters { grid-template-columns: 1fr; }
  .pool-detailed-picker { max-height: 45vh; }
  .pool-detailed-picker .pool-member-option { padding: 16px 12px; }
}

/* Floating surfaces carry the strongest shadow. */
dialog { border: 1px solid #e7dfea; border-radius: 22px; box-shadow: 0 12px 35px #30233e26, 0 35px 100px #30233e40; }
dialog::backdrop { background: #362c4659; backdrop-filter: blur(4px); }
.dialog-header { border-color: var(--line); padding: 25px 28px; }
.dialog-header h2 { font-weight: 600; }
.dialog-footer { background: #faf7fb; border-color: var(--line); }
.close-btn { border-radius: 50%; background: #f4eff7; width: 34px; height: 34px; color: #65566f; flex-shrink: 0; }
#toast { background: #46334f; border-radius: 13px; box-shadow: 0 7px 25px #30233e33; }
.workspace-search-results { border-color: var(--line); border-radius: 14px; box-shadow: var(--shadow-raised); }

/* The branding preview uses the same navigation treatment as the live app. */
.brand-mini-sidebar { background: var(--brand-nav-surface); color: var(--brand-nav-ink); border-right: 1px solid var(--line); }
.brand-mini-sidebar .brand-mini-nav.active { background: white; color: var(--accent-ink); box-shadow: inset 3px 0 var(--accent), 0 2px 8px #3930440d; border-radius: 8px; }
.brand-mini-tagline, .brand-mini-nav, .brand-mini-person small { color: var(--brand-nav-ink); }
.brand-mini-main { background: var(--paper); }
.brand-mini-metrics > div, .brand-mini-candidate { border-radius: 10px; box-shadow: 0 3px 9px #39304408; }
.brand-preview-button { border-radius: 9px; }
.brand-preview-notice, .brand-preview-caption { background: #f8f5f9; color: var(--muted); }

/* A strong outline complements soft shadows for keyboard navigation. */
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible { outline: 3px solid #77548d; outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  .btn, .nav-item, .metric, .connected-profile-card, .settings-card, .network-metrics a {
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease;
  }
}
@media (max-width: 760px) {
  .sidebar { border-bottom: 1px solid var(--line); box-shadow: 0 3px 12px #39304406; }
  .branded-workspace .nav-item.active { box-shadow: inset 0 -3px var(--accent), 0 2px 7px #3930440a; }
  .sharing-choices { gap: 16px; }
  .sharing-choices section { padding: 23px; }
  .sharing-choices h2 { font-size: 24px; }
  .sharing-choice-icon { margin-bottom: 14px; }
  .panel, .metric, .connected-profile-card { border-radius: 14px; }
  .profile-hero { padding: 23px; }
  .dialog-header { padding: 22px; }
  .page-heading, .boards-heading { margin-bottom: 23px; }
  .page-footer { flex-wrap: wrap; }
}
@media print {
  .panel, .metric, .connected-profile-card, .sharing-choices section,
  .sharing-job-list, .profile-hero, .profile-tabs, .candidate-card { box-shadow: none; }
}

/* Pipeline movement: a shape and text cue, not colour alone. */
.pipeline-drag-help { margin: 8px 0; color: var(--muted); font-size: 14px; }
.pipeline-feedback { min-height: 22px; margin: 0 0 12px; font-size: 14px; color: var(--ink); }
[data-pipeline-board] .lane { position: relative; min-height: 240px; }
.pipeline-grip { display: flex; align-items: center; gap: 5px; margin: -5px 0 12px auto; padding: 5px 10px; min-height: 36px; border: 1px solid #dbd4e2; border-radius: 8px; color: #65576e; background: #f8f5fa; font-size: 14px; cursor: grab; touch-action: none; user-select: none; }
.pipeline-grip>span:first-child { font-size: 23px; line-height: 1; }
.pipeline-grip:focus-visible { outline: 3px solid var(--accent-ink); outline-offset: 3px; }
.pipeline-grip:active { cursor: grabbing; }
.candidate-card:has(.pipeline-grip) { cursor: grab; }
.candidate-card a,.candidate-card button { cursor: pointer; }
.candidate-card .pipeline-grip { cursor: grab; }
.pipeline-drag-active { user-select: none; }
.pipeline-dragging { opacity: .45; border-style: dashed; }
[data-pipeline-board] .pipeline-drop-target { outline: 3px dashed var(--accent-ink); outline-offset: -4px; background: var(--brand-soft); }
.pipeline-drop-target>.lane-heading::after { content: 'Drop here'; display: block; font-size: 14px; margin-top: 8px; width: 100%; }
.pipeline-drop-target>.lane-heading { flex-wrap: wrap; }
.pipeline-drag-ghost { position: fixed; z-index: 150; pointer-events: none; max-width: min(340px,calc(100vw - 24px)); padding: 15px 20px; background: white; color: var(--ink); border: 2px solid var(--accent-ink); border-radius: 13px; box-shadow: 0 16px 38px #30213838; font-size: 16px; font-weight: 600; }
.pipeline-saving { pointer-events: none; opacity: .7; }
@media (pointer: coarse) { .pipeline-grip { min-height: 44px; } }
@media print { .pipeline-grip,.pipeline-drag-help,.pipeline-feedback { display: none; } }

/* Keep pipeline controls within their card, including long action labels. */
.admin-board .candidate-card { min-width: 0; overflow-wrap: anywhere; }
.admin-board .candidate-card .actions { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 6px; }
.admin-board .candidate-card .actions > .btn { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
.admin-board .candidate-card .actions > [data-action="placement.new"] { grid-column: 1 / -1; }
.admin-board .candidate-card .btn svg { flex: 0 0 15px; }
.admin-board .candidate-card :is(select,input,textarea) { min-width: 0; max-width: 100%; }
.admin-board .candidate-card :is(.name-cell,h3,.candidate-name-tools,.talent-cell) { min-width: 0; max-width: 100%; }
.admin-board .candidate-card h3 { flex: 1; }
.admin-board .candidate-card .candidate-name-tools { flex-wrap: wrap; }
.admin-board .candidate-card :is(.stage-picture-tag,.talent-pill,.record-link) { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.admin-board .candidate-card :is(.stage-picture-tag,.talent-pill) > span { min-width: 0; }


/* Job focused pipeline headers and compact stage boards. */
.pipeline-role-picker{display:grid;gap:4px;min-width:230px;color:var(--muted);font-size:13px;font-weight:600}
.pipeline-role-picker select{width:100%;min-height:42px;padding:8px 34px 8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-weight:500}
.pipeline-role-tabs{display:flex;gap:22px;align-items:stretch;overflow-x:auto;margin:-8px 0 18px;border-bottom:1px solid var(--line)}
.pipeline-role-tabs button{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:12px 0 10px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.pipeline-role-tabs button[aria-pressed="true"]{border-bottom-color:var(--accent);color:var(--ink)}
.pipeline-role-tabs button span{min-width:24px;padding:2px 7px;border-radius:6px;background:#eef0f4;color:#55515d;text-align:center;font-size:13px;font-weight:600}
.pipeline-role-tabs button[aria-pressed="true"] span{background:var(--brand-soft);color:var(--accent-ink)}
.pipeline-role-tabs button:focus-visible,.pipeline-role-picker select:focus-visible{outline:3px solid var(--accent-ink);outline-offset:2px}
.admin-board[data-pipeline-board]{align-items:start;gap:12px;padding-bottom:14px}
.admin-board[data-pipeline-board] .lane{min-height:370px;padding:10px;background:#f0f2f6;border:1px solid #dfe3ea;border-top:4px solid var(--accent);border-radius:8px}
.admin-board[data-pipeline-board] .lane-heading{align-items:center;padding:2px 3px 11px;color:#383541;font-size:13px;font-weight:700;letter-spacing:.045em;text-transform:uppercase}
.admin-board[data-pipeline-board] .lane-heading span{min-width:25px;padding:2px 7px;border-radius:5px;background:#fff;color:#383541;text-align:center;font-size:13px}
.admin-board[data-pipeline-board] .lane[data-pipeline-stage="New"]{border-top-color:#ce3c8e}
.admin-board[data-pipeline-board] .lane[data-pipeline-stage="Screening"]{border-top-color:#377fc3}
.admin-board[data-pipeline-board] .lane[data-pipeline-stage="Shortlisted"]{border-top-color:#8052bb}
.admin-board[data-pipeline-board] .lane[data-pipeline-stage="Submitted"]{border-top-color:#248aaa}
.admin-board[data-pipeline-board] .lane[data-pipeline-stage="Interview"]{border-top-color:#d49421}
.admin-board[data-pipeline-board] .lane[data-pipeline-stage="Offer"]{border-top-color:#32915a}
.admin-board[data-pipeline-board] .candidate-card{padding:13px;margin-bottom:9px;border-color:#dfe3e9;border-radius:8px;background:#fff;box-shadow:0 1px 3px #1a24300a}
.admin-board[data-pipeline-board] .candidate-card .name-cell{align-items:center;gap:8px}
.admin-board[data-pipeline-board] .candidate-card .name-cell :is(.initials,.avatar,.profile-photo,.profile-avatar){width:38px!important;height:38px!important;min-width:38px;border-radius:50%!important;object-fit:cover}
.admin-board[data-pipeline-board] .candidate-card h3{font-size:14px;line-height:1.35}
.admin-board[data-pipeline-board] .candidate-card p{font-size:13px;line-height:1.45}
.admin-board[data-pipeline-board] .candidate-card .stage-card-picture{margin:6px 0}
.admin-board[data-pipeline-board] .candidate-card .stage-picture-tag{font-size:13px;padding:4px 8px}
.admin-board[data-pipeline-board] .candidate-card .pipeline-grip{min-height:32px;margin:-3px 0 8px auto;padding:3px 8px;font-size:13px}
@media(max-width:760px){.pipeline-role-picker{min-width:0;width:100%}.pipeline-role-tabs{gap:16px}.admin-board[data-pipeline-board]{grid-auto-columns:minmax(245px,84vw)}}
.dashboard-stage-disclosure{padding:0 20px 14px}
.dashboard-stage-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;color:var(--accent-ink,#435a74);font-size:13px;font-weight:650}
.dashboard-stage-disclosure>summary::-webkit-details-marker{display:none}
.dashboard-stage-disclosure>summary::after{content:'⌄';color:var(--muted);transition:transform .15s ease}
.dashboard-stage-disclosure[open]>summary::after{transform:rotate(180deg)}
.dashboard-stage-disclosure>summary>span{margin-left:auto;color:var(--muted);font-size:12px;font-weight:500}
.dashboard-stage-disclosure .dashboard-pipeline{padding:16px 0 8px}
@media(max-width:760px){.dashboard-stage-disclosure{padding:0 16px 13px}}
