#crm-mirror-root {
  --crm-lime: #b9f227;
  --crm-lime-strong: #78b91f;
  --crm-green: #4f8f20;
  --crm-muted: color-mix(in srgb, var(--text, #151915) 58%, transparent);
  --crm-line: color-mix(in srgb, var(--border, #dfe4dd) 78%, #84b44b 22%);
  --crm-panel: color-mix(in srgb, var(--surface, #fff) 96%, #eff9e8 4%);
  min-width: 0;
  color: var(--text, #161916);
}

.crm-humatech-shell {
  position: relative;
  min-width: 0;
  padding: clamp(18px, 2.2vw, 34px);
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 2%, color-mix(in srgb, var(--crm-lime) 18%, transparent) 0 10%, transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--bg, #f5f6f5) 92%, #eaf5e1 8%), var(--bg, #f5f6f5));
  animation: crmReveal .42s cubic-bezier(.2,.8,.2,1) both;
}

.crm-humatech-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image: radial-gradient(color-mix(in srgb, var(--crm-green) 28%, transparent) .7px, transparent .7px);
  background-size: 18px 18px;
  mask-image: linear-gradient(to bottom, #000, transparent 46%);
}

.crm-humatech-hero,
.crm-humatech-command,
.crm-humatech-insights,
.crm-humatech-workspace { position: relative; z-index: 1; }

.crm-humatech-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: clamp(25px, 3.2vw, 44px);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--crm-lime) 34%, #253220);
  border-radius: 26px;
  color: #f7fff0;
  background:
    radial-gradient(circle at 75% 0, rgba(185,242,39,.24), transparent 38%),
    linear-gradient(118deg, #0c120c 0%, #182419 58%, #243421 100%);
  box-shadow: 0 22px 58px rgba(20,37,15,.18);
}

.crm-humatech-hero::after {
  content: "";
  position: absolute;
  width: 290px;
  height: 290px;
  right: -100px;
  bottom: -170px;
  border: 42px solid rgba(185,242,39,.09);
  border-radius: 50%;
}

.crm-humatech-hero-copy,
.crm-humatech-hero-actions { position: relative; z-index: 1; }

.crm-humatech-eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 15px;
  color: var(--crm-lime);
  font: 800 11px/1 var(--sans, sans-serif);
  letter-spacing: .16em;
  text-transform: uppercase;
}

.crm-humatech-eyebrow span {
  width: 22px;
  height: 2px;
  border-radius: 10px;
  background: currentColor;
  box-shadow: 8px -5px 0 -.5px currentColor;
}

.crm-humatech-hero h1 {
  margin: 0;
  color: #fff;
  font: 800 clamp(28px, 3.2vw, 48px)/.98 var(--sans, sans-serif);
  letter-spacing: -.045em;
}

.crm-humatech-hero p {
  max-width: 610px;
  margin: 13px 0 0;
  color: rgba(244,255,239,.68);
  font: 500 14px/1.55 var(--sans, sans-serif);
}

.crm-humatech-hero-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
}

.crm-mirror-sync {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: rgba(255,255,255,.77);
  background: rgba(255,255,255,.065);
  font: 700 11px/1 var(--sans, sans-serif);
  white-space: nowrap;
}

.crm-mirror-sync-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f3b532;
  box-shadow: 0 0 0 4px rgba(243,181,50,.12);
}

.crm-mirror-sync.is-live .crm-mirror-sync-dot {
  background: var(--crm-lime);
  box-shadow: 0 0 0 4px rgba(185,242,39,.13);
  animation: crmPulse 2.1s ease-out infinite;
}

.crm-mirror-sync.is-error .crm-mirror-sync-dot { background: #ff5d5d; }

.crm-humatech-primary,
.crm-humatech-secondary {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  font: 800 12px/1 var(--sans, sans-serif);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.crm-humatech-primary {
  color: #10160d;
  background: var(--crm-lime);
  box-shadow: 0 8px 24px rgba(185,242,39,.17);
}

.crm-humatech-secondary {
  color: #f4f8f1;
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.14);
}

.crm-humatech-primary:hover,
.crm-humatech-secondary:hover { transform: translateY(-2px); }

.crm-humatech-command {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  padding: 12px;
  border: 1px solid var(--crm-line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--crm-panel) 91%, transparent);
  box-shadow: 0 10px 35px rgba(35,55,30,.055);
  backdrop-filter: blur(14px);
}

.crm-humatech-command .crm-humatech-search {
  flex: 1 1 260px;
  max-width: 440px;
}

.crm-humatech-command .crm-humatech-select {
  flex: 0 1 280px;
}

.crm-humatech-command .crm-humatech-view-switch {
  flex: 0 0 auto;
}

.crm-humatech-command .crm-humatech-hero-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex-wrap: wrap;
}

.crm-humatech-command .crm-humatech-secondary {
  color: var(--text, #161916);
  background: var(--surface, #fff);
  border: 1px solid var(--crm-line);
}

.crm-humatech-command .crm-humatech-secondary:hover {
  background: color-mix(in srgb, var(--surface, #fff) 85%, var(--crm-lime) 15%);
}


.crm-humatech-search {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 0 14px;
  border: 1px solid var(--crm-line);
  border-radius: 12px;
  color: var(--crm-muted);
  background: var(--surface, #fff);
}

.crm-humatech-search:focus-within {
  border-color: var(--crm-green);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--crm-lime) 17%, transparent);
}

.crm-humatech-search input {
  width: 100%;
  min-height: 44px;
  border: 0;
  outline: 0;
  color: var(--text, #111);
  background: transparent;
  font: 600 12px var(--sans, sans-serif);
}

.crm-humatech-select {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  border: 1px solid var(--crm-line);
  border-radius: 12px;
  background: var(--surface, #fff);
}

.crm-humatech-select > span,
.crm-humatech-workspace-filters label > span {
  color: var(--crm-muted);
  font: 800 9px/1 var(--sans, sans-serif);
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.crm-humatech-select select,
.crm-humatech-workspace-filters select {
  min-width: 0;
  min-height: 42px;
  border: 0;
  outline: 0;
  color: var(--text, #111);
  background: transparent;
  font: 700 11px var(--sans, sans-serif);
}

.crm-humatech-view-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-width: 170px;
  padding: 4px;
  border: 1px solid var(--crm-line);
  border-radius: 12px;
  background: var(--panel2, #f2f4f1);
}

.crm-humatech-view-switch button {
  min-height: 36px;
  padding: 0 15px;
  border: 0;
  border-radius: 9px;
  color: var(--crm-muted);
  background: transparent;
  cursor: pointer;
  font: 800 11px var(--sans, sans-serif);
}

.crm-humatech-view-switch button.is-active {
  color: #15200e;
  background: var(--crm-lime);
  box-shadow: 0 3px 10px rgba(67,99,32,.13);
}

.crm-humatech-insights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 16px;
  overflow: hidden;
  border: 1px solid var(--crm-line);
  border-radius: 18px;
  background: var(--crm-panel);
}

.crm-humatech-insights article {
  position: relative;
  min-height: 116px;
  padding: 20px;
  border-right: 1px solid var(--crm-line);
}

.crm-humatech-insights article:last-child { border-right: 0; }

.crm-humatech-insights article::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  width: 38px;
  height: 3px;
  border-radius: 0 0 4px 4px;
  background: var(--crm-lime-strong);
}

.crm-humatech-insights span,
.crm-humatech-insights small {
  display: block;
  color: var(--crm-muted);
  font: 700 9px/1.25 var(--sans, sans-serif);
}

.crm-humatech-insights span {
  letter-spacing: .09em;
  text-transform: uppercase;
}

.crm-humatech-insights strong {
  display: block;
  margin: 9px 0 8px;
  overflow: hidden;
  color: var(--text, #111);
  font: 800 clamp(19px, 2vw, 27px)/1 var(--sans, sans-serif);
  letter-spacing: -.035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.crm-humatech-workspace {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--crm-line);
  border-radius: 22px;
  background: var(--crm-panel);
  box-shadow: 0 16px 50px rgba(37,58,30,.07);
}

.crm-humatech-workspace-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  padding: 2px 2px 14px;
  border-bottom: 1px solid var(--crm-line);
}

.crm-humatech-workspace-head > div:first-child > span {
  color: var(--crm-green);
  font: 800 9px/1 var(--sans, sans-serif);
  letter-spacing: .13em;
  text-transform: uppercase;
}

.crm-humatech-workspace-head h2 {
  margin: 6px 0 0;
  color: var(--text, #111);
  font: 800 19px/1.1 var(--sans, sans-serif);
  letter-spacing: -.025em;
}

.crm-humatech-workspace-filters {
  display: flex;
  align-items: center;
  gap: 12px;
}

.crm-humatech-workspace-filters > label:not(.crm-humatech-toggle) {
  display: grid;
  grid-template-columns: auto minmax(150px, 210px);
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid var(--crm-line);
  border-radius: 11px;
  background: var(--surface, #fff);
}

.crm-humatech-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--crm-muted);
  cursor: pointer;
  font: 700 10px var(--sans, sans-serif);
  white-space: nowrap;
}

.crm-humatech-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.crm-humatech-toggle > span {
  position: relative;
  width: 34px;
  height: 19px;
  border-radius: 99px;
  background: color-mix(in srgb, var(--crm-muted) 30%, transparent);
  transition: background .18s ease;
}

.crm-humatech-toggle > span::after {
  content: "";
  position: absolute;
  width: 13px;
  height: 13px;
  top: 3px;
  left: 3px;
  border-radius: 50%;
  background: var(--surface, #fff);
  box-shadow: 0 1px 4px rgba(0,0,0,.2);
  transition: transform .18s ease;
}

.crm-humatech-toggle input:checked + span { background: var(--crm-green); }
.crm-humatech-toggle input:checked + span::after { transform: translateX(15px); }

.crm-bitrix-board-viewport { position: relative; min-width: 0; }

.crm-bitrix-board {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 440px;
  padding: 2px 2px 12px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-color: color-mix(in srgb, var(--crm-green) 42%, transparent) transparent;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}

.crm-bitrix-board.is-auto-scrolling { scroll-snap-type: none; }

.crm-bitrix-board-nav {
  position: absolute;
  z-index: 6;
  top: 47%;
  width: 38px;
  height: 58px;
  border: 1px solid var(--crm-line);
  border-radius: 12px;
  color: var(--text, #111);
  background: color-mix(in srgb, var(--surface, #fff) 90%, transparent);
  box-shadow: 0 8px 22px rgba(25,38,21,.14);
  cursor: pointer;
  font: 700 25px/1 var(--sans, sans-serif);
  opacity: .4;
  transition: opacity .18s ease, transform .18s ease;
  backdrop-filter: blur(10px);
}

.crm-bitrix-board-nav:hover { opacity: 1; transform: translateY(-2px); }
.crm-bitrix-board-nav.is-left { left: 6px; }
.crm-bitrix-board-nav.is-right { right: 6px; }

.crm-bitrix-column {
  flex: 0 0 min(310px, 82vw);
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--crm-line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--panel2, #f1f3f0) 76%, var(--surface, #fff) 24%);
  scroll-snap-align: start;
  animation: crmColumnIn .42s cubic-bezier(.2,.8,.2,1) both;
}

.crm-bitrix-column:nth-child(2) { animation-delay: .04s; }
.crm-bitrix-column:nth-child(3) { animation-delay: .08s; }
.crm-bitrix-column:nth-child(4) { animation-delay: .12s; }
.crm-bitrix-column:nth-child(5) { animation-delay: .16s; }

.crm-bitrix-column-head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 3px;
}

.crm-bitrix-column-head::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 3px;
  background: var(--stage-color, var(--crm-green));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--stage-color, var(--crm-green)) 14%, transparent);
}

.crm-bitrix-stage-name {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: var(--text, #111);
  font: 800 11px/1.2 var(--sans, sans-serif);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.crm-bitrix-stage-count {
  display: grid;
  min-width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 8px;
  color: var(--crm-muted);
  background: var(--surface, #fff);
  font: 800 10px var(--mono, monospace);
}

.crm-bitrix-column-total-chip {
  margin: 2px 0 9px;
  padding-left: 19px;
  color: var(--crm-muted);
  font: 700 10px var(--mono, monospace);
}

.crm-bitrix-quick-add {
  width: 100%;
  min-height: 34px;
  margin-bottom: 8px;
  border: 1px dashed color-mix(in srgb, var(--crm-green) 45%, var(--crm-line));
  border-radius: 10px;
  color: var(--crm-green);
  background: transparent;
  cursor: pointer;
  font: 800 10px var(--sans, sans-serif);
  transition: background .18s ease, border-color .18s ease;
}

.crm-bitrix-quick-add:hover {
  border-style: solid;
  background: color-mix(in srgb, var(--crm-lime) 10%, transparent);
}

.crm-bitrix-column-body {
  display: grid;
  gap: 8px;
  min-height: 84px;
  max-height: min(62vh, 720px);
  padding-right: 3px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: color-mix(in srgb, var(--crm-green) 46%, transparent) transparent;
  scrollbar-width: thin;
  border-radius: 12px;
  transition: background .15s ease;
}

.crm-stage-batch-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 38px;
  padding: 0 11px;
  border: 1px dashed color-mix(in srgb, var(--crm-green) 38%, var(--crm-line));
  border-radius: 10px;
  color: var(--crm-muted);
  background: color-mix(in srgb, var(--surface, #fff) 88%, transparent);
  font: 700 8px var(--sans, sans-serif);
}

.crm-stage-batch-status strong {
  color: var(--crm-green);
  font-size: 8px;
}

.crm-stage-batch-status.is-complete { border-style: solid; }

.crm-bitrix-column-body.is-drag-over {
  padding: 5px;
  background: color-mix(in srgb, var(--crm-lime) 13%, transparent);
}

.crm-bitrix-card {
  position: relative;
  padding: 13px;
  border: 1px solid var(--crm-line);
  border-radius: 13px;
  color: var(--text, #111);
  background: var(--surface, #fff);
  box-shadow: 0 6px 18px rgba(34,50,30,.055);
  cursor: pointer;
  outline: 0;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.crm-bitrix-card::before {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 0;
  width: 3px;
  border-radius: 0 4px 4px 0;
  background: var(--stage-color, var(--crm-green));
  opacity: .72;
}

.crm-bitrix-card:hover,
.crm-bitrix-card:focus-visible {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--crm-green) 55%, var(--crm-line));
  box-shadow: 0 12px 28px rgba(34,50,30,.11);
}

.crm-bitrix-card.is-returned-from-recruitment {
  border: 2px solid color-mix(in srgb, var(--crm-green) 78%, var(--crm-line));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--crm-green) 18%, var(--surface)) 0%, var(--surface) 58%);
  box-shadow:
    inset 5px 0 0 var(--crm-green),
    0 14px 34px color-mix(in srgb, var(--crm-green) 22%, transparent);
  animation: crm-returned-card-reveal .42s ease-out both;
}

.crm-bitrix-card.is-returned-from-recruitment::before {
  width: 5px;
  background: var(--crm-green);
  opacity: 1;
}

.crm-returned-recruitment-badge {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 9px 3px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #101607;
  background: var(--crm-green);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .08em;
}

@keyframes crm-returned-card-reveal {
  from { opacity: .58; transform: translateY(-6px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.crm-bitrix-card-title-row { display: flex; align-items: flex-start; gap: 8px; }

.crm-bitrix-card-title {
  min-width: 0;
  flex: 1;
  color: var(--text, #111);
  font: 800 12px/1.35 var(--sans, sans-serif);
}

.crm-bitrix-card-icons {
  display: flex;
  align-items: center;
  gap: 4px;
  color: color-mix(in srgb, var(--crm-muted) 72%, transparent);
  font-size: 8px;
}

.crm-bitrix-card-open {
  width: 23px;
  height: 23px;
  padding: 0;
  border: 1px solid var(--crm-line);
  border-radius: 7px;
  color: var(--crm-green);
  background: transparent;
  cursor: pointer;
}

.crm-bitrix-card-date {
  margin: 4px 0 10px;
  color: var(--crm-muted);
  font: 700 8px var(--sans, sans-serif);
  text-transform: uppercase;
}

.crm-bitrix-card-kicker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 5px 0 10px;
  color: var(--crm-muted);
  font: 800 8px var(--sans, sans-serif);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.crm-bitrix-card-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.crm-bitrix-card-summary-item {
  min-width: 0;
  min-height: 48px;
  padding: 7px 8px;
  border: 1px solid var(--crm-line);
  border-radius: 9px;
  background: color-mix(in srgb, var(--surface) 94%, var(--crm-accent) 6%);
}

.crm-bitrix-card-summary-item label {
  display: block;
  margin-bottom: 3px;
  color: var(--crm-muted);
  font: 800 7px var(--sans, sans-serif);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.crm-bitrix-card-summary-item strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--text, #111);
  font: 750 9px/1.3 var(--sans, sans-serif);
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.crm-bitrix-card-field {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 8px;
  margin-top: 7px;
  font: 500 9px/1.45 var(--sans, sans-serif);
}

.crm-bitrix-card-field label { color: var(--crm-muted); font-weight: 800; }

.crm-bitrix-card-field > div,
.crm-bitrix-card-field > span { min-width: 0; overflow-wrap: anywhere; }

.crm-bitrix-card-link { color: var(--crm-green); font-weight: 700; }

.crm-bitrix-card-footer {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  padding-top: 9px;
  border-top: 1px solid var(--crm-line);
  color: var(--crm-muted);
  font: 700 8px var(--sans, sans-serif);
}

.crm-bitrix-card-footer button {
  padding: 0;
  border: 0;
  color: var(--crm-green);
  background: transparent;
  cursor: pointer;
  font: 800 8px var(--sans, sans-serif);
}

.crm-bitrix-card-footer span:not(.crm-bitrix-avatar) { margin-left: auto; }

.crm-bitrix-avatar {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 9px;
  color: #18200f;
  background: var(--crm-lime);
  font: 900 8px var(--sans, sans-serif);
}

.crm-bitrix-empty,
.crm-mirror-empty,
.crm-mirror-error {
  display: grid;
  min-height: 260px;
  place-items: center;
  padding: 30px;
  border: 1px dashed var(--crm-line);
  border-radius: 16px;
  color: var(--crm-muted);
  background: var(--crm-panel);
  text-align: center;
  font: 700 12px/1.5 var(--sans, sans-serif);
}

.crm-mirror-error { color: #d64545; }

.crm-bitrix-load-more,
.crm-mirror-load-more {
  display: block;
  min-height: 40px;
  margin: 12px auto 0;
  padding: 0 18px;
  border: 1px solid var(--crm-line);
  border-radius: 10px;
  color: var(--text, #111);
  background: var(--surface, #fff);
  cursor: pointer;
  font: 800 11px var(--sans, sans-serif);
}

.crm-bitrix-table-wrap {
  overflow: auto;
  border: 1px solid var(--crm-line);
  border-radius: 14px;
}

.crm-bitrix-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--surface, #fff);
  font: 600 10px/1.4 var(--sans, sans-serif);
}

.crm-bitrix-table th,
.crm-bitrix-table td {
  padding: 13px 15px;
  border-bottom: 1px solid var(--crm-line);
  color: var(--text, #111);
  text-align: left;
}

.crm-bitrix-table th {
  color: var(--crm-muted);
  background: var(--panel2, #f3f5f2);
  font-size: 8px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.crm-bitrix-table tbody tr { cursor: pointer; transition: background .15s ease; }
.crm-bitrix-table tbody tr:hover { background: color-mix(in srgb, var(--crm-lime) 8%, transparent); }
.crm-bitrix-table td strong,
.crm-bitrix-table td small { display: block; }
.crm-bitrix-table td small { margin-top: 3px; color: var(--crm-muted); font-size: 8px; }
.crm-bitrix-table-operation td { vertical-align: top; min-width: 125px; }
.crm-bitrix-table-operation td:first-child { min-width: 250px; }
.crm-bitrix-table-operation td strong { color: var(--text, #111); }
.crm-bitrix-table-operation td small { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.crm-mirror-modal-backdrop {
  position: fixed;
  z-index: 10050;
  inset: 0;
  display: none;
  align-items: stretch;
  justify-content: flex-end;
  padding: 0;
  background: rgba(5,10,5,.64);
  backdrop-filter: blur(8px);
}

.crm-mirror-modal-backdrop.open { display: flex; }

.crm-mirror-modal {
  width: min(760px, calc(100vw - 280px));
  height: 100%;
  max-height: none;
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--crm-lime) 22%, var(--crm-line));
  border-radius: 24px 0 0 24px;
  color: var(--text, #111);
  background: var(--surface, #fff);
  box-shadow: 0 30px 90px rgba(0,0,0,.34);
  overscroll-behavior: contain;
  overflow-anchor: none;
  scrollbar-gutter: stable;
  animation: crmDrawerIn .26s cubic-bezier(.2,.8,.2,1) both;
}

.crm-mirror-modal-head,
.crm-mirror-modal-foot {
  position: sticky;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--crm-line);
  background: color-mix(in srgb, var(--surface, #fff) 94%, transparent);
  backdrop-filter: blur(14px);
}

.crm-mirror-modal-head { top: 0; }

.crm-mirror-modal-foot {
  bottom: 0;
  justify-content: flex-end;
  border-top: 1px solid var(--crm-line);
  border-bottom: 0;
}

.crm-mirror-modal-title {
  color: var(--text, #111);
  font: 800 19px/1.15 var(--sans, sans-serif);
}

.crm-mirror-modal-subtitle {
  margin-top: 5px;
  color: var(--crm-muted);
  font: 600 10px var(--sans, sans-serif);
}

.crm-mirror-modal-close {
  width: 35px;
  height: 35px;
  border: 1px solid var(--crm-line);
  border-radius: 10px;
  color: var(--text, #111);
  background: var(--panel2, #f3f5f2);
  cursor: pointer;
  font-size: 18px;
}

.crm-mirror-modal-body { display: grid; gap: 14px; padding: 22px; }
.crm-mirror-form { min-height: calc(100% - 82px); }

.crm-mirror-form-grid,
.crm-mirror-custom-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  column-gap: 16px;
  row-gap: 14px;
  padding: 22px;
}

.crm-mirror-field.full { grid-column: 1 / -1; }
.crm-mirror-readonly { opacity: .72; }

.crm-mirror-custom-fields {
  margin: 0 22px 22px;
  overflow: hidden;
  border: 1px solid var(--crm-line);
  border-radius: 14px;
  background: var(--panel2, #f5f6f4);
}

.crm-mirror-custom-fields summary {
  padding: 15px 17px;
  color: var(--text, #111);
  cursor: pointer;
  font: 800 11px var(--sans, sans-serif);
}

.crm-mirror-custom-fields[open] summary { border-bottom: 1px solid var(--crm-line); }
.crm-mirror-custom-grid { padding: 17px; }
.crm-mirror-modal-message .crm-mirror-form { display: grid; place-items: center; padding: 26px; }
.crm-mirror-field { display: grid; min-width: 0; align-content: start; gap: 7px; }

.crm-layout-global-note {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 18px 22px 12px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--crm-lime) 35%, var(--crm-line));
  border-radius: 13px;
  background: color-mix(in srgb, var(--crm-lime) 8%, var(--surface, #fff));
}

.crm-layout-global-note span {
  padding: 5px 8px;
  border-radius: 999px;
  color: #17220e;
  background: var(--crm-lime);
  font: 900 8px var(--sans, sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.crm-layout-global-note strong { font: 800 11px var(--sans, sans-serif); }
.crm-layout-global-note small { margin-left: auto; color: var(--crm-muted); font: 600 9px var(--sans, sans-serif); }
.crm-recruitment-layout-switcher { display: grid; grid-template-columns: auto minmax(220px, 1fr) minmax(180px, 1.3fr); align-items: center; gap: 10px; margin: 0 22px 12px; padding: 11px 13px; border: 1px solid color-mix(in srgb, var(--crm-lime) 28%, var(--crm-line)); border-radius: 12px; background: color-mix(in srgb, var(--crm-lime) 5%, var(--surface, #fff)); }
.crm-recruitment-layout-switcher label { color: var(--crm-muted); font: 800 9px var(--sans, sans-serif); letter-spacing: .08em; text-transform: uppercase; }
.crm-recruitment-layout-switcher select { min-height: 34px; padding: 7px 10px; border: 1px solid var(--crm-line); border-radius: 8px; color: var(--text); background: var(--crm-modal-field, var(--panel2)); font: 750 10px var(--sans, sans-serif); }
.crm-recruitment-layout-switcher small { color: var(--crm-muted); font: 600 9px/1.35 var(--sans, sans-serif); }
.crm-new-layout-modal { width: min(820px, calc(100vw - 32px)); }
.crm-new-layout-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 22px; }
.crm-new-layout-card { position: relative; display: grid; grid-template-columns: 42px 1fr; gap: 6px 12px; min-height: 148px; padding: 18px; overflow: hidden; border: 1px solid var(--crm-line); border-radius: 17px; color: var(--text); background: linear-gradient(145deg, color-mix(in srgb, var(--crm-lime) 8%, var(--crm-modal-field, var(--panel2))), var(--crm-modal-field, var(--panel2))); text-align: left; cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.crm-new-layout-card:hover,.crm-new-layout-card:focus-visible { transform: translateY(-3px); border-color: var(--crm-lime); box-shadow: 0 16px 34px color-mix(in srgb, #000 18%, transparent); outline: 0; }
.crm-new-layout-card>span { display: grid; grid-row: 1 / span 2; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: #17220e; background: var(--crm-lime); font: 900 17px var(--sans, sans-serif); }
.crm-new-layout-card strong { align-self: end; font: 900 12px var(--sans, sans-serif); letter-spacing: .05em; }
.crm-new-layout-card small { color: var(--crm-muted); font: 600 10px/1.5 var(--sans, sans-serif); }
.crm-new-layout-card em { grid-column: 2; align-self: end; color: var(--crm-lime); font: normal 850 9px var(--sans, sans-serif); letter-spacing: .05em; text-transform: uppercase; }
.crm-service-split-form { display: grid; min-height: 0; }
.crm-service-quantity-list { display: grid; gap: 10px; padding: 22px; }
.crm-service-quantity { display: grid; grid-template-columns: minmax(0, 1fr) 110px; align-items: center; gap: 16px; padding: 14px 16px; border: 1px solid var(--crm-line); border-radius: 14px; background: var(--crm-modal-field, var(--panel2)); }
.crm-service-quantity span,.crm-service-quantity strong,.crm-service-quantity small { display: block; }
.crm-service-quantity strong { font: 850 11px var(--sans, sans-serif); }
.crm-service-quantity small { margin-top: 4px; color: var(--crm-muted); font: 600 9px var(--sans, sans-serif); }
.crm-service-quantity input { width: 100%; min-height: 42px; padding: 8px 11px; border: 1px solid var(--crm-line); border-radius: 10px; color: var(--text); background: var(--crm-modal-surface, var(--panel)); font: 850 13px var(--sans, sans-serif); text-align: center; }
.crm-layout-sections { display: grid; gap: 12px; padding: 0 22px 22px; }

.crm-dispatch-family {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 22px 12px;
  padding: 13px 14px;
  border: 1px solid color-mix(in srgb, #3e9ee8 34%, var(--crm-line));
  border-radius: 13px;
  background: color-mix(in srgb, #3e9ee8 8%, var(--surface, #fff));
}

.crm-dispatch-family > span { padding: 5px 8px; border-radius: 999px; color: #0b3552; background: #cceaff; font: 900 8px var(--sans, sans-serif); letter-spacing: .08em; text-transform: uppercase; }
.crm-dispatch-family strong,
.crm-dispatch-family small { display: block; }
.crm-dispatch-family strong { color: var(--text); font: 800 11px var(--sans, sans-serif); }
.crm-dispatch-family small { margin-top: 3px; color: var(--crm-muted); font: 600 9px/1.4 var(--sans, sans-serif); }
.crm-mirror-modal-foot .crm-dispatch-child { margin-right: auto; border-color: color-mix(in srgb, #3e9ee8 45%, var(--crm-line)); color: var(--text); }

.crm-layout-section {
  overflow: hidden;
  border: 1px solid var(--crm-line);
  border-radius: 16px;
  background: var(--surface, #fff);
  box-shadow: 0 8px 24px rgba(20, 34, 14, .04);
}

.crm-layout-section[open] { overflow: visible; }

.crm-layout-section > summary {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
  background: color-mix(in srgb, var(--panel2, #f5f6f4) 78%, transparent);
}

.crm-layout-section > summary::-webkit-details-marker { display: none; }
.crm-layout-section[open] > summary { border-bottom: 1px solid var(--crm-line); }
.crm-layout-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #1c2c12; background: color-mix(in srgb, var(--crm-lime) 42%, white); font-weight: 900; }
.crm-layout-section summary strong,
.crm-layout-section summary small { display: block; }
.crm-layout-section summary strong { color: var(--text, #111); font: 850 12px var(--sans, sans-serif); }
.crm-layout-section summary small { margin-top: 3px; color: var(--crm-muted); font: 600 9px/1.35 var(--sans, sans-serif); }
.crm-layout-chevron { color: var(--crm-muted); transition: transform .2s ease; }
.crm-layout-section[open] .crm-layout-chevron { transform: rotate(180deg); }
.crm-layout-grid { padding: 17px; }

.crm-layout-notice {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 18px;
  color: var(--crm-muted);
  background: color-mix(in srgb, var(--panel2, #f5f6f4) 72%, transparent);
}

.crm-layout-notice > span { color: var(--crm-green); font-size: 18px; }
.crm-layout-notice strong { display: block; color: var(--text, #111); font: 800 11px var(--sans, sans-serif); }
.crm-layout-notice p { margin: 5px 0 0; font: 600 10px/1.5 var(--sans, sans-serif); }
.crm-mirror-field select[multiple] { min-height: 42px; }

.crm-mirror-field label {
  min-height: 12px;
  color: var(--crm-muted);
  font: 800 9px/1.35 var(--sans, sans-serif);
  letter-spacing: .09em;
  text-transform: uppercase;
}

.crm-mirror-field input,
.crm-mirror-field select,
.crm-mirror-field textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid var(--crm-line);
  border-radius: 10px;
  outline: 0;
  color: var(--text, #111);
  background: var(--panel2, #f5f6f4);
  font: 600 11px var(--sans, sans-serif);
}

.crm-mirror-field textarea { min-height: 100px; resize: vertical; }

.crm-checkbox-select,
.crm-entity-picker { position: relative; min-width: 0; }

.crm-checkbox-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.crm-checkbox-trigger,
.crm-entity-control {
  display: grid;
  width: 100%;
  min-height: 42px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--crm-line);
  border-radius: 10px;
  color: var(--text, #111);
  background: var(--panel2, #f5f6f4);
}

.crm-checkbox-trigger {
  padding: 9px 12px;
  cursor: pointer;
  text-align: left;
  font: 600 11px/1.35 var(--sans, sans-serif);
}

.crm-checkbox-trigger[aria-expanded="true"] {
  border-color: var(--crm-green);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--crm-lime) 15%, transparent);
}

.crm-checkbox-chevron { color: var(--crm-muted); transition: transform .18s ease; }
.crm-checkbox-trigger[aria-expanded="true"] .crm-checkbox-chevron { transform: rotate(180deg); }

.crm-checkbox-menu,
.crm-entity-results {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  max-height: min(190px, 38vh);
  overflow: auto;
  padding: 7px;
  border: 1px solid var(--crm-line);
  border-radius: 12px;
  background: var(--surface, #fff);
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
}

.crm-checkbox-option {
  display: grid;
  min-height: 32px !important;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 5px 8px;
  border-radius: 8px;
  cursor: pointer;
  color: var(--text, #111) !important;
  font: 650 10px/1.35 var(--sans, sans-serif) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.crm-checkbox-option:hover { background: color-mix(in srgb, var(--crm-lime) 12%, transparent); }
.crm-checkbox-option input { width: 16px !important; min-height: 16px !important; margin: 0; accent-color: var(--crm-green); }

.crm-entity-control { padding: 0 5px 0 0; }
.crm-entity-control .crm-entity-search { min-height: 40px; border: 0; background: transparent; box-shadow: none; }
.crm-entity-control .crm-entity-search:focus { border: 0; box-shadow: none; }
.crm-entity-control button { width: 30px; height: 30px; border: 0; border-radius: 8px; color: var(--crm-muted); background: transparent; cursor: pointer; }
.crm-entity-control button:hover { color: var(--text); background: color-mix(in srgb, var(--crm-lime) 12%, transparent); }

.crm-technician-picker { display: grid; gap: 7px; min-width: 0; }
.crm-technician-search-control {
  display: grid;
  min-height: 42px;
  grid-template-columns: 18px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 8px;
  padding: 0 5px 0 12px;
  border: 1px solid var(--crm-line);
  border-radius: 10px;
  color: var(--crm-muted);
  background: var(--panel2, #f5f6f4);
}
.crm-technician-search-control:focus-within {
  border-color: var(--crm-green);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--crm-lime) 15%, transparent);
}
.crm-technician-search-icon { width: 17px; height: 17px; }
.crm-mirror-field .crm-technician-search-input,
.crm-mirror-field .crm-technician-search-input:focus {
  min-height: 40px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.crm-technician-search-clear {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 8px;
  color: var(--crm-muted);
  background: transparent;
  cursor: pointer;
}
.crm-technician-search-clear:hover { color: var(--text); background: color-mix(in srgb, var(--crm-lime) 12%, transparent); }
.crm-technician-result-count { color: var(--crm-muted); font: 600 9px/1.35 var(--sans, sans-serif); }
.crm-technician-native-select { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 1px !important; padding: 0 !important; opacity: 0; pointer-events: none; }
.crm-technician-results { max-height: 240px; overflow: auto; padding: 4px; border: 1px solid var(--crm-line); border-radius: 10px; background: var(--panel2, #f5f6f4); box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.crm-technician-results[hidden] { display: none; }
.crm-technician-results button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border: 0; border-radius: 8px; color: var(--text); background: transparent; cursor: pointer; text-align: left; }
.crm-technician-results button:hover, .crm-technician-results button:focus { background: color-mix(in srgb, var(--crm-lime) 14%, transparent); outline: none; }
.crm-technician-results strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 10px var(--sans, sans-serif); }
.crm-technician-results small { flex: 0 0 auto; color: var(--crm-muted); font: 600 9px var(--sans, sans-serif); }

.crm-entity-results { display: grid; gap: 3px; }
.crm-entity-results[hidden] { display: none; }
.crm-entity-results button { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 0; border-radius: 8px; color: var(--text); background: transparent; cursor: pointer; text-align: left; }
.crm-entity-results button:hover { background: color-mix(in srgb, var(--crm-lime) 12%, transparent); }
.crm-entity-results button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 10px var(--sans, sans-serif); }
.crm-entity-results button small { flex: 0 0 auto; color: var(--crm-muted); font: 600 8px var(--sans, sans-serif); }
.crm-entity-state { display: block; padding: 12px; color: var(--crm-muted); font: 600 10px/1.4 var(--sans, sans-serif); text-align: center; }

.crm-mirror-field input:focus,
.crm-mirror-field select:focus,
.crm-mirror-field textarea:focus {
  border-color: var(--crm-green);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--crm-lime) 15%, transparent);
}

.crm-mirror-btn {
  min-height: 39px;
  padding: 0 15px;
  border: 1px solid var(--crm-line);
  border-radius: 10px;
  color: var(--text, #111);
  background: var(--panel2, #f3f5f2);
  cursor: pointer;
  font: 800 10px var(--sans, sans-serif);
}

.crm-mirror-btn.primary {
  border-color: var(--crm-lime);
  color: #12190e;
  background: var(--crm-lime);
}

.crm-mirror-modal-message { padding: 28px 22px; text-align: center; }
.crm-mirror-modal-message strong { display: block; margin-bottom: 7px; font: 800 16px var(--sans, sans-serif); }
.crm-mirror-modal-message span { color: var(--crm-muted); font: 600 11px/1.5 var(--sans, sans-serif); }

@keyframes crmReveal {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes crmColumnIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes crmDrawerIn {
  from { opacity: 0; transform: translateX(34px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes crmPulse {
  0% { box-shadow: 0 0 0 0 rgba(185,242,39,.28); }
  70%, 100% { box-shadow: 0 0 0 8px rgba(185,242,39,0); }
}

@media (max-width: 1080px) {
  .crm-humatech-insights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crm-humatech-insights article:nth-child(2) { border-right: 0; }
  .crm-humatech-insights article:nth-child(-n+2) { border-bottom: 1px solid var(--crm-line); }
  .crm-humatech-command { display: flex; flex-wrap: wrap; gap: 10px; }
  .crm-humatech-command .crm-humatech-search { flex: 1 1 220px; }
  .crm-humatech-command .crm-humatech-hero-actions { margin-left: auto; }
}

@media (max-width: 760px) {
  .crm-humatech-shell { padding: 12px; }
  .crm-humatech-hero { align-items: flex-start; flex-direction: column; border-radius: 20px; }
  .crm-humatech-hero-actions { justify-content: flex-start; }
  .crm-humatech-command { display: flex; flex-direction: column; align-items: stretch; }
  .crm-humatech-command .crm-humatech-search,
  .crm-humatech-command .crm-humatech-select,
  .crm-humatech-command .crm-humatech-view-switch,
  .crm-humatech-command .crm-humatech-hero-actions { width: 100%; max-width: none; margin-left: 0; }
  .crm-humatech-workspace { padding: 12px; border-radius: 17px; }
  .crm-humatech-workspace-head { align-items: stretch; flex-direction: column; }
  .crm-humatech-workspace-filters { align-items: stretch; flex-direction: column; }
  .crm-humatech-workspace-filters > label:not(.crm-humatech-toggle) { grid-template-columns: auto 1fr; }
  .crm-bitrix-board-nav { display: none; }
  .crm-mirror-modal-backdrop { align-items: flex-end; }
  .crm-mirror-modal {
    width: 100%;
    height: min(92vh, 860px);
    border-radius: 22px 22px 0 0;
    animation-name: crmSheetIn;
  }
  .crm-mirror-form-grid,
  .crm-mirror-custom-grid { grid-template-columns: 1fr; padding: 17px; }
  .crm-mirror-field.full { grid-column: auto; }
  .crm-mirror-custom-fields { margin: 0 17px 17px; }
  .crm-layout-global-note { align-items: flex-start; flex-wrap: wrap; margin: 14px 17px 10px; }
  .crm-layout-global-note small { width: 100%; margin-left: 0; }
  .crm-new-layout-grid { grid-template-columns: 1fr; padding: 17px; }
  .crm-layout-sections { padding: 0 17px 17px; }
}

@keyframes crmSheetIn {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 520px) {
  .crm-humatech-insights { grid-template-columns: 1fr; }
  .crm-humatech-insights article,
  .crm-humatech-insights article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid var(--crm-line);
  }
  .crm-humatech-insights article:last-child { border-bottom: 0; }
  .crm-humatech-hero-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .crm-mirror-sync { grid-column: 1 / -1; justify-content: center; }
  .crm-humatech-primary,
  .crm-humatech-secondary { width: 100%; }
}

/* Optimistic Kanban movement: immediate feedback while Bitrix confirms in background. */
.crm-bitrix-card.is-dragging {
  opacity: .46;
  transform: rotate(1deg) scale(.985);
}

.crm-bitrix-card.is-syncing {
  position: relative;
  opacity: .78;
  pointer-events: none;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--lime, #b9f227) 65%, transparent);
}

.crm-bitrix-card.is-syncing::after {
  content: "Sincronizando…";
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 4px 7px;
  border: 1px solid color-mix(in srgb, var(--lime, #b9f227) 45%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface, #fff) 92%, transparent);
  color: var(--text, #171717);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.crm-bitrix-column-body.is-over {
  outline: 2px solid color-mix(in srgb, var(--lime, #b9f227) 78%, transparent);
  outline-offset: -3px;
  background: color-mix(in srgb, var(--lime, #b9f227) 7%, transparent);
}

/* Theme-aware CRM surfaces. Uses portal tokens so light and dark stay aligned. */
.crm-humatech-shell {
  --crm-surface-base: color-mix(in srgb, var(--surface) 96%, var(--bg));
  --crm-surface-raised: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
  --crm-surface-soft: color-mix(in srgb, var(--surface) 84%, var(--text) 16%);
  --crm-line: color-mix(in srgb, var(--text) 12%, transparent);
  --crm-line-strong: color-mix(in srgb, var(--text) 20%, transparent);
  --crm-accent: #b7ef19;
  color: var(--text);
}

.crm-humatech-command,
.crm-humatech-insights,
.crm-humatech-workspace {
  background: var(--crm-surface-base);
  border-color: var(--crm-line);
  color: var(--text);
}

.crm-humatech-command {
  box-shadow: 0 12px 32px color-mix(in srgb, var(--bg) 62%, transparent);
}

.crm-humatech-search,
.crm-humatech-command select,
.crm-humatech-workspace select {
  background: var(--crm-surface-raised);
  border-color: var(--crm-line-strong);
  color: var(--text);
}

.crm-humatech-search input {
  color: var(--text);
}

.crm-humatech-search input::placeholder,
.crm-humatech-command label,
.crm-humatech-workspace label,
.crm-humatech-insights small {
  color: var(--text2);
}

.crm-humatech-view-switch {
  background: var(--crm-surface-raised);
  border-color: var(--crm-line-strong);
}

.crm-humatech-view-switch button {
  color: var(--text2);
}

.crm-humatech-view-switch button.is-active {
  background: var(--crm-accent);
  color: #111;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--crm-accent) 24%, transparent);
}

.crm-humatech-insights article {
  border-color: var(--crm-line);
}

.crm-humatech-insights strong,
.crm-humatech-workspace h2 {
  color: var(--text);
}

.crm-bitrix-column {
  background: color-mix(in srgb, var(--surface) 94%, var(--text) 6%);
  border-color: var(--crm-line);
  color: var(--text);
  box-shadow:
    inset 0 3px 0 var(--stage-color),
    0 14px 34px color-mix(in srgb, var(--bg) 68%, transparent);
}

.crm-bitrix-column-head {
  border-bottom: 1px solid var(--crm-line);
}

.crm-bitrix-stage-name {
  color: var(--text);
}

.crm-bitrix-stage-count {
  background: var(--crm-surface-soft);
  color: var(--text);
  border: 1px solid var(--crm-line);
}

.crm-bitrix-column-total-chip {
  color: var(--text2);
}

.crm-bitrix-quick-add {
  background: color-mix(in srgb, var(--surface) 96%, var(--crm-accent) 4%);
  border-color: var(--crm-line-strong);
  color: color-mix(in srgb, var(--crm-accent) 78%, var(--text));
}

.crm-bitrix-quick-add:hover {
  background: color-mix(in srgb, var(--surface) 84%, var(--crm-accent) 16%);
  border-color: color-mix(in srgb, var(--crm-accent) 55%, transparent);
  color: var(--text);
}

.crm-bitrix-column-body {
  scrollbar-color: var(--crm-line-strong) transparent;
}

.crm-bitrix-card {
  background: color-mix(in srgb, var(--surface) 97%, var(--text) 3%);
  border-color: var(--crm-line-strong);
  color: var(--text);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--bg) 72%, transparent);
}

.crm-bitrix-card:hover {
  background: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
  border-color: color-mix(in srgb, var(--stage-color) 48%, var(--crm-line));
  box-shadow: 0 12px 28px color-mix(in srgb, var(--bg) 78%, transparent);
}

.crm-bitrix-card-date,
.crm-bitrix-card-field label,
.crm-bitrix-card-footer {
  color: var(--text2);
}

.crm-bitrix-card-field,
.crm-bitrix-card-footer {
  border-color: var(--crm-line);
}

.crm-bitrix-card-open,
.crm-bitrix-card-footer button {
  background: var(--crm-surface-raised);
  border-color: var(--crm-line);
  color: var(--text2);
}

.crm-bitrix-card-open:hover,
.crm-bitrix-card-footer button:hover {
  color: var(--text);
  border-color: color-mix(in srgb, var(--crm-accent) 48%, transparent);
}

.crm-stage-batch-status {
  background: var(--crm-surface-raised);
  border-color: var(--crm-line);
  color: var(--text2);
}

.crm-bitrix-table-wrap,
.crm-bitrix-table th,
.crm-bitrix-table td {
  background: var(--crm-surface-base);
  border-color: var(--crm-line);
  color: var(--text);
}

.crm-mirror-modal-backdrop {
  background: color-mix(in srgb, #000 72%, transparent);
  backdrop-filter: blur(8px);
}

.crm-mirror-modal {
  --crm-modal-surface: color-mix(in srgb, var(--surface) 97%, var(--bg));
  --crm-modal-field: color-mix(in srgb, var(--surface) 88%, var(--text) 12%);
  background: var(--crm-modal-surface);
  border-color: var(--crm-line-strong);
  color: var(--text);
  box-shadow: -24px 0 70px color-mix(in srgb, #000 55%, transparent);
}

.crm-mirror-modal h2,
.crm-mirror-modal strong,
.crm-mirror-modal label,
.crm-mirror-modal p {
  color: var(--text);
}

.crm-mirror-modal-close {
  background: var(--crm-modal-field);
  border-color: var(--crm-line-strong);
  color: var(--text);
}

.crm-mirror-modal-close:hover {
  background: color-mix(in srgb, var(--crm-modal-field) 82%, var(--crm-accent) 18%);
}

.crm-layout-global {
  background: color-mix(in srgb, var(--surface) 92%, var(--crm-accent) 8%);
  border-color: var(--crm-line);
  color: var(--text2);
}

.crm-layout-global strong {
  color: var(--text);
}

.crm-layout-section {
  background: var(--crm-modal-surface);
  border-color: var(--crm-line);
}

.crm-layout-section > summary {
  background: var(--crm-surface-raised);
  border-color: var(--crm-line);
  color: var(--text);
}

.crm-layout-section[open] > summary {
  background: color-mix(in srgb, var(--surface) 84%, var(--crm-accent) 16%);
  border-bottom-color: var(--crm-line);
}

.crm-layout-section > summary span,
.crm-layout-section > summary p {
  color: var(--text2);
}

.crm-mirror-modal .crm-mirror-field input,
.crm-mirror-modal .crm-mirror-field select,
.crm-mirror-modal .crm-mirror-field textarea {
  background: var(--crm-modal-field) !important;
  border-color: var(--crm-line-strong) !important;
  color: var(--text) !important;
  caret-color: var(--crm-accent);
}

.crm-mirror-modal .crm-checkbox-trigger,
.crm-mirror-modal .crm-entity-control,
.crm-mirror-modal .crm-technician-search-control,
.crm-mirror-modal .crm-checkbox-menu,
.crm-mirror-modal .crm-entity-results {
  border-color: var(--crm-line-strong);
  color: var(--text);
  background: var(--crm-modal-field);
}

.crm-mirror-modal .crm-checkbox-menu,
.crm-mirror-modal .crm-entity-results {
  background: var(--crm-modal-surface);
}

.crm-mirror-modal .crm-entity-control .crm-entity-search,
.crm-mirror-modal .crm-entity-control .crm-entity-search:focus,
.crm-mirror-modal .crm-technician-search-input,
.crm-mirror-modal .crm-technician-search-input:focus {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.crm-mirror-modal .crm-mirror-field input:focus,
.crm-mirror-modal .crm-mirror-field select:focus,
.crm-mirror-modal .crm-mirror-field textarea:focus {
  background: color-mix(in srgb, var(--crm-modal-field) 92%, var(--crm-accent) 8%) !important;
  border-color: color-mix(in srgb, var(--crm-accent) 62%, transparent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--crm-accent) 14%, transparent);
  outline: none;
}

.crm-mirror-modal .crm-mirror-field input:disabled,
.crm-mirror-modal .crm-mirror-field select:disabled,
.crm-mirror-modal .crm-mirror-field textarea:disabled {
  background: color-mix(in srgb, var(--surface) 94%, var(--text) 6%) !important;
  color: var(--text2) !important;
  opacity: .78;
}

.crm-mirror-modal input::placeholder,
.crm-mirror-modal textarea::placeholder {
  color: var(--text3);
}

.crm-mirror-modal option {
  background: var(--surface);
  color: var(--text);
}

.crm-mirror-modal-actions {
  background: linear-gradient(to top, var(--crm-modal-surface) 76%, transparent);
  border-color: var(--crm-line);
}

.crm-mirror-modal-actions button {
  background: var(--crm-modal-field);
  border-color: var(--crm-line-strong);
  color: var(--text);
}

.crm-mirror-modal-actions button:last-child {
  background: var(--crm-accent);
  border-color: var(--crm-accent);
  color: #111;
}

/* Modal must stay above the homologation badge and keep primary actions visible. */
.crm-mirror-modal-backdrop {
  z-index: 100010 !important;
}

.crm-mirror-modal-foot {
  position: sticky;
  bottom: 0;
  z-index: 6;
  background: linear-gradient(to top, var(--crm-modal-surface) 78%, color-mix(in srgb, var(--crm-modal-surface) 92%, transparent));
  border-top: 1px solid var(--crm-line);
  box-shadow: 0 -16px 28px color-mix(in srgb, #000 22%, transparent);
}

.crm-mirror-modal-foot .crm-mirror-btn {
  background: var(--crm-modal-field);
  border-color: var(--crm-line-strong);
  color: var(--text);
}

.crm-mirror-modal-foot .crm-mirror-btn:hover {
  background: color-mix(in srgb, var(--crm-modal-field) 84%, var(--text) 16%);
}

.crm-mirror-modal-foot .crm-mirror-btn.primary {
  background: var(--crm-accent);
  border-color: var(--crm-accent);
  color: #111;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--crm-accent) 20%, transparent);
}

.crm-mirror-modal-foot .crm-mirror-btn.danger {
  border-color: color-mix(in srgb, #ef4444 68%, var(--crm-line));
  color: #ef4444;
  background: color-mix(in srgb, #ef4444 10%, var(--crm-modal-field));
}

.crm-mirror-modal-foot .crm-mirror-btn.danger:hover {
  border-color: #ef4444;
  color: #fff;
  background: #b91c1c;
}

/* Keep optimistic movement quiet: no badge, pulse or board redraw. */
.crm-bitrix-card.is-syncing {
  opacity: 1;
  box-shadow:
    inset 3px 0 0 color-mix(in srgb, var(--crm-accent) 72%, transparent),
    0 8px 22px color-mix(in srgb, var(--bg) 72%, transparent);
}

.crm-bitrix-card.is-syncing::after {
  content: none;
  display: none;
}

/* The modal is mounted outside the CRM shell, so it needs its own accent token. */
.crm-mirror-modal {
  --crm-accent: #b7ef19;
}

/* Centered detail workspace: large enough for real forms without becoming a full-height drawer. */
.crm-mirror-modal-backdrop {
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.crm-mirror-modal {
  width: min(980px, calc(100vw - 48px));
  height: auto;
  max-height: min(90vh, 920px);
  border-radius: 24px;
  box-shadow: 0 30px 90px color-mix(in srgb, #000 52%, transparent);
  animation-name: crmModalIn;
}

.crm-boolean-control {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid var(--crm-line);
  border-radius: 10px;
  background: var(--crm-modal-field, var(--panel2, #f5f6f4));
  color: var(--text);
}

.crm-boolean-control input { width: 18px; min-height: 18px; accent-color: var(--crm-accent); }
.crm-boolean-control span { font-size: 11px; font-weight: 750; text-transform: none; letter-spacing: 0; }

.crm-file-drop {
  position: relative;
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px dashed color-mix(in srgb, var(--crm-accent) 58%, var(--crm-line));
  border-radius: 13px;
  background: color-mix(in srgb, var(--crm-accent) 6%, var(--crm-modal-field, var(--surface)));
  cursor: pointer;
}

/* Keep the native picker accessible without inheriting the card's input box. */
.crm-mirror-field .crm-file-drop > input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  opacity: 0;
  pointer-events: none;
}
.crm-file-drop:focus-within { outline: 2px solid var(--crm-accent); outline-offset: 2px; }
.crm-file-drop span { color: var(--text); font-size: 12px; font-weight: 800; letter-spacing: 0; text-transform: none; }
.crm-file-drop small { color: var(--text2, var(--crm-muted)); font-size: 10px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.crm-file-list { display: grid; gap: 7px; margin-top: 8px; }
.crm-file-item { display: flex; align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid var(--crm-line); border-radius: 10px; background: var(--crm-modal-field, var(--panel2)); }
.crm-file-item > div { min-width: 0; flex: 1; }
.crm-file-item strong, .crm-file-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-file-item strong { color: var(--text); font-size: 10px; }
.crm-file-item small { margin-top: 2px; color: var(--text2, var(--crm-muted)); font-size: 9px; }
.crm-file-item a, .crm-file-item button { border: 0; color: var(--crm-accent); background: transparent; font-size: 9px; font-weight: 850; cursor: pointer; text-decoration: none; }
.crm-file-item button { color: #ef5b5b; }
.crm-file-item.pending { border-style: dashed; }
.crm-file-empty { padding: 9px 2px; color: var(--text2, var(--crm-muted)); font-size: 10px; }

@keyframes crmModalIn {
  from { opacity: 0; transform: translateY(18px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 760px) {
  .crm-mirror-modal-backdrop { align-items: flex-end; padding: 0; }
  .crm-mirror-modal { width: 100%; max-height: 92vh; border-radius: 22px 22px 0 0; animation-name: crmSheetIn; }
}
.crm-dispatch-parent-badge {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  margin-left: 7px;
  padding: 3px 7px;
  border: 1px solid color-mix(in srgb, var(--crm-green) 58%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--crm-green) 18%, var(--crm-surface));
  color: var(--crm-green);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  white-space: nowrap;
}
.crm-mirror-field.crm-location-required > label::after {
  content: ' *';
  color: #e34b4b;
  font-weight: 900;
}

.crm-tracking-panel {
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--crm-green) 28%, var(--crm-line));
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--crm-green) 14%, transparent), transparent 34%),
    var(--crm-surface);
  box-shadow: 0 14px 36px color-mix(in srgb, #000 8%, transparent);
}

.crm-tracking-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 13px;
  cursor: pointer;
  list-style: none;
}

.crm-tracking-head::-webkit-details-marker { display: none; }
.crm-tracking-head::marker { content: ''; }
.crm-tracking-disclosure:not([open]) > .crm-tracking-head { margin-bottom: 0; }
.crm-tracking-head:focus-visible { outline: 2px solid var(--crm-green); outline-offset: 6px; border-radius: 8px; }
.crm-tracking-controls { display: flex; align-items: center; gap: 12px; }
.crm-tracking-chevron { width: 18px; height: 18px; color: var(--text2); transition: transform .18s ease; }
.crm-tracking-disclosure[open] .crm-tracking-chevron { transform: rotate(180deg); }
.crm-tracking-head:hover .crm-tracking-chevron { color: var(--crm-green); }

.crm-tracking-kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--crm-green);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
}

.crm-tracking-head h3 { margin: 0; color: var(--text); font-size: 16px; }
.crm-tracking-count {
  display: grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--crm-green);
  color: #101607;
  font-size: 12px;
  font-weight: 950;
}

.crm-tracking-card {
  display: grid;
  grid-template-columns: minmax(160px, 1.15fr) minmax(180px, 1.5fr) minmax(150px, .9fr) 28px;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin-top: 8px;
  padding: 13px 14px;
  border: 1px solid var(--crm-line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--crm-surface) 94%, var(--crm-green) 6%);
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.crm-tracking-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--crm-green) 58%, var(--crm-line));
  box-shadow: 0 10px 24px color-mix(in srgb, #000 10%, transparent);
}

.crm-tracking-card.is-returned {
  border: 2px solid color-mix(in srgb, var(--crm-green) 82%, var(--crm-line));
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--crm-green) 25%, transparent), transparent 52%),
    color-mix(in srgb, var(--crm-surface) 94%, var(--crm-green) 6%);
  box-shadow: inset 6px 0 0 var(--crm-green), 0 14px 30px color-mix(in srgb, var(--crm-green) 20%, transparent);
}

.crm-tracking-card.is-returned .crm-tracking-card-status small {
  color: var(--crm-green);
  font-weight: 950;
  letter-spacing: .06em;
}

.crm-tracking-card-id { overflow: hidden; color: var(--text); font-size: 12px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.crm-tracking-card-meta, .crm-tracking-card-status { display: grid; gap: 3px; min-width: 0; }
.crm-tracking-card-meta b, .crm-tracking-card-status strong { overflow: hidden; color: var(--text); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.crm-tracking-card-meta span, .crm-tracking-card-status small { overflow: hidden; color: var(--text2); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.crm-tracking-card-status small { white-space: normal; overflow-wrap: anywhere; text-overflow: clip; }
.crm-tracking-card-status strong { color: var(--crm-green); }
.crm-tracking-card-arrow { color: var(--crm-green); font-size: 17px; font-weight: 900; text-align: center; }
.crm-tracking-empty { padding: 18px 4px 5px; color: var(--text2); font-size: 11px; }

@media (max-width: 760px) {
  .crm-tracking-card { grid-template-columns: 1fr 24px; }
  .crm-tracking-card-meta, .crm-tracking-card-status { grid-column: 1; }
  .crm-tracking-card-arrow { grid-column: 2; grid-row: 1 / 4; }
}

.crm-modal-stage-flow {
  position: sticky;
  top: 0;
  z-index: 8;
  display: grid;
  gap: 10px;
  padding: 13px 18px 15px;
  border-bottom: 1px solid var(--crm-line);
  background: color-mix(in srgb, var(--crm-modal-surface) 96%, transparent);
  backdrop-filter: blur(18px);
}

.crm-welcome-automation {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  margin: 14px 18px 0;
  padding: 13px 14px;
  border: 1px solid color-mix(in srgb, var(--crm-accent) 38%, var(--crm-line));
  border-radius: 13px;
  background: color-mix(in srgb, var(--crm-accent) 8%, var(--crm-modal-field));
  color: var(--text);
}
.crm-welcome-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: #25d366; color: #082f16; font-size: 11px; font-weight: 950; letter-spacing: -.02em; }
.crm-welcome-automation > div { display: grid; gap: 3px; min-width: 0; }
.crm-welcome-automation small { color: var(--text2); font-size: 8px; font-weight: 950; letter-spacing: .12em; }
.crm-welcome-automation strong { font-size: 12px; font-weight: 950; }
.crm-welcome-automation p, .crm-welcome-automation em { margin: 0; color: var(--text2); font-size: 9px; font-style: normal; line-height: 1.45; }
.crm-welcome-automation em { color: var(--text); font-weight: 750; }
.crm-welcome-automation.is-sent { border-color: color-mix(in srgb, #25d366 58%, var(--crm-line)); background: color-mix(in srgb, #25d366 12%, var(--crm-modal-field)); }
.crm-welcome-automation.is-error { border-color: color-mix(in srgb, #ef4444 58%, var(--crm-line)); background: color-mix(in srgb, #ef4444 10%, var(--crm-modal-field)); }
.crm-welcome-retry { min-height: 34px; padding: 0 12px; border: 1px solid color-mix(in srgb, var(--crm-accent) 45%, var(--crm-line)); border-radius: 9px; background: var(--crm-accent); color: #111805; font-size: 9px; font-weight: 900; cursor: pointer; }
.crm-welcome-retry:disabled { cursor: wait; opacity: .64; }

@media (max-width: 760px) {
  .crm-welcome-automation { grid-template-columns: 38px 1fr; margin-inline: 13px; }
  .crm-welcome-retry { grid-column: 1 / -1; }
}

.crm-modal-stage-flow-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.crm-modal-stage-flow-head > span:first-child { display: flex; align-items: baseline; gap: 9px; }
.crm-modal-stage-flow-head b { color: var(--text); font-size: 9px; font-weight: 950; letter-spacing: .12em; }
.crm-modal-stage-flow-head small, .crm-modal-stage-status { color: var(--text2); font-size: 9px; }
.crm-modal-stage-status { overflow: hidden; max-width: 50%; text-align: right; text-overflow: ellipsis; white-space: nowrap; }

.crm-modal-stage-track {
  display: grid;
  grid-template-columns: repeat(var(--crm-stage-count), minmax(0, 1fr));
  align-items: stretch;
  gap: 3px;
  width: 100%;
  padding: 2px 1px 5px;
}

.crm-modal-stage-step {
  position: relative;
  min-width: 0;
  max-width: none;
  min-height: 37px;
  padding: 8px 12px 8px 10px;
  border: 0;
  border-radius: 7px 2px 2px 7px;
  clip-path: polygon(0 0, calc(100% - 11px) 0, 100% 50%, calc(100% - 11px) 100%, 0 100%, 10px 50%);
  background: color-mix(in srgb, var(--crm-modal-field) 90%, var(--text) 10%);
  color: var(--text2);
  cursor: pointer;
  transition: filter .16s ease, transform .16s ease, background .16s ease, color .16s ease;
}

.crm-modal-stage-step:first-child { clip-path: polygon(0 0, calc(100% - 11px) 0, 100% 50%, calc(100% - 11px) 100%, 0 100%); }
.crm-modal-stage-step span { display: block; overflow: hidden; font-size: clamp(7px, .62vw, 9px); font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.crm-modal-stage-step:hover:not(:disabled) { filter: brightness(1.08); transform: translateY(-1px); color: var(--text); }
.crm-modal-stage-step.is-current { background: var(--crm-accent); color: #101607; box-shadow: 0 5px 16px color-mix(in srgb, var(--crm-accent) 28%, transparent); }
.crm-modal-stage-step:disabled { cursor: wait; opacity: .66; }

@media (max-width: 760px) {
  .crm-modal-stage-flow { padding: 11px 13px 13px; }
  .crm-modal-stage-flow-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .crm-modal-stage-status { max-width: 100%; text-align: left; }
  .crm-modal-stage-track { gap: 2px; }
  .crm-modal-stage-step { min-height: 34px; padding-inline: 5px; }
  .crm-modal-stage-step span { font-size: 7px; }
}

/* Configuracao local de etapas do CRM */
.crm-stage-manager-toggle {
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid color-mix(in srgb, var(--stage-color, #8fbe22) 36%, #d7ddd0);
  border-radius: 11px;
  background: color-mix(in srgb, #8fbe22 9%, var(--crm-surface, #fff));
  color: var(--crm-text, #1e231b);
  font-weight: 750;
  cursor: pointer;
}
.crm-stage-manager {
  margin: 0 0 18px;
  padding: 20px;
  border: 1px solid color-mix(in srgb, #8fbe22 28%, var(--crm-border, #dce1d8));
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in srgb, #8fbe22 8%, var(--crm-surface, #fff)), var(--crm-surface, #fff) 55%);
  box-shadow: 0 18px 50px rgba(32, 45, 25, .08);
}
.crm-stage-manager-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 4px;
}
.crm-stage-manager-head span {
  color: #6d9519;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}
.crm-stage-manager-head h3 { margin: 4px 0 0; font-size: 20px; }
.crm-stage-manager-head button,
.crm-stage-manager-row button,
.crm-stage-manager-create button {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid var(--crm-border, #dce1d8);
  border-radius: 10px;
  background: var(--crm-surface, #fff);
  color: var(--crm-text, #1e231b);
  font-weight: 750;
  cursor: pointer;
}
.crm-stage-manager > p { margin: 8px 0 16px; color: var(--crm-muted, #6f756a); }
.crm-stage-manager-list { display: grid; gap: 8px; }
.crm-stage-manager-row,
.crm-stage-manager-create {
  display: grid;
  grid-template-columns: 44px minmax(220px, 1fr) 74px auto auto;
  align-items: center;
  gap: 9px;
}
.crm-stage-manager-row input[type="text"],
.crm-stage-manager-create input[type="text"] {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--crm-border, #dce1d8);
  border-radius: 10px;
  background: var(--crm-input, #f7f9f4);
  color: var(--crm-text, #1e231b);
}
.crm-stage-manager-color,
.crm-stage-manager-create input[type="color"] {
  width: 44px;
  height: 38px;
  padding: 3px;
  border: 1px solid var(--crm-border, #dce1d8);
  border-radius: 10px;
  background: var(--crm-surface, #fff);
  cursor: pointer;
}
.crm-stage-manager-source {
  padding: 5px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, #8fbe22 12%, transparent);
  color: #668c18;
  font-size: 10px;
  font-weight: 850;
  text-align: center;
  text-transform: uppercase;
}
.crm-stage-manager-row button.is-danger { color: #d34b4b; border-color: color-mix(in srgb, #d34b4b 35%, transparent); }
.crm-stage-manager-create {
  grid-template-columns: 44px minmax(220px, 1fr) auto;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--crm-border, #dce1d8);
}
.crm-stage-manager-create button { background: #9dce27; border-color: #9dce27; color: #172000; }
@media (max-width: 920px) {
  .crm-stage-manager-row { grid-template-columns: 44px 1fr auto; }
  .crm-stage-manager-source { display: none; }
  .crm-stage-manager-row button { grid-row: 2; }
  .crm-stage-manager-create { grid-template-columns: 44px 1fr; }
  .crm-stage-manager-create button { grid-column: 1 / -1; }
}

/* WhatsApp CRM */
.crm-whatsapp-launch { display:inline-grid; grid-template-columns:9px auto; align-items:center; column-gap:8px; min-height:42px; padding:7px 13px; border:1px solid color-mix(in srgb,#25d366 40%,var(--crm-border,#dce1d8)); border-radius:13px; background:color-mix(in srgb,#25d366 8%,var(--crm-surface,#fff)); color:var(--text,#1d211b); cursor:pointer; text-align:left; }
.crm-whatsapp-launch b { font-size:10px; font-weight:950; }
.crm-whatsapp-launch small { grid-column:2; color:var(--text2,#71776e); font-size:8px; }
.crm-wa-live-dot { grid-row:1/3; width:8px; height:8px; border-radius:50%; background:#d6a61d; box-shadow:0 0 0 4px color-mix(in srgb,#d6a61d 16%,transparent); }
.crm-whatsapp-launch[data-state="connected"] .crm-wa-live-dot { background:#25d366; box-shadow:0 0 0 4px color-mix(in srgb,#25d366 18%,transparent); }
.crm-whatsapp-launch[data-state="offline"] .crm-wa-live-dot { background:#d75a5a; box-shadow:none; }
.crm-wa-drawer { position:fixed; z-index:100100; inset:0; display:none; }
.crm-wa-drawer.is-open { display:block; }
.crm-wa-drawer-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(5,8,4,.58); backdrop-filter:blur(8px); }
.crm-wa-drawer aside { position:absolute; top:0; right:0; display:grid; grid-template-rows:auto minmax(0,1fr); width:min(1040px,92vw); height:100%; border-left:1px solid color-mix(in srgb,#9dce27 30%,var(--crm-border,#dce1d8)); background:var(--crm-modal-surface,#fff); color:var(--text,#1d211b); box-shadow:-30px 0 90px rgba(0,0,0,.28); animation:crmWaSlide .28s cubic-bezier(.2,.8,.2,1); }
@keyframes crmWaSlide { from { transform:translateX(40px); opacity:.4; } }
.crm-wa-drawer aside>header { display:flex; justify-content:space-between; gap:20px; padding:23px 26px 19px; border-bottom:1px solid var(--crm-border,#dce1d8); background:linear-gradient(115deg,color-mix(in srgb,#25d366 10%,var(--crm-modal-surface,#fff)),var(--crm-modal-surface,#fff) 60%); }
.crm-wa-drawer header small { color:#679b12; font-size:8px; font-weight:950; letter-spacing:.16em; }
.crm-wa-drawer h2 { margin:3px 0 2px; font-family:Georgia,serif; font-size:25px; }
.crm-wa-drawer header p { margin:0; color:var(--text2,#71776e); font-size:10px; }
.crm-wa-close { align-self:start; width:38px; height:38px; border:1px solid var(--crm-border,#dce1d8); border-radius:12px; background:var(--crm-surface,#fff); color:var(--text,#1d211b); font-size:21px; cursor:pointer; }
.crm-wa-drawer-body { min-height:0; overflow:hidden; }
.crm-wa-connect { display:grid; justify-items:center; gap:12px; max-width:520px; margin:0 auto; padding:42px 28px; text-align:center; }
.crm-wa-shield,.crm-wa-thread-empty span { display:grid; width:52px; height:52px; place-items:center; border-radius:17px; background:#25d366; color:#0a3017; font-size:13px; font-weight:950; box-shadow:0 16px 36px rgba(37,211,102,.2); }
.crm-wa-connect h3 { margin:5px 0 0; font-size:18px; }
.crm-wa-connect p { max-width:460px; margin:0; color:var(--text2,#71776e); font-size:11px; line-height:1.65; }
.crm-wa-qr { width:min(320px,72vw); padding:12px; border:1px solid var(--crm-border,#dce1d8); border-radius:20px; background:#fff; box-shadow:0 16px 50px rgba(0,0,0,.12); }
.crm-wa-qr-wait { display:grid; place-items:center; gap:12px; width:min(320px,72vw); aspect-ratio:1; border:1px dashed var(--crm-border,#dce1d8); border-radius:20px; background:color-mix(in srgb,#25d366 5%,var(--crm-surface,#fff)); color:var(--text2,#71776e); }
.crm-wa-qr-wait span,.crm-wa-card-loading span { width:30px; height:30px; border:3px solid color-mix(in srgb,#25d366 25%,transparent); border-top-color:#25d366; border-radius:50%; animation:crmWaSpin .8s linear infinite; }
@keyframes crmWaSpin { to { transform:rotate(360deg); } }
.crm-wa-state { display:flex; align-items:center; gap:8px; font-size:10px; font-weight:800; }
.crm-wa-state span { width:7px; height:7px; border-radius:50%; background:#d6a61d; }
.crm-wa-connect>button,.crm-wa-card-alert button { min-height:39px; padding:0 16px; border:0; border-radius:11px; background:#9dce27; color:#172000; font-size:10px; font-weight:950; cursor:pointer; }
.crm-wa-connect>small { color:var(--text2,#71776e); font-size:8px; }
.crm-wa-workspace { display:grid; grid-template-columns:310px minmax(0,1fr); height:100%; min-height:0; }
.crm-wa-chat-list { min-height:0; overflow-y:auto; border-right:1px solid var(--crm-border,#dce1d8); background:color-mix(in srgb,#25d366 3%,var(--crm-surface,#fff)); }
.crm-wa-list-sticky { position:sticky; top:0; z-index:2; background:color-mix(in srgb,#25d366 3%,var(--crm-surface,#fff)); box-shadow:0 8px 20px color-mix(in srgb,#151b12 7%,transparent); }
.crm-wa-list-head { position:static; display:flex; justify-content:space-between; padding:16px 16px 10px; background:inherit; }
.crm-wa-list-head b { font-size:11px; }
.crm-wa-list-head span { min-width:24px; padding:3px 7px; border-radius:999px; background:color-mix(in srgb,#25d366 14%,transparent); color:#56880d; font-size:8px; font-weight:900; text-align:center; }
.crm-wa-chat-search { display:grid; gap:5px; padding:0 14px 11px; }
.crm-wa-chat-search>span { color:var(--text2,#71776e); font-size:7px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.crm-wa-chat-search input { width:100%; min-height:36px; box-sizing:border-box; padding:0 12px; border:1px solid var(--crm-border,#dce1d8); border-radius:11px; background:var(--crm-modal-field,#f8faf6); color:var(--text,#1d211b); font:inherit; font-size:9px; }
.crm-wa-chat-search input:focus { outline:2px solid color-mix(in srgb,#25d366 38%,transparent); outline-offset:1px; border-color:#25d366; }
.crm-wa-chat-search input::placeholder { color:color-mix(in srgb,var(--text2,#71776e) 72%,transparent); }
.crm-wa-chat-item { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; padding:12px 14px; border:0; border-bottom:1px solid color-mix(in srgb,var(--crm-border,#dce1d8) 70%,transparent); background:transparent; color:var(--text,#1d211b); cursor:pointer; text-align:left; }
.crm-wa-chat-item:hover,.crm-wa-chat-item.is-active { background:color-mix(in srgb,#25d366 10%,var(--crm-surface,#fff)); }
.crm-wa-chat-item>span,.crm-wa-thread>header>span,.crm-wa-card-thread>header>span { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; background:color-mix(in srgb,#25d366 18%,var(--crm-surface,#fff)); color:#56880d; font-weight:950; }
.crm-wa-chat-item div { min-width:0; }
.crm-wa-chat-item b,.crm-wa-chat-item p { display:block; overflow:hidden; margin:0; text-overflow:ellipsis; white-space:nowrap; }
.crm-wa-chat-item b { font-size:10px; }
.crm-wa-chat-item p,.crm-wa-chat-item small { color:var(--text2,#71776e); font-size:8px; }
.crm-wa-thread { display:grid; grid-template-rows:auto minmax(0,1fr) auto; min-height:0; background:color-mix(in srgb,#25d366 2%,var(--crm-modal-surface,#fff)); }
.crm-wa-thread>header,.crm-wa-card-thread>header { display:flex; align-items:center; gap:10px; padding:13px 16px; border-bottom:1px solid var(--crm-border,#dce1d8); background:var(--crm-surface,#fff); }
.crm-wa-thread header div,.crm-wa-card-thread header div { display:grid; gap:2px; }
.crm-wa-thread header b,.crm-wa-card-thread header b { font-size:11px; }
.crm-wa-thread header small,.crm-wa-card-thread header small { color:var(--text2,#71776e); font-size:8px; }
.crm-wa-thread-empty { align-self:center; justify-self:center; display:grid; justify-items:center; gap:9px; color:var(--text2,#71776e); text-align:center; }
.crm-wa-thread-empty b { color:var(--text,#1d211b); }
.crm-wa-thread-empty p { margin:0; font-size:9px; }
.crm-wa-messages { min-height:0; overflow-y:auto; padding:18px; background-image:radial-gradient(color-mix(in srgb,#25d366 10%,transparent) .8px,transparent .8px); background-size:18px 18px; }
.crm-wa-message { width:fit-content; max-width:min(76%,640px); margin:0 0 10px; padding:10px 12px 7px; border:1px solid var(--crm-border,#dce1d8); border-radius:14px 14px 14px 4px; background:var(--crm-surface,#fff); box-shadow:0 4px 12px rgba(0,0,0,.04); }
.crm-wa-message.is-out { margin-left:auto; border-color:color-mix(in srgb,#25d366 28%,var(--crm-border,#dce1d8)); border-radius:14px 14px 4px; background:color-mix(in srgb,#25d366 14%,var(--crm-surface,#fff)); }
.crm-wa-message p { margin:0; color:var(--text,#1d211b); font-size:10px; line-height:1.55; }
.crm-wa-message footer { display:flex; justify-content:flex-end; gap:7px; margin-top:5px; color:var(--text2,#71776e); font-size:7px; }
.crm-wa-message footer b { color:#56880d; letter-spacing:.07em; }
.crm-wa-compose { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; padding:12px; border-top:1px solid var(--crm-border,#dce1d8); background:var(--crm-surface,#fff); }
.crm-wa-compose textarea { resize:none; min-height:44px; padding:11px 12px; border:1px solid var(--crm-border,#dce1d8); border-radius:12px; background:var(--crm-modal-field,#f8faf6); color:var(--text,#1d211b); font:inherit; font-size:10px; }
.crm-wa-compose textarea:focus { outline:2px solid color-mix(in srgb,#25d366 45%,transparent); outline-offset:1px; border-color:#25d366; }
.crm-wa-compose button { min-width:86px; border:0; border-radius:12px; background:#9dce27; color:#172000; font-size:10px; font-weight:950; cursor:pointer; }
.crm-wa-compose button:disabled { opacity:.55; cursor:wait; }
.crm-wa-empty { padding:24px; color:var(--text2,#71776e); font-size:9px; text-align:center; }
.crm-wa-card-tabs { display:flex; gap:4px; padding:10px 18px 0; border-bottom:1px solid var(--crm-border,#dce1d8); background:var(--crm-modal-surface,#fff); }
.crm-wa-card-tabs button { display:flex; align-items:center; gap:7px; min-height:36px; padding:0 13px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--text2,#71776e); font-size:9px; font-weight:900; cursor:pointer; }
.crm-wa-card-tabs button.is-active { border-bottom-color:#9dce27; color:var(--text,#1d211b); }
.crm-wa-card-tabs button span { width:7px; height:7px; border-radius:50%; background:#25d366; }
.crm-wa-hidden { display:none!important; }
.crm-wa-card-panel { min-height:560px; height:min(68vh,720px); background:var(--crm-modal-surface,#fff); }
.crm-wa-card-thread { display:grid; grid-template-rows:auto minmax(0,1fr) auto; height:100%; }
.crm-wa-card-thread header em { margin-left:auto; padding:5px 8px; border-radius:999px; background:color-mix(in srgb,#25d366 12%,transparent); color:#56880d; font-size:7px; font-style:normal; font-weight:900; }
.crm-wa-card-loading,.crm-wa-card-alert { display:grid; justify-items:center; align-content:center; gap:10px; height:100%; padding:35px; color:var(--text2,#71776e); text-align:center; }
.crm-wa-card-alert b { color:var(--text,#1d211b); font-size:14px; }
.crm-wa-card-alert p { max-width:420px; margin:0; font-size:10px; line-height:1.55; }
@media (max-width:760px) { .crm-wa-drawer aside{width:100%}.crm-wa-workspace{grid-template-columns:1fr}.crm-wa-chat-list{display:none}.crm-wa-card-panel{min-height:480px;height:66vh}.crm-wa-message{max-width:90%} }

.crm-wa-list-head { align-items:center; gap:8px; }
.crm-wa-list-head>div { display:flex; align-items:center; gap:7px; }
.crm-wa-list-head>button { display:inline-flex; align-items:center; gap:5px; min-height:28px; padding:0 8px; border:1px solid color-mix(in srgb,#25d366 32%,var(--crm-border,#dce1d8)); border-radius:9px; background:var(--crm-surface,#fff); color:var(--text,#1d211b); font-size:7px; font-weight:900; cursor:pointer; }
.crm-wa-list-head>button svg,.crm-wa-icon-button svg,.crm-wa-message-actions svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.crm-wa-list-head>button span { min-width:0; padding:0; border-radius:0; background:none; color:inherit; font-size:inherit; text-align:left; }
.crm-wa-list-head>button:disabled { opacity:.65; cursor:wait; }
.crm-wa-list-head>button.is-running svg { animation:crmWaSpin .8s linear infinite; }
.crm-wa-history { padding:8px 14px; border-bottom:1px solid var(--crm-border,#dce1d8); background:color-mix(in srgb,#25d366 7%,var(--crm-surface,#fff)); color:var(--text2,#71776e); font-size:7px; line-height:1.45; }
.crm-wa-history[data-state="running"] { color:#56880d; font-weight:850; }
.crm-wa-history[data-state="error"] { color:#c14b4b; }
.crm-wa-message { position:relative; }
.crm-wa-message.is-deleted { opacity:.66; font-style:italic; }
.crm-wa-message-actions { position:absolute; top:-9px; right:8px; display:flex; gap:4px; opacity:0; transform:translateY(3px); transition:.16s ease; }
.crm-wa-message:hover .crm-wa-message-actions,.crm-wa-message:focus-within .crm-wa-message-actions { opacity:1; transform:none; }
.crm-wa-message-actions button { display:grid; width:25px; height:25px; place-items:center; padding:0; border:1px solid var(--crm-border,#dce1d8); border-radius:8px; background:var(--crm-surface,#fff); color:var(--text2,#71776e); box-shadow:0 5px 14px rgba(0,0,0,.12); cursor:pointer; }
.crm-wa-message-actions button:hover { border-color:#9dce27; color:#56880d; }
.crm-wa-message footer i { color:var(--text2,#71776e); font-style:normal; }
.crm-wa-media { display:block; margin:0 0 7px; color:inherit; text-decoration:none; }
.crm-wa-media.is-image img,.crm-wa-media.is-video video { display:block; width:min(360px,100%); max-height:330px; object-fit:contain; border-radius:10px; background:#111; }
.crm-wa-media.is-audio { display:grid; gap:4px; min-width:min(320px,68vw); }
.crm-wa-media.is-audio audio { width:100%; height:36px; }
.crm-wa-media.is-audio small,.crm-wa-media.is-unavailable small { color:var(--text2,#71776e); font-size:7px; }
.crm-wa-media.is-document { display:flex; align-items:center; gap:9px; min-width:220px; padding:9px; border:1px solid color-mix(in srgb,#25d366 24%,var(--crm-border,#dce1d8)); border-radius:10px; background:color-mix(in srgb,#25d366 7%,var(--crm-surface,#fff)); }
.crm-wa-media.is-document>span { display:grid; width:33px; height:33px; place-items:center; border-radius:9px; background:#9dce27; color:#172000; font-size:7px; font-weight:950; }
.crm-wa-media.is-document div { display:grid; gap:2px; min-width:0; }
.crm-wa-media.is-document b { overflow:hidden; color:var(--text,#1d211b); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.crm-wa-media.is-document small { color:var(--text2,#71776e); font-size:7px; }
.crm-wa-media.is-unavailable { display:grid; gap:4px; padding:9px; border:1px dashed var(--crm-border,#dce1d8); border-radius:9px; }
.crm-wa-compose { display:block; padding:9px 12px 12px; }
.crm-wa-compose-main { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:end; gap:7px; }
.crm-wa-compose .crm-wa-icon-button { display:grid; min-width:40px; width:40px; height:42px; place-items:center; padding:0; border:1px solid var(--crm-border,#dce1d8); border-radius:12px; background:var(--crm-modal-field,#f8faf6); color:var(--text2,#71776e); cursor:pointer; }
.crm-wa-compose .crm-wa-icon-button:hover { border-color:#25d366; color:#56880d; }
.crm-wa-compose.is-recording .crm-wa-icon-button[data-wa-action="record"] { border-color:#e44; background:color-mix(in srgb,#e44 12%,var(--crm-surface,#fff)); color:#d33; animation:crmWaRecord 1.2s ease-in-out infinite; }
@keyframes crmWaRecord { 50% { box-shadow:0 0 0 7px color-mix(in srgb,#e44 14%,transparent); } }
.crm-wa-compose .crm-wa-send { min-width:76px; height:42px; padding:0 14px; }
.crm-wa-compose textarea { width:100%; min-height:42px; max-height:120px; box-sizing:border-box; }
.crm-wa-file-queue { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 8px; }
.crm-wa-file-queue[hidden] { display:none; }
.crm-wa-file-queue span { display:flex; align-items:center; gap:6px; max-width:260px; padding:5px 8px; border:1px solid color-mix(in srgb,#25d366 25%,var(--crm-border,#dce1d8)); border-radius:999px; background:color-mix(in srgb,#25d366 7%,var(--crm-surface,#fff)); }
.crm-wa-file-queue b { overflow:hidden; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.crm-wa-file-queue small { flex:0 0 auto; color:var(--text2,#71776e); font-size:6px; }
@media (max-width:760px) { .crm-wa-list-head>button span{display:none}.crm-wa-compose-main{grid-template-columns:auto minmax(0,1fr) auto}.crm-wa-compose .crm-wa-send{grid-column:1/-1;width:100%}.crm-wa-media.is-audio{min-width:220px} }
/* CRM HML: refinamentos de layout, navegacao e cadastro rapido. */
.crm-bitrix-real-board .crm-bitrix-board { overscroll-behavior-x: contain; scroll-behavior: smooth; touch-action: pan-x pan-y; }
.crm-bitrix-real-board .crm-bitrix-column-body { max-height: calc(100vh - 352px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.crm-bitrix-real-board .crm-bitrix-card-kicker span { color: #78858d; font-size: 9px; }
.crm-bitrix-real-board .crm-bitrix-card-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 9px; }
.crm-bitrix-real-board .crm-bitrix-card-summary-item { min-width: 0; padding: 6px; border-radius: 6px; background: #f3f7ed; }
.crm-bitrix-real-board .crm-bitrix-card-summary-item label { display: block; color: #89958e; font-size: 8px; text-transform: uppercase; letter-spacing: .05em; }
.crm-bitrix-real-board .crm-bitrix-card-summary-item strong { display: block; overflow: hidden; margin-top: 2px; color: #344038; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.crm-entity-add { margin-top: 6px; border: 0; padding: 0; background: transparent; color: #5f8f16; font-size: 10px; font-weight: 750; cursor: pointer; }
.crm-entity-add:hover { text-decoration: underline; }
.crm-inline-entity-backdrop { position: fixed; inset: 0; z-index: 100020; display: grid; place-items: center; padding: 18px; background: rgba(8,14,7,.78); backdrop-filter: blur(8px); }
.crm-inline-entity-modal { width: min(520px, 100%); border: 1px solid rgba(177,222,83,.38); border-radius: 16px; background: #fff; color: #20251f; box-shadow: 0 30px 90px rgba(0,0,0,.42); }
.crm-inline-entity-modal header { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid #e3eadc; }
.crm-inline-entity-modal header div { display: grid; gap: 4px; }
.crm-inline-entity-modal header small { color: #6f982d; font-size: 9px; font-weight: 800; letter-spacing: .11em; }
.crm-inline-entity-modal header strong { font-size: 18px; }
.crm-inline-entity-modal header button { border: 0; background: transparent; color: #687064; font-size: 24px; cursor: pointer; }
.crm-inline-entity-modal form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 20px; }
.crm-inline-entity-modal label { display: grid; min-width: 0; gap: 5px; color: #5c6658; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.crm-inline-entity-modal input,
.crm-inline-entity-modal select { width: 100%; min-width: 0; min-height: 40px; box-sizing: border-box; border: 1px solid #cad7be; border-radius: 9px; padding: 0 11px; background: #f8fbf4; color: #20251f; }
.crm-inline-entity-modal footer { display: flex; justify-content: flex-end; grid-column: 1 / -1; gap: 8px; padding-top: 6px; }
.crm-inline-entity-modal footer button { min-height: 38px; border: 1px solid #ccd6c3; border-radius: 9px; padding: 0 14px; background: #fff; cursor: pointer; }
.crm-inline-entity-modal footer .primary { border-color: #a8dc3d; background: #bdf33f; color: #172009; font-weight: 800; }
.crm-activity-panel { margin: 0 18px 18px; border: 1px solid var(--border, #dce4d6); border-radius: 12px; padding: 14px; background: color-mix(in srgb, var(--surface, #fff) 92%, #bdf33f 8%); }
.crm-bitrix-comments-panel { margin: 0 18px 18px; border: 1px solid var(--border, #dce4d6); border-radius: 12px; padding: 14px; background: color-mix(in srgb, var(--surface, #fff) 94%, #bdf33f 6%); }
.crm-bitrix-comments-panel > header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.crm-bitrix-comments-panel > header div { display:grid; gap:3px; }
.crm-bitrix-comments-panel > header small { color:#77a226; font-size:8px; font-weight:850; letter-spacing:.12em; }
.crm-bitrix-comments-panel > header strong { color:var(--text, #1f251c); font-size:14px; }
.crm-bitrix-comments-panel > header > span { color:var(--text3, #77806f); font-size:9px; }
.crm-bitrix-comments-list { display:grid; gap:8px; margin-top:12px; }
.crm-bitrix-comments-list article { border-left:3px solid #55a8ff; padding:9px 11px; background:color-mix(in srgb, var(--surface, #fff) 96%, #55a8ff 4%); border-radius:0 8px 8px 0; }
.crm-bitrix-comment-meta { display:flex; align-items:center; gap:9px; }
.crm-bitrix-comment-meta strong { color:var(--text, #263020); font-size:11px; }
.crm-bitrix-comment-meta time { color:var(--text3, #7f897a); font-size:9px; }
.crm-bitrix-comments-list p { margin:7px 0 0; color:var(--text, #263020); font-size:11px; line-height:1.5; white-space:pre-wrap; }
.crm-bitrix-comment-files { margin-top:7px; color:#2675c9; font-size:10px; }
.crm-activity-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.crm-activity-panel > header div { display: grid; gap: 3px; }
.crm-activity-panel > header small { color: #77a226; font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.crm-activity-panel > header strong { color: var(--text, #1f251c); font-size: 14px; }
.crm-activity-panel > header > span { color: var(--text3, #77806f); font-size: 9px; }
.crm-activity-panel form { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 12px; }
.crm-activity-panel textarea { min-height: 72px; resize: vertical; border: 1px solid var(--border, #cad6c0); border-radius: 9px; padding: 10px; background: var(--surface, #fff); color: var(--text, #20251f); }
.crm-activity-panel form button { align-self: end; min-height: 38px; border: 0; border-radius: 9px; padding: 0 13px; background: #a9db3d; color: #172009; font-weight: 800; cursor: pointer; }
.crm-activity-list { display: grid; gap: 7px; margin-top: 10px; }
.crm-activity-list article { display: grid; gap: 4px; border-left: 3px solid #a8d93e; padding: 8px 10px; background: color-mix(in srgb, var(--surface, #fff) 94%, #bdf33f 6%); }
.crm-recruitment-reminders ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.crm-recruitment-reminders li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; border: 1px solid var(--crm-line); border-radius: 8px; background: color-mix(in srgb, var(--crm-accent) 5%, var(--crm-surface)); }
.crm-recruitment-reminders li span { color: var(--text3, #7f897a); font-size: 11px; }
.crm-recruitment-reminders .crm-recruitment-reminders-empty { color: var(--text3, #7f897a); justify-content: flex-start; }
.crm-activity-list article strong { color: var(--text, #263020); font-size: 11px; font-weight: 650; white-space: pre-wrap; }
.crm-activity-list article small, .crm-activity-list p { color: var(--text3, #7f897a); font-size: 9px; }
.crm-service-quantity { grid-template-columns: auto 1fr 90px; }
.crm-service-quantity.is-created { opacity: .55; }
.crm-sow-gate { border-color: rgba(103,155,30,.32); background: rgba(174,226,75,.1); }
.crm-location-required > label::after { content: ' · obrigatório nesta etapa'; color: #d05c38; font-size: 8px; }
.crm-mirror-modal-backdrop { background: rgba(4,8,4,.78); backdrop-filter: blur(8px); }
body.dark .crm-mirror-modal,
body.dark-mode .crm-mirror-modal,
[data-theme="dark"] .crm-mirror-modal,
html[data-theme="dark"] .crm-mirror-modal { border-color: #44523c; background: #171b16; color: #f3f6ef; box-shadow: 0 28px 90px rgba(0,0,0,.72); }
body.dark .crm-layout-section,
body.dark-mode .crm-layout-section,
[data-theme="dark"] .crm-layout-section,
html[data-theme="dark"] .crm-layout-section { border-color: #384433; background: #1d221c; }
body.dark .crm-mirror-field input,
body.dark .crm-mirror-field select,
body.dark .crm-mirror-field textarea,
body.dark-mode .crm-mirror-field input,
body.dark-mode .crm-mirror-field select,
body.dark-mode .crm-mirror-field textarea,
[data-theme="dark"] .crm-mirror-field input,
[data-theme="dark"] .crm-mirror-field select,
[data-theme="dark"] .crm-mirror-field textarea { border-color: #4b5944; background: #111510; color: #f3f6ef; }
@media (max-width: 640px) {
  .crm-inline-entity-modal form, .crm-activity-panel form { grid-template-columns: 1fr; }
  .crm-inline-entity-modal footer { grid-column: auto; }
  .crm-bitrix-real-board .crm-bitrix-card-summary { grid-template-columns: 1fr; }
}
.crm-month-close-panel { margin:16px 0; overflow:hidden; border:1px solid color-mix(in srgb,#9dce27 40%,var(--crm-border,var(--border,#dce1d8))); border-radius:18px; background:var(--crm-surface,var(--surface,#fff)); box-shadow:0 18px 45px rgba(33,52,20,.08); }
.crm-month-close-panel>header { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding:20px 22px; background:linear-gradient(120deg,color-mix(in srgb,#bdf33f 14%,var(--crm-surface,var(--surface,#fff))),var(--crm-surface,var(--surface,#fff))); }
.crm-month-close-panel>header span { color:#67991c; font-size:8px; font-weight:900; letter-spacing:.14em; }
.crm-month-close-panel>header h2 { margin:4px 0; color:var(--text,#20251f); font-size:20px; }
.crm-month-close-panel>header p { margin:0; color:var(--text2,#71776e); font-size:10px; }
.crm-month-close-panel>header>div:last-child { display:flex; align-items:flex-end; gap:8px; }
.crm-month-close-panel label { display:grid; gap:4px; color:var(--text2,#71776e); font-size:8px; font-weight:850; text-transform:uppercase; }
.crm-month-close-panel input,.crm-month-close-panel button { min-height:36px; border:1px solid var(--crm-border,var(--border,#dce1d8)); border-radius:9px; padding:0 10px; background:var(--crm-modal-field,var(--bg2,#f8faf6)); color:var(--text,#20251f); font:inherit; }
.crm-month-close-panel button { cursor:pointer; font-size:9px; font-weight:850; }
.crm-month-close-panel>header button { border-color:#9dce27; background:#bdf33f; color:#172000; }
.crm-month-close-kpis { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--crm-border,var(--border,#dce1d8)); border-bottom:1px solid var(--crm-border,var(--border,#dce1d8)); }
.crm-month-close-kpis article { display:grid; gap:3px; padding:13px 18px; border-right:1px solid var(--crm-border,var(--border,#dce1d8)); }
.crm-month-close-kpis article:last-child { border-right:0; }
.crm-month-close-kpis span { color:var(--text2,#71776e); font-size:8px; font-weight:800; text-transform:uppercase; }
.crm-month-close-kpis strong { color:var(--text,#20251f); font-size:18px; }
.crm-month-close-table-wrap { max-height:360px; overflow:auto; }
.crm-month-close-table-wrap table { width:100%; border-collapse:collapse; }
.crm-month-close-table-wrap th,.crm-month-close-table-wrap td { padding:11px 14px; border-bottom:1px solid var(--crm-border,var(--border,#dce1d8)); color:var(--text,#20251f); font-size:9px; text-align:left; vertical-align:top; }
.crm-month-close-table-wrap th { position:sticky; top:0; z-index:1; background:var(--crm-modal-field,var(--bg2,#f8faf6)); color:var(--text2,#71776e); font-size:7px; letter-spacing:.09em; text-transform:uppercase; }
.crm-month-close-table-wrap td strong,.crm-month-close-table-wrap td small { display:block; }
.crm-month-close-table-wrap td small { max-width:320px; margin-top:3px; overflow:hidden; color:var(--text2,#71776e); text-overflow:ellipsis; white-space:nowrap; }
.crm-month-close-table-wrap td span { display:inline-flex; border-radius:999px; padding:4px 7px; font-size:7px; font-weight:900; }
.crm-month-close-table-wrap td span.is-ready { background:#e5f7db; color:#287726; }
.crm-month-close-table-wrap td span.is-pending { background:#fff1cf; color:#a96500; }
.crm-month-close-table-wrap td span.is-progress { background:#e8f1ff; color:#245fa8; }
.crm-month-close-table-wrap td button+button { margin-left:5px; }
.crm-month-close-identity { display:block; max-width:210px; min-height:32px; margin-top:7px; border:1px solid var(--crm-border,var(--border,#dce1d8)); border-radius:8px; background:var(--crm-modal-field,var(--bg2,#f8faf6)); color:var(--text,#20251f); font-size:9px; }
.crm-month-close-absence { min-width:190px; margin-top:7px; }
.crm-month-close-absence summary { cursor:pointer; color:#a96500; font-size:8px; font-weight:850; }
.crm-month-close-absence div { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:4px; margin-top:5px; }
.crm-month-close-absence div button { min-height:26px; padding:0 6px; font-size:7px; }
.crm-month-close-empty { padding:28px; color:var(--text2,#71776e); font-size:10px; text-align:center; }
@media (max-width:760px) { .crm-month-close-panel>header{align-items:stretch;flex-direction:column}.crm-month-close-panel>header>div:last-child{align-items:stretch}.crm-month-close-kpis{grid-template-columns:1fr 1fr}.crm-month-close-kpis article:nth-child(2n){border-right:0}.crm-month-close-table-wrap{max-height:440px}.crm-month-close-table-wrap table{min-width:920px} }

.crm-revisitas-box { margin-top: 12px; padding: 14px; border: 1px solid var(--crm-line); border-radius: 14px; background: color-mix(in srgb, var(--crm-accent) 4%, var(--crm-surface)); }
.crm-revisitas-head, .crm-revisitas-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.crm-revisitas-head small { display: block; margin-top: 3px; color: var(--crm-text-muted); }
.crm-revisita-row { display: grid; grid-template-columns: minmax(95px,.8fr) 140px 105px 105px minmax(125px,1fr) minmax(150px,1.4fr) auto; gap: 8px; align-items: center; margin-top: 10px; padding: 10px; border: 1px solid var(--crm-line); border-radius: 10px; background: var(--crm-surface); }
.crm-revisita-row input { width: 100%; min-width: 0; padding: 8px; border: 1px solid var(--crm-line); border-radius: 8px; background: var(--crm-input-bg, var(--crm-surface)); color: var(--crm-text); }
.crm-revisita-row label { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; }
.crm-revisita-row label input { width: auto; }
.crm-revisitas-summary { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--crm-line); font-size: 12px; }
@media (max-width: 900px) { .crm-revisita-row { grid-template-columns: 1fr 1fr; } .crm-revisita-label, .crm-revisita-notes { grid-column: 1 / -1; } }

/* Card Drag and Drop UX enhancements */
.crm-bitrix-card, .crm-mirror-card {
  user-select: none !important;
  -webkit-user-select: none !important;
  cursor: grab !important;
  touch-action: pan-y !important;
}

.crm-bitrix-card:active, .crm-mirror-card:active {
  cursor: grabbing !important;
}

.crm-bitrix-card.is-dragging, .crm-mirror-card.is-dragging {
  cursor: grabbing !important;
  opacity: 0.45 !important;
  transform: scale(0.98) !important;
}

.crm-bitrix-column-body.is-over, .crm-mirror-column-body.is-over {
  background-color: rgba(64, 158, 255, 0.08) !important;
  outline: 2px dashed #409eff !important;
  outline-offset: -4px !important;
}





/* Exact Homologation Layout Selector CSS */
.crm-new-layout-modal {
  width: min(820px, calc(100vw - 32px)) !important;
  max-height: min(92vh, 860px) !important;
  overflow-y: auto !important;
}

.crm-new-layout-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 13px !important;
  padding: 22px !important;
}

.crm-new-layout-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 6px 12px !important;
  min-height: 148px !important;
  padding: 18px !important;
  overflow: hidden !important;
  border: 1px solid var(--crm-line) !important;
  border-radius: 17px !important;
  color: var(--text) !important;
  background: linear-gradient(145deg, color-mix(in srgb, var(--crm-lime) 8%, var(--crm-modal-field, var(--panel2))), var(--crm-modal-field, var(--panel2))) !important;
  text-align: left !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  touch-action: manipulation !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

.crm-new-layout-card * {
  pointer-events: none !important;
}

.crm-new-layout-card:hover, .crm-new-layout-card:focus-visible {
  transform: translateY(-3px) !important;
  border-color: var(--crm-lime) !important;
  box-shadow: 0 16px 34px color-mix(in srgb, #000 18%, transparent) !important;
  outline: 0 !important;
}

.crm-new-layout-card > span {
  display: grid !important;
  grid-row: 1 / span 2 !important;
  width: 42px !important;
  height: 42px !important;
  place-items: center !important;
  border-radius: 13px !important;
  color: #17220e !important;
  background: var(--crm-lime) !important;
  font: 900 17px var(--sans, sans-serif) !important;
}

.crm-new-layout-card strong {
  align-self: end !important;
  font: 900 12px var(--sans, sans-serif) !important;
  letter-spacing: .05em !important;
}

.crm-new-layout-card small {
  color: var(--crm-muted) !important;
  font: 600 10px/1.5 var(--sans, sans-serif) !important;
}

.crm-new-layout-card em {
  grid-column: 2 !important;
  align-self: end !important;
  color: var(--crm-lime) !important;
  font: normal 850 9px var(--sans, sans-serif) !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

@media (max-width: 640px) {
  .crm-new-layout-grid {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
    gap: 10px !important;
  }
}


/* Vibrant High-Visibility Revisita Button & Box Styling */
.crm-revisitas-box {
  margin-top: 14px !important;
  padding: 16px !important;
  border: 1.5px solid color-mix(in srgb, var(--crm-accent, #bdf33f) 40%, var(--crm-line)) !important;
  border-radius: 14px !important;
  background: color-mix(in srgb, var(--crm-accent, #bdf33f) 6%, var(--crm-surface, #fff)) !important;
}

.crm-revisitas-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 12px !important;
}

.crm-revisitas-head strong {
  font-size: 13px !important;
  font-weight: 900 !important;
  color: var(--text, #111) !important;
}

.crm-revisitas-head small {
  display: block !important;
  margin-top: 4px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--crm-muted, #666) !important;
}

.crm-revisitas-head button,
.crm-revisita-add-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 38px !important;
  padding: 0 18px !important;
  border-radius: 10px !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  letter-spacing: .02em !important;
  color: #102008 !important;
  background: #b9f227 !important;
  border: 1px solid #84c414 !important;
  box-shadow: 0 3px 12px rgba(185, 242, 39, 0.45) !important;
  cursor: pointer !important;
  transition: all .18s ease !important;
  white-space: nowrap !important;
}

.crm-revisitas-head button:hover,
.crm-revisita-add-btn:hover {
  background: #a3dc15 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(185, 242, 39, 0.6) !important;
}


/* CANCELADO & PERDIDO Red Highlight */
.crm-bitrix-column[data-stage-title*="CANCELAD" i],
.crm-bitrix-column[data-stage-title*="Cancelad" i],
.crm-bitrix-column[data-stage-title*="CANCELADO" i],
.crm-bitrix-column[data-stage-title*="PERDIDO" i],
.crm-bitrix-column[data-stage-title*="Perdido" i],
.crm-bitrix-column[data-crm-drop-stage*="LOSE"],
.crm-bitrix-column[data-crm-drop-stage*="lose"] {
  --stage-color: #ef4444 !important;
}

.crm-bitrix-column[data-stage-title*="CANCELAD" i] .crm-bitrix-stage-name,
.crm-bitrix-column[data-stage-title*="Cancelad" i] .crm-bitrix-stage-name,
.crm-bitrix-column[data-stage-title*="PERDIDO" i] .crm-bitrix-stage-name,
.crm-bitrix-column[data-crm-drop-stage*="LOSE"] .crm-bitrix-stage-name {
  color: #ef4444 !important;
  font-weight: 800 !important;
}

.crm-bitrix-column[data-stage-title*="CANCELAD" i] .crm-bitrix-stage-count,
.crm-bitrix-column[data-stage-title*="Cancelad" i] .crm-bitrix-stage-count,
.crm-bitrix-column[data-stage-title*="PERDIDO" i] .crm-bitrix-stage-count,
.crm-bitrix-column[data-crm-drop-stage*="LOSE"] .crm-bitrix-stage-count {
  background: rgba(239, 68, 68, 0.22) !important;
  color: #ef4444 !important;
  font-weight: 800 !important;
}

.crm-modal-stage-step.is-current[title*="CANCELAD" i],
.crm-modal-stage-step.is-current[title*="Cancelad" i],
.crm-modal-stage-step.is-current[title*="PERDIDO" i],
.crm-modal-stage-step.is-current[data-stage-id*="LOSE"] {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.45) !important;
}

.crm-modal-stage-step[title*="CANCELAD" i]:hover,
.crm-modal-stage-step[title*="Cancelad" i]:hover,
.crm-modal-stage-step[title*="PERDIDO" i]:hover,
.crm-modal-stage-step[data-stage-id*="LOSE"]:hover {
  background: rgba(239, 68, 68, 0.25) !important;
  border-color: #ef4444 !important;
  color: #fca5a5 !important;
}

.crm-recruitment-panel {
  margin: 0 0 14px;
  border: 1px solid var(--crm-line, #2a2e35);
  border-radius: 12px;
  background: var(--crm-surface, #17191d);
  overflow: hidden;
}
.crm-recruitment-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  list-style: none;
}
.crm-recruitment-panel > summary::-webkit-details-marker { display: none; }
.crm-recruitment-panel > summary > span { display: grid; gap: 2px; }
.crm-recruitment-panel > summary > b { color: var(--text3, #8d949e); font-size: 11px; font-weight: 700; }
.crm-recruitment-panel > summary:hover { background: rgba(255,255,255,.025); }
.crm-recruitment-panel > summary strong { font-size: 15px; }
.crm-recruitment-panel > summary em { color: var(--text3, #8d949e); font-size: 10px; font-style: normal; }
.crm-recruitment-panel-body { padding: 0 16px 14px; }
.crm-recruitment-panel[open] > summary { border-bottom: 1px solid var(--crm-line, #2a2e35); }
.crm-recruitment-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.crm-recruitment-panel > header small {
  display: block;
  color: var(--crm-accent, #b9f227);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}
.crm-recruitment-panel > header h3 { margin: 3px 0 0; font-size: 16px; }
.crm-recruitment-panel > header span { color: var(--text3, #8d949e); font-size: 11px; }
.crm-recruitment-filters {
  display: grid;
  grid-template-columns: minmax(150px, .8fr) repeat(3, minmax(140px, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.crm-recruitment-filters label { display: grid; gap: 4px; color: var(--text3, #8d949e); font-size: 10px; font-weight: 700; }
.crm-recruitment-filters input,
.crm-recruitment-filters select {
  min-height: 32px;
  padding: 0 9px;
  border: 1px solid var(--crm-line, #2a2e35);
  border-radius: 7px;
  background: var(--crm-bg, #101214);
  color: var(--text, #f5f7fa);
  font-size: 11px;
}
.crm-recruitment-panel-table { max-height: 420px; overflow: auto; }
.crm-recruitment-panel table { width: 100%; border-collapse: collapse; font-size: 11px; }
.crm-recruitment-panel th,
.crm-recruitment-panel td { padding: 9px 8px; border-top: 1px solid var(--crm-line, #2a2e35); text-align: left; vertical-align: middle; }
.crm-recruitment-panel th { position: sticky; top: 0; z-index: 1; background: var(--crm-surface, #17191d); color: var(--text3, #8d949e); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.crm-recruitment-panel td { color: var(--text2, #c6cbd2); }
.crm-recruitment-panel-link { padding: 0; border: 0; background: transparent; color: var(--crm-accent, #b9f227); font: inherit; font-weight: 700; cursor: pointer; text-align: left; }
.crm-recruitment-panel-link:hover { text-decoration: underline; }
.crm-recruitment-load-more { display: block; margin: 10px auto 0; padding: 8px 14px; border: 1px solid var(--crm-line, #2a2e35); border-radius: 7px; background: transparent; color: var(--crm-accent, #b9f227); font-size: 11px; font-weight: 700; cursor: pointer; }
.crm-recruitment-load-more:hover { background: rgba(185,242,39,.08); }
@media (max-width: 900px) {
  .crm-recruitment-filters { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
}

/* Visit scheduling uses the modal theme rather than a white surface fallback. */
.crm-mirror-modal .crm-revisitas-box { background: color-mix(in srgb, var(--crm-accent, #b9f227) 6%, var(--crm-modal-surface, var(--surface, #fff))) !important; color: var(--text, #20251f); }
.crm-mirror-modal .crm-revisitas-head small { color: var(--text2, #68745e) !important; }
.crm-mirror-modal .crm-revisitas-summary { color: var(--text2, #68745e); }
.crm-mirror-modal .crm-revisita-row { background: var(--crm-modal-surface, var(--surface, #fff)); color: var(--text, #20251f); }
.crm-mirror-modal .crm-revisita-row input { background: var(--crm-modal-field, var(--panel2, #f5f6f4)); color: var(--text, #20251f); border-color: var(--crm-line, #cad6c0); }

/* Legacy injected summaries must not place their title in the icon column. */
.crm-layout-section > summary > strong { grid-column: 2; }

/* Card comments: author, timestamp and replies use the same portal theme. */
.crm-comments-panel { background: var(--crm-modal-surface, var(--surface, #fff)); }
.crm-comments-panel > header { flex-wrap: wrap; }
.crm-comments-panel > header h3 { margin: 0; color: var(--text, #263020); font: 800 15px var(--sans, sans-serif); }
.crm-comments-panel > header > span { color: var(--text2, #68745e); font-size: 11px; }
.crm-comments-panel .crm-comment-composer { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: start; gap: 10px; margin-top: 14px; }
.crm-comments-panel .crm-comment-avatar { display: grid; flex: 0 0 auto; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: hsl(var(--crm-comment-hue, 88) 38% 32%); color: #fff; font: 800 11px var(--sans, sans-serif); }
.crm-comments-panel .crm-comment-compose-body,
.crm-comments-panel .crm-comment-body { min-width: 0; }
.crm-comments-panel textarea { display: block; width: 100%; box-sizing: border-box; min-height: 76px; padding: 10px 12px; border-color: var(--crm-line, #cad6c0); background: var(--crm-modal-field, var(--panel2, #f5f6f4)); color: var(--text, #20251f); font: 400 12px/1.5 var(--sans, sans-serif); }
.crm-comments-panel textarea:focus { outline: 2px solid var(--crm-accent, #a9db3d); outline-offset: 2px; }
.crm-comments-panel .crm-comment-compose-actions { display: flex; justify-content: flex-end; margin-top: 8px; }
.crm-comments-panel form button { min-height: 34px; font: 750 11px var(--sans, sans-serif); }
.crm-comments-panel form button:disabled { opacity: .55; cursor: not-allowed; }
.crm-comments-panel .crm-comment-list { display: grid; gap: 18px; margin-top: 20px; }
.crm-comments-panel .crm-comment { min-width: 0; }
.crm-comments-panel .crm-comment-row { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: start; gap: 10px; }
.crm-comments-panel .crm-comment-meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
.crm-comments-panel .crm-comment-meta strong { color: var(--text, #263020); font: 750 12px var(--sans, sans-serif); }
.crm-comments-panel .crm-comment-meta time { color: var(--text2, #68745e); font: 400 10px var(--sans, sans-serif); }
.crm-comments-panel .crm-comment-text { margin: 7px 0; color: var(--text, #263020); font: 400 12px/1.55 var(--sans, sans-serif); white-space: pre-wrap; overflow-wrap: anywhere; }
.crm-comments-panel .crm-comment-reply-button { min-height: 28px; padding: 2px 0; border: 0; background: transparent; color: var(--text2, #68745e); font: 650 11px var(--sans, sans-serif); cursor: pointer; }
.crm-comments-panel .crm-comment-reply-button:hover { color: var(--text, #263020); text-decoration: underline; }
.crm-comments-panel .crm-comment-reply-button:focus-visible { outline: 2px solid var(--crm-accent, #a9db3d); outline-offset: 3px; border-radius: 3px; }
.crm-comments-panel .crm-comment-reply-container { margin-top: 10px; }
.crm-comments-panel .crm-comment-reply-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 0; }
.crm-comments-panel .crm-comment-reply-form footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.crm-comments-panel .crm-comment-reply-form button[type="button"] { border: 1px solid var(--crm-line, #cad6c0); background: transparent; color: var(--text, #263020); }
.crm-comments-panel .crm-comment-replies { display: grid; gap: 16px; margin: 14px 0 0 16px; padding-left: 27px; border-left: 1px solid var(--crm-line, #cad6c0); }
.crm-comments-panel .crm-comment-replies .crm-comment-replies .crm-comment-replies .crm-comment-replies .crm-comment-replies { margin-left: 0; padding-left: 0; border-left: 0; }
.crm-comments-panel [hidden] { display: none !important; }

/* Operational actions remain in the existing footer and open above it. */
.crm-mirror-modal-foot .crm-ops-inline-actions { position: relative; margin-right: auto; min-width: 0; }
.crm-ops-inline-menu { position: relative; }
.crm-ops-inline-menu > summary { display: inline-flex; align-items: center; gap: 7px; list-style: none; cursor: pointer; }
.crm-ops-inline-menu > summary::-webkit-details-marker { display: none; }
.crm-ops-inline-menu > summary::after { content: '\25b4'; font-size: 11px; }
.crm-ops-inline-menu[open] > summary::after { content: '\25be'; }
.crm-ops-inline-options { position: absolute; bottom: calc(100% + 8px); left: 0; z-index: 10; display: grid; gap: 3px; width: max-content; min-width: 230px; max-width: min(320px, calc(100vw - 64px)); max-height: min(360px, 55vh); overflow-y: auto; padding: 6px; border: 1px solid var(--crm-line, #cad6c0); border-radius: 11px; background: var(--crm-modal-surface, var(--surface, #fff)); box-shadow: 0 8px 24px rgba(0, 0, 0, .2); }
.crm-ops-inline-menu:not([open]) > .crm-ops-inline-options { display: none; }
.crm-ops-inline-options > button { width: 100%; min-height: 34px; padding: 8px 10px; border: 0; border-radius: 7px; background: transparent; color: var(--text, #263020); font: 650 11px/1.4 var(--sans, sans-serif); text-align: left; white-space: normal; cursor: pointer; }
.crm-ops-inline-options > button:hover,
.crm-ops-inline-options > button:focus-visible { background: var(--crm-modal-field, var(--panel2, #f5f6f4)); outline: 0; }
.crm-ops-inline-options > button:disabled { opacity: .55; cursor: not-allowed; }
.crm-ops-inline-actions[hidden], .crm-ops-inline-options[hidden] { display: none !important; }

@media (max-width: 640px) {
  .crm-comments-panel { margin-right: 12px; margin-left: 12px; padding: 12px; }
  .crm-comments-panel .crm-comment-composer,
  .crm-comments-panel .crm-comment-row { grid-template-columns: 28px minmax(0, 1fr); gap: 8px; }
  .crm-comments-panel .crm-comment-avatar { width: 28px; height: 28px; font-size: 10px; }
  .crm-comments-panel .crm-comment-replies { margin-left: 8px; padding-left: 10px; }
  .crm-comments-panel .crm-comment-replies .crm-comment-replies .crm-comment-replies { margin-left: 0; padding-left: 0; border-left: 0; }
  .crm-mirror-modal-foot:has(.crm-ops-inline-actions) { flex-wrap: wrap; gap: 8px; }
}

/* Value guidance uses the same light/dark surfaces as the card fields. */
.crm-mirror-modal .crm-layout-notice:not(.crm-sow-gate) { background: var(--crm-modal-field, var(--panel2, var(--surface, #fff))); color: var(--text2, #68745e); }
.crm-mirror-modal .crm-layout-notice:not(.crm-sow-gate) p { color: var(--text2, #68745e); }

/* Saved visits stay readable; editing and removal remain local to each row. */
.crm-mirror-modal .crm-revisita-actions { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.crm-mirror-modal .crm-revisita-actions > button { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; min-height: 30px; padding: 0; border: 1px solid var(--crm-line, #cad6c0); border-radius: 7px; background: transparent; color: var(--text2, #68745e); font: 600 17px var(--sans, sans-serif); cursor: pointer; }
.crm-mirror-modal .crm-revisita-actions > button svg { width: 15px; height: 15px; }
.crm-mirror-modal .crm-revisita-actions > .crm-revisita-remove { color: color-mix(in srgb, var(--red, #ef4444) 70%, var(--text, #20251f)); font-size: 20px; }
.crm-mirror-modal .crm-revisita-actions > button:hover { background: var(--crm-modal-field, var(--panel2, #f5f6f4)); }
.crm-mirror-modal .crm-revisita-actions > button:focus-visible { outline: 2px solid var(--crm-accent, #a9db3d); outline-offset: 2px; }
.crm-mirror-modal .crm-revisita-actions > button:disabled { opacity: .55; cursor: not-allowed; }
.crm-mirror-modal .crm-revisita-row.is-readonly input:not([type="checkbox"]) { border-color: transparent; background: transparent; color: var(--text2, #68745e); -webkit-text-fill-color: var(--text2, #68745e); }
.crm-mirror-modal .crm-revisita-row input[type="checkbox"] { width: 16px; height: 16px; min-height: 16px; padding: 0; accent-color: var(--crm-accent, #a9db3d); }
.crm-mirror-modal .crm-revisitas-summary { flex-wrap: wrap; }
.crm-mirror-modal .crm-revisitas-linked-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.crm-mirror-modal .crm-revisitas-linked-actions .crm-mirror-btn { min-height: 30px; padding: 5px 10px; background: transparent; color: var(--text2, #68745e); font: 650 10px var(--sans, sans-serif); }
.crm-mirror-modal .crm-revisitas-linked-actions .crm-mirror-btn:hover { background: var(--crm-modal-field, var(--panel2, #f5f6f4)); }
.crm-mirror-modal .crm-revisitas-linked-cards { display: grid; gap: 6px; margin-top: 10px; }
.crm-mirror-modal .crm-revisitas-linked-cards:empty { display: none; }
.crm-mirror-modal .crm-revisitas-head { flex-wrap: wrap; }
.crm-mirror-modal .crm-revisitas-head > div { min-width: 0; }
@media (max-width: 1000px) { .crm-mirror-modal .crm-revisita-row { grid-template-columns: 1fr 1fr; } .crm-mirror-modal .crm-revisita-label, .crm-mirror-modal .crm-revisita-notes, .crm-mirror-modal .crm-revisita-actions { grid-column: 1 / -1; } }

/* Common demand tracking, inline Recruitment filters and audited card Timeline. */
.crm-tracking-head small, .crm-tracking-updated { color: var(--text2, var(--crm-muted)); font-size: 10px; }
.crm-tracking-head small { display: block; margin-top: 4px; }
.crm-tracking-card-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-top: 4px; }
.crm-tracking-card-badges .crm-dispatch-parent-badge { margin-left: 0; }
.crm-humatech-workspace-filters { min-width: 0; flex-wrap: wrap; justify-content: flex-end; }
.crm-humatech-workspace-filters > label:not(.crm-humatech-toggle) { grid-template-columns: auto minmax(90px, 150px); }
.crm-humatech-workspace-filters input[data-crm-recruitment-filter] { width: 100%; min-width: 0; min-height: 42px; border: 0; outline: 0; background: transparent; color: var(--text); font: 700 11px var(--sans, sans-serif); }
.crm-humatech-workspace-filters input[data-crm-recruitment-filter]:focus-visible { outline: 2px solid var(--crm-accent); outline-offset: -2px; border-radius: 6px; }
.crm-wa-card-tabs { flex-wrap: wrap; }
.crm-timeline-panel { padding: 18px; color: var(--text); background: var(--crm-modal-surface, var(--crm-surface)); }
.crm-timeline-panel[hidden] { display: none !important; }
.crm-timeline-empty { margin: 0; padding: 18px 0; color: var(--text2, var(--crm-muted)); font-size: 12px; }
.crm-timeline-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.crm-timeline-event { min-width: 0; padding: 14px; border: 1px solid var(--crm-line); border-radius: 12px; background: var(--crm-modal-field, var(--crm-surface)); }
.crm-timeline-event > header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; }
.crm-timeline-event > header strong { color: var(--text); font-size: 12px; }
.crm-timeline-event time, .crm-timeline-author { color: var(--text2, var(--crm-muted)); font-size: 11px; }
.crm-timeline-author { margin: 6px 0 0; }
.crm-timeline-movement, .crm-timeline-reason { margin: 9px 0 0; color: var(--text); font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.crm-timeline-event dl { display: grid; gap: 8px; margin: 12px 0 0; }
.crm-timeline-change { display: grid; grid-template-columns: minmax(100px, .8fr) minmax(0, 1fr) minmax(0, 1fr); gap: 12px; padding-top: 8px; border-top: 1px solid var(--crm-line); }
.crm-timeline-change dt { color: var(--text2, var(--crm-muted)); font-size: 11px; font-weight: 700; overflow-wrap: anywhere; }
.crm-timeline-change dd { margin: 0; color: var(--text); font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.crm-timeline-change dd small { display: block; margin-bottom: 4px; color: var(--text2, var(--crm-muted)); font-size: 10px; }
@media (max-width: 760px) {
  .crm-humatech-workspace-filters { justify-content: flex-start; }
  .crm-humatech-workspace-filters > label:not(.crm-humatech-toggle) { grid-template-columns: auto minmax(0, 1fr); }
  .crm-timeline-panel { padding: 12px; }
  .crm-timeline-change { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
  .crm-timeline-change dt { grid-column: 1 / -1; }
}

/* Keep every funnel heading above a uniform, responsive filter grid. */
.crm-humatech-workspace-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  container: crm-workspace-header / inline-size;
}
.crm-humatech-workspace-head > div:first-child { min-width: 0; }
.crm-humatech-workspace-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  justify-content: stretch;
  gap: 12px;
  width: 100%;
}
.crm-humatech-workspace-filters:has([data-crm-recruitment-filter]) {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.crm-humatech-workspace-filters > label:not(.crm-humatech-toggle) {
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 44px;
  box-sizing: border-box;
}
.crm-humatech-workspace-filters > label:not(.crm-humatech-toggle) > :is(input, select) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.crm-humatech-workspace-filters > .crm-humatech-toggle {
  grid-column: 1 / -2;
  justify-content: flex-end;
  min-height: 44px;
  margin: 0;
}
.crm-humatech-workspace-filters > .crm-stage-manager-toggle {
  grid-column: -2 / -1;
  width: 100%;
  min-height: 44px;
}
.crm-humatech-workspace-filters:not(:has(> .crm-stage-manager-toggle)) > .crm-humatech-toggle {
  grid-column: 1 / -1;
}
@container crm-workspace-header (max-width: 850px) {
  .crm-humatech-workspace-filters:has([data-crm-recruitment-filter]) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .crm-humatech-workspace-filters:has([data-crm-recruitment-filter]) > .crm-humatech-toggle,
  .crm-humatech-workspace-filters:has([data-crm-recruitment-filter]) > .crm-stage-manager-toggle { grid-column: auto; }
}
@container crm-workspace-header (max-width: 740px) {
  .crm-humatech-workspace-filters,
  .crm-humatech-workspace-filters:has([data-crm-recruitment-filter]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crm-humatech-workspace-filters > .crm-humatech-toggle,
  .crm-humatech-workspace-filters:not(:has(> .crm-stage-manager-toggle)) > .crm-humatech-toggle { grid-column: auto; }
  .crm-humatech-workspace-filters > .crm-stage-manager-toggle,
  .crm-humatech-workspace-filters:has([data-crm-recruitment-filter]) > .crm-stage-manager-toggle { grid-column: 1 / -1; }
}
@container crm-workspace-header (max-width: 480px) {
  .crm-humatech-workspace-filters,
  .crm-humatech-workspace-filters:has([data-crm-recruitment-filter]) { grid-template-columns: minmax(0, 1fr); }
  .crm-humatech-workspace-filters > .crm-humatech-toggle,
  .crm-humatech-workspace-filters > .crm-stage-manager-toggle { grid-column: 1 / -1; }
  .crm-humatech-workspace-filters > .crm-humatech-toggle { justify-content: flex-start; }
}

.crm-substitution-badge { display:inline-flex; align-items:center; margin-left:5px; padding:3px 7px; border-radius:5px; font-size:9px; font-weight:800; color:#fbbf24; background:rgba(245,158,11,.12); border:1px solid rgba(245,158,11,.25); }
.crm-mirror-modal[data-crm-read-only="true"] input:disabled,.crm-mirror-modal[data-crm-read-only="true"] textarea:disabled,.crm-mirror-modal[data-crm-read-only="true"] select:disabled { opacity:1; color:var(--text2); -webkit-text-fill-color:var(--text2); }
.crm-mirror-modal[data-crm-read-only="true"] .crm-modal-stage-step:disabled { opacity:1; cursor:default; }

/* Backfill remains distinct from the primary technician in the Kanban. */
.crm-backfill-badge.is-scheduled{background:rgba(245,158,11,.14);color:#f5b547;border:1px solid rgba(245,158,11,.25)}
.crm-backfill-badge.is-active{background:rgba(34,197,94,.14);color:#49d98b;border:1px solid rgba(34,197,94,.25)}
.crm-bitrix-backfill{border-color:rgba(34,197,94,.3)!important}
.crm-bitrix-backfill label{color:#49d98b!important}
