/* V2 «Туман» · Карточка клиента (05): шторка 600 справа / широкая модалка / две колонки; на телефоне — полноэкранная шторка.
   Одна разметка для CRM (04), client.html (05), Чатов и «Сегодня». Префикс mzc-. Токены — theme.css. */

/* ---------- контейнер-слой ---------- */
dialog.mzc-dlg { background: var(--surface); color: var(--ink); }
dialog.mzc-dlg::backdrop { background: rgb(22 22 22 / .24); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
:root[data-theme="dark"] dialog.mzc-dlg::backdrop { background: rgb(0 0 0 / .5); }
/* вход справа: translateX(24px) + проявление, 280 мс (SPEC 05) */
@media (min-width: 768px) {
  dialog.mzc-dlg[data-nx-as="sheet"][data-nx-side="right"] {
    inset: 12px 12px 12px auto; height: calc(100dvh - 24px); max-height: calc(100dvh - 24px);
    border-radius: var(--rounded-xl); translate: 24px 0; opacity: 0;
    box-shadow: var(--shadow-float), 0 0 0 1px var(--line);
    transition: translate 280ms var(--ease-drawer), opacity 220ms var(--ease);
  }
  dialog.mzc-dlg[data-nx-as="sheet"][data-nx-side="right"].is-open { translate: 0 0; opacity: 1; }
  dialog.mzc-dlg[data-nx-as="modal"] { height: min(880px, calc(100dvh - 48px)); border-radius: var(--rounded-xl); background: var(--surface); }
  dialog.mzc-dlg[data-nx-as="modal"][open] { display: flex; flex-direction: column; }
}
dialog.mzc-dlg[data-nx-as="sheet"][data-nx-side="bottom"] { background: var(--surface); }
dialog.mzc-dlg[data-nx-as="sheet"][data-nx-side="bottom"] .nx-sheet__handle { position: absolute; left: 0; right: 0; top: 0; z-index: 4; margin: 6px auto 0; }

.mzc { position: relative; flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.mzc[aria-busy="true"] { pointer-events: none; }

/* ---------- шапка ---------- */
.mzc-head { flex: none; display: flex; align-items: center; gap: 14px; padding: 20px 16px 12px 24px; min-width: 0; }
.mzc-head__text { flex: 1; min-width: 0; display: grid; gap: 4px; }
.mzc-head__name { display: flex; align-items: center; gap: 4px; min-width: 0; }
.mzc-head__name h2 { font: 400 26px/1.15 var(--font-display); letter-spacing: -0.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.mzc-head__name .mz-input { height: 40px; font-size: 18px; max-width: 360px; }
.mzc-edit { width: 32px; height: 32px; flex: none; border: 0; border-radius: 50%; display: grid; place-items: center; background: transparent; color: var(--ink-soft); cursor: pointer; position: relative; }
.mzc-edit::after { content: ""; position: absolute; inset: -6px; }
.mzc-edit .nx-icon { --nx-size: 18px; }
@media (hover: hover) and (pointer: fine) { .mzc-edit:hover { background: var(--surface-subtle); color: var(--ink); } }
.mzc-head__sub { display: flex; align-items: center; gap: 6px; font: 400 14px/1.35 var(--font-text); color: var(--ink-soft); min-width: 0; }
.mzc-head__sub > span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mzc-head__sub .nx-icon { --nx-size: 16px; flex: none; }
.mzc-head__btns { display: flex; align-items: center; gap: 4px; flex: none; align-self: flex-start; }
.mzc-head .mz-avatar { align-self: center; }

/* ---------- верхний блок: факты, дубль, действия, шаг ---------- */
.mzc-top { flex: none; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 0 24px 14px; min-width: 0; }
.mzc-facts { display: flex; flex-wrap: wrap; gap: 6px; }
.mzc-facts .badge { height: 30px; padding: 0 12px; font-size: 13px; gap: 6px; }
.mzc-facts .badge .nx-icon { --nx-size: 16px; }
.mzc-fact { background: var(--surface-raised); color: var(--ink); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; }
.mzc-fact--num { font-variant-numeric: tabular-nums; font-weight: 600; }
.mzc-stagebtn { border: 0; cursor: pointer; font: 500 13px/1 var(--font-text); }
.mzc-stagebtn .nx-icon { --nx-size: 14px; margin-right: -2px; color: var(--ink-soft); }
.mzc-lock__x { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: -8px; border: 0; border-radius: 50%; background: rgb(22 22 22 / .06); color: var(--ink); cursor: pointer; position: relative; }
.mzc-lock__x::after { content: ""; position: absolute; inset: -6px; }
.mzc-lock__x .nx-icon { --nx-size: 12px !important; }
.mzc-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.mzc-actions .btn { flex: 0 0 auto; }
.mzc-actions .mzc-wa .nx-icon:last-child { --nx-size: 16px; color: var(--ink-soft); }

/* строка шага / записи — таблетка стопки */
.mzc-step { --tint: 22 22 22; --tint-a: 0; display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 8px 8px 8px 10px; border-radius: var(--rounded-pill);
  background: linear-gradient(90deg, rgb(var(--tint) / var(--tint-a)) 0%, rgb(var(--tint) / 0) 70%), var(--surface-raised); box-shadow: var(--hl-top), var(--shadow-1); }
.mzc-step[data-kind="today"] { --tint: 127 83 0; --tint-a: .12; }
.mzc-step[data-kind="overdue"] { --tint: 179 43 43; --tint-a: .14; }
.mzc-step[data-kind="appt"] { --tint: 36 89 184; --tint-a: .12; }
.mzc-step[data-kind="none"] { background: transparent; box-shadow: none; outline: 1.5px dashed rgb(22 22 22 / .2); outline-offset: -1.5px; }
:root[data-theme="dark"] .mzc-step[data-kind="none"] { outline-color: rgb(255 255 255 / .2); }
.mzc-step__ico { width: 44px; height: 44px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--surface-subtle); color: var(--ink); }
.mzc-step__ico .nx-icon { --nx-size: 20px; }
.mzc-step[data-kind="today"] .mzc-step__ico { background: var(--warning-soft); color: var(--warning); }
.mzc-step[data-kind="overdue"] .mzc-step__ico { background: var(--danger-soft); color: var(--danger); }
.mzc-step[data-kind="appt"] .mzc-step__ico { background: var(--info-soft); color: var(--info); }
.mzc-step__body { flex: 1; min-width: 0; display: grid; gap: 2px; }
.mzc-step__label { font: 500 12px/1.3 var(--font-text); color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.mzc-step[data-kind="today"] .mzc-step__label { color: var(--warning); }
.mzc-step[data-kind="overdue"] .mzc-step__label { color: var(--danger); }
.mzc-step[data-kind="appt"] .mzc-step__label { color: var(--info); }
.mzc-step__title { font: 500 15px/1.3 var(--font-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mzc-step__btns { display: flex; gap: 4px; flex: none; }
.mzc-step.is-in { animation: mzc-in 240ms var(--ease) both; }
.mzc-step.is-out { animation: mzc-out 200ms var(--ease) both; }
@keyframes mzc-in { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
@keyframes mzc-out { to { opacity: 0; transform: scale(.96); } }

/* герой-блок с этапом-прогрессом (alt-clienthead b) */
.mzc-hero { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 20px; align-items: end; padding: 16px 18px; border-radius: var(--rounded-lg); background: var(--surface-raised); box-shadow: var(--hl-top), var(--shadow-1); }
.mzc-hero__sum { font: 250 44px/1 var(--font-display); letter-spacing: -0.035em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mzc-hero__sum small { font: 400 14px/1 var(--font-text); letter-spacing: 0; color: var(--ink-soft); margin-left: 4px; }
.mzc-hero__meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; align-self: start; }
.mzc-hero__meta .badge { height: 28px; }
.mzc-progress { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; margin: 6px 0 0; padding: 0; list-style: none; }
.mzc-progress li { display: grid; gap: 6px; font: 500 12px/1.2 var(--font-text); color: var(--ink-soft); min-width: 0; }
.mzc-progress li::before { content: ""; height: 6px; border-radius: 3px; background: var(--surface-sunken); }
.mzc-progress li.is-done::before { background: var(--c); }
.mzc-progress li.is-current { color: var(--ink); font-weight: 600; }
.mzc-progress li.is-current::before { background: var(--c); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 22%, transparent); }
.mzc-progress li span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mzc-progress li button { all: unset; cursor: pointer; display: contents; }

/* ---------- вкладки и панели ---------- */
.mzc-tabsbar { flex: none; padding: 4px 16px 8px 20px; overflow-x: auto; scrollbar-width: none; }
.mzc-tabsbar::-webkit-scrollbar { display: none; }
.mzc-tabsbar .tabs { width: max-content; }
.mzc-tabsbar .tabs [role="tab"] { height: 40px; padding: 0 16px; }
.mzc-tabdot { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; display: inline-grid; place-items: center; background: var(--danger); color: #fff; font: 600 12px/1 var(--font-text); font-variant-numeric: tabular-nums; }
.mzc-panels { position: relative; flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; margin: 0 12px; border-radius: var(--rounded-lg) var(--rounded-lg) 0 0; background: var(--surface-subtle); box-shadow: inset 0 1px 0 rgb(255 255 255 / .6); }
:root[data-theme="dark"] .mzc-panels { box-shadow: inset 0 1px 0 rgb(255 255 255 / .04); }
.mzc-panel { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px; scrollbar-width: thin; }
.mzc-panel[hidden] { display: none; }
.mzc-panel--chat { padding: 4px 4px 8px; }
.mzc-newmsg { position: absolute; left: 50%; bottom: 12px; translate: -50% 0; z-index: 3; display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--ink); color: var(--ink-inverse); font: 500 13px/1 var(--font-text); box-shadow: var(--shadow-2); cursor: pointer; }
.mzc-newmsg[hidden] { display: none; }
.mzc-newmsg .nx-icon { --nx-size: 16px; }
.mzc .nx-typing { margin: 0 20px 8px; align-self: flex-start; display: inline-flex; gap: 4px; padding: 12px 14px; border-radius: 20px 20px 20px 6px; background: var(--surface-raised); color: var(--ink-soft); box-shadow: var(--shadow-1); }
.mzc .nx-typing[hidden] { display: none; }

/* лента: фото, ИИ-трасса, «Ответ неверный» */
.mzc .mz-thread { padding: 12px; gap: 8px; }
.mzc .mz-msg { max-width: min(84%, 520px); }
.mzc-photo { display: grid; gap: 10px; width: 260px; max-width: 100%; }
.mzc-photo__img { position: relative; height: 180px; border-radius: 14px; overflow: hidden; display: grid; place-items: center; color: #161616;
  background: radial-gradient(70% 70% at 40% 60%, #F3E3D6 0%, #DCC3B1 55%, #B89A88 100%); }
.mzc-photo__img::after { content: ""; position: absolute; inset: 0; background: var(--mz-grain); opacity: .25; mix-blend-mode: soft-light; }
.mzc-photo__img span { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 999px; background: rgb(255 255 255 / .75); font: 500 13px/1 var(--font-text); }
.mzc-photo__img .nx-icon { --nx-size: 16px; }
.mzc-photo__ai { display: flex; gap: 8px; font: 400 13px/1.45 var(--font-text); color: var(--ink); }
.mzc-photo__ai b { color: var(--ai); font-weight: 600; }
.mzc-photo__ai .mz-ai-dot { margin-top: 4px; }
.mzc-trace { margin: 2px 6px 0; font: 400 13px/1.4 var(--font-text); color: var(--ink-soft); }
.mzc-trace summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 4px; font-weight: 500; color: var(--ai); min-height: 28px; }
.mzc-trace summary::-webkit-details-marker { display: none; }
.mzc-trace summary .nx-icon { --nx-size: 14px; transition: rotate var(--fast) var(--ease); }
.mzc-trace[open] summary .nx-icon { rotate: 90deg; }
.mzc-trace ul { margin: 4px 0 0; padding: 8px 12px; list-style: none; border-radius: 12px; background: var(--surface-raised); display: grid; gap: 4px; }
.mzc-trace li { display: flex; gap: 6px; } .mzc-trace li .nx-icon { --nx-size: 14px; color: var(--success); margin-top: 2px; }
.mzc-msgacts { display: flex; align-items: center; gap: 12px; padding: 0 6px; }
.mzc-flag { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; min-height: 28px; font: 500 12px/1 var(--font-text); color: var(--ink-soft); }
.mzc-flag .nx-icon { --nx-size: 14px; }
@media (hover: hover) and (pointer: fine) { .mzc-flag:hover { color: var(--danger); } }
.mzc-flag:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; border-radius: 4px; }
.mzc .mz-msg--system { padding: 8px 14px; border-radius: 14px; background: rgb(255 255 255 / .55); max-width: 92%; }
:root[data-theme="dark"] .mzc .mz-msg--system { background: rgb(255 255 255 / .05); }
.mzc .mz-msg.is-failed .mz-msg__bubble { box-shadow: inset 0 0 0 1.5px var(--danger); }
.mzc-retry { all: unset; cursor: pointer; font-weight: 600; color: var(--danger); text-decoration: underline; text-underline-offset: 2px; }
.mzc-24h { margin: 8px 12px; }

/* низ: «Кто отвечает» + поле ответа */
.mzc-foot { flex: none; display: grid; gap: 8px; padding: 10px 12px 12px; margin: 0 12px; background: var(--surface-subtle); border-radius: 0 0 var(--rounded-lg) var(--rounded-lg); }
dialog.mzc-dlg[data-nx-as="sheet"][data-nx-side="right"] .mzc-foot, dialog.mzc-dlg[data-nx-as="modal"] .mzc-foot { margin-bottom: 12px; }
.mzc-resp[data-who="staff"] { background: linear-gradient(90deg, var(--warning-soft), var(--surface-raised) 72%); }
.mzc-resp[data-who="stopped"] { background: linear-gradient(90deg, var(--danger-soft), var(--surface-raised) 72%); }
.mzc-resp[data-who="me"] { background: var(--surface-raised); }
.mzc-resp .mz-avatar, .mzc-resp .mzc-resp__ico { flex: none; }
.mzc-resp__ico { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--danger); color: #fff; }
.mzc-resp__ico .nx-icon { --nx-size: 18px; }
.mzc-resp .btn { flex: none; }
.mzc .mz-composer textarea { max-height: calc(1.35em * 5 + 20px); }
.mzc .mz-composer:has(textarea:disabled) { opacity: .6; }
.mzc-nochat { display: grid; justify-items: center; gap: 12px; padding: 40px 20px; text-align: center; }
.mzc-nochat .mz-empty__actions { margin: 0; }

/* вкладка «Клиент» */
.mzc-ai { display: grid; gap: 6px; padding: 14px 16px; border-radius: var(--rounded-md); background: var(--ai-soft); }
.mzc-ai__title { display: flex; align-items: center; gap: 8px; font: 600 13px/1.3 var(--font-text); color: var(--ai); }
.mzc-ai p { font: 400 14px/1.5 var(--font-text); }
.mzc-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.mzc-form .mzc-wide { grid-column: 1 / -1; }
.mzc-ro { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 999px; background: rgb(255 255 255 / .55); font: 400 14px/1.3 var(--font-text); color: var(--ink-soft); }
:root[data-theme="dark"] .mzc-ro { background: rgb(255 255 255 / .05); }
.mzc-ro .nx-icon { --nx-size: 18px; }
.mzc-tags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.mzc-tags .mz-chip { height: 32px; }
.mzc-tags .mz-chip__x { background: rgb(22 22 22 / .08); }
.mzc-tags .mz-input { width: 140px; height: 32px; padding: 0 12px; font-size: 14px; }
.mzc-facts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 16px; }
.mzc-kv { display: grid; gap: 4px; padding: 10px 14px; border-radius: var(--rounded-md); background: var(--surface-raised); min-width: 0; }
.mzc-kv > span:first-child { font: 500 12px/1.2 var(--font-text); color: var(--ink-soft); }
.mzc-kv > b, .mzc-kv > a { font: 500 14px/1.3 var(--font-text); color: var(--ink); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }

/* вкладки «Записи» и «История» */
.mzc-appts { display: grid; gap: 6px; }
.mzc-appts .mz-pill { min-height: 64px; }
.mzc-subhead { margin: 16px 4px 8px; font: 500 13px/1.3 var(--font-text); color: var(--ink-soft); }
.mzc-cancelled summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; margin: 12px 4px 6px; font: 500 13px/1.3 var(--font-text); color: var(--ink-soft); }
.mzc-cancelled summary::-webkit-details-marker { display: none; }
.mzc-cancelled[open] summary .nx-icon { rotate: 90deg; }
.mzc-hist .mz-pill { min-height: 52px; }
.mzc-hist .mz-gelchip { width: 36px; height: 36px; border-radius: 12px; }
.mzc-hist .mz-gelchip .nx-icon { --nx-size: 18px; }
.mzc-hist time { font: 500 12px/1 var(--font-text); color: var(--ink-soft); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* полосы внутри карточки (архив, дубль, только просмотр) */
.mzc-top .notice { min-height: 48px; }
.mzc-top .notice__text { font-size: 13px; }

/* состояния: загрузка, ошибка, не найдено */
.mzc-state { flex: 1; display: grid; align-content: center; gap: 16px; padding: 24px; }
.mzc-state .mz-error { align-items: center; }
.mzc-state__btns { display: flex; gap: 8px; justify-content: center; }
.mzc-skel { display: grid; gap: 16px; padding: 24px; }

/* ---------- две колонки (alt-drawer c) ---------- */
@media (min-width: 768px) {
  .mzc--split { display: grid; grid-template-columns: minmax(0, 1fr) 440px; grid-template-rows: auto minmax(0, 1fr); }
  .mzc--split > .mzc-head { grid-column: 1 / -1; }
  .mzc-chatcol { grid-column: 1; grid-row: 2; display: flex; flex-direction: column; min-height: 0; padding-bottom: 12px; }
  .mzc-chatcol .mzc-panels { margin: 0 6px 0 12px; }
  .mzc-chatcol .mzc-foot { margin: 0 6px 0 12px; }
  .mzc-sidecol { grid-column: 2; grid-row: 2; display: flex; flex-direction: column; min-height: 0; overflow-y: auto; padding-bottom: 12px; }
  .mzc-sidecol .mzc-top { padding: 0 20px 12px 12px; }
  .mzc-sidecol .mzc-tabsbar { padding-left: 10px; }
  .mzc-sidecol .mzc-panels { margin: 0 12px 0 6px; border-radius: var(--rounded-lg); flex: 1 0 auto; }
  .mzc-sidecol .mzc-panel { overflow: visible; }
  .mzc--split .mzc-actions .btn { flex: 1 1 auto; }
  .mzc--split .mzc-form { grid-template-columns: 1fr; }
}

/* шапка сжимается при прокрутке ленты до строки 56 px */
.mzc.is-compact .mzc-top { display: none; }
.mzc.is-compact .mzc-head { padding-top: 10px; padding-bottom: 8px; min-height: 56px; }
.mzc.is-compact .mzc-head .mz-avatar--48 { --s: 36px; }
.mzc.is-compact .mzc-head__name h2 { font-size: 20px; }
.mzc-expand { display: none; }
.mzc.is-compact .mzc-expand { display: inline-flex; }

/* кнопки-круги телефона */
.mzc-rounds { display: none; }
.mzc-mline { display: none; }

@media (max-width: 767.98px) {
  dialog.mzc-dlg { --nx-sheet-max-w: 100%; }
  dialog.mzc-dlg[data-nx-as="sheet"][data-nx-side="bottom"][data-nx-snap="full"] { height: calc(100dvh - 8px); max-height: calc(100dvh - 8px); }
  .mzc-head { padding: 18px 8px 8px 4px; gap: 8px; }
  .mzc-head .mz-avatar--48 { --s: 40px; font-size: 14px; }
  .mzc-head__name h2 { font-size: 20px; font-weight: 500; letter-spacing: -0.01em; }
  .mzc-head__btns .btn-icon { width: 44px; height: 44px; }
  .mzc-top { padding: 0 16px 12px; gap: 12px; }
  .mzc-facts, .mzc-hero, .mzc-actions { display: none !important; }
  .mzc-mline { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font: 400 14px/1.35 var(--font-text); color: var(--ink-soft); }
  .mzc-mline a { color: var(--ink); text-decoration: none; font-variant-numeric: tabular-nums; }
  .mzc-mline .badge { height: 26px; }
  .mzc-rounds { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .mzc-round { display: grid; justify-items: center; gap: 6px; border: 0; background: none; padding: 0; color: var(--ink); font: 500 12px/1.2 var(--font-text); text-decoration: none; cursor: pointer; min-height: 44px; }
  .mzc-round__c { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-raised); box-shadow: var(--hl-top), var(--shadow-1); }
  .mzc-round__c .nx-icon { --nx-size: 22px; }
  .mzc-round--primary .mzc-round__c { background: var(--primary); color: var(--on-primary); box-shadow: inset 0 0 0 1px rgb(22 22 22 / .1), 0 6px 16px -8px rgb(120 140 0 / .55); }
  .mzc-step { border-radius: var(--rounded-md); min-height: 60px; flex-wrap: wrap; }
  .mzc-step__btns { width: 100%; padding-left: 56px; }
  .mzc-step__btns .btn { height: 40px; }
  .mzc-step[data-kind="none"] .mzc-step__btns { width: auto; padding-left: 0; }
  .mzc-tabsbar { padding: 0 16px 8px; }
  .mzc-tabsbar .tabs [role="tab"] { height: 44px; padding: 0 14px; }
  .mzc-panels { margin: 0; border-radius: var(--rounded-lg) var(--rounded-lg) 0 0; }
  .mzc-foot { margin: 0; border-radius: 0; padding: 8px 12px calc(10px + env(safe-area-inset-bottom)); }
  .mzc-resp { border-radius: var(--rounded-md); padding: 6px 6px 6px 10px; }
  .mzc-resp .mz-responder__text { font-size: 13px; }
  .mzc-form, .mzc-facts-grid { grid-template-columns: 1fr; }
  .mzc .mz-msg { max-width: 88%; }
  .mzc-photo { width: 220px; }
  .mzc-photo__img { height: 150px; }
  .mzc-flag, .mzc-trace summary { min-height: 44px; }
}
.mzc-dupline { display: none; }
.mzc-step__btns .btn { gap: 6px; }
@media (max-width: 767.98px) {
  .mzc-dup { display: none !important; }
  .mzc-dupline { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: var(--rounded-md); background: var(--info-soft); color: var(--ink); font: 400 14px/1.3 var(--font-text); cursor: pointer; }
  .mzc-dupline .nx-icon { --nx-size: 18px; color: var(--info); flex: none; }
  .mzc-dupline span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mzc-dupline b { font-weight: 600; flex: none; }
  .mzc-step { flex-wrap: nowrap; padding-right: 6px; }
  .mzc-step__btns { width: auto !important; padding-left: 0 !important; gap: 6px; }
  .mzc-step__btns .btn { width: 44px; height: 44px; padding: 0; border-radius: 50%; }
  .mzc-step__btns .mzc-bl { display: none; }
  .mzc-step__ico { width: 40px; height: 40px; }
  .mzc-top { gap: 10px; }
  .mzc-mline { row-gap: 6px; }
}
@media (max-width: 767.98px) {
  .mzc-tabsbar { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); }
}
@media (min-width: 768px) {
  .mzc:has(> .mzc-foot[hidden]) > .mzc-panels, .mzc:not(:has(.mzc-foot)) > .mzc-panels { margin-bottom: 12px; border-radius: var(--rounded-lg); }
}
@media (max-width: 767.98px) {
  .mzc-edit { width: 44px; height: 44px; }
  .mzc-head__sub .mzc-stagebtn { height: 40px; padding: 0 12px; font-size: 14px; }
  .mzc-head__sub { gap: 10px; }
  .mzc-mline a { display: inline-flex; align-items: center; min-height: 44px; }
  .mzc-mline { row-gap: 0; }
}
#mzc-name:focus { outline: none; }
@media (max-width: 767.98px) {
  .mzc-resp .mz-responder__text small { display: none; }
  .mzc-resp { min-height: 48px; }
  .mzc-step__title { -webkit-line-clamp: 1; }
  .mzc-step { min-height: 56px; }
}
.mzc-resp .mz-avatar--ai .nx-icon { --nx-size: 18px; }
.mzc-foot .mzc-24h { margin: 0; }
@media (max-width: 767.98px) {
  .mzc-kv > a { display: inline-flex; align-items: center; min-height: 40px; margin: -8px 0; }
  .mzc-tags .mz-chip { height: 40px; }
  .mzc-retry { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; }
}
.mzc .mz-msg__meta { flex-wrap: wrap; row-gap: 0; }
.mzc .mz-msg--out .mz-msg__meta { justify-content: flex-end; }
.mzc .mz-msg__meta > * { white-space: nowrap; }
@media (max-width: 767.98px) {
  .mzc-24h .notice__text { font-size: 13px; }
  .mzc-24h { padding: 8px 10px; }
  .mzc-24h .notice__ico { width: 28px; height: 28px; }
}
@media (min-width: 768px) {
  .mzc--split .mzc-step__btns .mzc-bl { display: none; }
  .mzc--split .mzc-step__btns .btn { width: 40px; padding: 0; border-radius: 50%; }
  .mzc--split .mzc-step__title { -webkit-line-clamp: 2; }
}
@media (prefers-reduced-motion: reduce) { :root:not([data-motion="full"]) .mzc-step.is-in, :root:not([data-motion="full"]) .mzc-step.is-out { animation: none; } }
:root[data-motion="reduce"] .mzc-step.is-in, :root[data-motion="reduce"] .mzc-step.is-out { animation: none; }

/* телефон: четыре вкладки помещаются целиком, без обрезанной «История» */
@media (max-width: 767.98px) {
  .mzc-tabsbar { -webkit-mask-image: none; mask-image: none; }
  .mzc-tabsbar .tabs { width: 100%; display: flex; }
  .mzc-tabsbar .tabs [role="tab"] { flex: 1 1 auto; min-width: 0; padding: 0 10px; gap: 6px; justify-content: center; }
  .mzc-tabsbar .tabs .tabs__count { display: none; }
}
/* телефон, alt-clienthead b: крупная сумма + путь по воронке; этап остаётся в шапке, сумма из шапки уходит */
@media (max-width: 767.98px) {
  :root[data-alt-clienthead="b"] .mzc-hero { display: block !important; padding: 12px 14px 10px; border-radius: var(--rounded-md); }
  :root[data-alt-clienthead="b"] .mzc-hero .mzc-stagebtn, :root[data-alt-clienthead="b"] .mzc-hero__meta, :root[data-alt-clienthead="b"] .mzc-head__sub .mz-num { display: none !important; }
  :root[data-alt-clienthead="b"] .mzc-hero__sum { font-size: 40px; margin-bottom: 12px; }
  :root[data-alt-clienthead="b"] .mzc-progress { margin: 0; }
  :root[data-alt-clienthead="b"] .mzc-progress li { font-size: 12px; }
  /* alt-clienthead c: минимальная шапка — кто отвечает, телефон и дубль уходят во вкладку «Клиент» */
  :root[data-alt-clienthead="c"] .mzc-mline, :root[data-alt-clienthead="c"] .mzc-dupline { display: none !important; }
}

/* §10.7 · переключатель «ИИ включён / ИИ выключен» — только для этого клиента (шапка карточки и строка над полем сообщения) */
.uxc-aisw { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 8px 0 4px; cursor: pointer; white-space: nowrap; color: var(--ink-soft); font: 500 13px/1 var(--font-text); }
.uxc-aisw.is-on { color: var(--ink); }
.uxc-aisw .nx-switch { flex: none; }
.uxc-aisw--foot { margin-left: auto; padding-right: 0; }
.mzc-head__btns .uxc-aisw { margin-right: 4px; }
@media (max-width: 767.98px) {
  .uxc-aisw--head .uxc-aisw__t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }  /* без подписи, но читается экранным диктором */
  .uxc-aisw--head { min-width: 44px; justify-content: center; padding: 0 4px; margin-right: 0; position: relative; }
}

