/* Обследование (р0.3б): список, план, встреча, информация. Только var(--…) токенов пакета, классы rd-survey-*. Поля и подписи форм — общие с картой (rd-map-*). */

.page:has(.rd-survey) { padding-left: 0; padding-right: 0; padding-top: 12px; }
.rd-survey { display: flex; flex-direction: column; gap: var(--gap); min-width: 0; box-sizing: border-box; font-family: var(--font); font-size: var(--fs-body); color: var(--text-body); }
.rd-survey *, .rd-survey *::before, .rd-survey *::after { box-sizing: border-box; }
.rd-survey button, .rd-survey select, .rd-survey textarea, .rd-survey input { font-family: inherit; }
.rd-map-tabs a.rd-map-tab { text-decoration: none; }
.rd-survey-note { margin: 0; font-size: var(--fs-meta); color: var(--text-secondary); }
.rd-survey-text { margin: 0; font-size: var(--fs-body); color: var(--text-body); line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.rd-survey-err { margin: 6px 0 0; color: var(--state-late-text); font-size: var(--fs-body); }
.rd-survey .rd-card.rd-survey-err { padding: 14px 18px; margin: 0; }
.rd-survey-err b { display: block; margin-bottom: 2px; }
.rd-survey .rd-btn__why { font-size: var(--fs-meta); font-weight: 400; }
.rd-survey-desk { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rd-survey-link { padding: 0; border: 0; background: none; font-size: var(--fs-body); color: var(--brand-blue-text); cursor: pointer; text-decoration: none; }
.rd-survey-link:hover { text-decoration: underline; }
.rd-survey-tag { justify-self: start; padding: 3px 8px; border-radius: var(--r-chip); background: var(--bg-page); color: var(--text-secondary); font-size: var(--fs-label); white-space: nowrap; }
.rd-survey-mapref { color: var(--brand-blue-text); font-size: var(--fs-meta); overflow-wrap: anywhere; }

/* Список */
.rd-survey-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rd-survey-title { margin: 0; font-size: var(--fs-page-title); font-weight: var(--fw-page-title); letter-spacing: var(--ls-page-title); color: var(--text-primary); }
.rd-survey-item { display: grid; grid-template-columns: 34px minmax(0, 1fr) 200px minmax(0, 160px); align-items: center; gap: 14px; width: 100%; min-height: var(--row-min-h); padding: 10px 0; border: 0; border-top: 1px solid var(--line); background: none; text-align: left; color: var(--text-primary); cursor: pointer; height: auto; font-size: var(--fs-body); }
.rd-survey-item:first-of-type { border-top: 0; }
.rd-survey-item:hover .rd-survey-item__name { color: var(--brand-blue-text); }
.rd-survey-item__body { display: flex; flex-direction: column; min-width: 0; }
.rd-survey-item__name { font-weight: 600; overflow-wrap: anywhere; }
.rd-survey-item__sub { font-size: var(--fs-meta); color: var(--text-muted); overflow-wrap: anywhere; }
.rd-survey-item__bar { display: flex; align-items: center; gap: 10px; }
.rd-survey-item__bar .rd-bar { flex: 1; }
.rd-survey-item__n { font-variant-numeric: tabular-nums; font-size: var(--fs-meta); color: var(--text-secondary); }

/* Шапка обследования: клиент, кольцо, этапы */
.rd-survey-head { display: flex; flex-direction: column; gap: 16px; }
.rd-survey-head__top { display: flex; align-items: center; gap: 18px; min-width: 0; }
.rd-survey-head__body { flex: 1; min-width: 0; }
.rd-survey-head__body .rd-head__ctx { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; }
.rd-survey-head__aside { display: flex; align-items: center; gap: 12px; }
.rd-survey-back { display: none; padding: 0; border: 0; background: none; font-size: var(--fs-body); color: var(--brand-blue-text); cursor: pointer; }
.rd-survey-ring { width: 48px; height: 48px; transform: rotate(-90deg); }
.rd-survey-ring circle { fill: none; stroke-width: 3.6; }
.rd-survey-ring__bg { stroke: var(--line-strong); }
.rd-survey-ring__fg { stroke: var(--brand-blue); stroke-linecap: round; }
.rd-survey-count { display: flex; flex-direction: column; align-items: flex-start; }
.rd-survey-count b { font-size: 24px; font-weight: 700; color: var(--text-primary); font-variant-numeric: tabular-nums; line-height: 1.1; }
.rd-survey-count span { font-size: var(--fs-meta); color: var(--text-muted); }
.rd-survey-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.rd-survey-step { display: flex; flex-direction: column; align-items: stretch; height: auto; gap: 2px; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; min-width: 0; color: var(--text-secondary); }
.rd-survey-step__bar { display: block; width: 100%; flex: none; height: 4px; border-radius: 2px; background: var(--line-strong); margin-bottom: 6px; }
.rd-survey-step[aria-current="step"] .rd-survey-step__bar { background: var(--brand-blue); }
.rd-survey-step__t { font-size: var(--fs-body); color: var(--text-primary); }
.rd-survey-step[aria-current="step"] .rd-survey-step__t { font-weight: 700; }
.rd-survey-step__c { font-size: var(--fs-meta); color: var(--text-muted); overflow-wrap: anywhere; }
.rd-survey-step--off, .rd-survey-step--off .rd-survey-step__t { color: var(--text-disabled); cursor: not-allowed; }

/* Колонки */
.rd-survey-cols { display: grid; grid-template-columns: minmax(0, 1fr) var(--aside-w); gap: var(--gap); align-items: start; }
.rd-survey-col { display: flex; flex-direction: column; gap: var(--gap); min-width: 0; }

/* Темы плана */
.rd-survey-topics__head { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 150px 130px; gap: 14px; padding: 4px 0 8px; font-size: var(--fs-label); color: var(--text-muted); }
.rd-survey-topic { border-top: 1px solid var(--line); }
.rd-survey-topic__row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 150px 130px; align-items: center; gap: 14px; width: 100%; min-height: var(--row-min-h); padding: 6px 0; border: 0; background: none; text-align: left; color: var(--text-primary); cursor: pointer; height: auto; font-size: var(--fs-body); }
.rd-survey-topic__row:hover .rd-survey-topic__name { color: var(--brand-blue-text); }
.rd-survey-topic__name { min-width: 0; overflow-wrap: anywhere; }
.rd-survey-topic__who { min-width: 0; font-size: var(--fs-body); color: var(--text-secondary); overflow-wrap: anywhere; }
.rd-survey-topic__ans { display: flex; align-items: center; gap: 10px; }
.rd-survey-topic__ans .rd-bar { flex: 1; }
.rd-survey-topic__ans b { font-variant-numeric: tabular-nums; font-weight: 400; color: var(--text-primary); }
.rd-survey-qs { display: flex; flex-direction: column; gap: 4px; padding: 0 0 12px 0; }
.rd-survey-q { align-items: flex-start; min-height: 32px; color: var(--text-body); }

/* Участники и встречи */
.rd-survey-person { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: var(--row-min-h); padding: 6px 0; border-top: 1px solid var(--line); }
.rd-survey-person:first-of-type { border-top: 0; }
.rd-survey-person__body, .rd-survey-meet__body { display: flex; flex-direction: column; min-width: 0; }
.rd-survey-person__name, .rd-survey-meet__name { overflow-wrap: anywhere; color: var(--text-primary); }
.rd-survey-person__sub, .rd-survey-meet__sub { font-size: var(--fs-meta); color: var(--text-muted); overflow-wrap: anywhere; }
.rd-survey-meet { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; min-height: var(--row-min-h); padding: 8px 0; border: 0; border-top: 1px solid var(--line); background: none; text-align: left; cursor: pointer; height: auto; font-size: var(--fs-body); }
.rd-survey-meet:first-of-type { border-top: 0; }
.rd-survey-meet:hover .rd-survey-meet__name { color: var(--brand-blue-text); }

/* Встреча */
.rd-survey-meeting { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; align-items: center; gap: 14px; }
.rd-survey-meeting__title { margin: 0; font-size: var(--fs-card-title); font-weight: 700; color: var(--text-primary); }
.rd-survey-meeting__sub { font-size: var(--fs-meta); color: var(--text-muted); }
.rd-survey-meeting__body { display: flex; flex-direction: column; min-width: 0; }
.rd-survey-session { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: var(--gap); align-items: start; }
.rd-survey-qbtn { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 10px; width: 100%; padding: 8px; border: 0; border-radius: 10px; background: none; text-align: left; color: var(--text-body); cursor: pointer; height: auto; font-size: var(--fs-body); }
.rd-survey-qbtn[aria-current="true"] { background: var(--brand-blue-soft); color: var(--text-primary); font-weight: 600; }
.rd-survey-qbtn:hover { background: var(--bg-subtle); }
.rd-survey-qbtn[aria-current="true"]:hover { background: var(--brand-blue-soft); }
.rd-survey-qmark { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--bg-page); color: var(--text-secondary); font-size: var(--fs-label); font-weight: 600; }
.rd-survey-qmark--now { background: var(--brand-blue); color: var(--bg-surface); }
.rd-survey-qmark--done { background: var(--state-ok); color: var(--bg-surface); }
.rd-survey-ask { margin-top: 8px; padding-left: 8px; }
.rd-survey-editor { display: flex; flex-direction: column; gap: 14px; }
.rd-survey-editor__kicker { font-size: var(--fs-meta); color: var(--text-muted); }
.rd-survey-editor__q { margin: 0; font-size: var(--fs-card-title); font-weight: 700; color: var(--text-primary); line-height: 1.3; }
.rd-survey-editor__text.rd-map-field { min-height: 120px; margin-bottom: 0; }
.rd-survey-editor__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.rd-survey-editor__lbl { min-width: 56px; font-size: var(--fs-meta); color: var(--text-muted); }
.rd-survey-editor__sel.rd-map-field { width: auto; min-width: 220px; margin-bottom: 0; appearance: auto; }
.rd-survey-editor__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px 18px; }

/* Записи со встречи */
.rd-survey-note-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) minmax(0, 220px) auto; align-items: center; gap: 14px; min-height: var(--row-min-h); padding: 8px 0; border-top: 1px solid var(--line); }
.rd-survey-note-row__body, .rd-survey-info-row__body { display: flex; flex-direction: column; min-width: 0; }
.rd-survey-note-row__text, .rd-survey-info-row__text { overflow-wrap: anywhere; color: var(--text-primary); }
.rd-survey-note-row__sub, .rd-survey-info-row__sub { font-size: var(--fs-meta); color: var(--text-muted); overflow-wrap: anywhere; }
.rd-survey-note-row__place, .rd-survey-info-row__place { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.rd-survey-note-row__fact, .rd-survey-info-row__hint { font-size: var(--fs-label); color: var(--text-muted); }

/* Информация */
.rd-survey-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 8px; }
.rd-survey-info-row { display: grid; grid-template-columns: 20px minmax(0, 1fr) 120px minmax(0, 200px) auto; align-items: center; gap: 14px; min-height: var(--row-min-h); padding: 10px 0; border-top: 1px solid var(--line); }
.rd-survey-check { width: 18px; height: 18px; accent-color: var(--brand-blue); }
.rd-survey-batch { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--text-primary); }
.rd-survey-batch__acts { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-survey-cover { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; padding: 6px 0; }
.rd-survey-cover .rd-bar { grid-column: 1 / -1; }
.rd-survey-cover b { font-weight: 400; font-variant-numeric: tabular-nums; color: var(--text-secondary); }
.rd-survey-conflict { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); padding: 10px 0; border-top: 1px solid var(--line); }
.rd-survey-side { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.rd-survey-side__who { font-size: var(--fs-meta); color: var(--text-muted); }
.rd-survey-side__text { color: var(--text-primary); overflow-wrap: anywhere; }

@media (max-width: 1279px) {
  .rd-survey { padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 1023px) {
  .rd-survey-cols, .rd-survey-session { grid-template-columns: minmax(0, 1fr); }
}

/* Телефон, §4 пакета (M_Session): одна колонка, поля 16, промежутки 12, строки не ниже 48 */
@media (max-width: 767px) {
  .rd-survey { gap: 12px; padding: 0 16px 24px; }
  .rd-survey-desk { display: none; }
  .rd-survey-bar { flex-wrap: wrap; }
  .rd-survey-back { display: block; }
  .rd-survey-head { gap: 12px; }
  .rd-survey-head__top { flex-wrap: wrap; align-items: center; gap: 10px 12px; }
  .rd-survey-head .rd-mono { display: none; }
  .rd-survey-head__body { flex: 1 1 100%; order: 2; }
  .rd-survey-back { order: 1; }
  .rd-survey-head__aside { order: 1; margin-left: auto; }
  .rd-survey-ring { width: 32px; height: 32px; }
  .rd-survey-count b { font-size: var(--fs-body); }
  .rd-survey-count span { display: none; }
  .rd-survey-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .rd-survey-step__t { font-size: var(--fs-meta); white-space: nowrap; }
  .rd-survey-step--off { display: none; }
  .rd-survey-step__c { display: none; }
  .rd-survey-item { grid-template-columns: 34px minmax(0, 1fr); gap: 4px 12px; }
  .rd-survey-item__bar, .rd-survey-item .rd-state { grid-column: 2; }
  .rd-survey-topics__head { display: none; }
  .rd-survey-topic__row { grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; min-height: 48px; }
  .rd-survey-topic__who { grid-column: 1; grid-row: 2; font-size: var(--fs-meta); }
  .rd-survey-topic__row .rd-survey-tag { grid-column: 1; grid-row: 3; }
  .rd-survey-topic__ans { grid-column: 2; grid-row: 1 / span 3; flex-direction: column; align-items: flex-end; width: 90px; }
  .rd-survey-topic__ans .rd-bar { width: 100%; flex: none; }
  .rd-survey-meeting { grid-template-columns: 34px minmax(0, 1fr) auto; }
  .rd-survey-meeting > .rd-state { grid-column: 2; grid-row: 2; }
  .rd-survey-editor__text.rd-map-field { min-height: 132px; font-size: 16px; }
  .rd-survey-editor__row { flex-direction: column; align-items: stretch; }
  .rd-survey-editor .rd-seg { display: flex; }
  .rd-survey-editor .rd-seg__opt { flex: 1; padding: 0 6px; }
  .rd-survey-editor__sel.rd-map-field { width: 100%; min-width: 0; min-height: 48px; font-size: 16px; }
  .rd-survey-editor__foot { justify-content: flex-start; }
  .rd-survey-note-row, .rd-survey-info-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
  .rd-survey-note-row .rd-survey-tag, .rd-survey-info-row .rd-survey-tag { order: 1; }
  .rd-survey-note-row .rd-state, .rd-survey-info-row .rd-state { order: 1; margin-left: auto; }
  .rd-survey-info-row .rd-survey-check { order: 0; }
  .rd-survey-note-row__body, .rd-survey-info-row__body { order: 2; flex: 1 1 100%; }
  .rd-survey-note-row__place, .rd-survey-info-row__place { order: 3; flex: 1 1 100%; }
  .rd-survey-session { display: flex; flex-direction: column-reverse; gap: 12px; }
  .rd-survey-conflict { grid-template-columns: minmax(0, 1fr); }
  .rd-survey-batch { flex-direction: column; align-items: stretch; }
  .rd-survey-batch__acts .rd-btn { flex: 1; min-height: 48px; }
  .rd-survey-qbtn, .rd-survey-meet, .rd-survey-person { min-height: 48px; }
}
