/*!
 * smit-abonent — поиск и выбор клиента. Пара с smit-abonent.js.
 */

.smit-ab-input.is-picked { border-color: var(--brand-primary, #43b77a); }

/* Метка «человек» справа в поле */
.smit-ab-wrap { position: relative; display: block; }
.smit-ab-wrap .smit-ab-input { padding-right: 36px; }
.smit-ab-ico {
  position: absolute; right: 2px; top: 50%; transform: translateY(-50%);
  width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;
  border: 0; background: transparent; cursor: text; border-radius: var(--radius-sm);
  color: var(--text-muted, #64748b);
}
.smit-ab-wrap:focus-within .smit-ab-ico { color: var(--brand-primary, #43b77a); }

/* Список рисуется в body: внутри модалки его срезала бы прокрутка тела */
.smit-ab-list {
  position: fixed; z-index: 2700; display: none;
  max-height: 380px; overflow-y: auto;
  padding: 6px; border: 1px solid var(--border-subtle, #dbe2ea);
  border-radius: var(--radius-sm); background: var(--surface-card, #fff);
  box-shadow: var(--shadow-lg);
}
.smit-ab-list.is-open { display: block; }
.smit-ab-list.is-loading { opacity: .65; }

.smit-ab-item {
  display: grid; gap: 2px; width: 100%;
  padding: 8px 10px; border: 0; border-radius: var(--radius-sm); background: transparent;
  text-align: left; cursor: pointer;
}
.smit-ab-item:hover, .smit-ab-item.is-active { background: rgba(67, 183, 122, .1); }
.smit-ab-item + .smit-ab-item { border-top: 1px solid var(--border-subtle, #eef2f6); }

.smit-ab-main { display: flex; align-items: center; gap: 8px; min-width: 0; }
.smit-ab-name {
  flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-weight: 600; font-size: var(--sc-fz-sm, .84rem); color: var(--text-primary, #1f2937);
}
.smit-ab-off { color: #c62f36; margin-left: 6px; font-size: .78em; }
.smit-ab-org { flex: 0 0 auto; }
.smit-ab-bal {
  flex: 0 0 auto; font-size: var(--sc-fz-xs, .76rem); font-weight: 600;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.smit-ab-bal.pos { color: #1f7a52; }
.smit-ab-bal.neg { color: #c62f36; }

.smit-ab-meta, .smit-ab-addr {
  font-size: var(--sc-fz-xs, .76rem); color: var(--text-muted, #64748b);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.smit-ab-none {
  padding: 10px 12px; font-size: var(--sc-fz-sm, .82rem); color: var(--text-muted, #64748b);
}
.smit-ab-more {
  display: block; padding: 8px 10px; margin-top: 4px;
  border-top: 1px solid var(--border-subtle, #dbe2ea);
  font-size: var(--sc-fz-xs, .76rem); color: var(--brand-primary, #43b77a); text-decoration: none;
}
.smit-ab-more:hover { text-decoration: underline; }

/* маленькое окно выбора клиента */
.smit-ab-modal-back {
  position: fixed; inset: 0; z-index: 2650; display: flex;
  align-items: center; justify-content: center; padding: 20px;
  background: rgba(15, 23, 42, .45);
}
.smit-ab-modal {
  width: 100%; max-width: 560px; background: var(--surface-card, #fff);
  border: 1px solid var(--border-subtle, #dbe2ea); border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lg); overflow: hidden;
}
.smit-ab-modal-head {
  display: flex; align-items: center; padding: 12px 16px;
  border-bottom: 1px solid var(--border-subtle, #dbe2ea);
}
.smit-ab-modal-x {
  margin-left: auto; width: 30px; height: 30px; border: 0; border-radius: var(--radius-sm);
  background: transparent; color: var(--text-muted, #64748b); cursor: pointer;
}
.smit-ab-modal-x:hover { background: rgba(100, 116, 139, .12); }
.smit-ab-modal-body { padding: 14px 16px; }
.smit-ab-picked {
  margin-top: 12px; padding: 10px 12px; border-radius: var(--radius-sm);
  background: rgba(67, 183, 122, .08); border: 1px solid rgba(67, 183, 122, .25);
  font-size: var(--sc-fz-sm, .82rem);
}
.smit-ab-note { margin-top: 4px; font-size: var(--sc-fz-xs, .76rem); color: var(--text-muted, #64748b); }
.smit-ab-modal-foot {
  display: flex; gap: 8px; justify-content: flex-end; padding: 12px 16px;
  border-top: 1px solid var(--border-subtle, #dbe2ea); background: var(--surface-muted, #fbfcfe);
}

/* ── тёмная тема ── */
[data-bs-theme="dark"] .smit-ab-list, .dark-theme .smit-ab-list,
[data-bs-theme="dark"] .smit-ab-modal, .dark-theme .smit-ab-modal {
  background: var(--surface-card); border-color: var(--border-subtle); box-shadow: var(--shadow-lg);
}
[data-bs-theme="dark"] .smit-ab-name, .dark-theme .smit-ab-name { color: var(--text-primary); }
[data-bs-theme="dark"] .smit-ab-meta, .dark-theme .smit-ab-meta,
[data-bs-theme="dark"] .smit-ab-addr, .dark-theme .smit-ab-addr,
[data-bs-theme="dark"] .smit-ab-none, .dark-theme .smit-ab-none,
[data-bs-theme="dark"] .smit-ab-note, .dark-theme .smit-ab-note { color: var(--text-muted); }
[data-bs-theme="dark"] .smit-ab-item + .smit-ab-item, .dark-theme .smit-ab-item + .smit-ab-item,
[data-bs-theme="dark"] .smit-ab-more, .dark-theme .smit-ab-more { border-top-color: var(--border-subtle); }
[data-bs-theme="dark"] .smit-ab-bal.pos, .dark-theme .smit-ab-bal.pos { color: #7fd6a8; }
[data-bs-theme="dark"] .smit-ab-bal.neg, .dark-theme .smit-ab-bal.neg { color: #ef8a90; }
[data-bs-theme="dark"] .smit-ab-modal-head, .dark-theme .smit-ab-modal-head,
[data-bs-theme="dark"] .smit-ab-modal-foot, .dark-theme .smit-ab-modal-foot { border-color: var(--border-subtle); }
[data-bs-theme="dark"] .smit-ab-modal-foot, .dark-theme .smit-ab-modal-foot { background: var(--surface-muted); }

/* ── телефон: список и окно во всю ширину ── */
@media (max-width: 767.98px) {
  .smit-ab-list { left: 8px !important; right: 8px; width: auto !important; }
  .smit-ab-item { padding: 10px; }
  .smit-ab-modal-back { padding: 0; align-items: flex-end; }
  .smit-ab-modal { max-width: 100%; border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
}

/* То же для поля клиента: внутри .input-group обёртка должна тянуться,
   иначе поле схлопывается в квадратик. */
.input-group > .smit-ab-wrap { flex: 1 1 auto; width: 1%; }
