/* Врачи v3 — «Реестр» (макет Астры «anexis-doctors-final», фаза 1/7, 21.09.2026).
   Тестовая клиника (флаг PATIENT_PAGE_TEST_CLINIC_IDS, см. docV3Enabled() в
   doctors-v3.js — тот же общий флаг, что у Пациентов/Финансов v3/Услуг v3/
   Клиники v3). design-spec.md «Реестр»/«Основа»: карточка radius10px, поле/
   кнопка36px radius6px (≤760 — 44px), интервал между карточками20px, поля18px,
   через переменные проекта (--card/--border/--ink/--action-bg), без новой
   фиксированной палитры. Всё ограничено [data-ui-doctors="v3"] — здесь нет
   элементов вне обёртки вкладки (диалог добавления живёт внутри #panel-doctors,
   не в общей модалке-подвале), поэтому глобальных исключений не требуется.

   ИСПРАВЛЕНО 22.09.2026 (баг найден пользователем — «эта подсказка везде, в
   каждом разделе»): здесь была блоковая правка `[data-ui-doctors="v3"] {
   display: block; }`. У #page-doctor (сама .panel фазы 2) та же специфичность
   у ".panel { display:none }" (components.css) и у этого атрибутного
   селектора — при равной специфичности выигрывает правило, подключённое
   ПОЗЖE по файлам <link>, то есть это. Из-за этого #page-doctor был виден
   ВСЕГДА (display:block), независимо от класса .active — переключение вкладок
   решает класс .active/.panel, но эта строка перебивала его на любой другой
   странице, и содержимое страницы врача (шапка, вкладки, хвост карточки
   реестра/дашборда сверху) оставалось в потоке документа под текущим разделом.
   Правило было не нужно вовсе: #doctors-v3-wrap показывается своим inline
   style (см. HTML), #page-doctor — классом .panel.active, как у любой другой
   вкладки; убрано целиком, а не заменено более специфичным селектором —
   специфичность НЕ должна конкурировать с ".panel.active" ни у одного текущего
   или будущего элемента с этим атрибутом. */

[data-ui-doctors="v3"] .docv3-headrow {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  margin-bottom: 20px; flex-wrap: wrap;
}

[data-ui-doctors="v3"] .docv3-card { padding: 20px 22px; margin-bottom: 0; }

[data-ui-doctors="v3"] .docv3-cardhead {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 12px;
  margin-bottom: 16px; flex-wrap: wrap;
}

[data-ui-doctors="v3"] .docv3-filters {
  display: flex; gap: 14px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 16px;
}
[data-ui-doctors="v3"] .docv3-search-field { flex: 1 1 260px; min-width: 220px; }
[data-ui-doctors="v3"] .docv3-filters .field { min-width: 170px; }

[data-ui-doctors="v3"] .docv3-tablewrap { overflow-x: auto; }
[data-ui-doctors="v3"] .docv3-table { width: 100%; min-width: 950px; border-collapse: collapse; }
[data-ui-doctors="v3"] .docv3-table th {
  text-align: left; font-size: 12px; color: var(--ink-faint, var(--ink-soft));
  padding: 0 12px 10px; border-bottom: 1px solid var(--border);
}
[data-ui-doctors="v3"] .docv3-table td {
  padding: 14px 12px; border-bottom: 1px solid var(--border); vertical-align: middle;
  min-height: 78px;
}
[data-ui-doctors="v3"] .docv3-table tr:last-child td { border-bottom: 0; }

[data-ui-doctors="v3"] .docv3-person { display: flex; align-items: center; gap: 12px; }
[data-ui-doctors="v3"] .docv3-avatar {
  flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center;
  font-size: 13px; font-weight: 700; color: #fff;
}
/* Цвет аватара детерминирован по ID, не по роли (design-spec.md «Основа») —
   четыре нейтральных варианта из семейства акцентных токенов приложения. */
[data-ui-doctors="v3"] .docv3-avatar-1 { background: var(--action-bg); }
[data-ui-doctors="v3"] .docv3-avatar-2 { background: var(--money-info-ink, #3E648B); }
[data-ui-doctors="v3"] .docv3-avatar-3 { background: var(--money-good-ink, #326D77); }
[data-ui-doctors="v3"] .docv3-avatar-4 { background: var(--money-warn-ink, #82485D); }

[data-ui-doctors="v3"] .docv3-linkbtn {
  background: none; border: 0; padding: 0; font: inherit; color: var(--ink);
  font-weight: 600; cursor: pointer; text-align: left;
}
[data-ui-doctors="v3"] .docv3-linkbtn:hover { text-decoration: underline; }

[data-ui-doctors="v3"] .docv3-mode-text { font-weight: 600; }

[data-ui-doctors="v3"] .docv3-empty {
  text-align: center; padding: 48px 20px; display: flex; flex-direction: column;
  align-items: center; gap: 10px;
}
[data-ui-doctors="v3"] .docv3-empty h3 { margin: 0; }

[data-ui-doctors="v3"] .docv3-pager {
  display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; flex-wrap: wrap;
}

@media (max-width: 1200px) {
  [data-ui-doctors="v3"] .docv3-filters .field { min-width: 150px; }
}

@media (max-width: 760px) {
  [data-ui-doctors="v3"] .docv3-headrow { flex-direction: column; align-items: stretch; }
  [data-ui-doctors="v3"] .docv3-filters { flex-direction: column; align-items: stretch; }
  [data-ui-doctors="v3"] .docv3-cardhead { flex-direction: column; align-items: flex-start; }
}

/* ===================== Страница специалиста (фаза 2/7, 21.09.2026) =====================
   design-spec.md «Страница специалиста»: «← Врачи»+номер сверху; аватар56px,
   имя, специализация+контакт, две метки; справа календарь/аккаунт; 4 вкладки,
   активная — акцент+линия2px, интервал28px. По образцу #page-patient (.pw-*
   в patient-page.css) — тот же набор приёмов, свой неймспейс. */

[data-ui-doctors="v3"].panel#page-doctor { max-width: 1440px; }

[data-ui-doctors="v3"] .docv3-backbar-btn {
  background: none; border: 0; padding: 0 0 18px; font: inherit; font-weight: 600;
  color: var(--ink); cursor: pointer; display: inline-flex; align-items: center;
}
[data-ui-doctors="v3"] .docv3-backbar-btn:hover { text-decoration: underline; }

[data-ui-doctors="v3"] .docv3-doctor-head {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
  flex-wrap: wrap; margin-bottom: 20px;
}
[data-ui-doctors="v3"] .docv3-identity { display: flex; gap: 16px; align-items: flex-start; }
[data-ui-doctors="v3"] .docv3-identity .docv3-avatar {
  width: 56px; height: 56px; border-radius: 50%; font-size: 18px;
  display: grid; place-items: center; font-weight: 700; color: #fff; background: var(--action-bg);
  flex: none;
}
[data-ui-doctors="v3"] .docv3-identity h1 { margin: 0; font-size: 28px; line-height: 1.25; }
[data-ui-doctors="v3"] .docv3-identity p { margin: 6px 0 0; color: var(--ink-faint, var(--ink-soft)); font-size: 14px; }
[data-ui-doctors="v3"] .docv3-identity-flags { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }

[data-ui-doctors="v3"] .docv3-heading-actions { display: flex; gap: 10px; flex-wrap: wrap; }

[data-ui-doctors="v3"] .docv3-tabs {
  display: flex; gap: 28px; border-bottom: 1px solid var(--border); margin-bottom: 20px;
  overflow-x: auto; overflow-y: hidden;
}
[data-ui-doctors="v3"] .docv3-tabs a {
  display: inline-block; padding: 10px 2px 12px; color: var(--ink-faint, var(--ink-soft));
  text-decoration: none; font-size: 14px; font-weight: 600; white-space: nowrap;
  border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: pointer;
}
[data-ui-doctors="v3"] .docv3-tabs a[aria-current="page"] {
  color: var(--action-bg); border-bottom-color: var(--action-bg);
}

[data-ui-doctors="v3"] .docv3-placeholder-card p { margin-top: 8px; max-width: 640px; }

/* ===================== Профиль (фаза 3/7, 21.09.2026) =====================
   design-spec.md: сетка1.45fr/1fr, gap20px; поля2×2; активность+3 радиокарточки
   приёма; «Отменить»/«Сохранить профиль» внизу формы, не в шапке аккаунта. */

[data-ui-doctors="v3"] .docv3-profile-grid {
  display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 20px; align-items: start;
}
[data-ui-doctors="v3"] .docv3-card { padding: 20px 22px; }

[data-ui-doctors="v3"] .docv3-fields { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; margin-top: 14px; }

[data-ui-doctors="v3"] .docv3-profile-state {
  display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; cursor: pointer;
}
[data-ui-doctors="v3"] .docv3-profile-state input { margin-top: 3px; flex: none; }

[data-ui-doctors="v3"] .docv3-subhead { margin: 22px 0 12px; font-size: 15px; }

[data-ui-doctors="v3"] .docv3-choice-list { display: flex; flex-direction: column; gap: 10px; }
[data-ui-doctors="v3"] .docv3-choice {
  display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--border);
  border-radius: 8px; cursor: pointer;
}
[data-ui-doctors="v3"] .docv3-choice:has(input:checked) { border-color: var(--action-bg); background: color-mix(in srgb, var(--action-bg) 6%, transparent); }
[data-ui-doctors="v3"] .docv3-choice input { margin-top: 3px; flex: none; }
[data-ui-doctors="v3"] .docv3-choice small { display: block; color: var(--ink-faint, var(--ink-soft)); margin-top: 2px; }

[data-ui-doctors="v3"] .docv3-savebar {
  margin: 20px -22px -20px; padding: 14px 22px; border-top: 1px solid var(--border);
  display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;
}

[data-ui-doctors="v3"] .docv3-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .03em; color: var(--ink-faint, var(--ink-soft)); }

[data-ui-doctors="v3"] .docv3-summary-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--border); margin-top: 10px; }

[data-ui-doctors="v3"] .docv3-danger-zone { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); }

@media (max-width: 1200px) {
  [data-ui-doctors="v3"] .docv3-profile-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  [data-ui-doctors="v3"] .docv3-fields { grid-template-columns: 1fr; }
  [data-ui-doctors="v3"] .docv3-savebar { flex-direction: column; align-items: stretch; }
}

@media (max-width: 760px) {
  [data-ui-doctors="v3"] .docv3-doctor-head { flex-direction: column; align-items: stretch; }
  [data-ui-doctors="v3"] .docv3-heading-actions { flex-direction: column; align-items: stretch; }
}

/* ===================== Расписание и отгулы (фаза 4/7, 21.09.2026) =====================
   design-spec.md: семь небольших ячеек недели, выходной — тире; унаследованные
   поля недоступны для ввода, пока не выбран личный график (fieldset[disabled]
   уже даёт визуальное затемнение через общие стили полей приложения). */

[data-ui-doctors="v3"] .docv3-days { display: flex; gap: 8px; flex-wrap: wrap; }
[data-ui-doctors="v3"] .docv3-day {
  display: flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid var(--border);
  border-radius: 8px; cursor: pointer; font-size: 13px; font-weight: 600;
}
[data-ui-doctors="v3"] .docv3-day:has(input:checked) { border-color: var(--action-bg); background: color-mix(in srgb, var(--action-bg) 6%, transparent); }
[data-ui-doctors="v3"] .docv3-day input { margin: 0; }
[data-ui-doctors="v3"] fieldset:disabled .docv3-day { opacity: .55; cursor: default; }

[data-ui-doctors="v3"] .docv3-weekstrip { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
[data-ui-doctors="v3"] .docv3-weekcell {
  border: 1px solid var(--border); border-radius: 8px; padding: 8px 4px; text-align: center; font-size: 11px;
  color: var(--ink-faint, var(--ink-soft)); font-variant-numeric: tabular-nums;
}
[data-ui-doctors="v3"] .docv3-weekcell strong { display: block; font-size: 12px; color: var(--ink); margin-bottom: 4px; }
[data-ui-doctors="v3"] .docv3-weekcell.off { color: var(--ink-faint, var(--ink-soft)); }

[data-ui-doctors="v3"] .docv3-offcard {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
[data-ui-doctors="v3"] .docv3-offcard:last-child { border-bottom: 0; }
[data-ui-doctors="v3"] .docv3-offcard p { margin: 2px 0 0; }

@media (max-width: 760px) {
  [data-ui-doctors="v3"] .docv3-weekstrip { grid-template-columns: repeat(4, 1fr); }
  [data-ui-doctors="v3"] .docv3-days { justify-content: space-between; }
  [data-ui-doctors="v3"] .docv3-day { flex: 1 1 auto; justify-content: center; }
}

/* ===================== Ставки по услугам + массовые операции (фаза 5/7,
   22.09.2026) ===================== design-spec.md «Ставки»: одна широкая
   карточка, min-width670px, строки минимум62px, суммы вправо. */

[data-ui-doctors="v3"] .docv3-rate-toolbar {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;
  margin: 4px 0 14px;
}
[data-ui-doctors="v3"] #docv3-rates-results .docv3-table td,
[data-ui-doctors="v3"] #docv3-rates-results .docv3-table th { min-height: 62px; }
[data-ui-doctors="v3"] #docv3-rate-preview-tbody td { padding: 10px 12px; border-bottom: 1px solid var(--border); }

@media (max-width: 760px) {
  [data-ui-doctors="v3"] .docv3-rate-toolbar { flex-direction: column; align-items: stretch; }
}
