/* Демо-кабинет на странице «Партнёрам» (/partners/#demo), этап 100.
   Карточки, календарь и таблицы берут стили макетов .mk-… из site2.css;
   здесь — только оболочка демо, форма заявки и колонка подсказок. */

.dm-roles { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.dm-roles button { border: 1.5px solid var(--line); background: #fff; color: var(--ink); font: inherit; font-weight: 700; font-size: 16px; padding: 11px 22px; border-radius: 999px; cursor: pointer; transition: border-color .15s, background .15s; }
.dm-roles button:hover { border-color: var(--ink); }
.dm-roles button.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }

.dm { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 20px; align-items: start; }
.dm .mk { cursor: auto; }
.dm button { font-family: inherit; }
.dm-shell { position: relative; display: grid; grid-template-columns: 172px minmax(0, 1fr); min-height: 620px; }

/* Меню кабинета */
.dm-nav { background: #fff; border-right: 1px solid var(--line); padding: 14px 10px; display: flex; flex-direction: column; gap: 4px; }
.dm-nav button { display: flex; align-items: center; justify-content: space-between; gap: 6px; border: 0; background: none; text-align: left; font-size: 14px; font-weight: 700; color: var(--ink); padding: 10px 12px; border-radius: 12px; cursor: pointer; }
.dm-nav button:hover { background: var(--gray); }
.dm-nav button.is-on { background: var(--red); color: #fff; }
.dm-nav button span { background: var(--red); color: #fff; border-radius: 10px; min-width: 20px; padding: 0 6px; font-size: 11.5px; line-height: 20px; text-align: center; }
.dm-nav button.is-on span { background: #fff; color: var(--red); }
.dm-nav p { margin: auto 0 0; padding: 14px 6px 2px; font-size: 11.5px; line-height: 1.4; color: #9AA0A6; }

.dm-main { padding: 18px; min-width: 0; }
.dm-title { font-size: 22px; margin: 0 0 14px; }
.dm-tools { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.dm-note { margin: 0 0 14px; color: #8A9099; font-size: 13px; }
.dm-empty { margin: 0; text-align: center; color: #9AA0A6; padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.dm-flash { margin: 0 0 14px; padding: 10px 14px; border-radius: 12px; background: #E6F4EA; color: #17602A; font-weight: 600; font-size: 13.5px; }
.dm-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 12px; }
.dm-gap { margin-top: 16px; }
.dm-off { opacity: .55; }
.dm button.mk-btn { border: 0; cursor: pointer; font-size: 12.5px; }
.dm button.mk-btn:hover { filter: brightness(.95); }
.dm .mk-tabs button { border: 0; padding: 6px 14px; border-radius: 18px; background: #E7E9EC; font-size: 12.5px; font-weight: 600; color: var(--ink); cursor: pointer; }
.dm .mk-tabs button.is-on { background: var(--red); color: #fff; }
.dm .mk-slider > .mk-card { flex-basis: 270px; }
.dm .mk-week { grid-template-columns: repeat(7, minmax(78px, 1fr)); gap: 5px; }
.dm .mk-day { min-height: 120px; }
.dm-month .mk-day { min-height: 74px; }
.dm button.mk-lead { display: block; width: 100%; border: 0; text-align: left; color: var(--ink); cursor: pointer; }
.dm button.mk-lead:hover { background: #E7E9EC; }
.dm .mk-lead.is-done { opacity: .5; text-decoration: line-through; }
.dm .mk-shifts.is-edit td[data-act] { cursor: pointer; }
.dm .mk-shifts.is-edit td[data-act]:not(.is-on):hover { background: #DFE2E5; }
.dm .mk-shifts.is-edit td.is-on:hover { background: #1B8A4A; }
.dm-wait { margin-top: 10px; padding-top: 10px; border-top: 1px solid #E4E6E8; }
.dm-wait > span { display: block; font-size: 10.5px; font-weight: 800; color: #9AA0A6; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 6px; }
.dm-wait > div { display: flex; gap: 6px; }

/* Карточка заявки поверх календаря — как в кабинете */
.dm-modal { position: absolute; inset: 0; background: rgba(20,23,26,.45); display: flex; align-items: flex-start; justify-content: center; padding: 28px 16px; overflow: auto; z-index: 2; }
.dm-modal__box { position: relative; width: 100%; max-width: 400px; background: #fff; border-radius: 16px; padding: 8px; box-shadow: 0 20px 50px rgba(20,23,26,.3); }
.dm-modal__box .mk-card { border: 0; }
.dm-modal__x { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border-radius: 50%; border: 0; background: var(--gray); font-size: 20px; line-height: 1; cursor: pointer; }

/* Форма заявки — блоки как .service-block и .btn-option в кабинете */
.dm-form { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 16px; align-items: start; }
.dm-form__main { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px; min-width: 0; }
.dm-f { margin-bottom: 12px; min-width: 0; }
.dm-f:last-child { margin-bottom: 0; }
.dm-f > label, .dm-pricebox > label { display: block; font-size: 12.5px; color: var(--muted); margin-bottom: 5px; }
.dm-f--short { max-width: 150px; }
.dm-fs { border: 1px solid #DFE3E8; border-radius: 10px; padding: 12px 14px 14px; margin: 0 0 14px; background: #F9F9FA; min-width: 0; }
.dm-fs legend, .dm-fs summary { padding: 0 6px; font-weight: 800; font-size: 13.5px; color: var(--ink); }
.dm-fs--details { padding-top: 10px; padding-bottom: 10px; }
.dm-fs summary { cursor: pointer; padding: 0; list-style: none; }
.dm-fs summary::-webkit-details-marker { display: none; }
.dm-fs summary::before { content: "▸ "; color: #9AA0A6; }
.dm-fs[open] summary { margin-bottom: 10px; }
.dm-fs[open] summary::before { content: "▾ "; }
.dm-input { display: block; width: 100%; border: 1px solid #C9CFD6; border-radius: 10px; padding: 8px 12px; font: inherit; font-size: 14px; background: #fff; color: var(--ink); }
.dm-input:focus { outline: 2px solid var(--red); outline-offset: 1px; }
textarea.dm-input { resize: vertical; }
.dm-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.dm-two--addr { grid-template-columns: minmax(0, 1fr) 110px; }
.dm-opts { display: flex; flex-wrap: wrap; gap: 6px; }
.dm-opts button { border: 1px solid #DFE3E8; background: #F4F5F7; border-radius: 18px; padding: 7px 14px; font-size: 13px; color: var(--ink); cursor: pointer; }
.dm-fs .dm-opts button { background: #fff; }
.dm-opts button:hover { background: #E7E9EC; }
.dm-opts button.is-on { background: var(--red); border-color: var(--red); color: #fff; }
.dm-opts--days button { text-align: center; line-height: 1.25; padding: 6px 11px; font-weight: 600; }
.dm-opts--days small { display: block; font-size: 11px; font-weight: 400; opacity: .75; }
.dm-busy { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.dm-busy span { background: #F4F5F7; border: 1px solid var(--line); border-radius: 8px; padding: 5px 10px; font-size: 12.5px; }
.dm-opts--days + .dm-f, .dm-busy + .dm-f { margin-top: 12px; }
.dm-check { display: flex; align-items: center; gap: 8px; font-size: 13.5px; cursor: pointer; margin-bottom: 10px; }
.dm-hintline { margin: 8px 0 0; color: #8A9099; font-size: 12px; line-height: 1.4; }
.dm-link { border: 0; background: none; padding: 0; font: inherit; color: var(--red); cursor: pointer; text-decoration: underline; }
.dm-form__side { position: sticky; top: 90px; }
.dm-pricebox { background: #fff; border: 1px solid #DFE3E8; border-radius: 10px; padding: 14px; }
.dm-pricebox > label { font-weight: 800; color: var(--ink); font-size: 13.5px; }
.dm-input--price { font-size: 18px; text-align: right; font-weight: 700; margin-bottom: 10px; }
.dm-line { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); padding: 2px 0; font-size: 12.5px; }
.dm-line--sum { margin-top: 6px; padding-top: 8px; border-top: 1px solid #E4E6E8; color: var(--ink); font-weight: 800; font-size: 13.5px; }
.dm-form__btns { display: flex; gap: 8px; margin-top: 4px; }
.dm-form__btns .mk-btn { padding: 10px 18px; }

/* Карточка: адреса-ссылки и «Дополнительно» */
.dm .mk-card__route a { color: var(--ink); text-decoration: none; }
.dm .mk-card__route a:hover { text-decoration: underline; color: var(--red-d); }
.dm-extra { margin-top: 10px; padding-top: 10px; border-top: 1px solid #E4E6E8; }
.dm-extra__t { font-size: 10.5px; font-weight: 800; color: #9AA0A6; text-transform: uppercase; letter-spacing: .03em; cursor: default; }
summary.dm-extra__t { cursor: pointer; list-style: none; }
summary.dm-extra__t::-webkit-details-marker { display: none; }
summary.dm-extra__t::before { content: "▸ "; }
details[open] > summary.dm-extra__t::before { content: "▾ "; }
.dm-extra dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; margin: 8px 0 0; }
.dm-extra dt { color: #8A9099; }
.dm-extra dd { margin: 0; }
.dm-crewrow { display: flex; flex-direction: column; gap: 3px; margin-top: 8px; color: var(--muted); }

/* Область подсказки: выделяется при наведении на пояснение */
.dm [data-zone] { border-radius: 10px; outline: 2px solid transparent; outline-offset: 4px; transition: outline-color .15s, background .15s, box-shadow .15s; }
.dm [data-zone].is-hot { outline-color: var(--red); background-color: rgba(249,79,73,.07); box-shadow: 0 0 0 4px rgba(249,79,73,.07); }
.dm button[data-zone], .dm .mk-btn[data-zone] { border-radius: 999px; }
.dm button[data-zone].is-hot { background-color: var(--red-d); box-shadow: 0 0 0 4px rgba(249,79,73,.25); }
.dm .mk-btn--line[data-zone].is-hot { background-color: var(--red-soft); }
.dm-zone--pin { position: relative; }
.dm-zone--pin > .dm-pin { position: absolute; top: -9px; right: 10px; z-index: 1; }

/* Номера подсказок: в кабинете — маленький кружок рядом с элементом */
.dm-pin { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--ink); color: #fff; font-style: normal; font-weight: 800; font-size: 11px; line-height: 1; margin-left: 6px; vertical-align: middle; flex: none; letter-spacing: 0; text-transform: none; transition: transform .15s, background .15s; }
.dm-pin.is-hot { background: var(--red); transform: scale(1.35); }
.mk-btn .dm-pin { background: #fff; color: var(--ink); }
.mk-btn--line .dm-pin { background: var(--ink); color: #fff; }
.dm-line span:last-child { white-space: nowrap; }

/* Колонка подсказок — рядом с кабинетом, не поверх него */
.dm-hints { position: sticky; top: 90px; background: #fff; border-radius: var(--r); padding: 20px 20px 18px; }
.dm-hints__h { margin: 0 0 12px; font-weight: 800; font-size: 17px; }
.dm-hints ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.dm-hints li { display: flex; gap: 10px; padding: 9px 8px; margin: 0 -8px; border-radius: 12px; font-size: 14px; line-height: 1.45; color: var(--muted); transition: background .15s; }
.dm-hints li.is-hot { background: var(--red-soft); }
.dm-hints li .dm-pin { margin: 2px 0 0; width: 22px; height: 22px; font-size: 12px; }
.dm-hints li.is-hot .dm-pin { background: var(--red); transform: none; }
.dm-hints li b { display: block; color: var(--ink); font-size: 15px; }
.dm-hints__f { margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.dm-hints__f button { border: 0; background: none; padding: 0; font: inherit; font-weight: 700; color: var(--red); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 1080px) {
  .dm { grid-template-columns: 1fr; }
  .dm-hints { position: static; }
  .dm-hints ol { grid-template-columns: 1fr 1fr; gap: 4px 20px; }
}
@media (max-width: 760px) {
  .dm-roles { flex-wrap: nowrap; overflow-x: auto; margin-right: -16px; padding-right: 16px; scrollbar-width: none; }
  .dm-roles button { flex: none; font-size: 15px; padding: 10px 18px; }
  .dm-shell { grid-template-columns: 1fr; min-height: 0; }
  .dm-nav { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); padding: 10px; scrollbar-width: none; }
  .dm-nav button { flex: none; white-space: nowrap; padding: 8px 14px; }
  .dm-nav p { display: none; }
  .dm-main { padding: 14px 12px; }
  .dm-form { grid-template-columns: 1fr; }
  .dm-form__side { position: static; }
  .dm-hints ol { grid-template-columns: 1fr; }
  .dm .mk-slider > .mk-card { flex-basis: 84%; }
  .dm .mk-week { grid-template-columns: repeat(7, 118px); }
}
@media (max-width: 420px) { .dm-two { grid-template-columns: 1fr; } }

/* Таблицы в демо уже, чем в макетах: помещаются в окно без прокрутки */
.dm .mk-pay { min-width: 460px; }
.dm .mk-pay th, .dm .mk-pay td { padding-left: 8px; padding-right: 8px; }
.dm .mk-shifts { min-width: 560px; }
.dm .mk-shifts .mk-shifts__role { width: 62px; padding: 0 6px; font-size: 11px; }
.dm .mk-shifts .mk-shifts__name { width: 108px; padding: 0 6px; }
.dm .mk-shifts .mk-shifts__sum { width: 38px; }

.dm-form__main > .dm-zone { margin-bottom: 14px; }

/* Этап 102: вкладки графика, занятость сиделок, календари в форме заявки */
.dm-tabs { align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.dm .mk-shifts td.is-day { background: #CDE8DB; color: #224031; font-weight: 800; }
.dm .mk-shifts td.is-night { background: #4C5B7A; color: #fff; font-weight: 800; }
.dm .mk-shifts td.is-full { background: #1F9D55; color: #0F3020; font-weight: 800; }
.dm-legend { display: flex; flex-wrap: wrap; gap: 14px; color: var(--muted); font-size: 12.5px; }
.dm-legend span { display: inline-flex; align-items: center; gap: 6px; }
.dm-legend i { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 4px; font-style: normal; font-weight: 800; font-size: 12px; }
.dm-legend .is-day { background: #CDE8DB; color: #224031; }
.dm-legend .is-night { background: #4C5B7A; color: #fff; }
.dm-legend .is-full { background: #1F9D55; color: #0F3020; }
.dm-more { margin-top: 8px; }
.dm-opts button:disabled { opacity: .45; cursor: default; }
.dm-mgrid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-top: 4px; }
.dm-mgrid > span { text-align: center; font-size: 11.5px; font-weight: 700; color: var(--muted); padding: 2px 0; }
.dm-mgrid button { border-radius: 8px; padding: 5px 2px; text-align: center; line-height: 1.2; font-weight: 600; }
.dm-mgrid button small { display: block; font-size: 10px; font-weight: 400; opacity: .75; }
.dm-hintline + .dm-busy { margin-top: 6px; }
.dm-free { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-bottom: 12px; font-size: 12.5px; color: var(--muted); }
.dm-free button { border: 1px solid #DFE3E8; background: #fff; border-radius: 18px; padding: 6px 13px; font-size: 13px; color: var(--ink); cursor: pointer; }
.dm-free button:hover { background: #E7E9EC; }
.dm-rowx { display: flex; gap: 8px; align-items: center; }
.dm-sub { margin-top: 12px; }
.dm-opts--hours button { padding: 5px 9px; font-size: 12px; }
.dm-dayrow { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.dm-dayrow b { width: 44px; font-size: 13px; }
.dm-fs .mk-nav { margin-bottom: 10px; }
.dm-fs .mk-nav b { font-size: 13.5px; }
.dm-cgrid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.dm-cgrid > span { text-align: center; font-size: 12px; font-weight: 700; color: var(--muted); padding: 2px 0; }
.dm-cgrid button { min-height: 54px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 6px; text-align: left; vertical-align: top; font-weight: 800; font-size: 13px; color: var(--muted); cursor: pointer; display: flex; align-items: flex-start; }
.dm-cgrid button:hover { background: #F4F5F7; }
.dm-cgrid button.is-today { border: 2px solid var(--red); }
.dm-cgrid button.is-full { background: #1F9D55; border-color: #1B8A4A; color: #fff; }
.dm-cgrid button.is-day { background: linear-gradient(to bottom, #1F9D55 50%, #fff 50%); border-color: #1B8A4A; color: #fff; }
.dm-cgrid button.is-night { background: linear-gradient(to top, #1F9D55 50%, #fff 50%); border-color: #1B8A4A; }
.dm-cgrid button.is-pending { background: #E6E8EB; border-color: #DF5A56; }
.dm-cgrid button.is-busy { background: repeating-linear-gradient(45deg, #E7E9EC, #E7E9EC 6px, #e2e2e2 6px, #e2e2e2 12px); cursor: not-allowed; color: #9AA0A6; }
.dm-cgrid button:disabled:not(.is-busy) { opacity: .45; cursor: default; }
.dm-f[data-zone] { padding: 2px 4px; margin-left: -4px; margin-right: -4px; }
@media (max-width: 760px) { .dm-cgrid button { min-height: 44px; } }
.dm-two--addr { grid-template-columns: minmax(0, 1fr) 150px; }
.dm-two--addr label { white-space: nowrap; }
.dm .mk-shifts { min-width: 620px; }
.dm .mk-shifts .mk-shifts__name { width: 150px; }
.dm .mk-shifts .mk-shifts__role { width: 58px; }

/* Этап 103. Календарь занятости: день — клетка шириной 28px, таблица шире окна
   прокручивается внутри своей рамки, «Должность» и «Сотрудник» при этом стоят на месте.
   Раньше 31 день сжимался в ширину окна, и числа с подписями вылезали из клеток. */
.dm .mk-shifts { table-layout: auto; width: max-content; min-width: 100%; }
.dm .mk-shifts th, .dm .mk-shifts td { min-width: 28px; box-sizing: border-box; }
.dm .mk-shifts .mk-shifts__role { position: sticky; left: 0; z-index: 1; width: 78px; min-width: 78px; max-width: 78px; padding: 0 8px; font-size: 11.5px; background: #fff; white-space: nowrap; }
.dm .mk-shifts .mk-shifts__name { position: sticky; left: 78px; z-index: 1; width: 164px; min-width: 164px; max-width: 164px; padding: 0 8px; background: #fff; box-shadow: 1px 0 0 #C9CFD6; }
.dm .mk-shifts th.mk-shifts__role, .dm .mk-shifts th.mk-shifts__name { background: #F4F5F7; }
.dm .mk-shifts .mk-shifts__sum { width: 52px; min-width: 52px; padding: 0 6px; }
@media (max-width: 760px) {
  .dm .mk-shifts .mk-shifts__role { display: none; }
  .dm .mk-shifts .mk-shifts__name { left: 0; width: 132px; min-width: 132px; max-width: 132px; font-size: 11.5px; }
}

/* Этап 103. Отчёты — блоки как в кабинете (admin/reports.php) */
.dm-off { cursor: default; }
.dm-rhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dm-rhead > div > span { display: block; margin-top: 2px; }
.dm-dates { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin-bottom: 12px; }
.dm-dates label { font-size: 12.5px; color: var(--muted); }
.dm-dates .dm-input { width: 160px; margin-top: 4px; }
.dm-dates .mk-btn { padding: 10px 16px; }
.dm-rnote { padding: 12px 16px 14px; border-top: 1px solid var(--line); color: #8A9099; font-size: 12.5px; line-height: 1.45; }
.dm-rnote p { margin: 0 0 6px; }
.dm-rnote p:last-child { margin-bottom: 0; }
.dm-rnote b { color: #464C55; }
.dm-fold { background: #fff; border: 1px solid var(--line); border-radius: 12px; margin-top: 16px; overflow: hidden; }
.dm-fold > summary { position: relative; padding: 14px 16px 14px 44px; cursor: pointer; list-style: none; }
.dm-fold > summary::-webkit-details-marker { display: none; }
.dm-fold > summary::before { content: "+"; position: absolute; left: 16px; top: 13px; width: 20px; height: 20px; border-radius: 50%; background: var(--gray); display: grid; place-items: center; font-weight: 800; color: var(--ink); }
.dm-fold[open] > summary::before { content: "−"; }
.dm-fold > summary:hover { background: #F9F9FA; }
.dm-fold > summary span { display: block; margin-top: 2px; color: var(--muted); font-size: 12.5px; }
.dm-fold__in { border-top: 1px solid var(--line); }
.dm-fold__in > .dm-note { padding: 14px 16px 0; }
.dm-fold__in > .dm-tabs { padding: 0 16px; margin-bottom: 10px; }
.dm-sec { padding: 18px 16px 8px; font-weight: 800; font-size: 15px; }
.dm-sec:first-child { padding-top: 14px; }
.dm-no { border: 0; background: none; padding: 0; font: inherit; color: var(--red); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; white-space: nowrap; }
.dm-role { display: inline-block; padding: 2px 9px; border-radius: 999px; font-style: normal; font-size: 11.5px; font-weight: 700; background: #E5E7E9; color: #464C55; }
.dm-role--driver { background: #E2EBF7; color: #2F5D8C; }
.dm-role--orderly { background: #E5E7E9; color: #961F1A; }
.dm-role--caregiver { background: #E2F0E9; color: #336B4F; }
.dm .mk-pay .minus { color: #E13B35; }
.dm .mk-pay tr.sub td { background: #F5F6F7 !important; font-weight: 700; }
.dm .mk-pay td.res { color: var(--red); font-weight: 800; font-size: 14.5px; }
.dm .mk-pay td.res.minus { color: #E13B35; }
.dm .mk-pay td small { display: block; color: #9FA3A9; font-size: 11.5px; font-weight: 400; }
.dm .mk-pay td.dm-span { vertical-align: top; background: #fff !important; border-right: 1px solid #ECEDEF; }
.dm .mk-pay td.dm-none { text-align: center; color: #9AA0A6; padding: 18px; }
.dm .mk-pay .mk-btn { padding: 5px 11px; font-size: 12px; }

/* Этап 104. Отчёты занимают всю ширину блока: широкие таблицы видны целиком,
   как в кабинете. Пояснения при этом стоят НАД окном, в несколько колонок (под окном — не вариант, решение 04.10.2026). */
.dm, .dm * { overflow-anchor: none; }
.dm--wide { grid-template-columns: minmax(0, 1fr); }
.dm--wide .dm-hints { order: -1; position: static; padding: 16px 20px 14px; }
.dm--wide .dm-hints ol { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px 20px; }
.dm--wide .dm-hints li { font-size: 13px; }
.dm--wide .dm-hints li b { font-size: 14px; }
.dm--wide .mk-pay th { white-space: normal; line-height: 1.25; }
.dm--wide .mk-pay th.n { min-width: 62px; }
.dm--wide .mk-pay { font-size: 12px; }
.dm--wide .mk-pay th, .dm--wide .mk-pay td { padding-left: 6px; padding-right: 6px; }
.dm--wide .mk-pay th { font-size: 11px; }
@media (max-width: 1080px) { .dm--wide .dm-hints ol { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .dm--wide .dm-hints ol { grid-template-columns: 1fr; } }
.dm--wide .mk-pay td { white-space: normal; }
.dm--wide .mk-pay td.n, .dm--wide .mk-pay td .dim, .dm--wide .mk-pay .dm-role { white-space: nowrap; }

/* Этап 106. Номер подсказки маршрута стоит в правом верхнем углу блока маршрута. Раньше он был
   среди «кружков» этажа и палаты, и правило макета .mk-card__route i растягивало его в овал. */
.dm .mk-card__route > i.dm-pin { position: absolute; top: -9px; right: 8px; display: grid; padding: 0; border: 0; margin: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 11px; font-weight: 800; }
.dm .mk-card__route > i.dm-pin.is-hot { background: var(--red); }
.dm .mk-card__tel[data-zone] { display: inline-block; outline-offset: 3px; }
/* Подсказка к меню: номер стоит у подписи «Меню» над пунктами. В пункте «Прокат» он читался
   как число заявок (этап 108) */
.dm-nav[data-zone] { border-radius: 0; outline-offset: -3px; }
.dm-nav[data-zone].is-hot { background-color: #FFF4F3; box-shadow: none; }
.dm-nav__cap { display: flex; align-items: center; padding: 0 12px 6px; font-size: 10.5px; font-weight: 800; color: #9AA0A6; text-transform: uppercase; letter-spacing: .03em; }
@media (max-width: 760px) { .dm-nav__cap { flex: none; padding: 0 4px 0 2px; } }
