/* =====================================================================
 * nlr-pipeline.css — WP3a + WP3b of the NLR SYSTEM port (PLAN §5). Owned by WP3a/WP3b only (PLAN D2).
 * WP3a: pipeline header, mindset frame + SAY YES, reminder bar, stats/search row, tools row
 *       (closer SPEC §2.2/§2.4.2-4, setter SPEC §2.1-2.4, aplicari SPEC §1.1).
 * WP3b: stage variables (PLAN §3.3), board, columns, headers, count ring, empty state, cards, chips, tones, drag, "more"
 *       (setter SPEC §2.5-2.9 + §4.4, closer SPEC §2.2/§2.4.5-7, aplicari SPEC §1.1/§1.4).
 * Values are NLC's final computed ones (glow.css "Round" winners), ported without !important (D3): the selectors here
 * are one class stronger than the styles.css / nlr-base.css rules they replace, and this file loads after both.
 * ===================================================================== */

/* =========================== WP3a · header =========================== */
.app-header.pipeline-header {
  display: block; position: relative; z-index: 5; min-height: 0; margin: 0; border: 0; border-radius: 0;
  padding: 18px clamp(16px, 3vw, 48px) 0; background: none; box-shadow: none; color: #fff;
}
.app-header.pipeline-header::after { content: none; }
/* the title light (::before, inset -48px) must not widen the page */
.app-header.pipeline-header { overflow-x: clip; }
.pipeline-brand { position: absolute; top: 18px; left: clamp(16px, 3vw, 48px); z-index: 5; display: flex; margin: 0; padding: 0; border: 0; background: none; }
.pipeline-brand .nlr-logo {
  display: block; width: 340px; height: 104px; object-fit: contain; object-position: left center;
  filter: drop-shadow(0 0 16px rgba(212,175,55,.28)) drop-shadow(0 4px 10px rgba(0,0,0,.55));
}
/* .role-command / .pipeline-titlebar (glow.css:187, 364, 384-385, 3783, 3937, 3955) */
.role-command { position: relative; isolation: isolate; display: flex; flex-wrap: wrap; align-items: stretch; gap: 0 40px; min-height: 140px; margin: 0 0 14px; padding: 0 4px; }
.role-command::before {
  content: ""; position: absolute; inset: -20px -48px -10px; z-index: -1; pointer-events: none;
  background: radial-gradient(45% 140% at 66% 35%, rgba(255,214,140,.34), rgba(255,190,90,.12) 45%, transparent 75%),
    radial-gradient(32% 110% at 24% 25%, rgba(170,200,255,.16), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04) 55%, transparent);
  -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 70%, transparent);
}
/* the gold "flame" line under the title block (glow.css:385, 2409: static) */
.role-command::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, #b68a1e 12%, #d4af37 30%, #fff1b8 50%, #d4af37 70%, #b68a1e 88%, transparent 100%) 0 0 / 200% 100%;
  box-shadow: 0 0 10px rgba(212,175,55,.85), 0 0 26px rgba(212,175,55,.45), 0 -6px 18px rgba(255,190,90,.25);
}
.momentum-heading { display: flex; flex-direction: column; justify-content: center; min-height: 140px; margin-left: 356px; padding: 18px 18px 6px; min-width: 0; }
.momentum-heading p {
  display: block; margin: 0 0 4px; padding: 0; border: 0; background: none;
  font: 800 9.12px Sora, Montserrat, sans-serif; letter-spacing: .3em; color: #d4af37; text-shadow: 0 0 8px rgba(212,175,55,.5);
}
.momentum-heading h1 {
  margin: 0; line-height: 1.03; white-space: nowrap;
  font: 700 clamp(1.5rem, 2.2vw, 2.2rem) Montserrat, Inter, sans-serif; letter-spacing: .02em;
  background: var(--nlr-silver); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.6)) drop-shadow(0 0 18px rgba(212,175,55,.18));
}
.momentum-heading span { display: block; margin-top: 4px; font: 700 11.52px Sora, Montserrat, sans-serif; letter-spacing: .08em; color: #f1d36a; text-shadow: 0 0 10px rgba(212,175,55,.4); }
.momentum-heading span em { font-style: normal; color: #f1d36a; }
.momentum-heading span b { font-weight: inherit; color: #fff; }

/* the motivation = NLC #motivationPanel in the setter title bar (glow.css:183-211, 369-383, 507-553, 2106, measured live):
   no frame, no "MINDSET" label, the quote centred in the free space right of the title; it wraps under the title when that
   space is narrower than the quote. .nlr-console / .nlr-console-quote / #yes stay in the DOM (app.js sayYes). */
.nlr-console {
  position: relative; flex: 1 1 auto; align-self: stretch; display: flex; align-items: center; justify-content: center; gap: 16px; min-width: 0;
  margin: 0 0 0 40px; padding: 18px 200px 0 24px; border: 0; border-radius: 0; background: none; box-shadow: none; color: #fff;
}
.nlr-console-tab { display: none; }
/* the quote: NLC .motivation-copy (max-width 820, padding 10px 6px) + strong (silver gradient per line, clipped to text) */
.nlr-console-quote {
  flex: 0 1 auto; min-width: 0; max-width: 808px; display: block; margin: 10px auto; text-align: center;
  font: 700 clamp(1.15rem, 1.6vw, 1.6rem)/1.3 Montserrat, Inter, sans-serif; letter-spacing: .01em;
  background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(223,230,239,.9) 45%, rgba(158,171,187,.85) 75%, rgba(244,247,251,.9) 100%) 0 0 / 100% 1.3em repeat-y;
  -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.55));
}
.nlr-console-quote > span { position: relative; }
/* NLC hides SAY YES everywhere (glow.css:210) */
.nlr-console .motivation-yes { display: none; }
/* SAY YES (#motivationYes, pipeline.css:729, 821, 1281) */
.motivation-yes {
  flex: 0 0 auto; min-width: 142px; min-height: 46px; padding: 9px 22px; border: 2px solid #f7df7f; border-radius: 11px; cursor: pointer;
  background: linear-gradient(135deg, #fff0a3 0%, #e7c84f 38%, #d4af37 66%, #a97d13 100%); color: #061426;
  font: 800 .86rem Sora, Montserrat, sans-serif; letter-spacing: .015em; white-space: nowrap;
  box-shadow: 0 10px 24px rgba(212,175,55,.32), inset 0 1px 0 rgba(255,255,255,.65);
  transition: transform .18s ease, box-shadow .18s ease;
}
.motivation-yes:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(212,175,55,.42), inset 0 1px 0 rgba(255,255,255,.7); }
.motivation-yes:focus-visible { outline: 2px solid #fff3c4; outline-offset: 3px; }
/* .is-yes for 5.2 s (pipeline.css:830-842) */
.nlr-console.is-yes { animation: nlrYesPulse 5.2s ease both; }
.nlr-console.is-yes .motivation-yes { animation: nlrYesButton 5.2s ease both; }
@keyframes nlrYesPulse {
  0% { border-color: rgba(241,211,106,.42); box-shadow: 0 0 0 3px rgba(7,13,24,.8), 0 0 0 4px rgba(212,175,55,.3), 0 14px 34px rgba(0,0,0,.28); }
  12% { border-color: #fff2a9; box-shadow: 0 0 0 6px rgba(212,175,55,.2), 0 0 48px rgba(241,211,106,.72); }
  55% { border-color: #f1d36a; box-shadow: 0 0 0 3px rgba(212,175,55,.14), 0 0 34px rgba(241,211,106,.48); }
  100% { border-color: #c9a54a; box-shadow: 0 0 0 3px rgba(7,13,24,.8), 0 0 0 4px rgba(212,175,55,.3), 0 10px 24px rgba(0,0,0,.35); }
}
@keyframes nlrYesButton {
  0%, 100% { transform: none; }
  10% { transform: translateY(-3px) scale(1.05); filter: brightness(1.18); }
  55% { transform: translateY(-1px) scale(1.02); filter: brightness(1.08); }
}

/* =========================== WP3a · module body =========================== */
.module.pipeline-main { max-width: none; margin: 0; padding: 0 clamp(16px, 3vw, 48px) 0; background-image: linear-gradient(rgba(6,20,38,.16), rgba(6,20,38,.3)); }

/* reminder bar #now = NLC .appointment-reminder (pipeline.css:1467 + glow.css:3923-3929, 4096-4097) */
.appointment-reminder {
  display: flex; align-items: center; gap: 12px; margin: 8px 0 6px; padding: 6px 14px; cursor: pointer;
  border: 1px solid #b68a1e; border-radius: 12px; color: #eaf2fb;
  background: linear-gradient(110deg, rgba(18,29,40,.98), rgba(9,18,29,.98)); box-shadow: 0 12px 34px rgba(0,0,0,.26);
}
.appointment-reminder:focus-visible { outline: 2px solid #f1d36a; outline-offset: 2px; }
.appointment-reminder-icon {
  flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
  border: 1px solid rgba(243,217,139,.55); background: rgba(255,255,255,.06); color: #f3d98b; line-height: 0;
}
.appointment-reminder-icon svg { width: 15px; height: 15px; display: block; }
.appointment-reminder > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 10px; min-width: 0; }
.appointment-reminder small { display: block; color: #d4af37; font: 900 9.5px Inter, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.appointment-reminder strong { display: block; color: #f7fbff; font: 700 13.5px Inter, system-ui, sans-serif; }
.appointment-reminder span { color: #9fb0c4; font-size: 11.5px; }
.appointment-reminder > b { margin-left: auto; min-width: 110px; text-align: right; color: #f1d36a; font: 700 14px Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; }
.appointment-reminder.is-soon { border-color: #ffb72e; box-shadow: 0 0 0 1px rgba(255,183,46,.3), 0 12px 38px rgba(255,149,0,.18); }
.appointment-reminder.is-due { border-color: #ff5555; animation: appointmentGlow 1.15s ease-in-out infinite; }
.appointment-reminder.is-due small, .appointment-reminder.is-due > b { color: #ff6868; }
.appointment-reminder.is-due .appointment-reminder-icon { border-color: rgba(255,104,104,.6); color: #ff8a8a; }
/* aplicări "DE CONFIRMAT": the gold bar with a pulsing red bell (Rents bell-pulse kept, D4) */
.appointment-reminder.is-confirm .appointment-reminder-icon { border-color: rgba(255,92,112,.6); background: rgba(240,68,56,.22); color: #fff; animation: bell-pulse 1.6s ease-in-out infinite; }
.appointment-reminder.is-confirm > b { min-width: 0; padding: 5px 12px; border-radius: 999px; border: 1px solid rgba(212,175,55,.55); background: rgba(212,175,55,.12); font: 800 11px Montserrat, sans-serif; letter-spacing: .08em; }
@keyframes appointmentGlow {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,85,85,.32), 0 0 14px rgba(255,85,85,.2); }
  50% { box-shadow: 0 0 0 3px rgba(255,85,85,.55), 0 0 38px rgba(255,85,85,.5); }
}

/* search + KPI strip (glow.css:558-574, 4232-4233) and the Rents-only tools on the same line */
.pipeline-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; margin: 6px 0 4px; padding: 0 4px; }
.pipeline-stats { display: flex; align-items: center; flex-wrap: wrap; gap: 0; min-width: 0; }
.pipeline-search { display: flex; align-items: center; gap: 6px; width: 300px; max-width: 100%; margin: 0 22px 0 0; padding: 0 0 0 2px; border-bottom: 1px solid rgba(212,175,55,.3); }
.pipeline-search i { font-style: normal; color: #b68a1e; font-size: 13.76px; line-height: 1; }
.pipeline-search input {
  flex: 1; min-width: 0; height: 46px; padding: 11px 13px 11px 8px; border: 0; outline: 0; background: transparent; border-radius: 0;
  color: #fff; font: 500 12.5px Montserrat, Arial, sans-serif;
}
.pipeline-search input::placeholder { color: #c9d3df; opacity: .85; }
.pipeline-search:focus-within { border-bottom-color: rgba(241,211,106,.8); }
.pipeline-stats article { display: flex; align-items: center; gap: 8px; padding: 0 18px; line-height: 1; }
.pipeline-stats article + article { border-left: 1px solid rgba(212,175,55,.3); }
.pipeline-search + article { padding-left: 0; }
.pipeline-stats article strong { font: 800 14px Sora, Montserrat, sans-serif; color: #e9cf7a; }
.pipeline-stats article span { font: 600 10.5px Inter, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #9fb0c6; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.pipeline-toolbar .tools { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin: 0 0 0 auto; font-size: 12px; color: #9fb0c6; }
.pipeline-toolbar .tools label { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.pipeline-toolbar .tools label > span { font: 600 10.5px Inter, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #9fb0c6; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.pipeline-toolbar .tools select {
  margin: 0; height: 34px; min-height: 34px; padding: 0 28px 0 12px; border-radius: 12px; border: 1px solid rgba(95,140,190,.3);
  background-color: rgba(6,17,33,.6); color: #fff; font: 600 12.5px Montserrat, Inter, sans-serif; color-scheme: dark; cursor: pointer;
  width: 138px; text-overflow: ellipsis;
}
.pipeline-toolbar .tools select:focus { outline: 0; border-color: rgba(212,175,55,.75); box-shadow: 0 0 0 3px rgba(212,175,55,.18); }
.pipeline-toolbar #kind { width: 170px; }
.pipeline-toolbar #count { font: 600 11px Inter, system-ui, sans-serif; letter-spacing: .06em; color: #9fb0c6; white-space: nowrap; }
.pipeline-toolbar .tool-ghost {
  min-height: 34px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(212,175,55,.45); background: rgba(6,17,33,.45);
  color: #f3e3b0; font: 700 12px Montserrat, Inter, sans-serif; letter-spacing: .02em;
}
.pipeline-toolbar .tool-ghost:hover { border-color: #d4af37; background: rgba(212,175,55,.14); color: #fff; }
.pipeline-toolbar .tool-gold {
  min-height: 34px; padding: 0 16px; border-radius: 999px; border: 1px solid #f7df7f; color: #061426;
  background: linear-gradient(135deg, #fff0a3 0%, #e7c84f 38%, #d4af37 66%, #a97d13 100%);
  font: 800 12px Sora, Montserrat, sans-serif; letter-spacing: .015em;
  box-shadow: 0 8px 20px rgba(212,175,55,.28), inset 0 1px 0 rgba(255,255,255,.65);
}
.pipeline-toolbar .tool-gold:hover { background: linear-gradient(135deg, #fff0a3 0%, #e7c84f 38%, #d4af37 66%, #a97d13 100%); filter: brightness(1.07); border-color: #fff0a3; }

/* =========================== WP3b · stage variables (PLAN §3.3, D5) =========================== */
.column.col-new         { --stage-rgb: 223,230,238; --stage-accent: #dfe6ee; --frame: #dfe6ee; }
.column.col-long        { --stage-rgb: 53,101,143;  --stage-accent: #4f8cc4; --frame: #4f8cc4; }
.column.col-second      { --stage-rgb: 23,54,83;    --stage-accent: #3d6d9e; --frame: #3d6d9e; }
.column.col-appointment { --stage-rgb: 182,138,30;  --stage-accent: #c99a2e; --frame: #c99a2e; }
.column.col-complete    { --stage-rgb: 212,175,55;  --stage-accent: #f1d36a; --frame: #f1d36a; z-index: 3; }
.column.col-lost        { --stage-rgb: 110,118,128; --stage-accent: #8a939e; --frame: #8a939e; }

/* =========================== WP3b · board =========================== */
.board.pipeline-board {
  --cols: 5; display: grid; grid-auto-flow: row; grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  gap: clamp(8px, .9vw, 16px); padding: 4px 2px 12px; overflow: visible; scrollbar-color: #d4af37 #07182d;
}
/* the transparent glass column (glow.css:789, 801, 4121, 26) */
.column.pipeline-column {
  position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 240px; max-height: none; overflow: hidden;
  border: 1px solid rgba(var(--stage-rgb), .45); border-radius: 18px; container-type: inline-size;
  background: linear-gradient(180deg, rgba(var(--stage-rgb), .08) 0%, rgba(6,20,38,.08) 30%, rgba(6,20,38,.12) 100%);
  box-shadow: 0 0 6px rgba(var(--stage-rgb), .45), 0 18px 26px -10px rgba(0,0,0,.45);
  transition: transform .3s cubic-bezier(.2,.75,.25,1), box-shadow .3s ease, border-color .3s ease;
}
.column.pipeline-column:hover { transform: translateY(-4px); border-color: rgba(var(--stage-rgb), .9); box-shadow: 0 0 14px rgba(var(--stage-rgb), .7), 0 22px 30px -10px rgba(0,0,0,.5); }
/* drop target: NLC hover glow + an inset ring (setter §2.6) */
.column.pipeline-column.drag-over {
  transform: translateY(-4px); border-color: rgba(var(--stage-rgb), .9);
  box-shadow: 0 0 0 2px rgba(var(--stage-rgb), .6) inset, 0 0 18px rgba(var(--stage-rgb), .55), 0 22px 30px -10px rgba(0,0,0,.5);
}
/* column header (glow.css:41, 708, 743, 790, 3849) */
.column.pipeline-column > header {
  position: relative; z-index: 1; isolation: auto; overflow: visible; flex: none;
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  height: auto; min-height: 104px; margin: 0; padding: 12px; border: 0; border-radius: 17px 17px 0 0; color: #fff;
  background: linear-gradient(180deg, rgba(var(--stage-rgb), .42) 0%, rgba(var(--stage-rgb), .18) 70%, rgba(var(--stage-rgb), .08) 100%);
  box-shadow: inset 0 -1px 0 rgba(var(--stage-rgb), .55);
}
.column.pipeline-column > header::before, .column.pipeline-column > header::after { content: none; }
.column.pipeline-column .pipeline-stage-title { min-width: 0; }
.column.pipeline-column .col-step { display: none; }
.column.pipeline-column .pipeline-stage-title > span {
  display: block; white-space: normal; overflow-wrap: break-word; font: 700 1.12rem/1.17 Montserrat, Inter, sans-serif; letter-spacing: -.01em;
  background: none; filter: none; color: #fff; -webkit-text-fill-color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.7), 0 0 14px rgba(var(--stage-rgb), .8);
}
.column.pipeline-column .pipeline-stage-title > small {
  display: block; max-width: none; margin-top: 6px; font: 600 .74rem/1.4 Inter, system-ui, sans-serif; opacity: .92;
  color: #d5dde8; -webkit-text-fill-color: #d5dde8; text-shadow: 0 1px 2px rgba(0,0,0,.6);
}
@container (max-width: 250px) { .column.pipeline-column .pipeline-stage-title > small { display: none; } }
/* the count ring (glow.css:80, 722) */
.column.pipeline-column > header > b {
  position: relative; flex: 0 0 auto; display: grid; place-items: center; min-width: 32px; height: 32px; padding: 0 8px;
  border: 0; border-radius: 999px; background: rgba(6,20,38,.6); color: #fff; font: 700 .82rem Montserrat, Inter, sans-serif; text-shadow: none;
  box-shadow: 0 0 0 1.5px rgba(var(--stage-rgb), .9), 0 0 10px rgba(var(--stage-rgb), .5);
}
.column.pipeline-column > header > b::after { content: none; }
/* card list (glow.css:158, 725, 792, 3864) */
.column.pipeline-column > .cards {
  position: relative; z-index: 1; flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 9px;
  padding: 10px 6px 12px; overflow: hidden auto; scrollbar-width: thin; scrollbar-color: var(--stage-accent) rgba(6,20,38,.18);
}
/* empty state (glow.css:94, closer §2.2) */
.cards .pipeline-empty {
  display: grid; justify-items: center; align-content: center; gap: 0; min-height: 220px; padding: 48px 10px 28px; opacity: .85;
  text-align: center; color: #e6ecf3; font-size: 14px;
}
.cards .pipeline-empty i {
  display: grid; place-items: center; width: 52px; height: 52px; margin: 0 0 14px; border-radius: 50%; font-style: normal; font-size: 20px;
  background: rgba(6,20,38,.35); color: var(--stage-accent); box-shadow: 0 0 0 1px rgba(var(--stage-rgb), .5), 0 0 18px rgba(var(--stage-rgb), .2);
}
.cards .pipeline-empty strong { font: 700 14px Montserrat, Inter, sans-serif; color: #e6ecf3; text-shadow: 0 1px 3px rgba(0,0,0,.7); }
.cards .pipeline-empty small { margin-top: 6px; font-size: 12.3px; color: #aebbc9; text-shadow: 0 1px 3px rgba(0,0,0,.7); }
/* "Încarcă mai multe": ghost pill in the stage colour (closer §2.4.7) */
.cards .pipeline-more, .cards .pipeline-more.btn-sm {
  width: 100%; min-height: 32px; margin-top: 2px; padding: 0 12px; border-radius: 999px;
  border: 1px solid rgba(var(--stage-rgb), .45); background: rgba(255,255,255,.05); color: #fff; font: 700 11px Montserrat, Inter, sans-serif;
}
.cards .pipeline-more:hover { border-color: rgba(var(--stage-rgb), .9); background: rgba(var(--stage-rgb), .16); }

/* =========================== WP3b · cards (glow.css:806-822, 855, 2501, 3839-3869, 4093, 4202-4211) =========================== */
.card.pipeline-lead {
  position: relative; display: flex; flex-direction: column; gap: 6px; min-height: 146px; min-width: 0; width: 100%; margin: 0;
  padding: 11px 8px 10px 12px; overflow: hidden; cursor: grab; color: #fff;
  border: 1px solid rgba(255,255,255,.09); border-radius: 14px;
  background: linear-gradient(135deg, rgba(var(--stage-rgb), .12) 0%, rgba(var(--stage-rgb), 0) 45%), linear-gradient(180deg, rgba(24,44,74,.45) 0%, rgba(9,22,42,.55) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 24px -14px rgba(0,0,0,.9);
  transition: transform .2s ease, box-shadow .25s ease, border-color .25s ease;
}
.card.pipeline-lead::before {
  content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 4px; border-radius: 0 4px 4px 0; pointer-events: none;
  background: linear-gradient(180deg, var(--stage-accent), rgba(var(--stage-rgb), .35)); box-shadow: 0 0 12px rgba(var(--stage-rgb), .9);
}
.card.pipeline-lead:hover {
  transform: translateY(-2px); border-color: rgba(var(--stage-rgb), .6);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 0 22px rgba(var(--stage-rgb), .3), 0 14px 28px -14px rgba(0,0,0,.95);
}
.column.pipeline-column > .cards > *, .card.pipeline-lead > * { flex-shrink: 0; }
.card.pipeline-lead.dragging { opacity: .45; cursor: grabbing; }
/* row 1: name, then the case number in a pill */
.card.pipeline-lead .card-top { display: flex; align-items: center; gap: 10px; min-width: 0; }
.card.pipeline-lead strong.name {
  flex: 1 1 auto; min-width: 0; display: block; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font: 700 13px/1.2 Montserrat, Inter, sans-serif; letter-spacing: -.01em; color: #fff;
}
.card.pipeline-lead small.num {
  flex: none; max-width: 96px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  padding: 2px 6px; border-radius: 999px; background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  font: 700 9px/1.35 Inter, system-ui, sans-serif; letter-spacing: .06em; color: #a9b7c9;
}
/* row 2: flag chip, number, the round stage-coloured call button, TEST on the right */
.card.pipeline-lead .line { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; min-width: 0; font-size: 12px; color: #e3e9f1; }
.card.pipeline-lead .line .phone { font: 600 12px Inter, system-ui, sans-serif; color: #e3e9f1; white-space: nowrap; }
.card.pipeline-lead .line .phone.none { font-weight: 500; color: #8fa0b6; }
.card.pipeline-lead .flag {
  padding: 2px 6px; border-radius: 999px; background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  font: 700 9px/1.35 Inter, system-ui, sans-serif; letter-spacing: .06em; color: #c9d3df;
}
.card.pipeline-lead a.call {
  flex: none; display: inline-grid; place-items: center; width: 26px; height: 26px; padding: 0; border-radius: 50%; text-decoration: none;
  border: 1px solid rgba(var(--stage-rgb), .6); background: rgba(var(--stage-rgb), .1); color: var(--stage-accent);
  transition: background .15s ease, box-shadow .15s ease;
}
.card.pipeline-lead a.call svg { width: 13px; height: 13px; display: block; }
.card.pipeline-lead a.call:hover { background: rgba(var(--stage-rgb), .24); box-shadow: 0 0 12px rgba(var(--stage-rgb), .45); }
.card.pipeline-lead .test-badge { margin-left: auto; }
/* row 3: "closer X · de la Y" */
.card.pipeline-lead .who { font: 600 10.5px/1.3 Inter, system-ui, sans-serif; letter-spacing: .02em; color: #9fb0c4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* status chips: 22px pills (glow.css:3583, 3847, 4211) */
.card.pipeline-lead .status { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; font-size: 11px; }
.card.pipeline-lead .status:empty { display: none; }
.card.pipeline-lead .status > *, .card.pipeline-lead .test-badge {
  display: inline-flex; align-items: center; gap: 5px; min-height: 22px; height: auto; padding: 2px 8px; border-radius: 999px;
  font: 700 11px/1.25 Inter, system-ui, sans-serif; letter-spacing: 0; border: 0;
}
/* default .badge (PLĂTIT ✓, Fișă trimisă ✓, ◷ N cu oră, N vizionări) = NLC .email-confirmation green chip */
.card.pipeline-lead .badge { color: #7fd8a6; background: rgba(127,216,166,.12); box-shadow: inset 0 0 0 1px rgba(127,216,166,.3); }
/* gold = NLC appt-chip (glow.css:4214) */
.card.pipeline-lead .badge.gold { color: #f3d77a; background: rgba(212,175,55,.12); box-shadow: inset 0 0 0 1px rgba(212,175,55,.5); font-weight: 800; }
.card.pipeline-lead .badge.red { color: #ffb4bd; background: rgba(255,77,100,.12); box-shadow: inset 0 0 0 1px rgba(255,92,112,.45); }
/* alert (pulsing, kept): solid NLC red with Rents bell-pulse */
.card.pipeline-lead .badge.alert { color: #fff; background: linear-gradient(180deg, #e0414f, #b8212f); box-shadow: inset 0 0 0 1px rgba(255,160,170,.45); animation: bell-pulse 1.6s ease-in-out infinite; }
/* confirmed viewing = NLC videoident-complete green tone */
.card.pipeline-lead .badge.viz-ok { color: #bff0d2; background: rgba(45,192,112,.22); box-shadow: inset 0 0 0 1px rgba(101,231,163,.75), 0 0 14px -2px rgba(64,217,134,.45); font-weight: 800; }
.card.pipeline-lead .badge.test, .card.pipeline-lead .test-badge { min-height: 0; padding: 1px 4px; border-radius: 5px; background: #ffe5a0; color: #342700; box-shadow: none; font: 700 10.5px/1.3 Inter, system-ui, sans-serif; animation: none; }
.card.pipeline-lead .badge.old { display: inline-block; min-height: 0; margin-right: 2px; padding: 1px 5px; border-radius: 999px; vertical-align: 1px;
  background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); color: #c9d3df; font: 700 9px/1.35 Inter, system-ui, sans-serif; letter-spacing: .08em; }
/* the appointment line = NLC .appt-chip */
.card.pipeline-lead .appt {
  color: #f3d77a; background: rgba(212,175,55,.12); box-shadow: inset 0 0 0 1px rgba(212,175,55,.5); font-weight: 800; text-shadow: none;
}
/* notes: one 11.5px line block with a stage-coloured rule; the lost reason in red (setter §4.4) */
.card.pipeline-lead .card-nota {
  margin: 0; padding: 4px 8px; border-left: 2px solid rgba(var(--stage-rgb), .75); border-radius: 0 6px 6px 0;
  background: rgba(var(--stage-rgb), .08); color: #c9d3df; font: 500 11.5px/1.35 Inter, system-ui, sans-serif;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere;
}
.card.pipeline-lead .card-nota.lost { border-left-color: rgba(255,92,112,.75); background: rgba(255,77,100,.1); color: #ffb4bd; }
/* aplicări WhatsApp copy button = NLC gold-glass button (glow.css:1851-1853) */
.card.pipeline-lead .card-wa {
  width: 100%; min-height: 30px; margin: 2px 0 0; padding: 0 10px; border-radius: 12px; border: 1px solid rgba(233,207,122,.7);
  background: var(--nlr-gold-btn); color: #fff; font: 800 11.5px Montserrat, Inter, sans-serif; text-shadow: 0 1px 2px rgba(0,0,0,.45);
  box-shadow: 0 0 18px rgba(212,175,55,.3);
}
.card.pipeline-lead .card-wa:hover { background: var(--nlr-gold-btn); filter: brightness(1.08); border-color: #f3e3b0; }
/* actions row, in the normal flow at the bottom (Rents cards are auto-height) */
.card.pipeline-lead .actions {
  display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-top: auto; padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.card.pipeline-lead .open {
  flex: 1 1 auto; max-width: 113px; display: inline-flex; align-items: center; height: 24px; padding: 0 4px 0 8px; border-radius: 999px;
  background: rgba(var(--stage-rgb), .16); box-shadow: inset 0 0 0 1px rgba(var(--stage-rgb), .45);
  font: 700 11px/18px Inter, system-ui, sans-serif; color: #fff; white-space: nowrap; transition: background .2s ease, text-shadow .2s ease;
}
.card.pipeline-lead:hover .open { background: rgba(var(--stage-rgb), .35); text-shadow: 0 0 10px rgba(var(--stage-rgb), .8); }
.card.pipeline-lead .order { display: flex; gap: 4px; opacity: .35; transition: opacity .2s ease; }
.card.pipeline-lead:hover .order, .card.pipeline-lead .order:focus-within { opacity: 1; }
.card.pipeline-lead .order button {
  display: grid; place-items: center; width: 22px; height: 22px; min-height: 0; padding: 0; border: 0; border-radius: 50%;
  background: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); color: #8fa0b6; font: 700 12px/1 Inter, system-ui, sans-serif; cursor: pointer;
}
.card.pipeline-lead .order button:hover { color: #fff; box-shadow: inset 0 0 0 1px rgba(var(--stage-rgb), .7); background: rgba(var(--stage-rgb), .14); }

/* whole-card tones (glow.css:4114, 2594, 2142-2151, 4107) */
.card.pipeline-lead.appointment-due { border-color: #ff5555; box-shadow: 0 0 0 1px rgba(255,85,85,.45), 0 0 12px rgba(255,85,85,.22); }
.card.pipeline-lead.appointment-due::before { background: #ff6b6b; box-shadow: 0 0 10px rgba(255,85,85,.8); }
.card.pipeline-lead.payment-appointment { border-color: rgba(96,165,250,.65); background: linear-gradient(135deg, rgba(59,130,246,.3), rgba(30,64,175,.22)); }
.card.pipeline-lead.payment-appointment .appt { color: #bfdbfe; background: rgba(59,130,246,.2); box-shadow: inset 0 0 0 1px rgba(147,197,253,.55); }
.card.pipeline-lead.needs-confirm { border-color: rgba(255,115,120,.75); background: linear-gradient(135deg, rgba(223,64,75,.22), rgba(14,31,47,.7)); box-shadow: 0 0 14px -2px rgba(238,71,82,.45), inset 0 1px 0 rgba(255,255,255,.1); }
.card.pipeline-lead.needs-confirm::before { background: #ff7378; box-shadow: 0 0 10px rgba(255,115,120,.8); }
.card.pipeline-lead.tone-green { border-color: rgba(101,231,163,.75); background: linear-gradient(135deg, rgba(45,192,112,.22), rgba(14,31,47,.7)); box-shadow: 0 0 14px -2px rgba(64,217,134,.45), inset 0 1px 0 rgba(255,255,255,.1); }
.card.pipeline-lead.tone-green::before { background: #65e7a3; box-shadow: 0 0 10px rgba(101,231,163,.8); }
.card.pipeline-lead.tone-amber { border-color: rgba(255,173,71,.7); background: linear-gradient(135deg, rgba(255,157,48,.18), rgba(14,31,47,.7)); box-shadow: 0 0 14px -2px rgba(255,157,48,.4), inset 0 1px 0 rgba(255,255,255,.1); }
.card.pipeline-lead.tone-amber::before { background: #ffad47; box-shadow: 0 0 10px rgba(255,173,71,.8); }
.card.pipeline-lead.is-locked { opacity: .72; filter: saturate(.6); }
.card.pipeline-lead.is-locked:hover { opacity: .9; }

/* =========================== layout breakpoints =========================== */
@media (min-width: 1000px) {
  /* the columns end at the bottom of the viewport; only the card lists scroll (NLC fitBoard, glow.css:3879-3884) */
  .board.pipeline-board > .column.pipeline-column { height: calc(100vh - var(--board-top, 300px) - 66px); }
}
@media (min-width: 1000px) and (max-width: 1199px) {
  .board.pipeline-board { grid-template-columns: repeat(var(--cols), minmax(200px, 1fr)); overflow-x: auto; }
}
/* review: NLC .pipeline-titlebar offsets measured live at 1440 (title p +27, h1 +43, frame +166 from x83 to the right edge,
   flame line 8px under the frame = .nlc-day-host padding 4 + .nlc-day margin 4) */
/* the title bar starts at the top of the page; the logo hangs 18px down beside it (NLC setter, measured live) */
@media (min-width: 1101px) {
  .app-header.pipeline-header { padding-top: 0; }
}
@media (max-width: 1100px) {
  /* logo goes back in the flow at 240×72 (glow.css:1705-1708, 393-397) */
  .app-header.pipeline-header { padding: 10px 16px 0; }
  .pipeline-brand { position: relative; top: 0; left: 0; }
  .pipeline-brand .nlr-logo { width: 240px; height: 72px; }
  .momentum-heading { margin-left: 0; }
  .nlr-console { padding: 18px 24px 0; }
}
@media (max-width: 900px) {
  .role-command { flex-direction: column; align-items: flex-start; gap: 8px; }
  .nlr-console { align-self: stretch; margin-left: 0; }
}
@media (max-width: 999px) {
  .board.pipeline-board {
    grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(270px, 82vw);
    max-width: 100%; overflow-x: auto; overflow-y: visible; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; padding-bottom: 16px;
  }
  .board.pipeline-board > .column.pipeline-column { height: calc(100vh - 210px); min-height: 540px; scroll-snap-align: start; }
  .column.pipeline-column:hover, .column.pipeline-column.drag-over { transform: none; }
}
/* mobile (closer §2.4.8, setter §5.1.5): logo centred, heading centred, frame stacked, search full width, stats wrap. Fixes D13. */
@media (max-width: 760px) {
  /* phones: the 240×72 logo stays left, the title block is centred, the quote centred under it (NLC ≤620px, measured live) */
  .role-command { display: block; min-height: 0; padding: 0 0 14px; margin-bottom: 12px; text-align: center; }
  .role-command::before { inset: -10px -16px 0; }
  .momentum-heading { padding: 18px 0 4px; }
  .momentum-heading h1 { font-size: 1.5rem; white-space: normal; }
  .nlr-console { margin: 0; padding: 18px 8px 0; }
  .module.pipeline-main { padding: 0 16px; }
  .appointment-reminder { padding: 12px 14px; }
  .appointment-reminder > div { flex: 1 1 auto; display: grid; gap: 4px; }
  .appointment-reminder > b { flex: none; min-width: 0; font-size: 15px; }
  .appointment-reminder.is-confirm > b { flex: 0 0 auto; }
  .appointment-reminder.is-confirm span { font-size: 11px; line-height: 1.4; }
  .pipeline-toolbar { gap: 8px; padding: 0; margin: 10px 0 12px; }
  .pipeline-stats { width: 100%; row-gap: 8px; }
  .pipeline-search { width: 100%; margin: 0 0 4px; }
  .pipeline-stats article { padding: 0 12px; }
  .pipeline-toolbar .tools { width: 100%; margin: 4px 0 0; gap: 8px 10px; }
  .pipeline-toolbar .tools label { flex: 1 1 140px; display: grid; gap: 5px; min-width: 0; }
  .pipeline-toolbar .tools label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pipeline-toolbar .tools select, .pipeline-toolbar .tool-ghost, .pipeline-toolbar .tool-gold { height: 34px; min-height: 34px; }
  .pipeline-toolbar .tools select, .pipeline-toolbar #kind { min-width: 0; width: 100%; }
  .pipeline-toolbar #count { flex: 1 1 100%; }
  .pipeline-toolbar .tool-ghost, .pipeline-toolbar .tool-gold { flex: 1 1 auto; }
}

/* =====================================================================
 * Setter alignment pass (Gabriel's side-by-side, 03.11.2026). Values measured live on NLC (getComputedStyle).
 * ===================================================================== */
/* reminder bar: always shown with the next appointment (#appointmentReminderBar, sticky under the title) */
#now:has(> .appointment-reminder) { position: sticky; top: 10px; z-index: 6; }
.appointment-reminder { min-height: 40px; }
.appointment-reminder.is-next > b { min-width: 0; }
/* search + KPI strip on one slim row; the Rents tools close the row at the right (labels only on wide screens) */
.pipeline-search:focus-within { border-bottom-color: #d4af37; }
.pipeline-search input:focus { border-radius: 9px; box-shadow: 0 0 0 3px rgba(212,175,55,.14); }
.pipeline-toolbar #count { display: none; } /* NLC .pipeline-result-count is never shown (glow.css:407) */
@media (min-width: 761px) {
  .pipeline-toolbar { flex-wrap: nowrap; gap: 0 18px; }
  .pipeline-stats { flex-wrap: nowrap; flex: 0 1 auto; }
  .pipeline-stats article { white-space: nowrap; }
  .pipeline-toolbar .tools { flex-wrap: nowrap; gap: 10px; }
  .pipeline-toolbar .tools select { height: 30px; min-height: 30px; border-radius: 10px; font-size: 12px; }
  .pipeline-toolbar .tool-ghost, .pipeline-toolbar .tool-gold { min-height: 30px; padding: 0 14px; white-space: nowrap; font-size: 11.5px; }
}
@media (min-width: 761px) and (max-width: 1599px) {
  .pipeline-toolbar .tools label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pipeline-toolbar .tools select { width: 140px; }
  .pipeline-toolbar #kind { width: 172px; }
}
@media (min-width: 761px) and (max-width: 1250px) {
  .pipeline-toolbar { flex-wrap: wrap; }
  .pipeline-toolbar .tools { margin-left: 0; }
}
/* no match while searching (NLC .pipeline-no-results) */
.pipeline-no-results {
  margin: 16px 0; padding: 18px 20px; border: 1px solid rgba(212,175,55,.4); border-radius: 12px; background: #0b2038;
  color: #fff; font: 400 16px/1.55 Inter, system-ui, sans-serif;
}
.pipeline-no-results[hidden] { display: none; }

/* board: NLC padding and list gutter; while searching only the columns with results stay, 305px wide, left-aligned */
.board.pipeline-board { padding: 8px 2px 12px; }
.column.pipeline-column[hidden] { display: none; }
@media (min-width: 1000px) {
  .board.pipeline-board.is-searching { grid-template-columns: repeat(var(--cols), 305px); gap: 14px; overflow-x: auto; }
}
.column.pipeline-column > .cards { padding: 10px 10px 12px; }
.column.pipeline-column > .cards > .card { width: calc(100% - 12px); align-self: center; }
/* column header: the roomy NLC header above 250px (glow.css:3849 keeps 12px only in narrow columns) */
.column.pipeline-column > header { padding: 18px 22px 14px; }
.column.pipeline-column .pipeline-stage-title { flex: 1 1 auto; }
.column.pipeline-column .pipeline-stage-title > small { margin-top: 10px; font-size: 11.84px; line-height: 1.4; }
@container (max-width: 250px) {
  .column.pipeline-column > header { padding: 12px; align-items: center; }
  .column.pipeline-column > .cards { padding-left: 6px; padding-right: 6px; }
  .column.pipeline-column > .cards > .card { width: 100%; }
}
/* empty column = NLC .pipeline-empty (fills the column) */
.cards .pipeline-empty { flex: 1 0 auto; border-radius: 0 0 14px 14px; }
.cards .pipeline-empty strong { font: 700 14.08px/1.55 Inter, system-ui, sans-serif; }
.cards .pipeline-empty small { max-width: 220px; margin-top: 5px; font-size: 12.32px; line-height: 1.45; }

/* phone row: number left, call + WhatsApp at the right end (NLC .nlc-lead-phone / .nlc-phone-actions);
   the Rents country pill makes the row longer, so the buttons drop under the number when they do not fit */
.card.pipeline-lead .line { flex-wrap: wrap; row-gap: 6px; column-gap: 6px; }
.card.pipeline-lead .phone-actions { flex: none; display: inline-flex; align-items: center; gap: 8px; margin-left: auto; }
.card.pipeline-lead .test-badge { margin-left: 0; }
.card.pipeline-lead a.wa {
  flex: none; display: inline-grid; place-items: center; width: 26px; height: 26px; padding: 0; border-radius: 50%; text-decoration: none;
  border: 1px solid rgba(143,160,182,.45); background: rgba(255,255,255,.04); color: #8fa0b6; transition: color .15s ease, border-color .15s ease;
}
.card.pipeline-lead a.wa svg { width: 13px; height: 13px; display: block; }
.card.pipeline-lead a.wa:hover { color: #7fd8a6; border-color: rgba(127,216,166,.6); }
/* appointment chip: the short countdown with a real border; a click shows the full date (NLC .appt-chip) */
.card.pipeline-lead button.appt-chip {
  appearance: none; display: inline-flex; align-items: center; gap: 5px; min-height: 22px; max-width: 100%; margin: 0; padding: 2px 8px; cursor: pointer;
  border: 1px solid rgba(212,175,55,.5); border-radius: 999px; background: rgba(212,175,55,.12); color: #f3d77a;
  box-shadow: inset 0 0 0 1px rgba(182,138,30,.35); font: 800 11px/1.2 Inter, system-ui, sans-serif; letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.card.pipeline-lead button.appt-chip:hover { border-color: #d4af37; }
.card.pipeline-lead button.appt-chip time { font: inherit; }
.card.pipeline-lead.payment-appointment button.appt-chip { border-color: rgba(147,197,253,.55); }
/* "Fișă trimisă ✓" = NLC .submission-badge, a quiet grey pill */
.card.pipeline-lead .badge.submission-badge { color: #c9d5e3; background: rgba(255,255,255,.06); box-shadow: none; font-weight: 400; font-size: 12px; padding: 0 10px; }
/* handed over to Closing (NLC .pipeline-lead.is-locked + .lead-locked-note) */
.card.pipeline-lead .lead-locked-note { display: flex; align-items: center; gap: 8px; min-height: 30px; color: #f3d98b; font: 700 12.5px/1.2 Inter, system-ui, sans-serif; }
.card.pipeline-lead .lead-locked-note > span {
  flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
  border: 1px solid rgba(243,217,139,.4); background: rgba(243,217,139,.12); color: #aab4bc; font-size: 12px;
}
.card.pipeline-lead .open.is-blocked { flex: 1 1 100%; max-width: none; padding: 0 12px; opacity: .85; overflow: hidden; }

/* the large NLC card in every column wider than 250px (glow.css:3838-3870 keep the compact card for narrow columns) */
/* NLR columns are 260px at 1440 (NLC's are ≤250 there) and the country pill takes room: the large card starts above 265px */
@container (max-width: 265px) {
  .card.pipeline-lead .phone-actions { margin-left: 0; gap: 5px; }
}
@container (min-width: 266px) {
  .card.pipeline-lead { gap: 6px; padding: 11px 12px 48px 16px; }
  .card.pipeline-lead .card-top { gap: 10px; }
  .card.pipeline-lead strong.name { font-size: 14.5px; line-height: 1.2; }
  .card.pipeline-lead small.num { font-size: 9.6px; }
  .card.pipeline-lead .line { min-height: 30px; gap: 8px; }
  .card.pipeline-lead .phone-actions { gap: 6px; }
  .card.pipeline-lead .line .phone { font-size: 14px; line-height: 1.2; }
  .card.pipeline-lead a.call, .card.pipeline-lead a.wa { width: 30px; height: 30px; }
  .card.pipeline-lead a.call svg, .card.pipeline-lead a.wa svg { width: 15px; height: 15px; }
  .card.pipeline-lead .status > *, .card.pipeline-lead button.appt-chip { min-height: 24px; font-size: 11.5px; }
  .card.pipeline-lead .status > .appt-chip { font-size: 11px; padding: 3px 9px; }
  .card.pipeline-lead .badge.submission-badge { font-size: 12px; }
  .card.pipeline-lead .actions { position: absolute; left: 14px; right: 14px; bottom: 12px; gap: 8px; margin: 0; }
  .card.pipeline-lead .open { max-width: none; padding: 0 12px; font-size: 11.5px; }
  .card.pipeline-lead .order button { width: 24px; height: 24px; }
}
/* phones: the 44px "Deschide →" touch target (NLC ≤760px) */
@media (max-width: 760px) {
  @container (min-width: 266px) {
    .card.pipeline-lead .line .phone { font-size: 12px; }
    .card.pipeline-lead .line, .card.pipeline-lead .phone-actions { gap: 6px; }
    .card.pipeline-lead .open { height: 44px; }
    .card.pipeline-lead { padding-bottom: 68px; }
  }
}

/* =====================================================================
 * Closer alignment pass (03.11.2026): shared pipeline details measured live on NLC (setter and closer boards are identical here)
 * ===================================================================== */
/* search: .pipeline-search 600 13.92px, gold .35 underline; the input keeps the 13px inset and the 9px focus ring */
.pipeline-search { padding: 0 2px; border-bottom-color: rgba(212,175,55,.35); font: 600 13.92px/1.55 Inter, system-ui, sans-serif; }
.pipeline-search input { padding: 11px 13px; border-radius: 9px; transition: box-shadow .18s ease, border-color .18s ease; }
/* KPI strip: baseline-aligned 14px items (strong 14px/14px, span 10.5px/1.15) */
.pipeline-stats article { align-items: baseline; line-height: normal; }
.pipeline-stats article strong { line-height: 14px; }
.pipeline-stats article span { line-height: 1.15; }
/* a hovered column rises above its neighbours */
.column.pipeline-column:hover { z-index: 20; }
/* call button: fills with the stage colour, navy glyph (.nlc-phone-button:hover) */
.card.pipeline-lead a.call:hover { background: var(--stage-accent); color: #0b1f3a; box-shadow: 0 0 12px rgba(var(--stage-rgb), .7); }
