/* Медицинская пастельная тема Службы (взята из «Отчета смены»): день и ночь. Подключать первой, остальные стили
   используют только эти переменные. Ночь: класс night на body (авто 21:00-08:00, переключатель ☀/☾ в шапке). */
:root, body {
  --bg:#F5F4F0; --screen:#FFFFFF; --card:#FFFFFF; --field:#FFFFFF; --ink:#22303C; --muted:#5F6B77; --line:#E1E5E9; --line2:#848D98; --sep:#BFC8D1;
  --accent:#297062; --accent-ink:#FFFFFF; --accent-soft:#DDEFEA; --coral:#C34628; --coral-ink:#FFFFFF;
  --red:#A83F32; --red-soft:#F7E2DE; --amber:#875D0F; --amber-soft:#F6ECD3; --green:#2E7048; --green-soft:#E1F0E5;
  --blue:#33639A; --blue-soft:#DDE8F5; --violet:#64529C; --violet-soft:#E8E2F5; --grey-soft:#EEF1F4;
  --radius:12px; --radius-sm:8px; --shadow:0 1px 2px rgba(34,48,60,.06), 0 6px 18px rgba(34,48,60,.06);
  --font:'Inter','Segoe UI',Arial,sans-serif; --fs:17px;
  /* шкала шрифта по роли (31.10.2026, план дизайна): подписи, вторая строка, текст, заголовки, большие цифры */
  --fs-cap:15px; --fs-sm:16px; --fs-h3:19px; --fs-h2:22px; --fs-h1:28px; --fs-num:34px;
  /* размеры элементов: высота кнопок и полей, одна кнопка для всех, отступы 4 8 12 16 24 32 */
  --h-ctl:42px; --h-sm:32px; --radius-btn:10px; --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px;
  --surface-raised:#FFFFFF; --focus:var(--accent);
  /* палитра графиков: порядок рядов фиксирован, коралл только для критичного */
  --ch-1:#2A78D6; --ch-2:#EB6834; --ch-3:#1BAF7A; --ch-4:#EDA100; --ch-5:#E87BA4; --ch-6:#008300; --ch-7:#6250D6; --ch-8:#A05A2C;
  /* проверено validate_palette.js 31.10.2026: соседние ряды различимы при дальтонизме, у рядов 3-5 контраст к белому ниже 3:1,
     поэтому у каждого графика подписи значений и кнопка «Таблица». Шкала величины (один оттенок), план и факт (синий и охра, серая середина) */
  --seq-1:#7FC0AF; --seq-2:#4E9F89; --seq-3:#2F826D; --seq-4:#1A6552; --seq-5:#0F493B;
  --div-neg:#2A78D6; --div-mid:#EEF1F4; --div-pos:#C98500;
  /* доска клиники: пробка и записки (шаг 13 дизайна), ночью приглушены */
  --board-bg:#C9A070; --board-ink:#3C2814; --note-ink:#2A2A2A; --note-link:#1A4D8A;
  --note-yellow:#F6E27A; --note-green:#BFE3B4; --note-blue:#BCD9F5; --note-pink:#F7C6D9; --note-white:#FBFBF7; --note-orange:#F9C784; --area-bg:rgba(255,255,255,.35);
  /* плашки вида госпитализации (карточки коек) */
  --h-oms:#DCEBF7; --h-oms8:#E6DFF3; --h-day:#F6DFE7; --h-pmu:#F3E9D2; --h-stereo:#EFD9D9; --h-empty:#EEF1F4;
  /* подложка по приступам */
  --pt-green:#E4F1E6; --pt-yellow:#F7EDC8; --pt-red:#F5DAD5;
  /* категории пациентов для ленты и ассистента */
  --cat-watch:#DDEFEA; --cat-stereo:#EFD9D9; --cat-postcoag:#F6ECD3; --cat-postop:#E8E2F5; --cat-queue:#DDE8F5; --cat-consult:#EEF1F4;
  /* категории календаря коек (подкалендари TeamUp заказчика): подложка и кромка */
  /* насыщенные, как подкалендари TeamUp заказчика: подложка, кромка (темнее) и цвет текста */
  --cal-text:#FFFFFF; --cal-text-dark:#22303C;
  --cal-outsource:#717782; --cal-outsource-ink:#5C6068; --cal-oms3:#2B4C9B; --cal-oms3-ink:#1F3A7A; --cal-oms4:#7B5CB8; --cal-oms4-ink:#5F4595; --cal-oms8:#1F2F6B; --cal-oms8-ink:#172352;
  --cal-vacation:#B5B9C2; --cal-vacation-ink:#8D929C; --cal-ofekt:#D13D74; --cal-ofekt-ink:#9F4064; --cal-pmu:#8F731C; --cal-pmu-ink:#745D14;
  --cal-stereo:#B8294F; --cal-stereo-ink:#931F3E; --cal-trips:#7FA39A; --cal-trips-ink:#62857C; --cal-service:#5E6B7A; --cal-service-ink:#48535F;
  /* длительность мониторинга (Красноярск, Шымкент, 31.10.2026) */
  --cal-dday:#2F8577; --cal-dday-ink:#23665B; --cal-dnight:#3B4F9E; --cal-dnight-ink:#2C3C7A; --cal-d24:#6E58B8; --cal-d24-ink:#544394;
  --cal-d72:#A2652A; --cal-d72-ink:#7E4E1F; --cal-dlong:#B03A5C; --cal-dlong-ink:#8B2D48; --cal-dhome:#7E8530; --cal-dhome-ink:#62681F;
}
body.night {
  --bg:#11151B; --screen:#1A2029; --card:#19202A; --field:#141A22; --ink:#E5E9EE; --muted:#97A3AF; --line:#364150; --line2:#606D7E; --sep:#3A4553; --surface-raised:#212935;
  --accent:#62B8A3; --accent-ink:#0E1A17; --accent-soft:#1F3A34; --coral:#D2735D; --coral-ink:#1A0F0B;
  --red:#E28274; --red-soft:#3A2321; --amber:#D9B15C; --amber-soft:#3A3120; --green:#7CC292; --green-soft:#1E3227;
  --blue:#7FA7DA; --blue-soft:#1E2B3C; --violet:#A697D8; --violet-soft:#2A2540; --grey-soft:#202832;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 6px 18px rgba(0,0,0,.35);
  --ch-1:#3987E5; --ch-2:#D95926; --ch-3:#199E70; --ch-4:#C98500; --ch-5:#D55181; --ch-6:#008300; --ch-7:#9085E9; --ch-8:#1AA3B8;
  --seq-1:#2F6B5C; --seq-2:#3E8C78; --seq-3:#52AA93; --seq-4:#7CC6B1; --seq-5:#A8DECF;
  --div-neg:#3987E5; --div-mid:#202832; --div-pos:#C98500;
  --board-bg:#4A3A2A; --board-ink:#E8DCC8; --note-ink:#1F1F1F; --note-link:#163E70;
  --note-yellow:#C9B65A; --note-green:#95B98A; --note-blue:#93AFCB; --note-pink:#C79AAB; --note-white:#D9D7CF; --note-orange:#CBA06A; --area-bg:rgba(255,255,255,.12);
  --h-oms:#1E2C3A; --h-oms8:#2A2540; --h-day:#3A2630; --h-pmu:#3A3120; --h-stereo:#3A2321; --h-empty:#202832;
  --pt-green:#1C2D24; --pt-yellow:#352F1C; --pt-red:#3A2321;
  --cat-watch:#1F3A34; --cat-stereo:#3A2321; --cat-postcoag:#3A3120; --cat-postop:#2A2540; --cat-queue:#1E2B3C; --cat-consult:#202832;
  --cal-text:#F4F6F8; --cal-text-dark:#1A2029;
  --cal-outsource:#6A6F78; --cal-outsource-ink:#52575F; --cal-oms3:#243F82; --cal-oms3-ink:#1A2F62; --cal-oms4:#664C9C; --cal-oms4-ink:#4E397A; --cal-oms8:#1A2858; --cal-oms8-ink:#121C40;
  --cal-vacation:#9A9EA7; --cal-vacation-ink:#7A7F88; --cal-ofekt:#B44E74; --cal-ofekt-ink:#8A4961; --cal-pmu:#886E1A; --cal-pmu-ink:#6C5612;
  --cal-stereo:#9A2243; --cal-stereo-ink:#781A34; --cal-trips:#6E8F87; --cal-trips-ink:#536E67; --cal-service:#4E5A68; --cal-service-ink:#3B4550;
  --cal-dday:#2A7569; --cal-dday-ink:#1E574E; --cal-dnight:#33458A; --cal-dnight-ink:#25336A; --cal-d24:#5F4CA0; --cal-d24-ink:#48397C;
  --cal-d72:#8C5824; --cal-d72-ink:#6C431A; --cal-dlong:#98334F; --cal-dlong-ink:#76273D; --cal-dhome:#6D7329; --cal-dhome-ink:#53581C;
}
html, body { background: var(--bg); color: var(--ink); font-family: var(--font); font-size: var(--fs); }
/* базовые элементы темы, чтобы части выглядели одинаково */
.t-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 14px 16px; }
/* смена дня и ночи без размазывания: на один кадр переходы отключены (sl.js вешает класс) */
body.no-trans, body.no-trans * { transition: none !important; }
.t-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: var(--h-ctl); padding: 0 16px; border-radius: var(--radius-btn); border: 1px solid var(--line2); background: var(--card); color: var(--ink); font: inherit; font-weight: 550; cursor: pointer; transition: transform .16s ease-out; }
.t-btn:active { transform: scale(.96); }
.t-btn.small { min-height: var(--h-sm); padding: 0 10px; font-size: var(--fs-cap); }
.t-btn:hover { border-color: var(--accent); }
.t-btn.primary { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); font-weight: 600; }
.t-btn.coral { background: var(--coral); border-color: var(--coral); color: var(--coral-ink); font-weight: 700; font-size: 1.1em; padding: 12px 22px; }
.t-btn.danger { color: var(--red); border-color: var(--red); }
.t-pill { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: var(--fs-cap); font-weight: 600; background: var(--grey-soft); color: var(--ink); }
.t-pill.ok { background: var(--green-soft); color: var(--green); } .t-pill.warn { background: var(--amber-soft); color: var(--amber); }
.t-pill.bad { background: var(--red-soft); color: var(--red); } .t-pill.acc { background: var(--accent-soft); color: var(--accent); }
.t-field { font: inherit; min-height: var(--h-ctl); padding: 0 11px; border: 1px solid var(--line2); border-radius: var(--radius-btn); background: var(--field); color: var(--ink); }
textarea.t-field { min-height: 76px; padding: 8px 11px; }
.t-field:focus { outline: 2px solid var(--accent-soft); border-color: var(--accent); }
.t-tabs { display: flex; gap: 6px; flex-wrap: wrap; } .t-tabs .t-tab { padding: 7px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); cursor: pointer; }
.t-tabs .t-tab.active { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); font-weight: 600; }
.t-table { border-collapse: collapse; width: 100%; } .t-table th, .t-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.t-table th { color: var(--muted); font-weight: 600; font-size: var(--fs-cap); }
.t-muted { color: var(--muted); } .t-bang { color: var(--coral); font-weight: 800; }
/* шаг 14 дизайна (31.10.2026), телефон и масштаб 200%: таблицы прокручиваются по горизонтали внутри карточки, вкладки
   лентой, поля и кнопки не шире экрана, заголовки по шкале шрифта. Проверка на 360 px: .t-table становится блоком со своей прокруткой */
@media (max-width: 700px) {
  .t-table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .t-table thead, .t-table tbody, .t-table tfoot { display: table; width: 100%; min-width: max-content; }
  .t-table th, .t-table td { padding: 8px 8px; }
  .t-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; padding-bottom: 2px; }
  .t-tabs .t-tab { white-space: nowrap; flex: none; }
  .t-field, .t-btn { max-width: 100%; }
  h1 { font-size: var(--fs-h1); } h2 { font-size: var(--fs-h2); } h3 { font-size: var(--fs-h3); }
  .ds-head h1, .nw-head h1 { font-size: var(--fs-h1); }
  .nw-f input, .kd-f .t-field, .fl-acts .t-field, .st-head .t-field { width: 100%; min-width: 0; }
  .nw-f, .kd-f { width: 100%; }
  .st-head label { display: flex; flex-direction: column; flex: 1; min-width: 140px; }
  .nw-tbl, .kd-flush, .st-flush, .fn-flush, .ds-flush { max-width: 100%; }
}
