/* =====================================================================
   crm.css — Captar: prospectos (kanban, lista, ficha), bandeja de WhatsApp,
   embudos (formulario, estadísticas) y automatizaciones.
   ===================================================================== */

/* ---------- Barra de filtros compacta ---------- */
.toolbar-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 16px; }
.toolbar-row .search { flex: 1 1 220px; max-width: 360px; }
.toolbar-row .search input { min-height: 42px; border-radius: 999px; background: var(--surface); border: 1.5px solid var(--line); }
.toolbar-row__end { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.more-filters { width: 100%; }
.more-filters[hidden] { display: none !important; }
.filter-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--ink); color: #fff; font-size: .7rem; }

/* ---------- Kanban ---------- */
.board {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(270px, 1fr);
  gap: 12px;
  margin: 0 -16px;
  padding: 0 16px 16px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  align-items: start;
}
.board__col {
  display: flex;
  flex-direction: column;
  min-height: 240px;
  max-height: calc(100vh - 220px);
  border-radius: var(--radius);
  background: var(--surface-3);
  scroll-snap-align: start;
}
.board__col--closed { grid-auto-columns: 220px; background: transparent; border: 2px dashed #cdd2dc; }
.board__head { display: flex; align-items: center; gap: 8px; padding: 14px 14px 10px; }
.board__head h2 { margin: 0; font-size: .9rem; }
.board__dot { width: 10px; height: 10px; border-radius: 4px; flex-shrink: 0; }
.board__count { margin-left: auto; padding: 2px 9px; border-radius: 999px; background: var(--surface); color: var(--muted); font-size: .74rem; font-weight: 800; }
.board__value { padding: 0 14px 8px; color: var(--muted); font-size: .76rem; font-weight: 600; }
.board__list { display: grid; align-content: start; gap: 8px; flex: 1; min-height: 80px; padding: 4px 10px 14px; overflow-y: auto; }
.board__list.is-over { background: rgba(255, 255, 255, .5); border-radius: var(--radius-sm); }
.board__empty { padding: 18px 8px; color: var(--subtle); font-size: .8rem; text-align: center; }
.board__drop-hint { display: grid; place-items: center; min-height: 120px; padding: 14px; color: var(--muted); font-size: .8rem; font-weight: 600; text-align: center; }

.deal-card {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 12px 12px 10px;
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 6px 16px -12px rgba(30, 30, 40, .45);
  cursor: grab;
  transition: box-shadow .2s, transform .2s var(--ease);
}
.deal-card:hover { box-shadow: 0 14px 24px -16px rgba(30, 30, 40, .55); }
.deal-card.is-ghost { opacity: .35; }
.deal-card.is-chosen { cursor: grabbing; transform: rotate(1.5deg); }
.deal-card.is-high::before { content: ""; position: absolute; inset: 10px auto 10px 0; width: 4px; border-radius: 0 4px 4px 0; background: var(--coral); }
.deal-card__top { display: flex; align-items: flex-start; gap: 8px; }
.deal-card__name { flex: 1; min-width: 0; font-size: .88rem; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.deal-card__name:hover { text-decoration: underline; }
.deal-card__company { display: block; color: var(--muted); font-size: .76rem; font-weight: 600; }
.deal-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; color: var(--muted); font-size: .72rem; font-weight: 600; }
.deal-card__meta .ico { width: 13px; height: 13px; }
.deal-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.deal-card__age { color: var(--subtle); font-size: .7rem; font-weight: 600; }
.deal-card .avatar { width: 26px; height: 26px; border-radius: 9px; font-size: .62rem; }
.score { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; background: var(--surface-2); color: var(--ink); font-size: .7rem; font-weight: 800; }
.unread-dot { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--sage); color: var(--ink); font-size: .68rem; font-weight: 800; }
.prio { display: inline-flex; align-items: center; gap: 4px; font-size: .7rem; font-weight: 800; }
.prio--high { color: var(--coral-ink); }
.prio--normal { color: var(--muted); }
.prio--low { color: var(--subtle); }

/* ---------- Lista ---------- */
.bulk-bar {
  position: sticky;
  top: 8px;
  z-index: 30;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 10px 14px;
  border-radius: var(--radius);
  background: var(--ink);
  color: #fff;
  box-shadow: var(--shadow-pop);
}
.bulk-bar strong { margin-right: auto; font-size: .86rem; }
.bulk-bar select, .bulk-bar input { height: 36px; padding: 0 10px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .12); color: #fff; font-size: .84rem; }
.bulk-bar select option { color: var(--ink); }
.cell-check { width: 1%; }
.cell-check input { width: 18px; height: 18px; accent-color: var(--ink); }

/* ---------- Ficha del prospecto ---------- */
.lead-hero { display: grid; gap: 14px; padding: clamp(20px, 3vw, 28px); }
.lead-hero__top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.lead-hero__top .avatar { width: 54px; height: 54px; border-radius: 17px; font-size: 1.05rem; }
.lead-hero__name { flex: 1; min-width: 0; }
.lead-hero__name h2 { margin: 0; font-size: clamp(1.3rem, 1.4vw + .9rem, 1.7rem); overflow-wrap: anywhere; }
.lead-hero__name small { color: rgba(255, 255, 255, .65); font-size: .86rem; }
.lead-hero__facts { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; list-style: none; color: rgba(255, 255, 255, .75); font-size: .84rem; }
.lead-hero__facts li { display: inline-flex; align-items: center; gap: 6px; }
.lead-hero__facts .ico { width: 15px; height: 15px; }
.lead-hero__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.stage-select { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 0 34px 0 12px; border-radius: 12px; background: rgba(255, 255, 255, .1); color: #fff; }
.stage-select select { height: 38px; border: 0; background: none; color: #fff; font-size: .84rem; font-weight: 700; -webkit-appearance: none; appearance: none; cursor: pointer; }
.stage-select select option { color: var(--ink); }
.stage-select::after { content: ""; position: absolute; right: 12px; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); pointer-events: none; }
.stage-path { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.stage-path li { flex: 1; height: 6px; border-radius: 999px; background: rgba(255, 255, 255, .15); }
.stage-path li.is-done { background: var(--sage); }
.stage-path li.is-current { background: #fff; }
.won-banner { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: var(--radius-sm); background: rgba(142, 191, 159, .2); color: #d6f0de; font-weight: 700; font-size: .88rem; }
.won-banner.is-lost { background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .75); }

.composer { display: grid; gap: 10px; }
.composer textarea { min-height: 80px; }
.composer__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }

.timeline { margin: 0; padding: 0; list-style: none; }
.timeline__item { position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding: 0 0 18px; }
.timeline__item::before { content: ""; position: absolute; top: 38px; bottom: 4px; left: 17px; width: 2px; background: var(--line); }
.timeline__item:last-child::before { display: none; }
.timeline__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; }
.timeline__icon .ico { width: 16px; height: 16px; }
.timeline__body { min-width: 0; padding-top: 2px; }
.timeline__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: .84rem; }
.timeline__head strong { font-size: .86rem; }
.timeline__head time { color: var(--subtle); font-size: .74rem; }
.timeline__text { margin: 4px 0 0; color: var(--text); font-size: .88rem; white-space: pre-line; overflow-wrap: anywhere; }
.timeline__text--muted { color: var(--muted); }
.timeline__bubble { display: inline-block; max-width: 100%; margin-top: 6px; padding: 9px 12px; border-radius: 14px; background: var(--surface-2); font-size: .86rem; white-space: pre-line; overflow-wrap: anywhere; }
.timeline__bubble.is-in { background: var(--mint); }

.task-list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.task-list li { display: flex; align-items: flex-start; gap: 10px; padding: 9px 0; border-top: 1px solid var(--line); }
.task-list li:first-child { border-top: 0; }
.task-list li > div { flex: 1; min-width: 0; }
.task-list strong { display: block; font-size: .86rem; overflow-wrap: anywhere; }
.task-list small { color: var(--muted); font-size: .76rem; }
.task-list li.is-done strong { color: var(--subtle); text-decoration: line-through; }
.task-list .is-overdue { color: var(--coral-ink); font-weight: 700; }
.task-check {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 24px; height: 24px;
  margin-top: 1px;
  padding: 0;
  border: 2px solid #cdd2dc;
  border-radius: 8px;
  background: var(--surface);
  color: transparent;
  cursor: pointer;
}
.task-check .ico { width: 14px; height: 14px; stroke-width: 3; }
.task-check:hover { border-color: var(--ink); }
.is-done .task-check { border-color: var(--sage); background: var(--sage); color: var(--ink); }

.kv { display: grid; gap: 0; margin: 0; }
.kv div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--line); font-size: .84rem; }
.kv div:first-child { border-top: 0; }
.kv dt { color: var(--muted); font-weight: 600; }
.kv dd { margin: 0; font-weight: 700; text-align: right; overflow-wrap: anywhere; }
.answer-points { margin-left: 6px; color: var(--mint-ink); font-size: .74rem; font-weight: 800; }

.tag-chip { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; background: var(--lilac); color: var(--lilac-ink); font-size: .74rem; font-weight: 800; }
.tag-list { display: flex; flex-wrap: wrap; gap: 6px; }

/* Select2 con el estilo del panel */
.select2-container { width: 100% !important; font-size: .92rem; }
.select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--single {
  min-height: 46px;
  border: 1.5px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 43px; padding-left: 14px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; right: 8px; }
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single { border-color: var(--ink); box-shadow: 0 0 0 4px var(--sky); }
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  margin: 6px 0 0 6px;
  padding: 2px 8px 2px 22px;
  border: 0;
  border-radius: 999px;
  background: var(--lilac);
  color: var(--lilac-ink);
  font-size: .78rem;
  font-weight: 800;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { left: 6px; border: 0; color: var(--lilac-ink); }
.select2-container--default .select2-search--inline .select2-search__field { margin: 8px 0 0 10px; font-family: var(--font); }
.select2-dropdown { border: 1.5px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; box-shadow: var(--shadow-pop); }
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: var(--ink); }
.select2-container--open { z-index: 1000; }

/* ---------- Bandeja de WhatsApp ---------- */
.inbox {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  height: calc(100vh - 150px);
  min-height: 520px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
.inbox__list, .inbox__chat, .inbox__side { min-height: 0; display: flex; flex-direction: column; }
.inbox__chat, .inbox__side { display: none; }
.inbox.is-chat-open .inbox__list { display: none; }
.inbox.is-chat-open .inbox__chat { display: flex; }

.inbox__filters { display: grid; gap: 8px; padding: 14px; border-bottom: 1px solid var(--line); }
.inbox__filters .search input { min-height: 40px; border-radius: 999px; }
.inbox__filters .segmented { width: 100%; }
.inbox__filters .segmented button { flex: 1; }
.convs { flex: 1; margin: 0; padding: 6px; overflow-y: auto; list-style: none; }
.conv {
  display: flex;
  gap: 10px;
  width: 100%;
  padding: 10px;
  border: 0;
  border-radius: 14px;
  background: none;
  text-align: left;
  cursor: pointer;
}
.conv:hover { background: var(--surface-2); }
.conv.is-active { background: var(--sky); }
.conv > div { flex: 1; min-width: 0; }
.conv__row { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.conv__name { overflow: hidden; font-size: .88rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.conv__time { flex-shrink: 0; color: var(--subtle); font-size: .7rem; font-weight: 600; }
.conv__last { overflow: hidden; color: var(--muted); font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.conv.is-unread .conv__last { color: var(--ink); font-weight: 700; }
.conv__stage { display: inline-flex; align-items: center; gap: 5px; margin-top: 3px; color: var(--muted); font-size: .7rem; font-weight: 700; }
.conv__stage i { width: 7px; height: 7px; border-radius: 3px; }

.chat__head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.chat__head > div { flex: 1; min-width: 0; }
.chat__head strong { display: block; overflow: hidden; font-size: .95rem; text-overflow: ellipsis; white-space: nowrap; }
.chat__head small { color: var(--muted); font-size: .78rem; }
.chat__body { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 16px; overflow-y: auto; background: #f3f5f9 radial-gradient(rgba(30, 30, 40, .04) 1px, transparent 1px) 0 0 / 14px 14px; }
.chat__day { align-self: center; margin: 10px 0 4px; padding: 3px 12px; border-radius: 999px; background: var(--surface); color: var(--muted); font-size: .72rem; font-weight: 700; box-shadow: 0 2px 6px -4px rgba(30, 30, 40, .4); }
.bubble { position: relative; max-width: min(78%, 520px); padding: 8px 12px 6px; border-radius: 16px; font-size: .9rem; line-height: 1.45; box-shadow: 0 3px 8px -6px rgba(30, 30, 40, .45); overflow-wrap: anywhere; }
.bubble p { margin: 0; white-space: pre-line; }
.bubble--in { align-self: flex-start; border-bottom-left-radius: 6px; background: var(--surface); }
.bubble--out { align-self: flex-end; border-bottom-right-radius: 6px; background: #dcefe2; }
.bubble--note { align-self: center; max-width: min(90%, 560px); border-radius: 12px; background: var(--cream); color: var(--cream-ink); font-size: .84rem; }
.bubble__meta { display: flex; justify-content: flex-end; gap: 6px; margin-top: 2px; color: var(--muted); font-size: .68rem; font-weight: 600; }
.bubble--note .bubble__meta { justify-content: flex-start; color: var(--cream-ink); }
.bubble__file { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 4px; padding: 6px 10px; border-radius: 10px; background: rgba(255, 255, 255, .6); font-size: .82rem; font-weight: 700; }
.bubble__file .ico { width: 16px; height: 16px; }

.chat__compose { display: grid; gap: 8px; padding: 10px 12px 12px; border-top: 1px solid var(--line); }
.chat__compose.is-note textarea { background: var(--cream); }
.chat__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.chat__input { display: flex; align-items: flex-end; gap: 8px; }
.chat__input textarea {
  flex: 1;
  min-height: 46px;
  max-height: 160px;
  padding: 11px 14px;
  border: 1.5px solid var(--line);
  border-radius: 18px;
  font-size: .95rem;
  resize: none;
}
.chat__input textarea:focus { outline: none; border-color: var(--ink); }
.chat__send { width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--ink); color: #fff; cursor: pointer; display: grid; place-items: center; }
.chat__send .ico { width: 18px; height: 18px; }
.chat__send:disabled { opacity: .5; }
.chat__file { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--sky); font-size: .78rem; font-weight: 700; }
.chip-btn { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink-3); font-size: .76rem; font-weight: 700; cursor: pointer; }
.chip-btn:hover { border-color: var(--ink); }
.chip-btn .ico { width: 14px; height: 14px; }
.chip-btn.is-active { border-color: var(--cream-ink); background: var(--cream); color: var(--cream-ink); }
.quick-menu { position: relative; }
.quick-menu .dropdown { bottom: calc(100% + 8px); top: auto; left: 0; right: auto; width: min(340px, 80vw); max-height: 320px; overflow-y: auto; }
.quick-menu .dropdown__item { display: block; }
.quick-menu .dropdown__item small { display: block; color: var(--muted); font-size: .74rem; font-weight: 500; white-space: normal; }

.inbox__side { padding: 16px; overflow-y: auto; border-left: 1px solid var(--line); gap: 14px; }
.inbox__empty { display: grid; place-items: center; flex: 1; padding: 24px; color: var(--muted); text-align: center; }

/* ---------- Embudos ---------- */
.funnel-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.funnel-card { display: grid; gap: 14px; }
.funnel-card__head { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; }
.funnel-card__head > div { flex: 1; min-width: 0; }
.funnel-card__head h3 { margin: 0; font-size: 1.1rem; }
.funnel-card__nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.funnel-card__nums div { padding: 12px; border-radius: var(--radius-sm); background: var(--surface-2); }
.funnel-card__nums strong { display: block; font-size: 1.3rem; line-height: 1.1; }
.funnel-card__nums small { color: var(--muted); font-size: .74rem; font-weight: 700; }

.funnel-bars { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.funnel-bars li { display: grid; grid-template-columns: 120px minmax(0, 1fr) 70px; align-items: center; gap: 10px; font-size: .84rem; }
.funnel-bars__track { display: block; height: 26px; overflow: hidden; border-radius: 9px; background: var(--surface-2); }
.funnel-bars__fill { display: block; height: 100%; border-radius: 9px; background: var(--sage); min-width: 4px; transition: width .6s var(--ease); }
.funnel-bars strong { text-align: right; }
.funnel-bars small { display: block; color: var(--muted); font-size: .7rem; text-align: right; }
.chart-box { position: relative; height: 280px; }

.fq-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.fq { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 8px; padding: 14px; border: 1.5px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.fq.is-ghost { opacity: .5; border-style: dashed; }
.fq__num { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: var(--ink); color: #fff; font-size: .78rem; font-weight: 800; }
.fq__body { display: grid; gap: 10px; min-width: 0; }
.fq__row { display: grid; gap: 10px; }
.fq__actions { display: flex; flex-direction: column; gap: 6px; }
.opt-table { display: grid; gap: 6px; }
.opt-row { display: grid; grid-template-columns: minmax(0, 1fr) 80px auto auto; align-items: center; gap: 6px; }
.opt-row input[type="text"], .opt-row input[type="number"] {
  width: 100%;
  height: 38px;
  padding: 6px 10px;
  border: 1.5px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  font-size: .88rem;
}
.opt-row input:focus { outline: none; border-color: var(--ink); }
.opt-row--range { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 80px auto; }
.opt-row .check-row { font-size: .76rem; white-space: nowrap; }
.opt-head { display: grid; grid-template-columns: minmax(0, 1fr) 80px auto auto; gap: 6px; color: var(--subtle); font-size: .7rem; font-weight: 700; }
.score-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 14px 16px; border-radius: var(--radius); background: var(--ink); color: #fff; }
.score-bar strong { font-size: 1.2rem; }
.score-bar small { color: rgba(255, 255, 255, .6); font-size: .78rem; }

/* ---------- Automatizaciones ---------- */
.auto-list { display: grid; gap: 12px; }
.auto-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: center; }
.auto-card__main { display: flex; gap: 12px; min-width: 0; }
.auto-card__icon { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 14px; }
.auto-card__icon .ico { width: 20px; height: 20px; }
.auto-card h3 { margin: 0; font-size: 1rem; }
.auto-card p { margin: 2px 0 0; color: var(--muted); font-size: .82rem; }
.auto-card__steps { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.step-chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; background: var(--surface-2); color: var(--ink-3); font-size: .72rem; font-weight: 700; }
.step-chip .ico { width: 12px; height: 12px; }
.auto-card__stats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; color: var(--muted); font-size: .78rem; font-weight: 600; }

.flow { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.flow__step { position: relative; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding-bottom: 14px; }
.flow__step::before { content: ""; position: absolute; top: 42px; bottom: 2px; left: 19px; width: 2px; background: var(--line); }
.flow__step:last-child::before { display: none; }
.flow__marker { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; background: var(--ink); color: #fff; font-size: .8rem; font-weight: 800; }
.flow__marker .ico { width: 18px; height: 18px; }
.flow__card { display: grid; gap: 12px; padding: 14px; border: 1.5px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.flow__card.is-wait { background: var(--surface-2); border-style: dashed; }
.flow__card-head { display: flex; align-items: center; gap: 8px; }
.flow__card-head select { flex: 1; }
.flow__card .field textarea { min-height: 90px; }
.wait-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-weight: 700; font-size: .88rem; }
.wait-row input, .wait-row select { width: auto !important; min-width: 90px; }
.cond-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 10px; border-radius: var(--radius-sm); background: var(--surface-2); }

.run-log { display: grid; gap: 4px; margin: 0; padding: 10px 14px; border-radius: var(--radius-sm); background: var(--surface-2); list-style: none; font-size: .78rem; }
.run-log li { display: flex; gap: 8px; }
.run-log .is-error { color: var(--coral-ink); font-weight: 700; }

/* ---------- Ajustes ---------- */
#taskForm .input-action input { flex: 1; min-width: 0; height: 42px; padding: 8px 12px; border: 1.5px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); font-size: .9rem; }
#taskForm .input-action input:focus { outline: none; border-color: var(--ink); }
.alert + .inbox { height: calc(100vh - 235px); }

/* Columnas implícitas que crecían con el contenido en pantallas angostas */
.grid--dashboard, .funnel-card, .funnel-card__head > div { grid-template-columns: minmax(0, 1fr); min-width: 0; }
@media (max-width: 1023.98px) {
  .detail-grid, .detail-main, .detail-side { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 639.98px) {
  .funnel-card__nums { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .funnel-card__nums div:last-child { grid-column: 1 / -1; }
}

/* ---------- Inicio y formularios largos ---------- */
.grid--today { margin-bottom: 16px; }
.settings > .sticky-actions { grid-column: 1 / -1; order: 3; }
.form--tight { gap: 8px; }

/* ---------- Pantallas medianas y grandes ---------- */
@media (min-width: 640px) {
  .fq__row { grid-template-columns: minmax(0, 1fr) 180px; }
  .cond-row { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; }
  .auto-card { grid-template-columns: minmax(0, 1fr) auto; }
  .funnel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 900px) {
  .inbox { grid-template-columns: 300px minmax(0, 1fr); }
  .inbox__list { display: flex !important; border-right: 1px solid var(--line); }
  .inbox__chat { display: flex; }
  .inbox__back { display: none; }
}

@media (min-width: 1280px) {
  .grid--today { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid--today .card { grid-column: auto !important; grid-row: auto !important; }
  .inbox { grid-template-columns: 300px minmax(0, 1fr) 280px; }
  .inbox__side { display: flex; }
}

@media (max-width: 639.98px) {
  .board { grid-auto-columns: 82vw; }
  .chat__tools { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .chat__tools > * { flex-shrink: 0; }
  .quick-menu .dropdown { position: fixed; left: 16px; right: 16px; bottom: 150px; width: auto; }
  .funnel-bars li { grid-template-columns: 90px minmax(0, 1fr) 54px; }
  .opt-row, .opt-head { grid-template-columns: minmax(0, 1fr) 64px auto; }
  .opt-row .check-row span { display: none; }
  .opt-head span:nth-child(3) { display: none; }
}
