/* Стили сайта стенда. Основа — эскизы design/record, design/login, design/records, design/new-record: скопированы без изменений, кроме областей действия (.screen-*) и состояний (классы вместо data-state). Дополнения первой версии — в конце файла. */

/* ===== design/record/styles.css ===== */
/* ===== Токены (переносятся в Tailwind / shadcn theme) ===== */
:root {
  /* Основной — голубой */
  --primary: #2563eb;
  --primary-hover: #1d4ed8;
  --primary-strong: #1d4ed8;     /* текст основного цвета на белом и на --primary-soft */
  --primary-soft: #e6effe;
  --primary-softer: #f3f7ff;
  --primary-track: #c7d8fb;
  --on-primary: #ffffff;

  --bg: #f2f6fc;                 /* фон страницы */
  --surface: #ffffff;            /* карточки */
  --surface-muted: #f5f8fc;      /* мини-блоки внутри карточек */
  --control-track: #e3ebf6;      /* фон вкладок и переключателя стороны */
  --border: #dbe4f0;
  --border-strong: #c5d2e3;

  --text: #0f1b2d;
  --text-muted: #56637a;         /* ≥ 5:1 на всех светлых фонах экрана, включая пузыри */

  /* Говорящие. Сторона врача — синие оттенки, сторона пациента — тёплые; внутри стороны — свой оттенок.
     text — имя и буква, ava — кружок, bubble — пузырь, wave / wave-dim — дорожка (прослушано / впереди) */
  --spk1-text: #1d4ed8; --spk1-ava: #d6e4fd; --spk1-bubble: #e6effe; --spk1-wave: #2563eb; --spk1-wave-dim: #bfd3fb; /* Врач */
  --spk2-text: #9a3412; --spk2-ava: #ffddbf; --spk2-bubble: #ffeedd; --spk2-wave: #d9631e; --spk2-wave-dim: #f6cdae; /* Пациент */
  --spk3-text: #7c5300; --spk3-ava: #fbe7a8; --spk3-bubble: #fdf3d0; --spk3-wave: #b07d00; --spk3-wave-dim: #efd9a0; /* Мама */
  --spk4-text: #9f1239; --spk4-ava: #ffd5dd; --spk4-bubble: #ffeaee; --spk4-wave: #d8436a; --spk4-wave-dim: #f5c2cf; /* Голос 4 */
  --wave-silence: #c9d3e1;
  --wave-silence-played: #97a6bc;

  /* Стороны — активный пункт переключателя «Врач | Пациент» */
  --side-doctor: #1d4ed8;
  --side-patient: #9a3412;

  /* Пометки по лекарствам (решение 25.09): четыре цвета по двум осям, серого нет. Оранжевый —
     временный, чтобы пометка «расслышали плохо» не пропала; вид пометок — отдельная задача. */
  --mk-green: #16a34a; --mk-green-bg: #e7f8ed;
  --mk-yellow: #d97706; --mk-yellow-bg: #fff3d6;
  --mk-red: #dc2626; --mk-red-bg: #fde8e8;
  --mk-orange: #ea580c; --mk-orange-bg: #ffe8d9;

  /* Движки машинного текста на вкладке «Эталон» (21.09): у каждой готовой расшифровки свой цвет —
     он один и тот же у кнопки движка, у строки «Открыто в поле» и у левого края поля. Цвет
     раздаётся по названию движка, цветов три: больше двух расшифровок у записи пока не бывает. */
  --engine-1: #1d4ed8; --engine-1-soft: #e6effe; --engine-1-border: #b9cffb;
  --engine-2: #6d28d9; --engine-2-soft: #efeafe; --engine-2-border: #d3c6f7;
  --engine-3: #0f766e; --engine-3-soft: #ddf3f0; --engine-3-border: #a9ded7;

  --overlap: #6d28d9;
  --overlap-bg: #efeafe;
  --success: #166534;
  --success-soft: #e9f9ee;
  --success-border: #bbe5c8;
  --success-dot: #22c55e;
  --danger: #b91c1c;
  --note-bg: #fff8e1;
  --note-border: #f1dc9a;
  --switch-off: #7a8aa3;

  /* Экраны «Вход», «Записи», «Новая запись» */
  --danger-soft: #fdeeee;
  --danger-border: #f3c6c6;
  --danger-ring: rgba(185, 28, 28, 0.14);
  --warning: #8a4600;            /* текст предупреждения на --warning-soft */
  --warning-soft: #fff5e3;
  --warning-border: #f0d29a;
  --warning-bar: #d97706;        /* прогресс «ждёт связь» */
  --rec: #dc2626;                /* точка «идёт запись» */
  --offline-dot: #fecaca;        /* точка «не в сети» на синей шапке */
  --focus-ring: rgba(37, 99, 235, 0.18);

  /* Отступы */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;

  /* Скругления */
  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 14px;
  --radius-bubble: 16px;
  --radius-full: 999px;

  /* Тени */
  --shadow-sm: 0 1px 2px rgba(15, 40, 90, 0.08);
  --shadow: 0 1px 2px rgba(15, 40, 90, 0.06), 0 6px 16px rgba(15, 40, 90, 0.06);
  --shadow-pop: 0 10px 30px rgba(15, 40, 90, 0.16);

  /* Типографика */
  --font: Inter, "Segoe UI", Roboto, "Noto Sans", Ubuntu, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", Consolas, "Ubuntu Mono", "DejaVu Sans Mono", monospace;

  --container: 1200px;
  --sidebar: 340px;
  --bubble-max: 520px;           /* ширина пузыря на 1280 px: ~60 знаков в строке */

  /* Белый дизайн (docs/decisions/2026-09-28-white-design.md, docs/design-system.md): токены
     нового стиля экранов «Запись» и «Записи» — рядом со старыми, старые не трогаем. Значения —
     из design/ref-colors/screen.html, :root. Новые правила экранов берут цвета только отсюда. */
  --accent: #2563eb;
  --accent-dark: #174dc6;
  --soft: #eaf1ff;
  --ink: #122035;
  --muted: #46556b;
  --line: #dce4ef;
  --canvas: #f3f6fb;
  --side: #ffffff;
  --side-card: #f7f9fc;
  --side-line: #dce4ef;
  --side-ink: #324764;
  --green: #147052;
  --green-solid: #1c9c70;
  --green-bg: #e9f6ef;
  --green-border: #bfe4d1;
  --green-dose: #dbf1e5;
  --amber: #98600d;
  --amber-solid: #e8a02b;
  --amber-bg: #fff4de;
  --amber-border: #eed59d;
  --amber-button: #ffedc3;
}

/* ===== База ===== */
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}
button, select { font: inherit; color: inherit; }
h1, h2, p { margin: 0; }
a { color: inherit; text-decoration: none; }
.icon { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.icon-sm { width: 14px; height: 14px; }
.container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }


/* ===== Кнопки ===== */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 36px; padding: 0 var(--space-4);
  border-radius: var(--radius-sm); border: 1px solid transparent;
  font-weight: 500; cursor: pointer; white-space: nowrap; background: none;
}
.btn-primary { background: var(--primary); color: var(--on-primary); }
.btn-primary:hover { background: var(--primary-hover); }
.btn-outline { background: var(--surface); border-color: var(--border-strong); color: var(--primary-strong); }
.btn-outline:hover { background: var(--primary-softer); }
.btn-icon { width: 36px; padding: 0; }
.btn-block { width: 100%; }
.btn-ghost-icon {
  width: 28px; height: 28px; flex: none; display: grid; place-items: center;
  border: 0; border-radius: var(--radius-sm); background: none; color: var(--text-muted); cursor: pointer;
}
.btn-ghost-icon:hover { background: var(--primary-soft); color: var(--primary-strong); }

/* ===== Бейджи ===== */
.badge {
  display: inline-flex; align-items: center; gap: 6px;
  height: 24px; padding: 0 10px; border-radius: var(--radius-full);
  font-size: 12px; font-weight: 600; white-space: nowrap;
}
.badge-primary { background: var(--primary-soft); color: var(--primary-strong); }
.badge-overlap { background: var(--overlap-bg); color: var(--overlap); height: 22px; padding: 0 8px; font-weight: 500; }
.badge-muted { background: var(--bg); color: var(--text-muted); height: 20px; padding: 0 7px; font-weight: 500; font-size: 11px; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.spinner {
  width: 12px; height: 12px; border-radius: 50%; flex: none;
  border: 2px solid var(--primary-track); border-top-color: var(--primary-strong);
  animation: spin 0.9s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ===== Карточка ===== */
.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.card-head {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-3);
  padding: var(--space-3) var(--space-5);
  background: var(--primary-softer); border-bottom: 1px solid var(--border);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.card-title { font-size: 15px; font-weight: 600; display: flex; align-items: center; gap: var(--space-2); }
.card-title .icon-box {
  width: 28px; height: 28px; border-radius: var(--radius-sm);
  display: grid; place-items: center;
  background: var(--surface); color: var(--primary-strong); box-shadow: inset 0 0 0 1px var(--primary-track);
}
.card-body { padding: var(--space-4) var(--space-5) var(--space-5); }

/* ===== Выпадающий список (Select) ===== */
.select { position: relative; display: block; }
.select select {
  appearance: none; width: 100%; height: 38px;
  padding: 0 36px 0 var(--space-3);
  background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
  cursor: pointer;
}
.select select:hover { border-color: var(--primary); }
.select select:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }
.select .icon { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--text-muted); }
.select-sm select { height: 32px; }

/* ===== Переключатель (Switch) ===== */
.switch {
  appearance: none; flex: none; position: relative; margin: 0;
  width: 36px; height: 20px; border-radius: var(--radius-full);
  background: var(--switch-off); cursor: pointer; transition: background 0.15s;
}
.switch::before {
  content: ""; position: absolute; top: 2px; left: 2px;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--surface); box-shadow: 0 1px 2px rgba(15, 40, 90, 0.3); transition: transform 0.15s;
}
.switch:checked { background: var(--primary); }
.switch:checked::before { transform: translateX(16px); }
.switch:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

/* ===== Переключатель из двух пунктов (ToggleGroup) ===== */
.segmented { display: inline-flex; flex: none; padding: 2px; border-radius: var(--radius-sm); background: var(--control-track); }
.segmented label { position: relative; }
.segmented input { position: absolute; opacity: 0; pointer-events: none; }
.segmented span {
  display: block; padding: 2px 10px; border-radius: 5px;
  font-size: 13px; line-height: 20px; font-weight: 500; color: var(--text-muted); cursor: pointer; white-space: nowrap;
}
.segmented span:hover { color: var(--text); }
.segmented input:checked + span { background: var(--surface); box-shadow: var(--shadow-sm); font-weight: 600; }
.segmented input:checked + .side-doctor { color: var(--side-doctor); }
.segmented input:checked + .side-patient { color: var(--side-patient); }
.segmented input:focus-visible + span { outline: 2px solid var(--primary); outline-offset: 1px; }

/* ===== Прогресс ===== */
.progress { height: 6px; border-radius: var(--radius-full); background: var(--primary-track); overflow: hidden; }
.progress > span { display: block; height: 100%; border-radius: inherit; background: var(--primary); }

/* ===== Меню (DropdownMenu) на <details> ===== */
.menu { position: relative; }
.menu > summary, .pop > summary { list-style: none; }
.menu > summary::-webkit-details-marker, .pop > summary::-webkit-details-marker { display: none; }
.menu-list {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 20;
  min-width: 200px; padding: var(--space-1);
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
  box-shadow: var(--shadow-pop);
}
.menu-item {
  display: flex; align-items: center; gap: var(--space-2); width: 100%;
  padding: 8px 10px; border: 0; border-radius: var(--radius-sm); background: none;
  text-align: left; cursor: pointer; color: var(--text);
}
.menu-item:hover { background: var(--primary-soft); }
.menu-item[aria-disabled="true"] { color: var(--text-muted); cursor: default; justify-content: space-between; }
.menu-item[aria-disabled="true"]:hover { background: none; }
.menu-item.danger { color: var(--danger); }
.menu-sep { height: 1px; background: var(--border); margin: var(--space-1) 0; }

/* ===== Шапка сайта ===== */
.app-bar { background: var(--primary); color: var(--on-primary); }
.app-bar .container { display: flex; align-items: center; justify-content: space-between; height: 56px; }
.brand { display: flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 700; letter-spacing: -0.01em; }
.brand-mark {
  width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center;
  background: var(--on-primary); color: var(--primary);
}
.brand-sub { font-weight: 400; }
.app-bar-right { display: flex; align-items: center; gap: var(--space-3); }
.gpu-pill {
  display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px;
  border-radius: var(--radius-full); border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12); color: var(--on-primary); font-weight: 500; cursor: pointer;
}
.gpu-pill .dot { background: var(--success-dot); box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.3); }
.user-btn {
  display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 8px 0 4px;
  border-radius: var(--radius-full); color: var(--on-primary); cursor: pointer; font-weight: 500;
}
.user-btn:hover, .gpu-pill:hover { background: rgba(255, 255, 255, 0.2); }
.avatar {
  width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  background: var(--on-primary); color: var(--primary-strong); font-size: 13px; font-weight: 700;
}

/* ===== Шапка записи ===== */
.record-head { background: var(--surface); border-bottom: 1px solid var(--border); }
.record-head .container {
  display: grid; grid-template-columns: minmax(0, 1fr) var(--sidebar); gap: 0 var(--space-6);
  padding-top: var(--space-4); padding-bottom: var(--space-5);
}
.head-side { display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-3); }
.back { display: inline-flex; align-items: center; gap: 6px; color: var(--text-muted); font-weight: 500; }
.back:hover { color: var(--primary-strong); }
.record-head h1 { font-size: 26px; line-height: 34px; font-weight: 700; letter-spacing: -0.02em; }
.record-actions { display: flex; justify-content: flex-end; gap: var(--space-2); }

/* Шапка экрана записи: статус — плашкой рядом с заголовком, не отдельной карточкой (правка
   владельца, чат 2-20-138) — карточки под мелкую техинформацию раздували первый экран на телефоне. */
.head-title-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); margin-top: var(--space-1); }
.head-title-row h1 { margin-top: 0; }
.head-status .status-run { gap: 4px; }
.head-status .status-run .progress { width: 96px; }
/* Язык, дата, длительность и (если у записи своё название) код — мелкой строкой, не карточками.
   Без точек-разделителей (правка приёмки, чат 2-20-138): на 390 px при переносе строки точка
   повисала в начале второй строки — элементы разделяют только свои иконки и отступ. */
.head-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px var(--space-4); margin-top: var(--space-2); font-size: 13px; line-height: 18px; color: var(--text-muted); }
.head-meta-item { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.head-meta-item .icon { width: 14px; height: 14px; color: var(--text-muted); }

/* Мини-блоки фактов (новая запись, «Метки во время записи» — labels-summary, docs/bench.md) */
.facts { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.fact {
  display: flex; flex-direction: column; gap: 2px; min-width: 88px;
  padding: 8px 12px 9px; border-radius: var(--radius);
  background: var(--surface-muted); border: 1px solid var(--border);
}
.fact-label { font-size: 12px; line-height: 16px; color: var(--text-muted); }
.fact-value { display: flex; align-items: center; gap: 6px; font-size: 14px; line-height: 20px; font-weight: 600; white-space: nowrap; }
.fact-value .icon { color: var(--primary); }
.fact-success { background: var(--success-soft); border-color: var(--success-border); }
.fact-success .fact-value { color: var(--success); }
.fact-success .dot { background: var(--success-dot); box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.22); }
.fact-running { background: var(--primary-softer); border-color: var(--primary-track); }
.fact-running .fact-value { color: var(--primary-strong); }
.fact-running .progress { height: 4px; margin-top: 5px; }

/* Заметка */
.note {
  padding: 9px 14px 10px; border-radius: var(--radius);
  background: var(--note-bg); border: 1px solid var(--note-border);
}
.note-label { display: flex; align-items: center; gap: 6px; font-size: 12px; line-height: 16px; color: var(--text-muted); }
.note p { margin-top: 2px; line-height: 20px; }

/* ===== Сетка ===== */
.layout {
  display: grid; grid-template-columns: minmax(0, 1fr) var(--sidebar);
  gap: var(--space-6); align-items: start;
  padding-top: var(--space-6); padding-bottom: var(--space-8);
}
.main, .side { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
/* Экран без правой колонки (результат у обычной учётной записи: памятка тестера ей не нужна) */
.layout-single { grid-template-columns: minmax(0, 1fr); }

/* ===== Цвета говорящих ===== */
.spk-1 { --c: var(--spk1-text); --c-ava: var(--spk1-ava); --c-bubble: var(--spk1-bubble); --c-wave: var(--spk1-wave); }
.spk-2 { --c: var(--spk2-text); --c-ava: var(--spk2-ava); --c-bubble: var(--spk2-bubble); --c-wave: var(--spk2-wave); }
.spk-3 { --c: var(--spk3-text); --c-ava: var(--spk3-ava); --c-bubble: var(--spk3-bubble); --c-wave: var(--spk3-wave); }
.spk-4 { --c: var(--spk4-text); --c-ava: var(--spk4-ava); --c-bubble: var(--spk4-bubble); --c-wave: var(--spk4-wave); }
.ava {
  width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; flex: none;
  background: var(--c-ava); color: var(--c); font-size: 14px; font-weight: 700;
}

/* ===== Плеер — звуковая дорожка =====
   Ниже и компактнее, чем в первой версии (эскиз /tmp/medai-2-17-sketch.png, правка владельца 23.09):
   меньше отступы, дорожка и кнопка воспроизведения ниже; сами функции плеера не меняются. */
.player {
  padding: var(--space-2) var(--space-5) var(--space-3);
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.player-top { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-2); }
.play {
  width: 34px; height: 34px; border-radius: 50%; border: 0; display: grid; place-items: center;
  background: var(--primary); color: var(--on-primary); cursor: pointer; box-shadow: 0 2px 6px rgba(37, 99, 235, 0.35);
}
.play:hover { background: var(--primary-hover); }
.play .icon { width: 14px; height: 14px; fill: currentColor; stroke: none; margin-left: 2px; }
.time { font-family: var(--font-mono); font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--text-muted); }
.time b { color: var(--text); font-weight: 600; }
.legend { margin-left: auto; display: flex; gap: var(--space-4); color: var(--text-muted); }
.legend span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.legend span::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--c-wave); }

.wave { position: relative; height: 36px; display: flex; align-items: center; gap: 2px; cursor: pointer; }
.b { flex: 0 0 3px; width: 3px; border-radius: 2px; background: var(--wave-silence); }
.b.w1 { background: var(--spk1-wave-dim); }
.b.w2 { background: var(--spk2-wave-dim); }
.b.w3 { background: var(--spk3-wave-dim); }
.b.w4 { background: var(--spk4-wave-dim); }
.b.w0.on { background: var(--wave-silence-played); }
.b.w1.on { background: var(--spk1-wave); }
.b.w2.on { background: var(--spk2-wave); }
.b.w3.on { background: var(--spk3-wave); }
.b.w4.on { background: var(--spk4-wave); }
.wave.is-pending .b { background: var(--wave-silence) !important; } /* говорящие ещё не определены */
/* Границы отрезков расшифровки (решение 20.09): по ним видно, какой отрезок слушать во вкладке «Сверка» */
.wave-edges { position: absolute; inset: 0; pointer-events: none; }
.wave-edge { position: absolute; top: -2px; bottom: -2px; width: 1px; background: var(--text-muted); opacity: .45; }
.wave-cursor {
  position: absolute; top: -6px; bottom: -6px; width: 2px; margin-left: -1px;
  background: var(--text); border-radius: 1px; pointer-events: none;
}
.wave-cursor::before {
  content: ""; position: absolute; top: -4px; left: -4px; width: 10px; height: 10px;
  border-radius: 50%; background: var(--text); box-shadow: 0 0 0 2px var(--surface);
}

/* ===== Вкладки (Tabs) ===== */
.tabs {
  display: flex; gap: 2px; padding: 4px; width: fit-content;
  background: var(--control-track); border-radius: var(--radius);
}
.tab {
  display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px;
  border: 0; border-radius: var(--radius-sm); background: none; color: var(--text-muted);
  font-weight: 500; cursor: pointer;
}
.tab:hover { color: var(--text); }
.tab:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
.tab[aria-selected="true"] { background: var(--surface); color: var(--primary-strong); font-weight: 600; box-shadow: var(--shadow-sm); }
.tab[aria-disabled="true"] { cursor: default; }
.tab .badge-muted { background: var(--surface); }
/* Вторая группа полосы (решение 21.09): врачебные вкладки и тестерские разделены промежутком с
   чертой посередине — одна полоса, а не два ряда. У обычной учётной записи второй группы нет,
   поэтому промежуток задан первой вкладке группы, а не разделителем в разметке. */
.tab-group-2 { position: relative; margin-left: var(--space-4); }
.tab-group-2::before {
  content: ""; position: absolute; left: -9px; top: 7px; bottom: 7px; width: 1px; background: var(--border);
}

/* ===== Транскрипт — мессенджер: сторона врача слева, сторона пациента справа ===== */
.transcript { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-5); }
.turn { display: grid; column-gap: 10px; align-items: start; }
.turn .ava { grid-row: 1 / span 2; }
.turn .name { grid-row: 1; color: var(--c); font-size: 13px; font-weight: 600; line-height: 18px; padding: 0 4px 4px; }
.msgs { grid-row: 2; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.msg {
  display: flex; align-items: flex-end; gap: var(--space-3);
  max-width: var(--bubble-max); padding: 8px 12px 8px 14px;
  border-radius: var(--radius-bubble); background: var(--c-bubble); cursor: pointer;
}
.msg:hover { filter: brightness(0.98); }
.txt { font-size: 15px; line-height: 22px; min-width: 0; }
.txt .badge-overlap { margin-right: 8px; vertical-align: 1px; }
.t { flex: none; font-family: var(--font-mono); font-size: 11.5px; line-height: 20px; color: var(--text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.msg.current { box-shadow: 0 0 0 2px var(--primary); }
.msg.current .t { color: var(--primary-strong); font-weight: 700; }

/* Сторона врача — слева */
.turn.side-d { grid-template-columns: 32px minmax(0, 1fr); }
.turn.side-d .ava { grid-column: 1; }
.turn.side-d .name, .turn.side-d .msgs { grid-column: 2; }
.turn.side-d .msgs { align-items: flex-start; }
.turn.side-d .msg { border-top-left-radius: var(--radius-sm); }
/* Сторона пациента — справа */
.turn.side-p { grid-template-columns: minmax(0, 1fr) 32px; }
.turn.side-p .ava { grid-column: 2; }
.turn.side-p .name, .turn.side-p .msgs { grid-column: 1; }
.turn.side-p .name { justify-self: end; }
.turn.side-p .msgs { align-items: flex-end; }
.turn.side-p .msg { border-top-right-radius: var(--radius-sm); }

/* Заглушка «распознаётся» */
.pending { padding: var(--space-6) var(--space-6) var(--space-8); }
.pending-msg { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); text-align: center; margin-bottom: var(--space-6); }
.pending-icon {
  width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  background: var(--primary-soft); color: var(--primary-strong);
}
.pending-icon .spinner { width: 20px; height: 20px; border-width: 3px; }
.pending-msg h2 { font-size: 16px; font-weight: 600; }
.skeleton-row { display: flex; align-items: flex-start; gap: 10px; padding: 8px 0; }
.skeleton-row.right { flex-direction: row-reverse; }
.sk { border-radius: var(--radius-full); background: linear-gradient(90deg, #e8eef7 0%, #f3f6fb 50%, #e8eef7 100%); background-size: 200% 100%; animation: shimmer 1.6s ease-in-out infinite; }
.sk-ava { width: 32px; height: 32px; flex: none; }
.sk-bubble { height: 40px; border-radius: var(--radius-bubble); }
@keyframes shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }

.empty-hint { color: var(--text-muted); }

/* ===== Боковая колонка: распознавание ===== */
.model-select select { font-family: var(--font-mono); font-size: 13px; }
.stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); margin-top: var(--space-3); }
.stat { padding: 10px 12px; border-radius: var(--radius); background: var(--surface-muted); border: 1px solid var(--border); }
.stat-wide { grid-column: 1 / -1; }
.stat-value { font-size: 20px; line-height: 28px; font-weight: 700; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.stat-value small { font-size: 13px; font-weight: 500; color: var(--text-muted); }
.stat-label { font-size: 12px; line-height: 16px; color: var(--text-muted); }
.stat-row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-2); }
.stat .progress { margin-top: 8px; }
.run-progress { margin-top: var(--space-3); padding: 12px; border-radius: var(--radius); background: var(--primary-softer); border: 1px solid var(--primary-track); }
.run-progress .stat-row { margin-bottom: 8px; font-weight: 500; }
.run-progress .stat-row b { color: var(--primary-strong); font-variant-numeric: tabular-nums; }
.side .btn-block { margin-top: var(--space-3); }

/* Поповер «Распознать другой моделью» */
.pop-panel {
  margin-top: var(--space-2); padding: var(--space-3);
  border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-muted);
  display: grid; gap: var(--space-2);
}
.field-label { font-size: 12px; font-weight: 500; color: var(--text-muted); }

/* =====================================================================
   Общие элементы остальных экранов этапа 1: вход, записи, новая запись.
   Только новые классы — экран «Запись» от них не меняется.
   ===================================================================== */

/* Шапка страницы: заголовок и главное действие */
.page-head { background: var(--surface); border-bottom: 1px solid var(--border); }
.page-head .container {
  display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-6);
  padding-top: var(--space-5); padding-bottom: var(--space-5);
}
.page-head h1 { font-size: 26px; line-height: 34px; font-weight: 700; letter-spacing: -0.02em; }
.page-head .back + * { margin-top: var(--space-1); }
.page { padding-top: var(--space-6); padding-bottom: var(--space-8); }

/* Кнопки: размеры, недоступная */
.btn-lg { height: 44px; padding: 0 var(--space-5); font-size: 15px; }
.btn-sm { height: 30px; padding: 0 var(--space-3); font-size: 13px; }
.btn:disabled { opacity: 0.5; cursor: default; }
.btn-primary:disabled { background: var(--primary); }

/* Бейджи статусов */
.badge-success { background: var(--success-soft); color: var(--success); }
.badge-success .dot { background: var(--success-dot); }
.badge-danger { background: var(--danger-soft); color: var(--danger); }
.badge-warning { background: var(--warning-soft); color: var(--warning); }
.badge-neutral { background: var(--control-track); color: var(--text-muted); }
.badge .icon:not(.icon-sm) { width: 13px; height: 13px; }   /* .icon-sm не трогаем: бейдж наложения речи на экране «Запись» */
.badge .spinner { width: 11px; height: 11px; }
.rec-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; background: var(--rec); animation: rec-pulse 1.4s ease-in-out infinite; }
@keyframes rec-pulse { 50% { opacity: 0.35; } }

/* Поле ввода (Input, Textarea) */
.form-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.form-label { font-size: 13px; line-height: 18px; font-weight: 600; }
.input {
  display: block; width: 100%; height: 40px; padding: 0 var(--space-3);
  font: inherit; color: var(--text); background: var(--surface);
  border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
}
.input::placeholder { color: var(--text-muted); }
.input:hover { border-color: var(--primary); }
.input:focus-visible { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--focus-ring); }
textarea.input { height: auto; min-height: 64px; padding: 9px var(--space-3); line-height: 20px; resize: vertical; }
.input[aria-invalid="true"] { border-color: var(--danger); box-shadow: 0 0 0 3px var(--danger-ring); }
.field-error { display: flex; align-items: center; gap: 6px; font-size: 13px; line-height: 18px; color: var(--danger); }
.input-wrap { position: relative; }
.input-wrap .input { padding-right: 44px; }
.input-wrap .btn-ghost-icon { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); }

/* Алерт (Alert) */
.alert {
  display: flex; align-items: flex-start; gap: var(--space-3);
  padding: 12px 14px; border-radius: var(--radius);
  background: var(--surface-muted); border: 1px solid var(--border);
}
.alert > .icon { width: 18px; height: 18px; margin-top: 2px; }
.alert > .spinner { margin: 4px 3px 0; }
.alert-body { flex: 1; min-width: 0; }
.alert-title { font-weight: 600; line-height: 22px; }
.alert-text { line-height: 20px; }
.alert > .btn { flex: none; align-self: center; }
.alert-action { margin-top: var(--space-2); }
.alert-danger { background: var(--danger-soft); border-color: var(--danger-border); }
.alert-danger > .icon, .alert-danger .alert-title { color: var(--danger); }
.alert-warning { background: var(--warning-soft); border-color: var(--warning-border); }
.alert-warning > .icon, .alert-warning .alert-title { color: var(--warning); }
.alert-info { background: var(--primary-softer); border-color: var(--primary-track); }
.alert-info > .icon, .alert-info .alert-title { color: var(--primary-strong); }

/* Шапка сайта: открытое меню, значок видеокарты «не в сети» */
.menu[open] > .user-btn, .menu[open] > .gpu-pill { background: rgba(255, 255, 255, 0.2); }
.gpu-pill.is-offline { background: rgba(15, 27, 45, 0.24); border-color: rgba(255, 255, 255, 0.3); }
.gpu-pill.is-offline .dot { background: var(--offline-dot); box-shadow: 0 0 0 3px rgba(254, 202, 202, 0.25); }

/* Панель статуса видеокарты (Popover) — открывается по значку в шапке на любом экране */
.gpu-panel {
  position: absolute; right: 0; top: calc(100% + 8px); z-index: 30; width: 340px;
  color: var(--text); background: var(--surface);
  border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-pop);
  overflow: hidden; cursor: default;
}
.gpu-panel-head {
  display: flex; align-items: center; gap: var(--space-2);
  padding: var(--space-3) var(--space-4); background: var(--primary-softer); border-bottom: 1px solid var(--border);
}
.gpu-panel-head .icon-box {
  width: 28px; height: 28px; border-radius: var(--radius-sm); flex: none; display: grid; place-items: center;
  background: var(--surface); color: var(--primary-strong); box-shadow: inset 0 0 0 1px var(--primary-track);
}
.gpu-panel-head b { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; white-space: nowrap; }
.gpu-panel-body { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3) var(--space-4) var(--space-4); }
.gpu-panel .stats { margin-top: 0; }
.gpu-panel .stat .progress { margin-top: 6px; }
.gpu-job { padding: 10px 12px; border-radius: var(--radius); background: var(--primary-softer); border: 1px solid var(--primary-track); }
.gpu-job-name { display: flex; align-items: center; gap: 6px; margin-top: 2px; font-weight: 600; }
.gpu-job-name .model { margin-left: auto; font-family: var(--font-mono); font-size: 12px; font-weight: 500; color: var(--text-muted); }
.gpu-job .progress { margin-top: 8px; }
.gpu-job .stat-row b { color: var(--primary-strong); font-variant-numeric: tabular-nums; }
.gpu-queue {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-2);
  padding: 10px 12px; border-radius: var(--radius); background: var(--surface-muted); border: 1px solid var(--border);
}
.gpu-queue span { display: flex; align-items: center; gap: 6px; color: var(--text-muted); }
.gpu-queue b { font-size: 16px; font-variant-numeric: tabular-nums; }
.gpu-offline-text { line-height: 20px; }

/* ===== design/records/styles.css ===== */
/* Экран «Записи». Основа — ../record/styles.css */

.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ===== Незавершённые ===== */
.group { margin-bottom: var(--space-6); }
.group-title { font-size: 15px; line-height: 22px; font-weight: 600; margin-bottom: var(--space-3); }
.jobs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }

.job {
  display: flex; flex-direction: column; gap: 2px;
  padding: var(--space-4) var(--space-5); color: inherit;
}
a.job:hover { border-color: var(--primary-track); box-shadow: var(--shadow-pop); }
.job-top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); margin-bottom: var(--space-2); }
.job-timer { font-family: var(--font-mono); font-size: 20px; line-height: 24px; font-weight: 700; font-variant-numeric: tabular-nums; }
.job-pct { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.job-title { font-size: 16px; line-height: 22px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.job-meta { display: flex; gap: var(--space-3); color: var(--text-muted); }
.job-meta span + span::before { content: "·"; margin-right: var(--space-3); }
.job-foot {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-3);
  margin-top: auto; padding-top: var(--space-3); min-height: 42px;
}
.job-foot-progress { display: grid; grid-template-columns: 1fr auto; row-gap: 6px; }
.job-foot-progress .progress { grid-column: 1 / -1; }
.job-size { color: var(--text-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.job-link { display: inline-flex; align-items: center; gap: 4px; color: var(--primary-strong); font-weight: 600; }
.job-error { border-color: var(--danger-border); }
.job-error-text { color: var(--danger); font-weight: 500; }
.progress-danger { background: var(--danger-soft); box-shadow: inset 0 0 0 1px var(--danger-border); }
.progress-danger > span { background: var(--danger); }
.badge-rec { background: var(--danger-soft); color: var(--danger); }

/* ===== Таблица записей (Table) ===== */
.table-card { overflow: hidden; }
.table { width: 100%; border-collapse: collapse; }
.table th {
  height: 42px; padding: 0 var(--space-4);
  text-align: left; font-size: 12px; font-weight: 600; color: var(--text-muted); white-space: nowrap;
  background: var(--primary-softer); border-bottom: 1px solid var(--border);
}
.table td { height: 62px; padding: 8px var(--space-4); border-bottom: 1px solid var(--border); vertical-align: middle; }
.table tbody tr:last-child td { border-bottom: 0; }
.table tbody tr { position: relative; }
.table tbody tr:hover { background: var(--primary-softer); }
.table th:first-child, .table td:first-child { padding-left: var(--space-5); }
.table th:last-child, .table td:last-child { padding-right: var(--space-5); }

.row-link { display: block; font-weight: 600; line-height: 20px; }
.row-link::after { content: ""; position: absolute; inset: 0; }
.rec-id { display: block; font-family: var(--font-mono); font-size: 12px; line-height: 18px; color: var(--text-muted); }
/* Заметка в строке списка: не длиннее двух строк, дальше — многоточие; строка списка остаётся низкой */
.rec-note {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
  overflow: hidden; overflow-wrap: anywhere; max-width: 420px;
  font-size: 13px; line-height: 18px; color: var(--text-muted);
}

.c-date { width: 124px; white-space: nowrap; }
.c-date b { display: block; font-weight: 500; line-height: 20px; }
.c-date span { display: block; font-size: 13px; line-height: 18px; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.c-lang { width: 124px; }
.c-dur { width: 128px; }
.c-spk { width: 112px; }
.c-status { width: 272px; }
.c-act { width: 52px; text-align: right; white-space: nowrap; }
td.num { white-space: nowrap; font-variant-numeric: tabular-nums; }
td.muted { color: var(--text-muted); }
.chev { color: var(--text-muted); vertical-align: middle; }
tr:hover .chev { color: var(--primary-strong); }

.spk-count { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; }
.spk-count .icon { color: var(--primary); }

.status-run { display: inline-flex; flex-direction: column; gap: 6px; }
.status-run .progress { height: 4px; margin: 0 4px; }
.status-error-top { display: flex; align-items: center; gap: var(--space-2); }
.status-error { display: block; margin-top: 4px; padding-left: 2px; font-size: 13px; line-height: 18px; color: var(--danger); }
.table .btn { position: relative; z-index: 1; height: 26px; padding: 0 10px; }   /* кнопка поверх ссылки строки */

/* ===== Пусто ===== */
.empty {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-1);
  padding: 72px var(--space-6) 80px; text-align: center;
}
.empty-icon {
  width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; margin-bottom: var(--space-3);
  background: var(--primary-soft); color: var(--primary-strong);
}
.empty-icon .icon { width: 28px; height: 28px; }
.empty h2 { font-size: 18px; line-height: 26px; font-weight: 600; }
.empty p { color: var(--text-muted); font-size: 15px; }

/* ===== design/new-record/styles.css ===== */
/* Экран «Новая запись»: метки, запись на этом же экране, загрузка файлов. Основа — ../record/styles.css */

.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ===== Шапка страницы: строка-предупреждение ===== */
.head-warn {
  display: flex; align-items: center; gap: var(--space-2);
  padding: 8px 12px; border-radius: var(--radius);
  background: var(--warning-soft); border: 1px solid var(--warning-border);
  color: var(--warning); font-size: 13px; line-height: 18px; font-weight: 600;
}

/* ===== Метки ===== */
.labels { display: flex; flex-direction: column; gap: var(--space-4); padding-top: var(--space-5); }
.labels-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4); }
.form-label small { margin-left: 6px; font-size: 12px; font-weight: 400; color: var(--text-muted); }

/* Язык — переключатель из четырёх пунктов (ToggleGroup) */
.segmented-lg { padding: 3px; border-radius: var(--radius-sm); }
.segmented-lg span { padding: 7px 14px; font-size: 14px; line-height: 20px; }
.segmented-lg input:checked + span { color: var(--primary-strong); }

/* ===== Шаблон краткого содержания ===== */
.template { display: grid; grid-template-columns: 320px minmax(0, 1fr); align-items: end; gap: var(--space-2) var(--space-4); padding-top: var(--space-4); }
.template .hint { margin: 0 0 10px; }

/* Подсказка под полем */
.hint { display: flex; align-items: center; gap: 6px; margin-top: var(--space-2); font-size: 13px; line-height: 18px; color: var(--text-muted); }
.hint .icon { color: var(--success); }
.hint-muted .icon { color: var(--text-muted); }
.select select:disabled { color: var(--text-muted); background: var(--surface-muted); cursor: default; }

/* ===== Действия: Записать / Загрузить файлы ===== */
.action {
  display: flex; align-items: center; gap: var(--space-4);
  min-height: 104px; padding: var(--space-5); cursor: pointer; color: var(--text);
}
.action:hover { border-color: var(--primary); }
.action-icon {
  width: 52px; height: 52px; border-radius: 50%; flex: none; display: grid; place-items: center;
  background: var(--primary-soft); color: var(--primary-strong);
}
.action-icon .icon { width: 24px; height: 24px; }
.action-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.action-text b { font-size: 17px; line-height: 24px; font-weight: 600; }
.action-text small { font-size: 12px; line-height: 17px; color: var(--text-muted); }
.action-primary { background: var(--primary); border-color: var(--primary); color: var(--on-primary); box-shadow: 0 6px 18px rgba(37, 99, 235, 0.28); }
.action-primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
.action-primary .action-icon { background: var(--on-primary); color: var(--primary); }
.action-primary .action-text small { color: rgba(255, 255, 255, 0.85); }

/* Ошибка микрофона — на месте «Записать» */
.mic-error { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); padding: var(--space-5); text-align: center; }
.mic-error-icon {
  width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; margin-bottom: var(--space-1);
  background: var(--danger-soft); color: var(--danger); box-shadow: inset 0 0 0 1px var(--danger-border);
}
.mic-error-icon .icon { width: 26px; height: 26px; }
.mic-error h2 { font-size: 17px; line-height: 24px; font-weight: 700; }
.mic-error p { color: var(--text-muted); line-height: 20px; }
.mic-error .btn { margin-top: var(--space-2); }

/* ===== Загрузка файлов ===== */
.files-hint {
  display: flex; align-items: center; gap: var(--space-2);
  padding: 8px 12px; margin-bottom: var(--space-2); border-radius: var(--radius);
  background: var(--primary-softer); border: 1px solid var(--primary-track); color: var(--primary-strong); font-weight: 500;
}
.files-hint .icon { flex: none; }
.files { list-style: none; margin: 0; padding: 0; }
.file {
  display: grid; grid-template-columns: 40px minmax(0, 1fr) 200px; align-items: center; gap: var(--space-4);
  padding: var(--space-3) 0; border-bottom: 1px solid var(--border);
}
.file:last-child { border-bottom: 0; padding-bottom: 0; }
.file-icon {
  width: 40px; height: 40px; border-radius: var(--radius); display: grid; place-items: center;
  background: var(--surface-muted); border: 1px solid var(--border); color: var(--primary-strong);
}
.file-icon-error { color: var(--danger); }
.file-main { min-width: 0; }
.file-top { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin-bottom: 6px; }
.file-name { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.file-size { flex: none; font-size: 13px; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.file-note { margin-top: 5px; font-size: 13px; line-height: 18px; }
.file-note-warning { color: var(--warning); }
.file-note-danger { color: var(--danger); }
.file-status { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-3); }
.file-pct { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--primary-strong); font-variant-numeric: tabular-nums; }
.file-link { display: inline-flex; align-items: center; gap: 2px; color: var(--primary-strong); font-weight: 600; }

.progress-success > span { background: var(--success-dot); }
.progress-success { background: var(--success-soft); }
.progress-warning { background: var(--warning-soft); box-shadow: inset 0 0 0 1px var(--warning-border); }
.progress-warning > span { background: var(--warning-bar); }
.progress-danger { background: var(--danger-soft); box-shadow: inset 0 0 0 1px var(--danger-border); }
.progress-danger > span { background: var(--danger); }

/* ===== Рекордер: после «Записать» занимает место формы ===== */
.recorder {
  min-height: 420px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: var(--space-8) var(--space-6);
}
.rec-status .badge { height: 28px; padding: 0 12px; font-size: 13px; }
.badge-rec { background: var(--danger-soft); color: var(--danger); }

.timer {
  margin-top: var(--space-4);
  font-family: var(--font-mono); font-size: 76px; line-height: 88px; font-weight: 600;
  letter-spacing: -0.02em; font-variant-numeric: tabular-nums;
}
.recorder.is-finishing .timer { color: var(--text-muted); }

/* Уровень звука: полосы, новое справа, старые слева затухают */
.level {
  display: flex; align-items: center; justify-content: flex-end; gap: 4px; overflow: hidden;
  width: 100%; max-width: 480px; height: 72px; margin-top: var(--space-4);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 35%);
          mask-image: linear-gradient(90deg, transparent 0, #000 35%);
}
.level i { flex: 0 0 6px; min-height: 4px; border-radius: 3px; background: var(--primary); }
.recorder.is-paused .level i,
.recorder.is-finishing .level i { height: 4px !important; background: var(--wave-silence); }

.rec-actions { display: flex; gap: var(--space-3); margin-top: var(--space-6); }
.btn-xl { height: 52px; min-width: 176px; padding: 0 var(--space-6); font-size: 16px; font-weight: 600; border-radius: var(--radius); }
.btn-xl .icon { width: 18px; height: 18px; }
.icon-fill { fill: currentColor; stroke: none; }

.rec-finish {
  width: 100%; max-width: 380px; margin-top: var(--space-6); padding: 12px 14px;
  border-radius: var(--radius); background: var(--primary-softer); border: 1px solid var(--primary-track);
}
.rec-finish .stat-row { margin-bottom: 8px; font-weight: 500; }
.rec-finish .stat-row b { color: var(--primary-strong); font-variant-numeric: tabular-nums; }

.rec-saved { display: flex; align-items: center; gap: 6px; margin-top: var(--space-4); font-size: 13px; color: var(--success); }

/* Метки во время записи — мини-блоки */
.labels-summary { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4) var(--space-5); }
.labels-summary .facts { margin-top: 0; }
.fact-name { flex: 1 1 220px; }
.fact-name .fact-value { white-space: normal; }

/* ===== Экран «Профиль» ===== */
.profile-card { max-width: 640px; }
.profile-form .hint { margin-top: 0; }
.profile-fio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
@media (max-width: 720px) { .profile-fio { grid-template-columns: 1fr; } }
.input[readonly] { color: var(--text-muted); background: var(--surface-muted); cursor: default; }
.input[readonly]:hover { border-color: var(--border-strong); }

/* ===== Телефон: экраны 1–4 первой версии ===== */
@media (max-width: 720px) {
  .container { padding: 0 var(--space-4); }
  .brand-sub, .user-name, .user-btn > .icon { display: none; }
  .user-btn { padding: 0 4px; }
  .gpu-pill { padding: 0 10px; font-size: 13px; }

  .page-head .container { flex-direction: column; align-items: stretch; gap: var(--space-3); padding-top: var(--space-4); padding-bottom: var(--space-4); }
  .page-head h1 { font-size: 22px; line-height: 30px; }

  /* Одна колонка: «Записать» и «Загрузить файлы» — решение 26.09 (чат 2-16-144), расширено
     тем же чатом: ниже меток, заметки и шаблона, чтобы врач заполнял форму до записи или выбора
     файла (обе стартуют сразу и синхронно захватывают метки — поздняя правка формы иначе теряется
     или не попадает в запись). Микрофон — после формы. Во время записи в боковой колонке только
     микрофон — он под рекордером. */
  .screen-new .layout { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); padding-top: var(--space-4); padding-bottom: var(--space-6); }
  .screen-new .main, .screen-new .side { display: contents; }
  .screen-new .side > * { order: 1; }
  .screen-new .main > * { order: 2; }
  .screen-new .side > .mic-card { order: 3; }
  .screen-new .side > .action-upload, .screen-new .side > .action-record { order: 2; }
  .card-head { padding: var(--space-3) var(--space-4); }
  .card-body { padding: var(--space-3) var(--space-4) var(--space-4); }

  .labels { padding-top: var(--space-4); }
  .labels-row { grid-template-columns: minmax(0, 1fr); }
  .form-label small { display: block; margin: 0; }
  .segmented-lg { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
  .segmented-lg span { text-align: center; }
  .template { grid-template-columns: minmax(0, 1fr); padding-top: var(--space-3); }
  .template .hint { margin: 0; }

  .action { min-height: 76px; padding: var(--space-4); }
  .action-icon { width: 44px; height: 44px; }

  .file { grid-template-columns: 40px minmax(0, 1fr); gap: var(--space-2) var(--space-3); }
  .file-status { grid-column: 2; justify-content: flex-start; }

  .recorder { min-height: 0; padding: var(--space-6) var(--space-4); }
  .timer { font-size: 60px; line-height: 72px; }
  .level { height: 56px; }
  .rec-actions { width: 100%; }
  .rec-actions .btn-xl { flex: 1 1 0; min-width: 0; padding: 0 var(--space-3); }
  .labels-summary { padding: var(--space-3) var(--space-4); }
}

/* =====================================================================
   Дополнения первой версии: то, чего нет в эскизах, и связки для живых экранов.
   ===================================================================== */
[hidden] { display: none !important; }
body { min-height: 100vh; }
.app-loading, .app-fatal { padding: var(--space-8) var(--space-6); text-align: center; color: var(--text-muted); }
.app-fatal .alert { max-width: 480px; margin: 0 auto; text-align: left; }
.app-notice {
  position: fixed; top: var(--space-3); left: 50%; transform: translateX(-50%); z-index: 60;
  width: calc(100% - var(--space-8)); max-width: 520px;
}
.app-notice .alert { background: var(--surface); box-shadow: var(--shadow-pop); }
.app-notice .alert-danger { background: var(--danger-soft); }
.alerts { display: flex; flex-direction: column; gap: var(--space-3); }
.alerts:empty { display: none; }
.page > .alerts { margin-bottom: var(--space-4); }

/* Шапка сайта: значок видеокарты без панели (панель — вторая версия) */
span.gpu-pill { cursor: default; }
span.gpu-pill:hover { background: rgba(255, 255, 255, 0.12); }
span.gpu-pill.is-offline:hover { background: rgba(15, 27, 45, 0.24); }
.menu-item:disabled { color: var(--text-muted); cursor: default; }

/* Кнопки */
.btn-danger { background: var(--danger); color: var(--on-primary); }
.btn-danger:hover { background: #991b1b; }
button.action { width: 100%; font: inherit; text-align: left; }
.action:disabled { opacity: 0.6; cursor: default; }

/* Записи: пояснение под статусом, карточка прерванной загрузки */
.status-note { display: block; margin-top: 4px; padding-left: 2px; font-size: 13px; line-height: 18px; color: var(--text-muted); }
.job-foot .btn { flex: none; }
.job-foot-progress .btn { justify-self: end; }
.job-file { position: relative; overflow: hidden; }
.job-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

/* Шапка результата: статус с ошибкой, правка меток */
.fact-danger { background: var(--danger-soft); border-color: var(--danger-border); }
.fact-danger .fact-value { color: var(--danger); }
.fact-danger .fact-value .icon { color: var(--danger); }
.labels-edit { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-4); max-width: 720px; }
.labels-edit .labels-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4); }
.labels-edit-actions { display: flex; gap: var(--space-2); }
.form-error { color: var(--danger); font-size: 13px; }

/* Плеер без звука ещё не готов */
.player-wait { color: var(--text-muted); font-size: 13px; }
.play:disabled { background: var(--wave-silence); box-shadow: none; cursor: default; }

/* Плеер закреплён сверху окна: пауза, перемотка и время видны при любой прокрутке страницы.
   Ограничитель sticky — колонка .main, поэтому она растянута на всю строку сетки (.layout задаёт
   align-items: start): иначе на короткой вкладке плеер уходил бы из окна, пока прокручиваются
   боковые карточки. На телефоне .main растворяется в сетке (ниже) — там ограничитель тот же .layout.
   Вкладки и их содержимое прокручиваются под плеером и доступны.
   Между краем окна и карточкой — отступ --player-gap: без него плеер срастается с краем. Полосу
   отступа закрывает ::before цветом фона страницы — иначе в ней просвечивал бы текст, который
   прокручивается под плеером. Фон карточки непрозрачный (--surface); рамка и тень чуть заметнее,
   чем у карточек экрана, поэтому плеер читается отдельным элементом поверх текста. */
.screen-result { --player-gap: var(--space-4); }
.screen-result .main { align-self: stretch; }
.screen-result .player {
  position: sticky; top: var(--player-gap); z-index: 20;
  background: var(--surface); border-color: var(--border-strong);
  box-shadow: 0 1px 2px rgba(15, 40, 90, 0.06), 0 8px 20px rgba(15, 40, 90, 0.12);
}
.screen-result .player::before {
  content: ""; position: absolute; left: -1px; right: -1px; bottom: 100%;
  height: calc(var(--player-gap) + 1px); background: var(--bg);
}
.skip {
  height: 32px; min-width: 40px; padding: 0 8px; flex: none;
  border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text);
  font-family: var(--font-mono); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; cursor: pointer;
}
.skip:hover { border-color: var(--border-strong); background: var(--surface-muted); }
.skip:disabled { color: var(--text-muted); background: var(--surface-muted); cursor: default; }
.player-hint { margin-left: var(--space-1); color: var(--text-muted); font-size: 12px; white-space: nowrap; }

/* Распознавание: модель */
.model-name {
  padding: 8px 12px; border-radius: var(--radius-sm); background: var(--surface-muted); border: 1px solid var(--border);
  font-family: var(--font-mono); font-size: 13px; overflow-wrap: anywhere;
}
.stat-note { margin-top: 2px; font-size: 12px; color: var(--text-muted); }
.side .alert { margin-top: var(--space-3); }

/* «Распознавание» и «Время по шагам» — одна компактная карточка постоянной высоты над плеером
   (правка владельца 23.09, эскиз /tmp/medai-2-17-sketch.png): высота больше не растёт с числом
   говорящих — карточку «Говорящие» убрали, правка стороны и имени переехала в кнопку speakers-bar
   ниже. Слева распознавание, справа — время по шагам в две колонки; шрифты во всей области мельче
   основного текста страницы — владелец: «информация не такая важная». «Итог» — отдельной строкой
   во всю ширину под обеими колонками. */
/* С 24.09 (правка владельца, чат 2-17-132) карточка свёрнута в строку `.overview-head`: кнопка
   «Распознавание и время по шагам» с моделью и итогом, справа — speakers-bar; подробности
   `.overview-details` открываются нажатием. */
.overview { padding: var(--space-2) var(--space-4); font-size: 13px; }
.overview-head { display: flex; align-items: center; gap: var(--space-3); min-height: 36px; }
.overview-toggle {
  display: flex; align-items: center; gap: var(--space-2); min-width: 0; flex: 1 1 auto;
  padding: 4px 0; border: 0; background: none; color: var(--text); font: inherit; text-align: left; cursor: pointer;
}
.overview-toggle .icon-box {
  width: 22px; height: 22px; flex: none; border-radius: var(--radius-sm);
  display: grid; place-items: center;
  background: var(--surface-muted); color: var(--primary-strong); box-shadow: inset 0 0 0 1px var(--primary-track);
}
.overview-toggle-text { font-weight: 600; white-space: nowrap; }
.overview-brief { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-muted); font-size: 12px; }
.overview-chevron { flex: none; margin-left: auto; color: var(--text-muted); transition: transform .15s; }
.overview-toggle[aria-expanded="true"] .overview-chevron { transform: rotate(180deg); }
.overview-toggle:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: var(--radius-sm); }
.overview-details { padding: var(--space-3) 0 var(--space-2); margin-top: var(--space-2); border-top: 1px solid var(--border); }
.overview-grid { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 2fr); gap: var(--space-5); }
.overview-col { min-width: 0; }
.overview-col-steps { padding-left: var(--space-5); border-left: 1px solid var(--border); }
.overview-title { display: flex; align-items: center; gap: 6px; margin-bottom: var(--space-3); font-size: 13px; font-weight: 600; }
.overview-title .icon-box {
  width: 22px; height: 22px; border-radius: var(--radius-sm);
  display: grid; place-items: center;
  background: var(--surface-muted); color: var(--primary-strong); box-shadow: inset 0 0 0 1px var(--primary-track);
}
.overview .model-name { font-size: 12px; padding: 6px 10px; }
.overview .stats { margin-top: var(--space-2); gap: 6px; }
.overview .stat { padding: 6px 8px; }
.overview .stat-value { font-size: 16px; line-height: 22px; }
.overview .stat-label { font-size: 11px; }
.overview .stat-note { font-size: 11px; }
.overview-steps-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--space-5); }
.overview .timings { display: flex; flex-direction: column; }
.overview .timing { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-2); padding: 5px 0; border-bottom: 1px solid var(--border); font-size: 12.5px; }
.overview .timing:last-child { border-bottom: 0; }
.overview .timing span { color: var(--text-muted); }
.overview .timing b { flex: none; font-weight: 600; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.overview .timing small { display: block; font-size: 11px; line-height: 14px; font-weight: 400; color: var(--text-muted); }
.overview-total {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3);
  margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--border-strong);
  font-size: 14px; font-weight: 600;
}
.overview-total b { font-size: 20px; color: var(--primary-strong); font-variant-numeric: tabular-nums; }
.overview-pick { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px var(--space-3); margin-top: var(--space-2); font-size: 12.5px; color: var(--text-muted); }
.overview-pick b { font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }

/* Строка вместо карточки «Говорящие» (правка владельца 23.09; с 24.09 — справа в свёрнутой строке
   `.overview-head`): один голос — предупреждение, что разделить не удалось; два и больше — кнопка
   обмена ролями. Пока говорящих нет совсем, её не видно (скрыта `hidden`). */
.speakers-bar { display: flex; align-items: center; flex: 0 1 auto; min-width: 0; font-size: 13px; }
.speakers-bar-msg { display: flex; align-items: center; gap: 6px; color: var(--text-muted); }
.speakers-bar-msg .icon { color: var(--warning); }

/* Краткое содержание */
.summary-card { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); }
/* Тематика (Медицинский/Общий) над переключателем шаблонов внутри неё (решение 23.09, доп. п. 1) */
.summary-topic-templates { display: flex; flex-direction: column; gap: var(--space-2); }
.summary-templates { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.summary-templates .form-label { margin-right: var(--space-1); }
.summary-templates .segmented span { display: inline-flex; align-items: center; gap: 6px; }
.segmented span.tpl-state { display: inline-block; flex: none; width: 7px; height: 7px; padding: 0; border-radius: 50%; background: var(--wave-silence); box-shadow: none; }
.segmented span.tpl-state.done { background: var(--success-dot); }
.segmented span.tpl-state.running { background: var(--primary); }
.segmented span.tpl-state.error { background: var(--danger); }
.summary-meta { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.summary-meta .badge { font-weight: 500; }
.summary-meta .mono { font-family: var(--font-mono); }
.summary-empty { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-2) 0; }
.summary-empty p { color: var(--text-muted); }
.summary-pending { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; font-weight: 500; }
.md { font-size: 15px; line-height: 23px; overflow-wrap: anywhere; }
.md > * + * { margin-top: 10px; }
.md h3 { margin: 0; font-size: 16px; line-height: 24px; font-weight: 700; }
.md h4 { margin: 0; font-size: 15px; font-weight: 700; }
.md p { margin: 0; }
.md ul, .md ol { margin: 0; padding-left: 22px; }
.md li + li { margin-top: 4px; }

/* Транскрипт */
.transcript-empty { padding: var(--space-6); text-align: center; color: var(--text-muted); }

/* Подтверждение удаления */
.dialog-backdrop {
  position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: var(--space-4);
  background: rgba(15, 27, 45, 0.45);
}
.dialog { width: 100%; max-width: 440px; padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-3); box-shadow: var(--shadow-pop); }
.dialog h2 { font-size: 18px; line-height: 26px; font-weight: 700; }
.dialog p { color: var(--text-muted); line-height: 20px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-2); }

/* Цвет движка: класс ставится на кнопку, строку «Открыто в поле» и поле эталона */
.engine-c1 { --eng: var(--engine-1); --eng-soft: var(--engine-1-soft); --eng-border: var(--engine-1-border); }
.engine-c2 { --eng: var(--engine-2); --eng-soft: var(--engine-2-soft); --eng-border: var(--engine-2-border); }
.engine-c3 { --eng: var(--engine-3); --eng-soft: var(--engine-3-soft); --eng-border: var(--engine-3-border); }

/* Эталон: правила записи, кнопки движков, поле с расшифровкой, список версий.
   Вид 21.09: у каждого движка своя кнопка и свой цвет (--engine-1…3), тем же цветом помечены
   строка «Открыто в поле» и левый край поля; версия — строка на всю ширину, «Сделать действующей»
   и «Удалить» — кнопки справа в ней (docs/bench.md, раздел «Эталон»). */
.reference-card { container-type: inline-size; padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); }
.reference-rules { padding: var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-muted); }
.reference-rules-title { display: flex; align-items: center; gap: 6px; font-weight: 600; }
.reference-rules ul { margin: var(--space-2) 0 0; padding-left: 22px; color: var(--text-muted); line-height: 21px; }
.reference-rules li + li { margin-top: 2px; }
.reference-rules-note { margin-top: var(--space-2); color: var(--text-muted); font-size: 13px; }
.reference-meta, .reference-current { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.reference-current .badge { font-weight: 500; }
.reference-download { font-size: 13px; font-weight: 600; color: var(--primary-strong); }
.reference-send { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.reference-send-note { color: var(--text-muted); font-size: 13px; }
textarea.reference-text { min-height: 320px; font-family: var(--font-mono); font-size: 13px;
  border-left: 4px solid var(--border-strong); }
textarea.reference-text.is-machine { border-left-color: var(--eng); }
.reference-meta-note { color: var(--text-muted); font-size: 13px; }
.reference-title-field { display: flex; flex-direction: column; gap: 6px; }
input.reference-title { max-width: 420px; }

/* Кнопки движков: у записи тестера две готовые расшифровки (двойной прогон), у каждой свой цвет */
.reference-machine { display: flex; flex-direction: column; gap: 6px; }
.reference-engines { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.reference-engines #reference-clear { margin-left: var(--space-3); }
.reference-engine { gap: 6px; border-color: var(--eng-border); background: var(--eng-soft); color: var(--eng); }
.reference-engine:hover { background: var(--eng-soft); border-color: var(--eng); }
.reference-engine.is-open { border-color: var(--eng); box-shadow: inset 0 0 0 1px var(--eng); }
.reference-engine-main { font-size: 11px; font-weight: 500; color: var(--text-muted); }
/* движок не умеет язык записи: кнопка выключена, рядом причина от сервера */
.reference-engine.is-off { border-color: var(--border); background: transparent; color: var(--text-muted); }
.reference-engine-off { font-size: 11px; font-weight: 500; color: var(--text-muted); }
.reference-machine-note, .reference-machine-none { color: var(--text-muted); font-size: 13px; line-height: 19px; }

/* Что открыто в поле: названо словами и помечено цветом движка */
.reference-open { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3);
  padding: 10px var(--space-3); border: 1px solid var(--border); border-left: 4px solid var(--border-strong);
  border-radius: var(--radius-sm); background: var(--surface-muted); }
.reference-open.is-machine { border-color: var(--eng-border); border-left-color: var(--eng); background: var(--eng-soft); }
.reference-open-dot { width: 10px; height: 10px; flex: none; border-radius: var(--radius-full);
  background: var(--eng, var(--border-strong)); }
.reference-open.is-machine .reference-open-what b { color: var(--eng); }
.reference-open-note { color: var(--text-muted); font-size: 13px; }

/* Версии: одна версия — строка на всю ширину (правка владельца 21.09, прежде были плитки в два
   столбца). Щелчок по строке открывает версию в поле, действующую выбирает своя кнопка справа.
   В строке: номер, метки, название, дата, время, количество знаков и «на основе <движок>» —
   в узком окне содержимое переносится второй строкой, кнопки остаются справа. */
.reference-versions { display: flex; flex-direction: column; gap: 6px; }
.reference-version-list { display: flex; flex-direction: column; gap: 6px; list-style: none; margin: 0; padding: 0; }
.reference-version { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3);
  padding: 8px var(--space-3); border: 1px solid var(--border); border-left: 4px solid var(--border);
  border-radius: var(--radius); background: var(--surface); cursor: pointer; }
.reference-version:hover { border-color: var(--border-strong); border-left-color: var(--border-strong);
  background: var(--primary-softer); }
.reference-version.is-current { border-left-color: var(--success-dot); }
.reference-version.is-open { border-color: var(--primary); border-left-color: var(--primary);
  background: var(--primary-soft); box-shadow: inset 0 0 0 1px var(--primary); }
.reference-version.is-open:hover { background: var(--primary-soft); }
.reference-versions.is-busy .reference-version { cursor: default; }
.reference-version-body { flex: 1; min-width: 240px; display: flex; flex-wrap: wrap; align-items: baseline;
  gap: 4px var(--space-2); text-align: left; }
.reference-version-body:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; border-radius: var(--radius-sm); }
.reference-version-no { font-weight: 600; }
.reference-version-flag { font-weight: 500; align-self: center; }
.reference-version-name { color: var(--text); }
.reference-version-facts { color: var(--text-muted); font-size: 12px; line-height: 18px; }
/* На источнике — подсказка про смещение: версия из черновика одного движка ближе к нему */
.reference-version-source { border-bottom: 1px dotted var(--border-strong); }
.reference-version-actions { flex: none; display: flex; align-items: center; gap: var(--space-2); }
.reference-version-delete { flex: none; }
/* Manrope and the framed workspace leave less room for version labels.
   In a narrow card, stack the two actions at the right so facts stay on two lines. */
@container (max-width: 600px) {
  .reference-version-body { display: block; }
  .reference-version-body > span:not(:last-child) { margin-right: 6px; }
  .reference-version-actions { flex-direction: column; align-items: flex-end; gap: 4px; }
}

/* ===== Пометки по лекарствам и раздел «Наше мнение» =====
   Решение 20.09: красный — препарату не верим (слово только похоже на название из реестра ЛС РК
   или его там нет совсем); жёлтый — препарат опознан, но есть замечание по инструкции или сверить
   не с чем; зелёный — замечаний нет. Серого цвета нет. Помечается только название препарата и
   число, поэтому пометка живёт внутри строки текста: кнопка без своего фона страницы, с
   подчёркиванием и цветной заливкой слова. */
.mk { display: inline; margin: 0; padding: 0 2px; border: 0; border-radius: 4px; font: inherit;
  color: inherit; cursor: pointer; text-decoration: underline; text-decoration-style: dotted;
  text-underline-offset: 2px; }
.mk:hover, .mk[aria-expanded="true"] { text-decoration-style: solid; }
.mk:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }
.mk-green { background: var(--mk-green-bg); text-decoration-color: var(--mk-green); }
.mk-yellow { background: var(--mk-yellow-bg); text-decoration-color: var(--mk-yellow); }
.mk-red { background: var(--mk-red-bg); text-decoration-color: var(--mk-red); }
.mk-orange { background: var(--mk-orange-bg); text-decoration-color: var(--mk-orange); }
/* Угаданный по контексту вариант (решение 27.09, дополнение того же дня): на экране — в круглых скобках,
   добавленных через ::before/::after, а не в тексте узла — правка и сохранение поля (marks.js, guessText)
   их не видят и не трогают. */
.mk-guess::before { content: "("; }
.mk-guess::after { content: ")"; }
.note-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex: none; }
.dot-green { background: var(--mk-green); }
.dot-yellow { background: var(--mk-yellow); }
.dot-red { background: var(--mk-red); }
.dot-orange { background: var(--mk-orange); }

/* Карточка по щелчку: фраза как в инструкции, цитата и оговорка «проверьте по инструкции» */
.note-pop { position: absolute; z-index: 60; width: min(420px, calc(100vw - 16px)); padding: var(--space-3);
  background: var(--surface); border: 1px solid var(--border-strong); border-left: 3px solid var(--border-strong);
  border-radius: var(--radius); box-shadow: 0 12px 32px rgba(15, 27, 45, .18); }
.note-pop.note-green { border-left-color: var(--mk-green); }
.note-pop.note-yellow { border-left-color: var(--mk-yellow); }
.note-pop.note-red { border-left-color: var(--mk-red); }
.note-pop.note-orange { border-left-color: var(--mk-orange); }
.note-head { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-2); }
.note-head b { font-size: 15px; }
.note-color { font-size: 13px; color: var(--text-muted); }
.note-close { margin-left: auto; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 6px;
  background: var(--surface-muted); color: var(--text-muted); font-size: 16px; line-height: 1; cursor: pointer; }
.note-close:hover { background: var(--control-track); color: var(--text); }
.note-item + .note-item { margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--border); }
/* «Не проверяли» в карточке — причина жёлтого, а не отдельный цвет: ярлык и полоска жёлтые */
.note-item-unchecked { padding-left: var(--space-2); border-left: 2px solid var(--mk-yellow); }
.note-tag { display: inline-block; margin-bottom: 4px; padding: 1px 8px; border-radius: 999px;
  background: var(--mk-yellow-bg); color: var(--mk-yellow); font-size: 12px; }
.note-phrase { margin: 0; font-size: 14px; }
.note-reason { margin: 4px 0 0; font-size: 13px; color: var(--text-muted); }
.note-quote { margin: var(--space-2) 0 0; padding: 6px var(--space-2); background: var(--surface-muted);
  border-left: 2px solid var(--border-strong); border-radius: 0 6px 6px 0; font-size: 13px; color: var(--text-muted); }
.note-foot { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-2) 0 0; font-size: 12px; }
.note-source { color: var(--text-muted); }
.note-disclaimer { color: var(--danger); }
.note-register { margin: var(--space-2) 0 0; font-size: 12px; color: var(--text-muted); }

/* «Наше мнение» ядра опознания: верхние кандидаты с долями и признак спора */
.note-belief { margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--border); }
.note-belief h4 { margin: 0 0 6px; font-size: 13px; color: var(--text-muted); font-weight: 600; }
.belief-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.belief-row { display: flex; align-items: baseline; gap: var(--space-2); font-size: 13px; color: var(--text-muted); }
.belief-row .belief-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.belief-row .belief-share { font-variant-numeric: tabular-nums; }
.belief-lead { color: var(--text); font-weight: 600; }
.belief-marks { margin: 6px 0 0; font-size: 12px; color: var(--text-muted); }

/* Раздел краткого содержания с замечаниями */
.opinion { margin-top: var(--space-4); padding: var(--space-3); background: var(--surface-muted);
  border: 1px solid var(--border); border-radius: var(--radius); }
.opinion h3 { display: flex; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-2); font-size: 15px; }
.opinion-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.opinion-row { display: flex; align-items: baseline; gap: var(--space-2); width: 100%; padding: 8px var(--space-2);
  text-align: left; background: var(--surface); border: 1px solid var(--border); border-left: 3px solid var(--border-strong);
  border-radius: 8px; font: inherit; font-size: 14px; color: inherit; cursor: pointer; }
.opinion-row:hover { border-color: var(--border-strong); }
.opinion-row.mk-green { border-left-color: var(--mk-green); background: var(--surface); }
.opinion-row.mk-yellow { border-left-color: var(--mk-yellow); background: var(--surface); }
.opinion-row.mk-red { border-left-color: var(--mk-red); background: var(--surface); }
.opinion-row.mk-orange { border-left-color: var(--mk-orange); background: var(--surface); }
.opinion-phrase { color: var(--text-muted); }
.opinion-empty, .opinion-foot { margin: 0; font-size: 13px; color: var(--text-muted); }
.opinion-foot { margin-top: var(--space-2); }

/* Строка о ходе проверки */
.check-line { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-3);
  padding: 8px var(--space-3); background: var(--primary-softer); border: 1px solid var(--border);
  border-radius: 8px; font-size: 13px; color: var(--text-muted); }
.check-error { background: var(--danger-soft, #fdecec); color: var(--danger); }

/* ===== Телефон ===== */

/* Вкладка «Сверка» (тестер): два движка в одном тексте, места сверки фразами (решение 20.09,
   server/compare.py). Совпавшее — обычный текст; расхождение — вариант второго движка в квадратных
   скобках, основного в фигурных и поле, куда тестер вписывает верное. У строки и у места видно
   время начала: щелчок по времени слушает запись дальше, кнопка «play» и щелчок по самому месту
   проигрывают только его кусок (решение 21.09). */
.compare-card { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); }
/* Памятка тестеру (правка владельца 22.09): постоянно на виду мелким шрифтом, не подсказка и не
   диалог — тестер сверяет часами, текст должен быть перед глазами всё время, а не по одному разу,
   в том числе при прокрутке длинной сверки. С 23.09 (правка владельца) памятка — в правой колонке
   на месте карточек, вместе с «Как читать сверку» одним блоком, и закреплена, как плеер: sticky
   стоит на самой колонке `.side` — она ниже сетки `.layout` по высоте, поэтому держится у верха
   окна, пока прокручивается длинная сверка. Памятка выше окна — прокручивается внутри себя
   (max-height по высоте окна), иначе её конец был бы недостижим. */
.screen-result .side { position: sticky; top: var(--player-gap); max-height: calc(100vh - 2 * var(--player-gap)); }
.compare-howto {
  min-height: 0; overflow: auto;
  padding: var(--space-3) var(--space-4); border: 1px solid var(--border);
  border-radius: var(--radius-sm); background: var(--surface-muted); font-size: 12px; line-height: 17px;
  color: var(--text-muted);
}
.compare-howto-title { display: flex; align-items: center; gap: 6px; margin: 0 0 4px; font-weight: 600; color: var(--text); }
.compare-howto .compare-legend-title { margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--border); }
.compare-howto p { margin: 0 0 6px; }
.compare-howto ol, .compare-howto ul { margin: 0; padding-left: 18px; }
.compare-howto li + li { margin-top: 4px; }
.compare-text { display: flex; flex-direction: column; gap: var(--space-3); line-height: 30px; }
.compare-line { margin: 0; }
.compare-name { font-weight: 600; margin-right: 4px; }
/* Время начала строки и места (решение 21.09): приглушённое и мелкое, чтобы не спорить с текстом
   сверки; щелчок слушает запись с этого момента дальше. */
.compare-time {
  padding: 0; margin-right: 6px; border: 0; background: none; color: var(--text-muted);
  font: inherit; font-size: 13px; font-variant-numeric: tabular-nums; cursor: pointer;
}
.compare-time:hover { color: var(--primary-strong); text-decoration: underline; }
.compare-time:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; border-radius: 4px; }
/* Кнопка «play» у места: проигрывает только его кусок. Щелчок по самому месту делает то же, но
   кнопка эту возможность показывает. */
.compare-play, .compare-play-demo {
  display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px;
  margin-right: 6px; padding: 0; border: 1px solid var(--border); border-radius: 50%;
  background: var(--surface); color: var(--primary-strong); vertical-align: middle; cursor: pointer;
}
.compare-play .icon, .compare-play-demo .icon { width: 12px; height: 12px; }
.compare-play:hover { background: var(--primary-soft); border-color: var(--primary); }
.compare-play:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }
.compare-play-demo { cursor: default; margin: 0 2px; }
.compare-same { white-space: pre-wrap; }
/* Место сверки — цельная врезка в строке текста: фраза с обоими вариантами и поле не разрываются */
.compare-place {
  display: inline-block; max-width: 100%; vertical-align: middle; margin: 3px 2px;
  padding: 2px 6px; border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--surface-muted); cursor: pointer;
}
.compare-place.is-empty { border-color: var(--warning-border); background: var(--warning-soft); }
.compare-other { font-weight: 600; color: var(--spk2-text); }
.compare-main { font-weight: 600; color: var(--spk1-text); margin-left: 4px; }
input.compare-fill { width: 20ch; height: 28px; margin: 0 2px 0 6px; padding: 0 8px; font-size: 14px;
  vertical-align: middle; cursor: text; }
.compare-send { display: flex; align-items: center; gap: var(--space-3); }
.compare-left { color: var(--text-muted); font-size: 13px; }
.compare-note { color: var(--text-muted); font-size: 13px; }

@media (max-width: 720px) {
  /* .container из эскиза «Новая запись» обнуляет вертикальные отступы — возвращаем их */
  .page { padding-top: var(--space-4); padding-bottom: var(--space-6); }
  .layout { padding-top: var(--space-4); padding-bottom: var(--space-6); }
  .record-head .container { padding-top: var(--space-3); padding-bottom: var(--space-4); }

  /* Записи: таблица превращается в список карточек */
  .screen-records .page-head .container { flex-direction: row; align-items: center; }
  .screen-records .page-head .btn-lg { height: 40px; padding: 0 var(--space-4); font-size: 14px; }
  .jobs { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .table thead { display: none; }
  .table, .table tbody { display: block; }
  .table tbody tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px var(--space-3); padding: 12px 44px 12px var(--space-4); border-bottom: 1px solid var(--border); }
  .table tbody tr:last-child { border-bottom: 0; }
  .table td, .table th:first-child, .table td:first-child, .table th:last-child, .table td:last-child { display: block; width: auto; height: auto; padding: 0; border: 0; }
  .table td.c-rec { flex: 1 0 100%; }
  .table td.c-date, .table td.c-lang, .table td.c-dur, .table td.c-spk { font-size: 13px; color: var(--text-muted); }
  .table td.c-date b, .table td.c-date span { display: inline; font-size: 13px; font-weight: 400; color: var(--text-muted); }
  .table td.c-date span { margin-left: 4px; }
  .table td.c-spk.muted { display: none; }
  .table td.c-status { flex: 1 0 100%; margin-top: 6px; }
  .table td.c-act { position: absolute; right: var(--space-4); top: 50%; transform: translateY(-50%); }

  /* Результат: вёрстка для компьютера, на телефоне — одна колонка */
  .screen-result .record-head .container, .screen-result .layout { grid-template-columns: minmax(0, 1fr); }
  /* Колонка .main растворяется в сетке: закреплённый плеер держится до конца страницы, а не до конца колонки */
  .screen-result .main { display: contents; }
  .screen-result .layout { gap: var(--space-4); }
  .screen-result .layout > *, .screen-result .main > * { min-width: 0; }
  .screen-result .head-side { margin-top: var(--space-3); }
  .screen-result .record-actions { justify-content: flex-start; }
  /* Закреплённый плеер на телефоне ниже, отступ сверху меньше: экран короткий, вкладкам нужно место */
  .screen-result { --player-gap: var(--space-2); }
  /* Памятка тестера на телефоне не закреплена и идёт после вкладок: закреплённой она заняла бы весь
     короткий экран; вёрстка результата — для компьютера */
  .screen-result .side { position: static; max-height: none; }
  .overview-head { flex-wrap: wrap; }
  .speakers-bar { flex-basis: 100%; }
  .overview-brief { display: none; }
  .overview-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .overview-col-steps { padding-left: 0; border-left: 0; padding-top: var(--space-3); border-top: 1px solid var(--border); }
  .overview-steps-grid { grid-template-columns: minmax(0, 1fr); }
  .screen-result .player { padding: var(--space-2) var(--space-3) var(--space-3); }
  .screen-result .player-top { flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-2); }
  .screen-result .play { width: 32px; height: 32px; }
  .screen-result .wave { height: 30px; }
  .screen-result .player-hint { display: none; }
  .screen-result .legend { margin-left: 0; flex-wrap: wrap; gap: var(--space-2) var(--space-3); font-size: 13px; }
  .screen-result .tabs { width: auto; overflow-x: auto; }
  .screen-result .tab { flex: none; }
  .screen-result .transcript { padding: var(--space-3); }
  .screen-result .msg { max-width: 100%; }
  .screen-result .labels-edit .labels-row { grid-template-columns: minmax(0, 1fr); }
  .screen-result .segmented-lg { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
  /* Переключатель тематики/шаблона (в т.ч. длинное название 052/у) не должен раздвигать страницу
     в ширину на телефоне (задача 2-15-122) — на узком экране кнопки переносятся. */
  .summary-templates .segmented { flex-wrap: wrap; width: 100%; }
}

/* ===== Документ осмотра 052/у (docs/decisions/2026-09-23-exam-document-editor.md, эскиз редактора
   утверждён владельцем 23.09 — docs/exam-doc/editor-sketch.png) =====
   Правка прямо на листе — не отдельной формой над ним: .examdoc-sheet показывает документ в печатной
   вёрстке (те же классы examdoc-…, что печать — docs/exam-doc/sample-052u-vl3.html) и на экране, «бумага»
   на фоне страницы; поля и разделы — contenteditable прямо в этой разметке (.examdoc-editable).
   body.has-examdoc — только пока эта вкладка на странице (result.js): печать других экранов не задета. */
.exam-toolbar { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-4); }
@media (max-width: 720px) {
  .exam-toolbar { flex-wrap: wrap; }
}

.template-settings-dialog { border: 1px solid var(--border); border-radius: var(--radius-lg); padding: var(--space-5); max-width: 560px; width: 90vw; }
.template-settings-dialog::backdrop { background: rgba(15, 23, 42, 0.45); }
.template-settings-list { display: flex; flex-direction: column; gap: var(--space-3); margin: var(--space-3) 0; max-height: 50vh; overflow: auto; }
.template-settings-item { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--space-3); opacity: 0.75; }
.template-settings-item legend { font-weight: 600; padding: 0 4px; }
.template-settings-item ol { margin: var(--space-2) 0 0; padding-left: 22px; color: var(--text-muted); }
.template-settings-item li + li { margin-top: 2px; }

/* Лист на экране — «бумага» на фоне страницы (эскиз 23.09): белый фон, тень, ширина близкая к A4.
   Печать снимает декорации и кладёт лист как есть, тем же приёмом, что раньше — весь остальной
   экран прячем, лист показываем поверх (он может лежать глубоко в дереве — вкладка «Краткое
   содержание» внутри карточки, а не прямым потомком body). */
.examdoc-sheet {
  max-width: 780px; margin: 0 auto; padding: 28px 22px 28px 48px; background: var(--surface);
  border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm);
}
@media (max-width: 720px) {
  .examdoc-sheet { max-width: 100%; padding: var(--space-4); overflow-wrap: break-word; }
  /* Лист должен читаться на телефоне без горизонтальной прокрутки страницы (задача 2-15-122):
     фиксированная ширина правого блока шапки (75mm — почти вся ширина экрана) и запрет переноса
     в таблице пациента на узком экране убираем, шапка становится колонкой. */
  .examdoc .examdoc-top { flex-direction: column; gap: 4px; }
  .examdoc .examdoc-top .examdoc-r { width: auto; text-align: left; }
  .examdoc table.examdoc-pt td:first-child { white-space: normal; }
}
@media print {
  body.has-examdoc { background: #fff; }
  body.has-examdoc * { visibility: hidden; }
  body.has-examdoc .examdoc-sheet,
  body.has-examdoc .examdoc-sheet * { visibility: visible; }
  body.has-examdoc .examdoc-sheet { display: block; position: absolute; top: 0; left: 0; width: 100%;
    max-width: none; margin: 0; padding: 0; background: #fff; border: 0; border-radius: 0; box-shadow: none; }
  @page { size: A4; margin: 15mm 10mm 15mm 20mm; }
}
/* Классы образца — namespaced (examdoc-…), а не короткие .t/.h/.f/.pt/.r из sample-052u-vl3.html:
   короткие имена уже заняты другими экранами сайта (например, .t — метка времени в транскрипте) и
   перебивали бы шрифт и цвет документа их правилами (найдено на скриншоте печати — правка по ходу). */
.examdoc {
  font-family: "Times New Roman", "Liberation Serif", serif; font-size: 14pt; line-height: 1.08; color: #000;
}
.examdoc .examdoc-top { display: flex; justify-content: space-between; align-items: flex-start; font-size: 12pt;
  padding-bottom: 6pt; border-bottom: 1px solid #000; }
.examdoc .examdoc-top .examdoc-r { text-align: center; width: 75mm; }
.examdoc h3 { text-align: center; font-size: 15pt; font-weight: bold; margin: 9pt 0 7pt; letter-spacing: .3pt; }
.examdoc h3 .examdoc-sub { display: block; margin-top: 2pt; font-size: 12pt; font-weight: normal; letter-spacing: 0; }
.examdoc table.examdoc-pt { border-collapse: collapse; margin: 0 0 8pt; font-size: 13pt; width: 100%; }
.examdoc table.examdoc-pt td { padding: 1pt 10pt 1pt 0; vertical-align: top; }
.examdoc table.examdoc-pt td:first-child { font-weight: bold; white-space: nowrap; }
.examdoc .examdoc-f { margin: 0 0 6pt; padding: 1pt 4pt; margin-left: -4pt; margin-right: -4pt;
  border-radius: 3pt; page-break-inside: avoid; }
.examdoc .examdoc-f .examdoc-h { font-weight: bold; }
.examdoc .examdoc-f .examdoc-t { margin-top: 2pt; padding-left: 6mm; }
.examdoc ul { margin: 2pt 0 0; padding-left: 12mm; }
.examdoc li { margin: 1pt 0; }
.examdoc .examdoc-dx { margin-top: 2pt; padding-left: 6mm; }
.examdoc .examdoc-dx-row { font-weight: bold; }
.examdoc .examdoc-dx-label { font-weight: normal; }
.examdoc .examdoc-dx-none { display: none; }
.examdoc .examdoc-dx-add { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.examdoc-dx-remove { display: inline-flex; vertical-align: middle; margin-left: 6px; padding: 2px; border: 0;
  background: none; color: var(--text-muted); cursor: pointer; }
.examdoc-dx-remove:hover { color: var(--danger, #c00); }
/* Пометка «предварительный» у части диагноза (решение 26.09): стоит — обычный текст «(предварительный)»
   рядом с наименованием; не стоит — бледная кнопка «предварительный?» только в правке на экране. */
.examdoc-dx-prelim { padding: 0; border: 0; background: none; font: inherit; font-weight: normal; color: inherit;
  cursor: pointer; }
.examdoc-dx-prelim[aria-pressed="false"] { color: var(--text-muted); font-size: 11pt; }
.examdoc-dx-prelim[aria-pressed="false"]:hover { color: var(--primary); text-decoration: underline; }
.examdoc-dx-prelim:disabled { cursor: default; }
.examdoc-readonly .examdoc-dx-prelim[aria-pressed="false"],
.examdoc .examdoc-dx-row.is-empty .examdoc-dx-prelim[aria-pressed="false"] { display: none; }
.examdoc .examdoc-sign { margin-top: 12pt; display: flex; justify-content: space-between; }
.examdoc .examdoc-blank { display: inline-block; min-width: 45mm; border-bottom: 1px solid #000; }

/* Правка прямо на листе: раздел в правке слегка подсвечен (задача 2-15-122), на печати подсветки
   нет — только сам текст. Поле пациента/номера карты пусто — бледная подсказка «вписать …» (взято
   из data-placeholder), в печати вместо неё — пустая строка для руки (.examdoc-editable-blank). */
.examdoc-editable { outline: none; cursor: text; border-radius: 2pt; }
.examdoc-editable:empty::before { content: attr(data-placeholder); color: var(--text-muted); }
.examdoc .examdoc-f:focus-within,
.examdoc .examdoc-pt tr:focus-within { background: var(--primary-soft); }
.examdoc .examdoc-pt tr:focus-within td { border-radius: 3pt; }
.examdoc-dx-code, .examdoc-dx-name { display: inline-block; min-width: 1.5em; }
.examdoc-editable-list { cursor: text; }
.examdoc-editable-list li:only-child:empty::before { content: "вписать назначения"; color: var(--text-muted); }
.examdoc-add-optional { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; background: none;
  color: var(--primary); font: inherit; font-size: 13pt; cursor: pointer; }
.examdoc-add-optional:hover { text-decoration: underline; }
/* Подтверждённый документ (решение 25.09, п. 5) — только для чтения: без курсора ввода и без подсказок
   «вписать …», как в печати; «не обсуждалось» у пустого раздела остаётся. */
.examdoc-readonly .examdoc-editable { cursor: default; }
.examdoc-readonly .examdoc-editable-blank:empty::before,
.examdoc-readonly .examdoc-dx-row .examdoc-editable:empty::before,
.examdoc-readonly .examdoc-editable-list li:only-child:empty::before { content: ""; }
@media print {
  .examdoc-editable { cursor: default; }
  .examdoc .examdoc-f:focus-within,
  .examdoc .examdoc-pt tr:focus-within { background: none; }
  .examdoc-editable:not(.examdoc-editable-blank):empty::before { color: #000; }
  .examdoc-editable-blank:empty::before { content: ""; }
  .examdoc-editable-blank:empty { display: inline-block; min-width: 45mm; border-bottom: 1px solid #000; }
  .examdoc-editable-list li:only-child:empty::before { content: ""; }
  .examdoc-add-optional { display: none; }
  /* Диагноз по частям (решение 25.09): пустая часть не печатается, без кода — одно наименование;
     весь диагноз пуст — «не обсуждалось», как у пустого текстового раздела. */
  .examdoc .examdoc-dx-add, .examdoc-dx-remove,
  .examdoc-dx-prelim[aria-pressed="false"] { display: none; }
  .examdoc .examdoc-dx-row.is-empty { display: none; }
  .examdoc .examdoc-dx-row.no-code .examdoc-dx-code,
  .examdoc .examdoc-dx-row.no-code .examdoc-dx-sep { display: none; }
  .examdoc .examdoc-dx:not(:has(.examdoc-dx-row:not(.is-empty))) .examdoc-dx-none { display: block; }
  /* Документ печатается чёрно-белым (решение владельца 24.09): пометки по лекарствам остаются как
     обычный текст, без цветной заливки и подчёркивания — цвет только на экране. */
  .examdoc-sheet .mk { background: none; color: inherit; text-decoration: none; cursor: default;
    padding: 0; }
  /* Скобки угаданного варианта — только на экране (решение 27.09): в печати листа их нет. */
  .examdoc-sheet .mk-guess::before, .examdoc-sheet .mk-guess::after { content: none; }
}

/* Экран ожидания документа осмотра — эскиз design/record-wait/ (задача 2-6-150). Прежние три шага и
   полоса процента ушли из шапки: ход обработки показывает строка состояния записи (задача 2-42-259,
   docs/decisions/2026-09-28-record-screen-states.md). */
.wait-head { text-align: center; margin-bottom: var(--space-3); }
.wait-head-sub { color: var(--text-muted); margin-top: 4px; }
.wait-sheet { position: relative; }
/* flex-wrap — заголовок и бейдж не помещаются рядом на узком экране (390 px, задача 2-27-159,
   находки тимлида по снимку): без переноса бейдж вылезал за правый край листа и раздвигал строку
   шире экрана. min-width: 0 у заголовка — тот же перенос не даёт ему самому вылезти за край. */
.wait-title-row { display: flex; align-items: baseline; justify-content: center; gap: var(--space-2);
  flex-wrap: wrap; row-gap: 4px; }
.wait-title-row h3 { margin: 0; min-width: 0; overflow-wrap: break-word; }
/* Бейдж — интерфейсным шрифтом, не документным (.examdoc задаёт засечки на весь лист выше). */
.wait-draft-badge { position: relative; top: -2px; font-family: var(--font); }
.wait-subtitle { text-align: center; margin: 0 0 var(--space-3); }
/* Блок «Данные пациента» — интерфейсный, а не часть печатного листа: свой шрифт и размеры, как у
   остальных полей ввода приложения (находки тимлида по снимкам 26.09), а не унаследованные от
   .examdoc засечки 14pt. */
.wait-patient { background: var(--surface-muted); border: 1px solid var(--border); border-radius: var(--radius);
  padding: var(--space-3) var(--space-4); margin: 0 0 var(--space-4); font-family: var(--font); font-size: 14px; }
.wait-patient-head { display: flex; align-items: baseline; gap: var(--space-2); margin-bottom: var(--space-2);
  flex-wrap: wrap; }
.wait-patient-head .empty-hint { font-size: 12px; }
/* Шесть полей пациента — настоящие <input> (не contenteditable, задача 2-6-150): маскам ИИН, даты и
   телефона нужен курсор ввода. Шесть колонок на широком экране, три — до 1100 px, две — на телефоне
   (эскиз design/record-wait/, README «Шесть полей пациента расположены в один ряд…»). */
.wait-patient-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--space-2) var(--space-3); }
.wait-patient-field { display: flex; flex-direction: column; gap: 2px; font-size: 13px; min-width: 0; }
.wait-patient-field > span:first-child { color: var(--text-muted); }
.wait-patient-field input { font: inherit; font-size: 14px; padding: 4px 0; border: none; border-bottom: 1px solid var(--border);
  border-radius: 0; background: transparent; color: var(--text); width: 100%; min-width: 0; }
.wait-patient-field input:focus { outline: none; border-bottom-color: var(--primary); }
.wait-patient-field input[aria-invalid="true"] { border-bottom-color: var(--danger); }
.patient-note { display: block; font-size: 11px; color: var(--text-muted); min-height: 14px; }
.wait-section .examdoc-h { display: block; margin-bottom: 4px; }
.wait-skel { display: flex; flex-direction: column; gap: 6px; padding-left: 6mm; }
.wait-skel-line { display: block; height: 9px; border-radius: var(--radius-full); background: var(--control-track); }
.wait-skel-line:last-child { width: 60%; }
@media (max-width: 1100px) {
  .wait-patient-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .wait-patient-grid { grid-template-columns: repeat(2, 1fr); }
  /* Подсказка — под заголовком блока, не рядом (находка тимлида): на телефоне колонкой всегда,
     не только когда не помещаются в строку. */
  .wait-patient-head { flex-direction: column; align-items: flex-start; gap: 2px; }
}

/* ===== Экран 2 «Записи» врача, вкладки «Сегодня» и «Неделя» — design/records-white2/records-top.html (снимки
   top-today.png, top-week.png; решение docs/decisions/2026-09-29-records-no-left-panel.md, чат 2-26-175) =====
   Значения — из макета без изменений; цвета — токены «белого дизайна» из :root (--accent, --soft, --ink, --muted,
   --line, --canvas, --side-card, --side-ink, --green*, --amber*), красный — --rd-red/--rd-red-bg (значения --red
   макета). Всё — в области .screen-records: общая шапка сайта (.app-bar) на этом экране белая, как в макете,
   на остальных экранах не меняется. Переключатель организаций макета не переносится (решение 17.09: позже).
   Левой панели нет: «Новая запись» — справа в строке заголовка; «Неделя» — календарь на всю ширину без правого
   блока (решение 2026-09-28-week-no-side-panel: нажатие на плитку открывает #/rec/<id>).
   Компьютер: экран занимает окно без прокрутки страницы; @media 1400/700 — брейкпоинты макета. Телефон (до 700 px):
   карточки «Сегодня» — design/records-mobile (утверждено 26.09), «Неделя» — календарь на один день (решение
   2026-09-25). */
.screen-records { --rd-ink: var(--ink); --rd-muted: var(--muted); --rd-line: var(--line); --rd-accent: var(--accent);
  --rd-amber: var(--amber); --rd-red: #a52e39; --rd-red-bg: #fff0f0;
  display: flex; flex-direction: column; height: 100dvh; background: #fff; }

/* Шапка: логотип, пользователь (макет: .header). */
.screen-records .app-bar { flex-shrink: 0; height: 88px; background: #fff; color: var(--ink);
  border-bottom: 1px solid var(--line); font: 400 14px/1.5 var(--font); }
.screen-records .app-bar .container { max-width: none; height: 100%; padding: 0 28px; gap: 32px;
  justify-content: flex-start; }
.screen-records .brand { gap: 11px; font-size: 27px; letter-spacing: -.7px; font-weight: 600; color: #194896;
  text-decoration: none; }
.screen-records .brand-mark { width: 36px; height: 38px; border-radius: 9px; background: var(--accent); color: #fff; }
.screen-records .brand-mark .icon { width: 27px; height: 27px; }
.screen-records .brand-sub { display: none; }
.screen-records .app-bar-right { gap: 24px; margin-left: auto; }
.screen-records .gpu-pill { height: auto; padding: 0; gap: 7px; border: 0; border-radius: 0; background: none;
  color: var(--muted); font-size: 12px; font-weight: 400; white-space: nowrap; }
.screen-records .gpu-pill:hover, .screen-records .gpu-pill.is-offline { background: none; }
.screen-records .gpu-pill .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green-solid); box-shadow: none; }
.screen-records .gpu-pill.is-offline .dot { background: var(--rd-red); box-shadow: none; }
.screen-records .user-btn { height: auto; min-height: 44px; padding: 0; gap: 10px; border-radius: 0; color: var(--ink);
  font-size: 13px; font-weight: 400; }
.screen-records .user-btn:hover, .screen-records .menu[open] > .user-btn { background: none; }
.screen-records .avatar { width: 34px; height: 34px; background: var(--soft); color: var(--accent); font-size: 12px;
  font-weight: 400; }
.screen-records .app-bar a:focus-visible, .screen-records .app-bar summary:focus-visible {
  outline: 3px solid #82a8ff; outline-offset: 3px; }

.rd-main { flex: 1; min-height: 650px; width: 100%; max-width: none; margin: 0; padding: 0 28px 14px; display: flex;
  flex-direction: column; color: var(--ink); font: 400 14px/1.5 var(--font); }
.rd-main button, .rd-main input, .rd-main select { font: inherit; color: inherit; }
.rd-main button, .rd-main a, .rd-main input, .rd-main select { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.rd-main .rd-button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 40px;
  padding: 8px 14px; background: #fff; border: 1px solid #9fb7d8; border-radius: 6px; color: var(--side-ink);
  font-weight: 400; cursor: pointer; text-decoration: none; white-space: nowrap; }
.rd-main .rd-button:hover { background: var(--soft); border-color: #7890ad; text-decoration: none; }
.rd-main .rd-button:disabled { opacity: .5; cursor: default; }
.rd-main .rd-primary { background: var(--accent); border-color: var(--accent); color: #fff; font-weight: 500;
  box-shadow: 0 3px 7px #2563eb24; }
.rd-main .rd-primary:hover { background: var(--accent-dark); border-color: var(--accent-dark); color: #fff; }
.rd-main .rd-small { min-height: 32px; padding: 5px 10px; font-size: 12px; margin-top: 6px; }
.rd-main label.rd-resume-file { position: relative; overflow: hidden; margin-bottom: 0; font-size: 14px; color: var(--side-ink); }
.rd-main label.rd-small.rd-resume-file { font-size: 12px; }
.rd-resume-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.rd-main a { color: var(--accent); text-decoration: none; }
.rd-main a:hover { text-decoration: underline; }
.rd-main a:focus-visible, .rd-main button:focus-visible, .rd-main label.rd-resume-file:focus-within {
  outline: 3px solid #82a8ff; outline-offset: 3px; }
.rd-main input:focus-visible, .rd-main select:focus-visible { outline: 2px solid #82a8ff; outline-offset: 1px; }
.rd-main input, .rd-main select { height: 40px; min-width: 0; max-width: 100%; border: 1px solid #9fb7d8;
  border-radius: 5px; padding: 8px 11px; background: #fff; }
.rd-main input::placeholder { color: #596980; }
.rd-main label { display: block; margin-bottom: 5px; font-size: 12px; font-weight: 400; color: var(--muted); }
.rd-main p { margin: 0; }
.rd-muted { color: var(--muted); }
.screen-records .alerts { flex-shrink: 0; }
.screen-records .alerts:empty { display: none; }

/* Строка заголовка: «Записи» с подписью, вкладки, справа — «Загрузить файл» и «Новая запись». */
.rd-heading { display: flex; align-items: center; gap: 46px; min-height: 92px; flex: none;
  border-bottom: 1px solid var(--line); }
.rd-heading h1 { font-size: 28px; letter-spacing: -.7px; line-height: 1.3; font-weight: 600; margin: 0; }
.rd-tabs { display: flex; align-self: stretch; align-items: stretch; gap: 25px; }
.rd-main .rd-tabs a { display: flex; align-items: center; gap: 8px; padding: 3px 0 0; border-bottom: 3px solid transparent;
  color: var(--muted); font-size: 14px; font-weight: 400; text-decoration: none; }
.rd-main .rd-tabs a[aria-current=page] { border-color: var(--accent); color: var(--accent); }
.rd-tabs .icon { width: 18px; height: 18px; }
.rd-heading-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.rd-main #rd-new { height: 40px; }
#rd-new > span { font-size: 21px; line-height: 1; }

/* Управление: поиск и фильтры, ниже строка даты — день или неделя, стрелки, итоги. */
.rd-list { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.rd-controls { flex: none; padding-top: 22px; }
.rd-tools { display: grid; grid-template-columns: minmax(250px, 1fr) 232px 220px; gap: 18px; }
.rd-tools > div { min-width: 0; }
.rd-tools input, .rd-tools select { width: 100%; }
.rd-search-wrap { position: relative; }
.rd-search-wrap .icon { position: absolute; left: 11px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%);
  color: var(--muted); pointer-events: none; }
.rd-main .rd-search-wrap input { padding-left: 36px; }
.rd-datebar { display: flex; align-items: center; gap: 16px; min-height: 75px; }
.rd-datebar h2 { font-size: 17px; font-weight: 500; margin: 0; order: 1; }
.rd-arrows { display: flex; gap: 6px; order: 0; }
.rd-main .rd-arrows .rd-button { padding: 0; min-height: 32px; width: 32px; font-size: 23px; line-height: 1; }
.rd-main .rd-summary { margin-left: auto; order: 2; color: var(--muted); font-size: 12px; }
.rd-summary strong { color: var(--amber); font-weight: 400; }

/* «Сегодня»: таблица дня, прокручивается только она. */
#rd-content { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.rd-table-shell { border: 1px solid var(--line); border-radius: 8px; overflow: auto; min-height: 0;
  scroll-padding-top: 48px; background: #fff; }
.rd-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; text-align: left; }
.rd-table th { position: sticky; top: 0; z-index: 2; background: var(--side-card); color: var(--muted); font-size: 12px;
  font-weight: 400; padding: 13px 20px; border-bottom: 1px solid var(--line); }
.rd-table th:first-child { width: 125px; }
.rd-table th:nth-child(2) { width: 33%; }
.rd-table th:nth-child(3) { width: 24%; }
.rd-table th:nth-child(4) { width: 160px; }
.rd-table th:nth-child(5) { width: 230px; }
.rd-table th:last-child { width: 95px; }
.rd-table td { padding: 16px 20px; vertical-align: top; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.rd-table tbody tr:last-child td { border-bottom: 0; }
.rd-table tbody tr:hover { background: #fafcff; }
.rd-time { font-size: 15px; font-weight: 500; font-variant-numeric: tabular-nums; }
.rd-id, .rd-duration { display: block; font-size: 11px; color: var(--muted); margin-top: 3px;
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.rd-main .rd-patient { display: block; font-size: 15px; font-weight: 500; margin-bottom: 5px; line-height: 1.4;
  color: var(--ink); text-decoration: none; overflow-wrap: anywhere; }
.rd-main .rd-patient:hover { color: var(--accent); text-decoration: none; }
.rd-details { display: flex; flex-wrap: wrap; gap: 3px 12px; color: var(--muted); font-size: 12px; }
.rd-row-diagnosis { font-size: 12px; color: var(--muted); margin-top: 6px; line-height: 1.5; overflow-wrap: anywhere; }
.rd-visit { font-size: 12px; overflow-wrap: anywhere; }
.rd-title { display: block; overflow-wrap: anywhere; }
.rd-title.rd-untitled { color: var(--muted); }
.rd-rec-note { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
  overflow-wrap: anywhere; margin-top: 5px; font-size: 12px; line-height: 1.5; color: var(--muted); }
.rd-table td.rd-source { font-size: 12px; color: var(--muted); padding-top: 19px; }
.rd-badge { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 5px;
  padding: 4px 7px; font-size: 11px; font-weight: 400; line-height: 1.4; max-width: 100%; white-space: nowrap; }
.rd-badge::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex: none; }
.rd-badge.wait { color: var(--amber); background: var(--amber-bg); border-color: var(--amber-border); }
.rd-badge.done { color: var(--green); background: var(--green-bg); border-color: var(--green-border); }
.rd-badge.done::before { width: 8px; height: 5px; background: none; border-left: 1px solid; border-bottom: 1px solid;
  border-radius: 0; transform: rotate(-45deg); margin-top: -3px; }
.rd-badge.live, .rd-badge.error { color: var(--rd-red); background: var(--rd-red-bg); border-color: #ecc8cb; }
.rd-badge.work { color: var(--accent-dark); background: var(--soft); border-color: #bfd3fb; }
.rd-status-detail { color: var(--muted); font-size: 11px; margin-top: 6px; line-height: 1.5; overflow-wrap: anywhere; }
.rd-status-detail .rd-button { display: flex; margin-top: 6px; width: max-content; }
.rd-note { display: block; }
/* Только мобильная карточка (design/records-mobile, @media max-width: 700px): дублирующий источник, короткая ошибка
   и «Приём» под пациентом спрятаны на настольном виде. */
.rd-source-mobile { display: none; }
.rd-error-short { display: none; }
.rd-visit-mobile { display: none; }
.rd-table tr.waiting td:first-child { box-shadow: inset 3px 0 var(--amber-solid); }
.rd-main .rd-open { font-size: 12px; display: inline-flex; min-height: 28px; align-items: center; }
.rd-empty { margin: auto; width: 100%; text-align: center; border: 1px solid var(--line); border-radius: 8px;
  background: #fff; padding: 70px 24px; }
.rd-empty h2 { font-size: 22px; margin: 10px 0; font-weight: 600; }
.rd-main .rd-empty p { max-width: 420px; color: var(--muted); margin: 0 auto 22px; }
.rd-empty-symbol { font-size: 35px; color: var(--accent); }
.rd-main .rd-notice { font-size: 12px; color: var(--muted); margin-top: 12px; }

/* «Неделя»: календарь пн–сб на всю ширину. Короткая шкала заполняет сетку; длинная
   прокручивается внутри календаря, сохраняя читаемую высоту получасовой плитки. */
.rdw-calendar-area { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; position: relative; }
.rdw-calendar { display: flex; flex-direction: column; min-height: 0; flex: 1; border: 1px solid var(--line);
  border-radius: 8px; background: #fff; padding-bottom: 15px; overflow: hidden; }
.rdw-days, .rdw-calendar-body { display: grid; grid-template-columns: 58px repeat(6, minmax(0, 1fr)); }
.rdw-days { flex: none; border-bottom: 1px solid var(--line); }
.rdw-timezone { background: var(--side-card); }
.rdw-day { padding: 16px 5px; text-align: center; font-size: 12px; color: var(--muted); background: var(--side-card);
  border-left: 1px solid var(--line); min-width: 0; white-space: nowrap; }
.rdw-day b { font-size: 18px; font-weight: 500; margin-left: 7px; color: var(--ink); }
.rdw-day.rdw-today-col { background: var(--soft); color: var(--accent); }
.rdw-day.rdw-today-col b { color: var(--accent); }
.rdw-calendar-body { flex: 1; position: relative; min-height: 0; overflow: hidden; }
.rdw-time-rail { position: relative; color: var(--muted); font-size: 11px; text-align: center;
  font-variant-numeric: tabular-nums; }
.rdw-tick { position: absolute; left: 0; right: 0; line-height: 16px; transform: translateY(-50%); }
.rdw-tick:first-child { transform: none; }
.rdw-day-column { position: relative; min-width: 0; border-left: 1px solid var(--line);
  background: repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--hour) - 1px),
    var(--line) calc(var(--hour) - 1px), var(--line) var(--hour)); }
.rdw-day-column.rdw-today-col { background-color: #f5f8ff; }
.rd-main .rdw-appointment { position: absolute; left: 5px; right: 5px; min-height: 0; min-width: 0; padding: 4px 7px;
  border: 1px solid var(--line); border-left: 3px solid #9fb7d8; border-radius: 5px; background: var(--side-card);
  color: var(--ink); display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 4px;
  text-align: left; font-size: 12px; font-weight: 400; overflow: hidden; line-height: 1.35; text-decoration: none;
  cursor: pointer; }
.rd-main .rdw-appointment:hover { text-decoration: none; }
.rd-main .rdw-appointment:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; z-index: 2; }
.rd-main .rdw-appointment.rdw-wait { background: var(--amber-bg); border-color: var(--amber-border);
  border-left-color: var(--amber-solid); }
.rd-main .rdw-appointment.rdw-work { background: var(--soft); border-color: #bfd3fb; border-left-color: var(--accent); }
.rd-main .rdw-appointment.rdw-live, .rd-main .rdw-appointment.rdw-error { background: var(--rd-red-bg);
  border-color: #ecc8cb; border-left-color: var(--rd-red); }
.rdw-event-top { display: flex; gap: 7px; align-items: baseline; min-width: 0; }
.rdw-event-time { font-size: 11px; font-variant-numeric: tabular-nums; flex: none; color: var(--muted); }
.rdw-event-name { font-size: 12px; font-weight: 500; min-width: 0; white-space: nowrap; overflow: hidden;
  text-overflow: ellipsis; }
.rdw-event-diagnosis { display: block; font-size: 10px; color: var(--muted); white-space: nowrap; overflow: hidden;
  text-overflow: ellipsis; }
.rdw-empty { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center;
  justify-content: center; background: rgba(255, 255, 255, 0.93); z-index: 5; gap: 10px; text-align: center; padding: 20px; }
.rdw-empty h3 { font-size: 18px; font-weight: 500; margin: 0; color: var(--ink); }
.rdw-empty p { color: var(--muted); font-size: 13px; margin: 0; }
.rdw-empty .rd-button { margin-top: 4px; }
.rdw-day-picker { display: none; }

@media (min-width: 701px) and (max-width: 1400px) {
  .screen-records .app-bar .container { padding: 0 20px; gap: 24px; }
  .rd-main { padding-left: 20px; padding-right: 20px; }
  .rd-tools { grid-template-columns: minmax(200px, 1fr) 210px 180px; gap: 12px; }
  .rd-table th, .rd-table td { padding-left: 12px; padding-right: 12px; }
  .rd-table th:first-child { width: 96px; }
  .rd-table th:nth-child(2) { width: 31%; }
  .rd-table th:nth-child(3) { width: 22%; }
  .rd-table th:nth-child(4) { width: 138px; }
  .rd-table th:nth-child(5) { width: 180px; }
  .rd-table th:last-child { width: 76px; }
  .rd-details { font-size: 11px; gap: 2px 8px; }
  .rd-main .rd-patient { font-size: 14px; }
  .rdw-event-name { font-size: 11px; }
  .rdw-days, .rdw-calendar-body { grid-template-columns: 46px repeat(6, minmax(0, 1fr)); }
}

/* Узкий планшет (в макете нет): второстепенные столбцы уже, чтобы пациенту с диагнозом на 768 оставалось
   не меньше 220 px; фильтры уже, чтобы строка поиска помещалась. */
@media (min-width: 701px) and (max-width: 1100px) {
  .rd-main { padding-left: 16px; padding-right: 16px; }
  .rd-tools { grid-template-columns: minmax(140px, 1fr) 145px 125px; gap: 10px; }
  .rd-today-view .rd-table th, .rd-today-view .rd-table td { padding: 10px 8px; }
  .rd-today-view .rd-table th:first-child { width: 72px; }
  .rd-today-view .rd-table th:nth-child(3) { width: 110px; }
  .rd-today-view .rd-table th:nth-child(4) { width: 96px; }
  .rd-today-view .rd-table th:nth-child(5) { width: 145px; }
  .rd-today-view .rd-table th:last-child { width: 76px; }
}

/* Телефон: одна колонка, страница прокручивается. */
@media (max-width: 700px) {
  .screen-records { display: block; height: auto; }
  .screen-records .app-bar { height: auto; }
  .screen-records .app-bar .container { padding: 15px 16px 12px; gap: 12px; flex-wrap: wrap; }
  .screen-records .brand { font-size: 23px; gap: 9px; }
  .screen-records .brand-mark { width: 30px; height: 32px; border-radius: 8px; }
  .screen-records .brand-mark .icon { width: 23px; height: 23px; }
  .screen-records .app-bar-right { gap: 12px; }
  .screen-records .gpu-pill { font-size: 11px; gap: 5px; }
  .screen-records .user-btn { gap: 5px; min-height: 34px; }
  .screen-records .user-name { display: none; }
  .rd-main { min-height: calc(100dvh - 115px); padding: 0 16px 16px; background: var(--canvas); }
  .rd-heading { min-height: 77px; flex-wrap: wrap; justify-content: space-between; gap: 16px; }
  .rd-heading h1 { font-size: 25px; }
  .rd-tabs { gap: 18px; min-height: 77px; }
  .rd-main .rd-tabs a { font-size: 13px; font-weight: 500; }
  .rd-tabs .icon { display: none; }
  .rd-heading-actions { order: 3; width: 100%; margin: 0 0 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .rd-main #rd-new { height: 42px; }
  .rd-list { display: block; }
  .rd-controls { padding-top: 16px; }
  .rd-tools { grid-template-columns: 1fr 1fr; gap: 10px 12px; }
  .rd-tools > div:first-child { grid-column: 1 / -1; }
  .rd-main .rd-tools input, .rd-main .rd-tools select { height: 42px; font-size: 14px; }
  .rd-main .rd-tools input { font-size: 16px; }
  .rd-main .rd-tools label { font-size: 11px; margin-bottom: 4px; }
  .rd-main .rd-tools select { padding-left: 8px; padding-right: 3px; }
  .rd-datebar { display: grid; grid-template-columns: auto 1fr; min-height: 0; padding: 17px 0 14px; gap: 10px; }
  .rd-datebar h2 { font-size: 14px; grid-column: 2; grid-row: 1; }
  .rd-arrows { grid-column: 1; grid-row: 1; gap: 5px; }
  .rd-main .rd-arrows .rd-button { min-height: 30px; width: 30px; }
  .rd-main .rd-summary { grid-column: 1 / -1; margin: 0; font-size: 11px; }

  /* Карточка «Записей» (design/records-mobile, утверждено 26.09.2026): один в один с макетом. */
  .rd-main .rd-open { min-height: 44px; }
  .rd-table-shell { overflow: visible; border: 0; background: transparent; border-radius: 0; }
  .rd-table { table-layout: auto; }
  .rd-table, .rd-table tbody, .rd-table tr, .rd-table td { display: block; }
  .rd-table thead { display: none; }
  .rd-table tr { position: relative; isolation: isolate; background: white; border: 1px solid var(--rd-line);
    border-radius: 9px; margin-bottom: 8px; padding: 10px 12px;
    display: grid; grid-template-columns: 1fr auto; gap: 0; }
  .rd-table tbody tr:hover { background: white; }
  .rd-table tr:has(.rd-patient:hover) { border-color: #90acd6; background: #fbfdff; }
  .rd-table tr:has(.rd-patient:focus-visible) { outline: 3px solid #82a8ff; outline-offset: 3px; }
  .rd-table td { padding: 0; border: 0; min-width: 0; }
  .rd-table td:nth-child(1) { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline;
    font-size: 12px; color: var(--rd-muted); font-variant-numeric: tabular-nums; }
  .rd-table td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .rd-id { margin: 0; }
  .rd-table tr.waiting td:first-child { box-shadow: none; }
  .rd-table tr.waiting { border-left: 3px solid var(--amber-solid); padding-left: 10px; }
  /* Вся карточка открывается нативной ссылкой (ФИО); отдельная ссылка «Открыть» в макете не показана. Диагноз и
     «Приём» — короткой строкой каждый, пусто — строка не рендерится (решение владельца, 26.09). */
  .rd-main .rd-patient { display: block; font-size: 15px; line-height: 1.3; margin: 5px 0 4px; font-weight: 500;
    overflow-wrap: anywhere; color: var(--rd-ink); }
  .rd-main .rd-patient:focus-visible { outline: 0; }
  .rd-main .rd-patient::after { content: ""; position: absolute; inset: 0; z-index: 0; border-radius: 9px; }
  .rd-details { font-size: 12px; line-height: 1.5; color: var(--rd-muted); gap: 0 12px; }
  .rd-details-empty { display: none; }
  .rd-row-diagnosis { display: block; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rd-visit-mobile { display: block; margin-top: 2px; font-size: 12px; color: var(--rd-muted);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rd-badge { font-size: 12px; padding: 5px 8px; }
  .rd-time { font-size: 14px; font-weight: 500; color: var(--rd-ink); }
  .rd-table td:nth-child(3) { display: none; }
  .rd-table td:nth-child(4) { display: none; }
  .rd-table td:nth-child(5) { grid-row: 4; grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
  .rd-table td:nth-child(6) { display: none; }
  .rd-source-mobile { display: inline; margin-left: auto; font-size: 12px; color: var(--rd-muted); }
  .rd-status-detail { display: inline; margin-left: 6px; font-size: 12px; }
  /* Замечание координатора 26.09, сужено по P1 Codex (PR #307): в макете под статусом нет строки, дублирующей
     плашку — только «Документ готов к проверке» (ready) и «Подтверждено в …» (confirmed). Рабочие статусы
     (запись, загрузка, очередь, обработка) свою строку показывают как раньше — там текст плашки не повторяет
     пояснение (таймер, процент, место в очереди, прогресс распознавания), см. docs/stand-site.md, «Статусы». */
  tr[data-status="ready"] .rd-status-detail { display: none; }
  .rd-status-detail-error { flex-basis: 100%; margin: 0; font-size: 12px; }
  .rd-error-full { display: none; }
  .rd-error-short { display: inline; color: var(--rd-red); }
  .rd-main .rd-status-detail-error .rd-button { position: relative; z-index: 1; display: flex; margin-top: 8px;
    min-height: 44px; padding: 8px 12px; font-size: 13px; }
  /* Оверлей rd-patient::after (z-index 0) кладёт всю карточку под ссылку ФИО; кнопка/файл-инпут внутри
     rd-status-detail без ошибки (uploading: «Повторить», «Выбрать файл») должны остаться кликабельными (вопрос 4,
     проверка 26.09). */
  .rd-main .rd-status-detail .rd-button, .rd-main .rd-status-detail .rd-resume-file { position: relative; z-index: 1; }
  .rd-duration { margin: 0 0 0 auto; white-space: nowrap; }
  .rd-empty { padding: 45px 18px; }
  .rd-empty h2 { font-size: 21px; }
  .rd-main .rd-empty p { font-size: 13px; }

  /* «Неделя» на телефоне: один день и переключатель (решение 2026-09-25).
     Шкала — не меньше 1,6 px на минуту, прокрутка внутри календаря. */
  .rdw-calendar-area { flex: none; }
  .rdw-calendar { flex: none; }
  .rdw-days, .rdw-calendar-body { grid-template-columns: 44px 1fr; }
  .rdw-calendar-body { flex: none; }
  .rdw-day.rdw-other, .rdw-day-column.rdw-other { display: none; }
  .rdw-event-name { font-size: 13px; }
  .rdw-event-time { font-size: 12px; }
  .rdw-event-diagnosis { font-size: 12px; line-height: 15px; }
  .rdw-day-picker { display: flex; flex-shrink: 0; justify-content: space-between; margin-bottom: 12px; gap: 3px; }
  .rd-main .rdw-day-picker button { min-width: 0; min-height: 0; flex: 1; display: block; text-align: center; padding: 7px 2px;
    border: 1px solid var(--line); border-radius: 6px; font-size: 11px; font-weight: 400; background: white;
    color: var(--muted); cursor: pointer; }
  .rdw-day-picker button b { display: block; font-size: 16px; font-weight: 500; }
  .rd-main .rdw-day-picker button[aria-current=date] { color: var(--accent); background: var(--soft); border-color: #9fb7d8; }
}

/* Мобильная гипотеза 2-26-255: пункты 5, 7, 12 аудита экрана записи. */
@media screen and (max-width: 640px) {
  .rd-main .rd-tools label { font-size: 12px; line-height: 18px; }
  .rd-main .rd-arrows :is(#rd-prev, #rd-next) { width: 44px; min-height: 44px; }
  .rdw-tick:last-child:not(:first-child) { transform: translateY(-100%); }
}

/* SaaS direction 1, approved 03.10.2026: design/bright/bright-1-today.html. */
@font-face{font-family:DenManrope;src:url(data:font/woff;base64,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) format("woff");font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:light;--accent:#2563eb;--accent-dark:#174dc6;--ink:#202735;--muted:#596272;--line:#d7dce4;--canvas:#f0f2f5;--soft:#edf2ff;--side:#fff;--side-card:#f7f8fa;--side-ink:#3b465b;--green:#187452;--green-solid:#259370;--green-bg:#edf8f2;--green-border:#badbca;--amber:#8c5c15;--amber-solid:#daa341;--amber-bg:#fff7e8;--amber-border:#e8d2a5;--amber-button:#fff0d0;--red:#b23c48;--red-bg:#fff0f2;--red-border:#e8c2c7;font-synthesis:none}
:root{--font:DenManrope,"Segoe UI",Arial,sans-serif;--primary:var(--accent);--primary-hover:var(--accent-dark);--text:var(--ink);--text-muted:var(--muted);--bg:var(--canvas);--surface-muted:var(--side-card);--border:var(--line);--rd-red:var(--red);--rd-red-bg:var(--red-bg)}
body{font-family:var(--font)}
.btn,input,select,textarea{font-family:var(--font)}
.btn{border-radius:8px;font-weight:500}
.btn-primary{box-shadow:inset 0 1px 0 #ffffff25,0 2px 3px #174dc618}

@media screen and (min-width:701px){
.screen-records .brand{color:var(--ink);font-weight:600;letter-spacing:-1.1px}
.screen-records .brand-symbol,.screen-records .brand-mark{background:var(--accent);color:#fff;box-shadow:none}
.screen-records .avatar{font-weight:500;background:#edf1f9;color:#48618d}
.screen-records .rd-badge{font-size:12px;font-weight:400;line-height:1.45;gap:7px;white-space:nowrap;border-width:1px}
.screen-records .rd-badge::before{display:block;width:6px;height:6px;background:currentColor;flex:none;border-radius:50%;content:''}
.screen-records .rd-badge.wait{background:var(--amber-bg);border-color:var(--amber-border);color:var(--amber)}
.screen-records .rd-badge.work{background:var(--soft);color:#2856ae;border-color:#c1d1f0}
.screen-records .rd-badge.work::before{background:transparent;border:1.5px solid currentColor;border-right-color:transparent;width:9px;height:9px}
.screen-records .rd-badge.done{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}
.screen-records .rd-badge.done::before{background:none;border-left:1px solid;border-bottom:1px solid;border-radius:0;width:8px;height:5px;transform:rotate(-45deg);margin-top:-2px}
.screen-records .rd-badge.live,.screen-records .rd-badge.error{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}
.screen-records *{transition:none!important}
.screen-records .app-bar{height:76px;background:white;border-bottom:1px solid var(--line)}
.screen-records .app-bar .container{padding:0 36px;gap:28px}
.screen-records .brand{font-size:27px;gap:10px}
.screen-records .brand-mark{width:34px;height:36px;border-radius:10px}
.screen-records .brand-mark svg{width:25px;height:25px}
.screen-records .app-bar-right{gap:24px}
.screen-records .gpu-pill{font-size:12px}
.screen-records .menu{font-size:13px}
.screen-records .menu .user-btn{gap:10px}
.screen-records .avatar{width:32px;height:32px}
.screen-records .menu-list{box-shadow:0 8px 24px #20273515;border-color:var(--line)}
.screen-records .rd-main{height:calc(100dvh - 76px);min-height:850px;padding:0 36px 18px;background:var(--canvas)}
.screen-records .rd-heading{min-height:112px;border:0;gap:42px}
.screen-records .rd-heading h1{font-weight:500;line-height:1.2;letter-spacing:-1.1px;font-size:34px}
.screen-records .rd-heading #rd-new{margin-left:auto;height:44px;padding:10px 20px;border-radius:8px;font-size:14px}
.screen-records .rd-heading #rd-new>span{font-size:22px}
.screen-records .rd-heading .rd-tabs{align-self:center;height:42px;gap:3px;border:1px solid var(--line);border-radius:10px;background:#e8ebf0;padding:3px}
.screen-records .rd-tabs a{border:0;font-size:14px;padding:6px 16px;border-radius:7px;color:var(--muted);font-weight:500}
.screen-records .rd-tabs a[aria-current=page]{background:white;color:var(--ink);box-shadow:0 1px 3px #20273518}
.screen-records .rd-tabs a[aria-current=page] svg{color:var(--accent)}
.screen-records .rd-controls{padding-top:0;flex:none}
.screen-records .rd-tools{grid-template-columns:minmax(250px,1fr) 232px 220px;gap:18px}
.screen-records .rd-tools label{font-size:12px;margin-bottom:6px;color:var(--muted)}
.screen-records .rd-tools input,.screen-records .rd-tools select{font-size:14px;height:42px;border:1px solid #cbd2dd;border-radius:8px;background-color:#fff;padding-right:14px}
.screen-records .rd-tools input:hover,.screen-records .rd-tools select:hover{border-color:#98a5b8}
.screen-records .rd-tools input:focus,.screen-records .rd-tools select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb12}
.screen-records .rd-tools select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23596272' stroke-width='1.6'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat}
.screen-records .rd-tools input{padding-left:39px;background-position:13px center}
.screen-records .rd-datebar{min-height:76px;gap:16px}
.screen-records .rd-datebar h2{font-size:20px;letter-spacing:-.4px;font-weight:500}
.screen-records .rd-arrows{gap:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:white}
.screen-records .rd-arrows .rd-button{border:0;background:white;width:32px;min-height:30px;border-radius:0;font-size:22px;color:var(--muted)}
.screen-records .rd-arrows .rd-button+.rd-button{border-left:1px solid var(--line)}
.screen-records .rd-summary{font-size:13px;color:var(--muted)}
.screen-records .rd-summary strong{font-weight:400;color:var(--amber)}
.screen-records .rd-table-shell{border:1px solid #ccd3dd;border-radius:12px;background:white;box-shadow:0 3px 10px #20273505;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd2dd transparent;flex:none}
.screen-records .rd-table th{font-size:12px;color:var(--muted);font-weight:500;background:#f7f8fa;padding:13px 20px;border-color:var(--line)}
.screen-records .rd-table th:first-child{width:125px}
.screen-records .rd-table th:nth-child(2){width:33%}
.screen-records .rd-table th:nth-child(3){width:24%}
.screen-records .rd-table th:nth-child(4){width:165px}
.screen-records .rd-table th:nth-child(5){width:230px}
.screen-records .rd-table th:last-child{width:110px}
.screen-records .rd-today-view .rd-table td{padding:12px 20px;border-color:#e5e8ed;vertical-align:top;background:white}
.screen-records .rd-today-view .rd-table .waiting td{background:#fffefa}
.screen-records .rd-today-view .rd-table .waiting td:first-child{box-shadow:inset 3px 0 #d4a047}
.screen-records .rd-time{font-size:18px;font-weight:500;letter-spacing:-.4px;line-height:1.35}
.screen-records .rd-id,.screen-records .rd-duration{font-size:12px;line-height:1.4;margin-top:4px;color:#606b7d}
.screen-records .rd-patient{font-size:15px;font-weight:500;line-height:1.45;margin-bottom:4px;color:var(--ink)}
.screen-records .rd-details{font-size:12px;color:var(--muted);gap:3px 13px}
.screen-records .rd-row-diagnosis{font-size:12px;line-height:1.5;margin-top:5px;color:var(--muted)}
.screen-records .rd-title{font-size:14px;font-weight:400;line-height:1.5}
.screen-records .rd-rec-note{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}
.screen-records .rd-source{font-size:12px;color:var(--muted)}
.screen-records .rd-source-icon{width:15px;height:15px}
.screen-records .rd-badge{padding:4px 9px;border-radius:6px}
.screen-records .rd-status-detail{font-size:12px;margin-top:6px;color:var(--muted)}
.screen-records .rd-status-detail .rd-small{min-height:28px;padding:4px 9px;border-radius:5px;border-color:#c5cfdf;font-size:12px;background:white}
.screen-records .rd-open{font-size:12px;font-weight:500;color:var(--ink);border:1px solid #d5dbe5;border-radius:7px;min-height:30px;padding:4px 9px;gap:7px;white-space:nowrap}
.screen-records .rd-open::after{content:'';width:5px;height:5px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg);opacity:.65}
.screen-records .rd-open:hover{color:var(--accent);border-color:#8ea9e0;background:#f7f9ff}
.screen-records .rd-footer{padding-top:16px;font-size:12px;color:var(--muted)}
.screen-records .rd-today-view .rd-table-shell{box-shadow:0 4px 12px #20273506}
.screen-records .rd-today-view .rd-table td:nth-child(2){position:relative;padding-left:65px}
.screen-records .rd-today-view .rd-patient::before{content:attr(data-initials);position:absolute;top:14px;left:20px;width:32px;height:32px;border-radius:10px;background:#f0f3f8;border:1px solid #e0e6f0;display:grid;place-items:center;color:#5d7092;font-size:11px;font-weight:500;letter-spacing:0}
.screen-records .rd-today-view .rd-patient[data-initials="—"]::before{font-size:17px;color:#8491a6}
.screen-records .rd-today-view .waiting .rd-patient::before{background:#fff7e7;color:#9a742d;border-color:#ecdab2}
.screen-records .rd-today-view .rd-table td{padding-top:11px;padding-bottom:11px}
.screen-records .rd-today-view .rd-summary strong{display:inline-block;background:#fff8e9;border:1px solid #ead8b3;border-radius:6px;padding:4px 8px;margin-left:5px}
.screen-records .rd-today-view .rd-badge{border-radius:6px}
.screen-records .rd-today-view .rd-patient:hover::before{border-color:#a0b6df}
.screen-records .rd-today-view .rd-heading{min-height:96px}
.screen-records .rd-tools{padding:10px 16px}
.screen-records .rd-tools input,.screen-records .rd-tools select{height:40px}
.screen-records .rd-tools label{margin-bottom:4px}
.screen-records .rd-datebar{min-height:64px}
.screen-records .rd-today-view .rd-table td{padding-top:7px;padding-bottom:7px}
.screen-records .rd-today-view .rd-patient::before{top:10px;font-size:12px}
.screen-records .rd-main{min-height:0}
.screen-records .rd-controls{padding-top:0}
.screen-records .rd-table-shell{flex:0 1 auto}
.screen-records .rd-main .rd-search-wrap input{padding-left:39px}
.screen-records .rd-main .rd-tools input{background-image:none}
.screen-records .rd-search-wrap .icon{left:13px}
.screen-records .rd-main .rd-title.rd-untitled{color:var(--ink)}
.screen-records .rd-table td.rd-source{padding-top:7px}
.screen-records .rd-arrows .rd-button+.rd-button{border-left:1px solid var(--line)}
.screen-records .rd-main .rd-summary strong{display:inline-block;background:#fff8e9;border:1px solid #ead8b3;border-radius:6px;padding:4px 8px;margin-left:5px}
}

/* A radial progress glyph remains recognizable in a still image. */
.rd-badge.work::before{width:12px;height:12px;border:0;border-radius:0;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cg%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M12%202v3M12%2019v3M2%2012h3M19%2012h3M4.9%204.9l2.2%202.2M16.9%2016.9l2.2%202.2M4.9%2019.1l2.2-2.2M16.9%207.1l2.2-2.2%27/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.menu-disabled{display:block;padding:8px 14px;font-size:12px;color:var(--muted)}


#rd-choose-date{width:32px;min-height:30px;padding:0;border:0;border-left:1px solid var(--line);border-radius:0;background:white;color:var(--muted);display:grid;place-items:center}
#rd-choose-date[hidden]{display:none}
#rd-choose-date svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#rd-choose-date:hover,#rd-choose-date[aria-expanded=true]{background:var(--soft);color:var(--accent)}
.date-picker{position:fixed;inset:auto;margin:0;width:292px;padding:16px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);z-index:20}
.date-picker::backdrop{background:transparent}
.date-picker-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.date-picker-title{font-size:14px;font-weight:500;text-transform:capitalize}
.date-picker-nav{display:flex;gap:4px}
.date-picker-nav button{width:28px;min-height:28px;padding:0;border:1px solid var(--line);border-radius:6px;background:white;color:var(--muted);font-size:20px}
.date-picker-week,.date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.date-picker-week span{text-align:center;font-size:12px;color:var(--muted);padding:5px 0 8px}
.date-picker-days button{width:100%;min-height:32px;padding:0;border:1px solid transparent;border-radius:7px;background:white;color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums}
.date-picker-days button:hover{background:var(--soft);color:var(--accent)}
.date-picker-days button[aria-current=date]{background:var(--accent);color:white;border-color:var(--accent)}
.date-picker-days button:focus-visible,.date-picker-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

@media(max-width:700px){.rd-patient::before{display:none}.rd-arrows #rd-choose-date{width:30px;min-height:30px}}

.screen-records{--rd-red:var(--red);--rd-red-bg:var(--red-bg)}
@media screen and (min-width:701px){.screen-records .rd-table tbody tr:hover td{background:#f6f8fd}.screen-records .rd-table .waiting td:first-child{box-shadow:inset 3px 0 #d4a047}}
@media screen and (min-width:701px){.screen-records .brand-mark svg{visibility:hidden}.screen-records .brand-mark{position:relative}.screen-records .brand-mark::before{content:"";position:absolute;width:25px;height:25px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012v5m5-9v12m5-16v20m5-15v10m5-7v5%22/%3E%3C/svg%3E") center/contain no-repeat}}
.rd-source::before,.rd-source-mobile::before{display:inline-block;content:"";width:15px;height:15px;margin-right:6px;vertical-align:middle;background:currentColor}
.rd-source[data-source=device]::before,.rd-source-mobile[data-source=device]::before{mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%227%22%20y%3D%223%22%20width%3D%2210%22%20height%3D%2218%22%20rx%3D%223%22/%3E%3Cpath%20d%3D%22M10%207h4m-4%204h4m-3%206h2%22/%3E%3C/svg%3E") center/contain no-repeat}
.rd-source[data-source=computer]::before,.rd-source-mobile[data-source=computer]::before{mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2213%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8%2021h8m-4-4v4%22/%3E%3C/svg%3E") center/contain no-repeat}
.rd-source[data-source=iphone]::before,.rd-source-mobile[data-source=iphone]::before{mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%226%22%20y%3D%222%22%20width%3D%2212%22%20height%3D%2220%22%20rx%3D%223%22/%3E%3Cpath%20d%3D%22M10%2018h4%22/%3E%3C/svg%3E") center/contain no-repeat}
.rd-source[data-source=android]::before,.rd-source-mobile[data-source=android]::before{mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%226%22%20y%3D%222%22%20width%3D%2212%22%20height%3D%2220%22%20rx%3D%223%22/%3E%3Cpath%20d%3D%22M10%2018h4%22/%3E%3C/svg%3E") center/contain no-repeat}
.rd-source:not([data-source])::before,.rd-source[data-source=""]::before,.rd-source-mobile:not([data-source])::before{display:none}
/* Existing compact layouts retain their available width below the sketch's desktop size. */
@media screen and (min-width:701px) and (max-width:1179px){
.screen-records .rd-main{padding-left:20px;padding-right:20px}
.screen-records .rd-tools{grid-template-columns:minmax(140px,1fr) 145px 125px;gap:10px}
.screen-records .rd-heading{gap:24px}
.screen-records .rd-heading h1{font-size:28px}
.screen-records .rd-main .rd-tabs a{padding:6px 10px}
.screen-records .rd-main #rd-new{padding:8px 12px}
}
@media screen and (min-width:701px){.screen-records .rd-main .rd-tools label{line-height:18px}.screen-records .rd-main .rd-tools input,.screen-records .rd-main .rd-tools select{height:40px}}
@media screen and (min-width:701px){.screen-records .rd-tools{background:#fff;border:1px solid #d5dce6;border-radius:12px;padding:10px 16px;gap:16px;box-shadow:0 2px 6px #20273504}}

/* Keep the approved tablet column widths after the desktop SaaS overrides. */
@media screen and (min-width:701px) and (max-width:1100px){
.screen-records .rd-today-view .rd-table th,.screen-records .rd-today-view .rd-table td{padding-left:8px;padding-right:8px}
.screen-records .rd-today-view .rd-table th:first-child{width:72px}
.screen-records .rd-today-view .rd-table th:nth-child(2){width:auto}
.screen-records .rd-today-view .rd-table th:nth-child(3){width:86px}
.screen-records .rd-today-view .rd-table th:nth-child(4){width:96px}
.screen-records .rd-today-view .rd-table th:nth-child(5){width:145px}
.screen-records .rd-today-view .rd-table th:last-child{width:100px}
.screen-records .rd-today-view .rd-table td:nth-child(2){padding-left:48px}
.screen-records .rd-today-view .rd-patient::before{left:8px}
}

.screen-records .rd-number { margin-left:10px;font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap; }
/* Общая строка заголовка: эталон «Записи → Сегодня», без сдвига вкладок. */
#app { --page-heading-height: 96px; }
.screen-records .rd-heading,
.screen-records .rd-today-view .rd-heading { min-height: var(--page-heading-height); }
.screen-profile .page-head .container {
  min-height: calc(var(--page-heading-height) - 1px); padding-top: 12px; padding-bottom: 12px; align-items: center;
}

/* Дни остаются над прокручиваемой шкалой. Последняя подпись внутри последнего часа. */
.rdw-calendar { overflow: auto; scrollbar-width: thin; }
.rdw-days { position: sticky; top: 0; z-index: 3; }
.rdw-calendar-body { flex: none; overflow: visible; }
.rdw-tick:last-child { transform: translateY(-100%); }

@media screen and (max-width: 700px) {
  #app { --page-heading-height: 149px; }
  .screen-records .rd-heading {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px;
    align-content: center; padding: 16px 0;
  }
  .screen-records .rd-heading .rd-tabs { min-height: 0; }
  .screen-records .rd-heading-actions { grid-column: 1 / -1; margin: 0; }
  .screen-profile .page-head .container { justify-content: center; align-items: stretch; }
  .rdw-calendar { max-height: calc(100dvh - 32px); }
}

/* Шапка сайта на телефоне (решение 02.10, п. 4, docs/decisions/2026-09-28-record-screen-states.md; эскизы
   design/patient-found/patient-found-mobile.html и start-site-ios.html): кнопка меню слева, рядом логотип,
   меню — «Все записи», профиль врача, состояние видеокарты тестеру. На компьютере скрыта; показывает её медиазапрос
   экрана записи (record.css, до 999 px). На «Записях» остаётся своя шапка: в ней «Выйти» и видеокарта. Слои: шапка 30 — выше шапки записи (z-index 21) и её меню, ниже окна транскрипции (40). */
.site-header { display: none; order: -1; position: sticky; top: 0; z-index: 30; flex: none; background: #fff;
  border-bottom: 1px solid #d7dce4; color: #202735; font-family: DenManrope, "Segoe UI", Arial, sans-serif; }
.site-header-row { height: 60px; padding: 0 12px 0 8px; display: flex; align-items: center; justify-content: flex-start; gap: 8px; }
/* Размеры шапки — эскиз design/mobile-tabs2/mobile-tabs2.html (.site-row, .menu-toggle, .brand): высота 60, кнопка 44×44
   в точке 8,8 без рамки, значок меню 20 px (три линии 1.6/24), логотип 30 px. Одинаковы на всех экранах телефона. */
.site-header .menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0;
  border-radius: 8px; background: transparent; color: #596272; cursor: pointer; touch-action: manipulation; }
.site-header .menu-toggle:active { background: #e8ebf0; }
.site-header .menu-glyph { display: grid; gap: 3.67px; width: 13.33px; }
.site-header .menu-glyph i { height: 1.33px; background: currentColor; border-radius: 1px; }
.site-header [aria-expanded=true] .menu-glyph i:first-child { transform: translateY(5px) rotate(45deg); }
.site-header [aria-expanded=true] .menu-glyph i:nth-child(2) { visibility: hidden; }
.site-header [aria-expanded=true] .menu-glyph i:last-child { transform: translateY(-5px) rotate(-45deg); }
.site-header .site-brand { display: flex; gap: 9px; align-items: center; width: max-content; font-size: 20px; font-weight: 600;
  line-height: 1.5; letter-spacing: -.4px; color: #202735; text-decoration: none; }
.site-header .site-brand-symbol { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px;
  background: var(--accent); color: #fff; }
.site-header .site-brand-symbol svg { width: 20px; height: 20px; }
#site-menu { position: absolute; z-index: 21; top: 100%; left: 0; right: 0; padding: 8px 16px 16px; background: #fff;
  border-bottom: 1px solid var(--line); box-shadow: 0 8px 18px #17284214; }
#site-menu[hidden] { display: none; }
#site-menu .site-back-link { display: flex; align-items: center; gap: 12px; min-height: 48px; font-size: 14px; color: var(--muted);
  text-decoration: none; }
#site-menu .site-back-link .icon { width: 17px; height: 17px; }
#site-menu .profile-link { display: block; padding: 12px 0; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
#site-menu .site-doctor { display: flex; align-items: center; gap: 12px; font-size: 14px; }
#site-menu .site-doctor > span:last-child { min-width: 0; overflow-wrap: anywhere; }
#site-menu .site-doctor small { display: block; margin-top: 3px; font-size: 12px; color: var(--muted); }
#site-menu .site-doctor small[hidden] { display: none; }
#site-menu .site-avatar { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%;
  background: #e7efff; color: #285cae; font-size: 12px; }
#site-menu .gpu-status { display: flex; align-items: center; gap: 8px; padding: 12px 0 0; border-top: 1px solid var(--line);
  font-size: 12px; color: var(--muted); }
/* «Выйти» — только в меню телефонных вкладок «Запись · Приёмы»; вид — как у ссылки «Все записи» */
#site-menu .site-logout { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 48px; margin-top: 12px; padding: 0;
  border: 0; border-top: 1px solid var(--line); background: none; font: inherit; font-size: 14px; color: var(--muted); cursor: pointer; }
#site-menu .site-logout .icon { width: 17px; height: 17px; }
#site-menu .gpu-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #1c9c70; }
#site-menu .gpu-status.is-offline .gpu-dot { background: var(--danger); }
@media print { .site-header { display: none !important; } }

/* Телефон: поля ввода не мельче 16 px — iOS не увеличивает экран при фокусе поля (вместе с maximum-scale=1 в
   meta viewport, index.html; приближение пальцами не запрещено). Владелец 07.10, задача 2-26-327-3. Поле, которое
   наследует шрифт крупнее (1em — шрифт родителя), остаётся крупнее. Компьютер не меняется. */
@media screen and (max-width: 999px) {
  input, textarea, select, [contenteditable]:not([contenteditable="false"]) { font-size: max(16px, 1em) !important; }
}

/* Главный экран — один на обе вкладки (слова владельца 08.10, чат 2-56-359-1): «Неделя» без кнопки календаря держит
   под неё место, дата не сдвигается; полоса прокрутки занимает место всегда (на «Неделе» страница длиннее окна,
   на «Сегодня» с короткой таблицей — нет), иначе ширина страницы прыгает на ширину полосы. */
.rd-calendar-view .rd-arrows { margin-right: 32px; }
/* телефон: «Сегодня» — другой экран (mountPhone), держать место нечем */
@media screen and (max-width: 700px) { .rd-calendar-view .rd-arrows { margin-right: 0; } }
html:has(.screen-records.has-strip) { scrollbar-gutter: stable; }
