/*
  Базовые блоки ServiceCRM.
  Файл подключается после html_tags.css и описывает только переиспользуемые классы блоков.
  Разметка страницы /ui-kit/base-blocks/ вынесена в base_blocks_page.css.
  Базовые HTML-теги, формы, таблицы, media и типографика остаются в html_tags.css.

  Порядок добавления стилей в этот файл:
  1. Сначала стили обычного сайта.
  2. Потом адаптивные стили мобильной версии обычного сайта.
  3. Потом стили PWA/мобильного приложения.

  Внутри каждого раздела:
  - сначала простые универсальные классы без вложенности;
  - затем составные/групповые классы блоков;
  - затем компоненты с вложенными элементами и состояниями.
*/

/* ==========================================================================
   Обычный сайт
   ========================================================================== */

/* Простые универсальные классы */

/* Цветовые переменные базовых блоков */
html[data-crm-theme="light"],
html[data-crm-theme="system"]{
  --line:#b9e3e3;
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"]{
    --line:#1c454b;
  }
}

.ui-mt-16{margin-top:16px}

.width-full{width:100%}

.margin-zero{margin:0}

.margin-bottom-small{margin-bottom:10px}

.min-width-zero{min-width:0}


.actions--center{
  justify-content:center;
}



.content-narrow{
  box-sizing:border-box;
  width:min(var(--content-narrow-width,520px),100%);
  max-width:100%;
  margin-inline:auto;
}

.content-narrow--small{--content-narrow-width:420px}

.content-narrow--top-spaced{
  margin-top:var(--content-narrow-top-offset,24px);
}

.content-narrow--form{
  --content-narrow-width:420px;
}

.content-narrow > .panel{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
}

.content-narrow .form-stack,
.content-narrow .form-field,
.content-narrow .input,
.content-narrow input,
.content-narrow select,
.content-narrow textarea{
  min-width:0;
  max-width:100%;
}

.content-narrow .form-stack input,
.content-narrow .form-stack select,
.content-narrow .form-stack textarea{
  width:100%;
}

.grid-column-full{grid-column:1 / -1}

.flex-no-shrink{flex:0 0 auto}

.full-bleed{
  box-sizing:border-box;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

.horizontal-scroll{
  display:flex;
  align-items:stretch;
  gap:16px;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  padding-bottom:8px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}

.horizontal-scroll--screen{
  padding-left:max(16px,calc((100vw - 1180px) / 2));
  padding-right:max(16px,calc((100vw - 1180px) / 2));
}

.horizontal-scroll__item{
  flex:0 0 min(420px,calc(100vw - 32px));
  box-sizing:border-box;
  min-width:0;
}

.horizontal-scroll__item--wide{
  flex-basis:min(680px,calc(100vw - 32px));
}

.pos-relative{position:relative}

.text-wrap-anywhere{
  min-width:0;
  overflow-wrap:anywhere;
}

.text-muted{color:var(--muted,#6b7280)}

.text-compact{
  font-size:13px;
  line-height:1.35;
}

.text-small{font-size:14px}

.price-value{
  color:#007c7b;
  font-weight:900;
  white-space:nowrap;
}

.rating-value{
  color:#0f766e;
  font-weight:900;
  white-space:nowrap;
}

.datetime-value{
  color:var(--muted,#6b7280);
  font-size:12px;
  font-weight:750;
  line-height:1.25;
  white-space:nowrap;
}

.rating-line--flush{margin:0}

.inline-meta-line{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  min-width:0;
  margin:0;
}

/* Составные и групповые блоки */

.grid,
.messages,
.list,
.page-shell{
  display:grid;
  gap:14px;
}

.page-shell{
  width:100%;
}

.panel,
.card,
.stat{
  box-sizing:border-box;
  max-width:100%;
  min-width:0;
  border:1px solid var(--line,#b9e3e3);
  border-radius:24px;
  background:transparent;
  box-shadow:0 16px 36px rgba(15,23,42,.07);
}

.panel,
.card,
.stat{
  padding:18px;
}

.card--accent{
  background:color-mix(in srgb,var(--card,#fff) 84%,var(--accent,#009c9b) 16%);
}

.grid--cards{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}

.actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.actions--inline-mobile{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.actions--inline-mobile form{
  flex:0 0 auto;
}

.actions--inline-mobile .btn,
.actions--inline-mobile button{
  width:auto;
  flex:0 0 auto;
}

/*
  .btn нужен только для ссылок <a>, которые должны выглядеть как обычный <button>.
  Для настоящих <button> класс .btn не используется: базовый вид берётся из html_tags.css.
*/

.btn{
  box-sizing:border-box;
  width:auto;
  max-width:100%;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  gap:8px;
  border:1px solid transparent;
  border-radius:999px;
  padding:10px 16px;
  background:linear-gradient(135deg,var(--accent,#009c9b),color-mix(in srgb,var(--accent,#009c9b) 78%,#000 22%));
  color:#fff;
  font-family:var(--font-family-base);
  font-size:var(--font-size-base,16px);
  font-weight:900;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}

.btn:link,
.btn:visited{
  color:#fff;
}

.btn:hover{
  filter:brightness(.98);
  transform:translateY(-1px);
  text-decoration:none;
}

.btn:active{
  transform:translateY(0);
}

.btn:focus{
  outline:0;
}

.btn:focus:not(:focus-visible){
  outline:0;
  box-shadow:none;
}

.btn:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent,#009c9b) 38%,transparent);
  outline-offset:3px;
}

button.light,
input[type="button"].light,
input[type="submit"].light,
input[type="reset"].light,
.btn.light{
  border-color:var(--line,#b9e3e3);
  background:transparent;
  color:var(--accent,#009c9b);
}

.btn.light:link,
.btn.light:visited{
  color:var(--accent,#009c9b);
}

.btn.light:hover,
.btn.light:active{
  background:transparent;
  color:var(--accent,#009c9b);
}

.tabs{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.tab{
  box-sizing:border-box;
  width:auto;
  max-width:100%;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  gap:6px;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--line,#b9e3e3);
  border-radius:999px;
  padding:10px 14px;
  background:transparent;
  color:var(--ink,#111827);
  font-family:var(--font-family-base);
  font-size:var(--font-size-base,16px);
  font-weight:800;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  user-select:none;
  touch-action:manipulation;
}

.tab:hover{
  text-decoration:none;
}

.tab:not(.active):hover{
  background:color-mix(in srgb,var(--accent,#009c9b) 10%,var(--card,#fff) 90%);
  color:var(--accent,#009c9b);
}

.tab.active{
  border-color:transparent;
  background:linear-gradient(135deg,var(--accent,#009c9b),color-mix(in srgb,var(--accent,#009c9b) 78%,#000 22%));
  color:#fff;
}

.tab.active:hover{
  filter:brightness(.98);
}

.menu-count-badge,
.notification-count-badge,
.tab-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:20px;
  height:20px;
  border-radius:999px;
  padding:0 6px;
  background:#ef4444;
  color:#fff;
  font-size:11px;
  font-weight:900;
  line-height:1;
}

.tab-count{
  background:color-mix(in srgb,var(--accent,#009c9b) 14%,var(--card,#fff) 86%);
  color:var(--accent,#009c9b);
}

.tab.active .tab-count{
  background:#fff;
  color:var(--accent,#009c9b);
}

/* Универсальный переключатель в стиле iOS: подходит для фильтров из 2-4 равных пунктов. */
.segmented-control{
  box-sizing:border-box;
  display:inline-grid;
  grid-auto-flow:column;
  grid-auto-columns:1fr;
  align-items:center;
  gap:2px;
  width:auto;
  max-width:100%;
  min-width:0;
  border:1px solid color-mix(in srgb,var(--line,#b9e3e3) 72%,transparent);
  border-radius:999px;
  padding:3px;
  background:color-mix(in srgb,var(--ink,#111827) 7%,var(--card,#fff) 93%);
}

.segmented-control--wide{
  width:100%;
}

.segmented-control__item{
  box-sizing:border-box;
  min-width:0;
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:999px;
  padding:8px 14px;
  color:var(--muted,#6b7280);
  font-family:var(--font-family-base);
  font-size:14px;
  font-weight:850;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.segmented-control__item:link,
.segmented-control__item:visited{
  color:var(--muted,#6b7280);
}

.segmented-control__item:hover{
  color:var(--ink,#111827);
  text-decoration:none;
}

.segmented-control__item.active,
.segmented-control__item[aria-current="page"]{
  background:var(--card,#fff);
  color:var(--ink,#111827);
  box-shadow:0 2px 8px rgba(15,23,42,.14);
}

.segmented-control__item.active:link,
.segmented-control__item.active:visited,
.segmented-control__item[aria-current="page"]:link,
.segmented-control__item[aria-current="page"]:visited{
  color:var(--ink,#111827);
}

.segmented-control__label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

.segmented-control__count{
  flex:0 0 auto;
  min-width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:0 6px;
  background:color-mix(in srgb,var(--ink,#111827) 10%,transparent);
  color:inherit;
  font-size:11px;
  font-weight:900;
  line-height:1;
}

.segmented-control__item:focus{
  outline:0;
}

.segmented-control__item:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent,#009c9b) 32%,transparent);
  outline-offset:2px;
}

/* Универсальные action-карточки: компактные строки действий для мобильных и обычных страниц. */
.action-list{
  display:grid;
  gap:9px;
  width:100%;
  min-width:0;
}

.action-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:64px;
  padding:12px 13px;
  border:1px solid color-mix(in srgb,var(--line,#b9e3e3) 72%,transparent);
  border-radius:21px;
  background:var(--card,#fff);
  color:var(--ink,#111827);
  text-decoration:none;
  box-shadow:0 12px 26px rgba(15,23,42,.06);
  touch-action:manipulation;
  transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease;
  -webkit-tap-highlight-color:transparent;
}

.action-card:link,
.action-card:visited{
  color:var(--ink,#111827);
}

.action-card:hover{
  border-color:color-mix(in srgb,var(--accent,#009c9b) 26%,var(--line,#b9e3e3) 74%);
  text-decoration:none;
  box-shadow:0 16px 32px rgba(15,23,42,.08);
}

.action-card:active{
  transform:scale(.988);
}

.action-card:focus{
  outline:0;
}

.action-card:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent,#009c9b) 32%,transparent);
  outline-offset:2px;
}

.action-card--primary{
  border-color:color-mix(in srgb,var(--accent,#009c9b) 34%,var(--line,#b9e3e3) 66%);
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#009c9b) 7%,var(--card,#fff) 93%),var(--card,#fff));
}

.action-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:15px;
  background:color-mix(in srgb,var(--accent,#009c9b) 10%,transparent);
  color:var(--accent,#009c9b);
  font-size:20px;
  font-weight:950;
  line-height:1;
}

.action-card__body{
  display:grid;
  gap:3px;
  min-width:0;
}

.action-card__body b,
.action-card__title{
  overflow:hidden;
  color:var(--ink,#111827);
  font-size:16px;
  font-weight:950;
  line-height:1.08;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.action-card__body small,
.action-card__description{
  overflow:hidden;
  color:var(--muted,#6b7280);
  font-size:12px;
  font-weight:750;
  line-height:1.2;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.action-card__arrow{
  color:var(--muted,#6b7280);
  font-size:25px;
  font-weight:500;
  line-height:1;
}

.action-card--compact{
  grid-template-columns:32px minmax(0,1fr) auto;
  min-height:56px;
  padding:10px 11px;
  border-radius:18px;
}

.action-card--compact .action-card__icon{
  width:32px;
  height:32px;
  border-radius:12px;
  font-size:17px;
}

@media(max-width:380px){
  .action-card{
    grid-template-columns:36px minmax(0,1fr) auto;
  }
}

/* Универсальная сетка быстрых действий: компактные плитки для PWA, мобильных и обычных страниц. */
.quick-action-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  width:100%;
  min-width:0;
}

.quick-action-grid--two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.quick-action-grid--four{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.quick-action{
  display:grid;
  place-items:center;
  gap:6px;
  box-sizing:border-box;
  min-width:0;
  min-height:74px;
  padding:10px 6px;
  border:1px solid color-mix(in srgb,var(--line,#b9e3e3) 70%,transparent);
  border-radius:19px;
  background:var(--card,#fff);
  color:var(--ink,#111827);
  text-align:center;
  text-decoration:none;
  box-shadow:0 10px 22px rgba(15,23,42,.045);
  touch-action:manipulation;
  transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease;
  -webkit-tap-highlight-color:transparent;
}

.quick-action:link,
.quick-action:visited{
  color:var(--ink,#111827);
}

.quick-action:hover{
  border-color:color-mix(in srgb,var(--accent,#009c9b) 24%,var(--line,#b9e3e3) 76%);
  text-decoration:none;
  box-shadow:0 14px 28px rgba(15,23,42,.07);
}

.quick-action:active{
  transform:scale(.988);
}

.quick-action:focus{
  outline:0;
}

.quick-action:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent,#009c9b) 32%,transparent);
  outline-offset:2px;
}

.quick-action--primary{
  border-color:color-mix(in srgb,var(--accent,#009c9b) 34%,var(--line,#b9e3e3) 66%);
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#009c9b) 7%,var(--card,#fff) 93%),var(--card,#fff));
}

.quick-action__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:12px;
  background:color-mix(in srgb,var(--accent,#009c9b) 9%,transparent);
  color:var(--accent,#009c9b);
  font-size:18px;
  font-weight:950;
  line-height:1;
}

.quick-action__title{
  display:block;
  max-width:100%;
  overflow:hidden;
  color:var(--ink,#111827);
  font-size:12px;
  font-weight:950;
  line-height:1.1;
  white-space:nowrap;
  text-overflow:ellipsis;
}

@media(max-width:380px){
  .quick-action{
    min-height:70px;
  }
}

.badge,
.status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  box-sizing:border-box;
  height:26px;
  max-width:100%;
  border-radius:999px;
  padding:0 10px;
  background:color-mix(in srgb,var(--accent,#009c9b) 12%,var(--card,#fff) 88%);
  color:var(--accent,#009c9b);
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

.badge.success,
.status--success{
  background:#ecfdf5;
  color:#047857;
}

.badge.warning{
  background:#fffbeb;
  color:#b45309;
}

.badge.danger{
  background:#fef2f2;
  color:#dc2626;
}

.message{
  margin:6px 0;
  border:1px solid var(--line,#b9e3e3);
  border-radius:18px;
  padding:14px 16px;
  background:transparent;
  color:var(--ink,#111827);
}

.message.success{
  border-color:var(--message-success-border,#bbf7d0);
  background:var(--message-success-bg,#ecfdf5);
  color:var(--message-success-text,#047857);
}

.message.warning{
  border-color:var(--message-warning-border,#fde68a);
  background:var(--message-warning-bg,#fffbeb);
  color:var(--message-warning-text,#92400e);
}

.message.error{
  border-color:var(--message-error-border,#fecaca);
  background:var(--message-error-bg,#fef2f2);
  color:var(--message-error-text,#b91c1c);
}

.list-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  border:1px solid var(--line,#b9e3e3);
  border-radius:20px;
  padding:12px;
  background:transparent;
}

.list-row small{
  display:block;
}

.avatar{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--accent,#009c9b),var(--accent2,#ff6f7b));
  color:#fff;
  font-weight:900;
}

.table-wrap{
  max-width:100%;
  overflow:auto;
  border:1px solid var(--line,#b9e3e3);
  border-radius:20px;
  background:transparent;
}


/* Универсальные компактные страницы выбора и списки ссылок на основе .table-wrap. */
.selection-page{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  width:min(520px,100%);
  margin:0 auto;
  padding:22px;
  border:1px solid var(--line,#d8fbfb);
  border-radius:var(--r,26px);
  background:color-mix(in srgb,var(--card,#fff) 92%,transparent);
  box-shadow:var(--shadow,0 22px 70px rgba(15,23,42,.12));
}

.selection-search{
  margin:12px 0;
}

.table-wrap--link-list{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  display:grid;
  gap:8px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}

.table-link-row{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  padding:10px 14px;
  border:1px solid var(--line,#d8fbfb);
  border-radius:16px;
  background:var(--card,#fff);
  color:var(--ink,#111827);
  font-weight:800;
  text-decoration:none;
}

.table-link-row:hover,
.table-link-row:focus-visible{
  border-color:color-mix(in srgb,var(--accent,#009c9b) 38%,var(--line,#d8fbfb));
  color:var(--ink,#111827);
  text-decoration:none;
}

.table-link-row:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent,#009c9b) 24%,transparent);
  outline-offset:2px;
}

.table-link-row[hidden]{
  display:none!important;
}

.table-link-row--active::after{
  content:"✓";
  color:var(--accent,#009c9b);
  font-weight:900;
}

html[data-crm-ui="pwa"] .selection-page,
body[data-interface-mode="pwa"] .selection-page{
  display:block;
  width:100%;
  max-width:100%;
  min-height:calc(100dvh - var(--mobile-nav-height,66px) - env(safe-area-inset-bottom));
  margin:0;
  padding:0 2px 18px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

html[data-crm-ui="pwa"] .selection-search,
body[data-interface-mode="pwa"] .selection-search{
  margin:0 0 12px;
}

html[data-crm-ui="pwa"] .table-wrap--link-list,
body[data-interface-mode="pwa"] .table-wrap--link-list{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  display:grid;
  gap:8px;
  overflow:visible;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

html[data-crm-ui="pwa"] .table-link-row,
body[data-interface-mode="pwa"] .table-link-row{
  padding:0 10px 10px 10px;
  border:0!important;
  border-bottom:1px solid var(--mobile-border,var(--line,rgba(15,23,42,.10)))!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--mobile-text,var(--ink,#111827))!important;
  text-decoration:none;
}

html[data-crm-ui="pwa"] .table-link-row--active,
body[data-interface-mode="pwa"] .table-link-row--active{
  color:var(--mobile-accent-dark,var(--accent,#009c9b))!important;
}

html[data-crm-ui="pwa"] .table-link-row--active::after,
body[data-interface-mode="pwa"] .table-link-row--active::after{
  color:var(--mobile-accent-dark,var(--accent,#009c9b));
  font-weight:700;
}

html[data-crm-theme="dark"] .selection-page{
  border-color:var(--line,#1c454b);
  background:color-mix(in srgb,var(--card,#0f2428) 92%,transparent);
}

html[data-crm-theme="dark"] .table-link-row{
  border-color:var(--line,#1c454b);
  background:var(--card,#0f2428);
  color:var(--ink,#ecfeff);
}

html[data-crm-theme="dark"] .table-link-row:hover,
html[data-crm-theme="dark"] .table-link-row:focus-visible{
  border-color:color-mix(in srgb,var(--accent,#39d5cf) 42%,var(--line,#1c454b));
  color:var(--ink,#ecfeff);
}

html[data-crm-theme="dark"] .table-link-row--active,
html[data-crm-theme="dark"] .table-link-row--active::after{
  color:var(--accent,#39d5cf);
}

html[data-crm-theme="dark"][data-crm-ui="pwa"] .table-link-row,
html[data-crm-theme="dark"] body[data-interface-mode="pwa"] .table-link-row{
  border-bottom-color:var(--mobile-border,var(--line,rgba(174,244,241,.14)))!important;
  color:var(--mobile-text,var(--ink,#ecfeff))!important;
}

html[data-crm-theme="dark"][data-crm-ui="pwa"] .table-link-row--active,
html[data-crm-theme="dark"][data-crm-ui="pwa"] .table-link-row--active::after,
html[data-crm-theme="dark"] body[data-interface-mode="pwa"] .table-link-row--active,
html[data-crm-theme="dark"] body[data-interface-mode="pwa"] .table-link-row--active::after{
  color:var(--mobile-accent-dark,var(--accent,#6ff0ed))!important;
}

@media(prefers-color-scheme:dark){
  html:not([data-crm-theme="light"]) .selection-page{
    border-color:var(--line,#1c454b);
    background:color-mix(in srgb,var(--card,#0f2428) 92%,transparent);
  }

  html:not([data-crm-theme="light"]) .table-link-row{
    border-color:var(--line,#1c454b);
    background:var(--card,#0f2428);
    color:var(--ink,#ecfeff);
  }

  html:not([data-crm-theme="light"]) .table-link-row:hover,
  html:not([data-crm-theme="light"]) .table-link-row:focus-visible{
    border-color:color-mix(in srgb,var(--accent,#39d5cf) 42%,var(--line,#1c454b));
    color:var(--ink,#ecfeff);
  }

  html:not([data-crm-theme="light"]) .table-link-row--active,
  html:not([data-crm-theme="light"]) .table-link-row--active::after{
    color:var(--accent,#39d5cf);
  }

  html:not([data-crm-theme="light"])[data-crm-ui="pwa"] .table-link-row,
  html:not([data-crm-theme="light"]) body[data-interface-mode="pwa"] .table-link-row{
    border-bottom-color:var(--mobile-border,var(--line,rgba(174,244,241,.14)))!important;
    color:var(--mobile-text,var(--ink,#ecfeff))!important;
  }

  html:not([data-crm-theme="light"])[data-crm-ui="pwa"] .table-link-row--active,
  html:not([data-crm-theme="light"])[data-crm-ui="pwa"] .table-link-row--active::after,
  html:not([data-crm-theme="light"]) body[data-interface-mode="pwa"] .table-link-row--active,
  html:not([data-crm-theme="light"]) body[data-interface-mode="pwa"] .table-link-row--active::after{
    color:var(--mobile-accent-dark,var(--accent,#6ff0ed))!important;
  }
}

/* Универсальная адаптивная таблица: на desktop выглядит как таблица, на мобильных — как список карточек. */
.responsive-record-table{
  box-sizing:border-box;
  display:grid;
  gap:0;
  max-width:100%;
  overflow:auto;
}

.responsive-record-row{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:var(--responsive-record-columns,repeat(4,minmax(140px,1fr)));
  align-items:stretch;
  min-width:var(--responsive-record-min-width,820px);
  border-bottom:1px solid var(--line,#b9e3e3);
}

.responsive-record-row:last-child{
  border-bottom:0;
}

.responsive-record-row--head{
  background:color-mix(in srgb,var(--accent,#009c9b) 7%,transparent);
  color:var(--muted,#6b7280);
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  text-transform:uppercase;
}

.responsive-record-row--head .responsive-record-cell{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.responsive-record-cell{
  box-sizing:border-box;
  min-width:0;
  padding:12px 14px;
  color:var(--ink,#111827);
  overflow-wrap:anywhere;
}

.responsive-record-cell.form-field{
  margin:0;
  align-content:start;
}

.responsive-record-cell::before{
  display:none;
}

.responsive-record-table--clients{
  --responsive-record-columns:minmax(0,1.18fr) minmax(0,.68fr) minmax(0,.98fr) minmax(0,.54fr) minmax(0,.26fr) minmax(0,.30fr) minmax(112px,.46fr);
  --responsive-record-min-width:0;
  overflow:hidden;
}

.responsive-record-table--clients .responsive-record-row{
  width:100%;
  max-width:100%;
}

.responsive-record-table--clients .responsive-record-cell{
  padding:10px 8px;
}

.responsive-record-table--clients .input{
  width:100%;
  min-width:0;
}

.responsive-record-table--clients textarea.input{
  resize:vertical;
}

.responsive-record-table--clients .actions{
  gap:8px;
}

.responsive-record-table--clients .actions form{
  min-width:0;
}

.responsive-record-table--clients .actions .btn,
.responsive-record-table--clients .actions button{
  min-width:0;
  white-space:nowrap;
}

@media(min-width:821px){
  .responsive-record-table--clients .responsive-record-cell[data-label="Действия"]{
    display:flex;
    align-items:center;
  }

  .responsive-record-table--clients .responsive-record-cell[data-label="Действия"] .actions{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
    width:100%;
  }

  .responsive-record-table--clients .responsive-record-cell[data-label="Действия"] .actions form{
    width:100%;
  }

  .responsive-record-table--clients .responsive-record-cell[data-label="Действия"] .actions .btn,
  .responsive-record-table--clients .responsive-record-cell[data-label="Действия"] .actions button{
    width:100%;
    max-width:100%;
    min-height:42px;
    padding:10px 12px;
    font-size:inherit;
    line-height:1.2;
  }
}

.responsive-record-mobile-meta{
  display:none;
}

@media(max-width:820px){
  .responsive-record-table{
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    display:grid;
    gap:12px;
  }

  .responsive-record-row{
    min-width:0;
    grid-template-columns:1fr;
    gap:10px;
    border:1px solid var(--line,#b9e3e3);
    border-radius:20px;
    padding:14px;
    background:transparent;
  }

  .responsive-record-row--head{
    display:none;
  }

  .responsive-record-cell{
    display:grid;
    gap:6px;
    padding:0;
  }

  .responsive-record-cell::before{
    content:attr(data-label);
    display:block;
    color:var(--muted,#6b7280);
    font-size:12px;
    font-weight:850;
    line-height:1.25;
  }

  .responsive-record-cell--main::before{
    display:none;
  }

  .responsive-record-mobile-meta{
    display:flex;
    align-items:center;
    gap:6px 10px;
    flex-wrap:wrap;
    margin-top:8px;
  }

  .responsive-record-cell--mobile-hidden{
    display:none;
  }

  .responsive-record-table--clients .responsive-record-row{
    width:auto;
    max-width:100%;
  }
}


body[data-interface-mode="pwa"] .responsive-record-table{
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  display:grid;
  gap:12px;
}

body[data-interface-mode="pwa"] .responsive-record-row{
  min-width:0;
  grid-template-columns:1fr;
  gap:10px;
  border:1px solid var(--crm-ui-border,var(--line,#b9e3e3));
  border-radius:20px;
  padding:14px;
  background:transparent;
}

body[data-interface-mode="pwa"] .responsive-record-row--head{
  display:none;
}

body[data-interface-mode="pwa"] .responsive-record-cell{
  display:grid;
  gap:6px;
  padding:0;
  color:var(--crm-ui-text,var(--ink,#111827));
}

body[data-interface-mode="pwa"] .responsive-record-cell::before{
  content:attr(data-label);
  display:block;
  color:var(--crm-ui-muted,var(--muted,#6b7280));
  font-size:12px;
  font-weight:850;
  line-height:1.25;
}

body[data-interface-mode="pwa"] .responsive-record-cell--main::before{
  display:none;
}

body[data-interface-mode="pwa"] .responsive-record-mobile-meta{
  display:flex;
  align-items:center;
  gap:6px 10px;
  flex-wrap:wrap;
  margin-top:8px;
}

body[data-interface-mode="pwa"] .responsive-record-cell--mobile-hidden{
  display:none;
}

body[data-interface-mode="pwa"] .responsive-record-table--clients .responsive-record-row{
  width:auto;
  max-width:100%;
}

.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.pagination-current{
  color:var(--muted,#6b7280);
  font-weight:900;
}

/* Стандартный базовый шаблон для страниц, переведённых на html_tags.css + base_blocks.css. */

.standard-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 10% 0,rgba(0,196,190,.24),transparent 30rem),
    radial-gradient(circle at 95% 10%,rgba(255,111,123,.18),transparent 28rem),
    linear-gradient(180deg,var(--bg,#f6fbfb),#f8fafc);
}

html[data-crm-theme="dark"] .standard-page{
  background:
    radial-gradient(circle at 10% 0,rgba(24,199,197,.16),transparent 30rem),
    radial-gradient(circle at 95% 10%,rgba(255,111,123,.10),transparent 28rem),
    linear-gradient(180deg,var(--bg,#061316),#071a1e);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .standard-page{
    background:
      radial-gradient(circle at 10% 0,rgba(24,199,197,.16),transparent 30rem),
      radial-gradient(circle at 95% 10%,rgba(255,111,123,.10),transparent 28rem),
      linear-gradient(180deg,var(--bg,#061316),#071a1e);
  }
}

.shell{
  width:min(1180px,calc(100% - 28px));
  max-width:100%;
  margin:0 auto;
  padding:12px 0 108px;
  box-sizing:border-box;
}

.site-footer,
.developer-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-sizing:border-box;
  width:min(1180px,calc(100% - 28px));
  max-width:100%;
  margin:0 auto 26px;
  padding:18px 22px;
  border:1px solid var(--line,#b9e3e3);
  border-radius:24px;
  background:rgba(255,255,255,.78);
  box-shadow:0 12px 32px rgba(0,121,121,.08);
  gap:12px;
  color:var(--muted,#6b7280);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:14px;
  font-weight:800;
}

html[data-crm-theme="light"] .site-footer,
html[data-crm-theme="light"] .developer-panel{
  border-color:var(--line,#b9e3e3);
  background:rgba(255,255,255,.78);
  color:var(--muted,#6b7280);
  box-shadow:0 12px 32px rgba(0,121,121,.08);
}

html[data-crm-theme="dark"] .site-footer,
html[data-crm-theme="dark"] .developer-panel{
  border-color:var(--line,#1c454b);
  background:rgba(11,31,36,.90);
  color:var(--muted,#9fb7ba);
  box-shadow:var(--shadow,0 22px 70px rgba(0,0,0,.38));
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .site-footer,
  html[data-crm-theme="system"] .developer-panel{
    border-color:var(--line,#1c454b);
    background:rgba(11,31,36,.90);
    color:var(--muted,#9fb7ba);
    box-shadow:var(--shadow,0 22px 70px rgba(0,0,0,.38));
  }
}

.developer-panel__copyright,
.developer-panel__credit{
  min-width:0;
}

.developer-panel__credit{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  flex-wrap:wrap;
  text-align:right;
}

.developer-panel__links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
  text-align:right;
}

.site-footer a,
.developer-panel__link,
.developer-panel__link:visited{
  color:inherit;
  font-weight:400;
  text-decoration:none;
}

.developer-panel__link:hover,
.developer-panel__link:focus,
.developer-panel__link:active{
  color:inherit;
  text-decoration:none;
}

.developer-panel__separator{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:inherit;
  font-weight:400;
  line-height:1;
  opacity:.72;
}

.catalog-panel{
  display:grid;
  gap:18px;
  margin-bottom:16px;
}

.catalog-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.catalog-header h1{
  margin-bottom:6px;
}

.geo-note{
  margin:0;
  color:var(--muted,#6b7280);
  font-weight:700;
}

.filter-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr auto;
  align-items:end;
  gap:10px;
}

.filter-grid > button,
.filter-grid > input[type="button"],
.filter-grid > input[type="submit"],
.filter-grid > input[type="reset"]{
  width:auto;
  min-height:44px;
  align-self:end;
  justify-self:start;
  margin-bottom:6px;
}

.filter-grid > .btn{
  width:auto;
  min-height:44px;
  align-self:end;
  justify-self:start;
  margin-bottom:6px;
}

.catalog-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  min-width:0;
}

.catalog-item-card{
  position:relative;
  display:grid;
  align-content:start;
  gap:8px;
  min-width:0;
  overflow:hidden;
}

.catalog-card-media{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  color:inherit;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}

.catalog-card-media:active,
.catalog-card-media:focus:not(:focus-visible){
  outline:0;
  background:transparent;
  box-shadow:none;
}

.catalog-card-photo,
.business-card-logo{
  display:block;
  width:72px;
  height:72px;
  flex:0 0 auto;
  border:0;
  border-radius:24px;
  object-fit:cover;
  background:transparent;
  box-shadow:0 16px 32px rgba(0,121,121,.14);
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}

.catalog-card-placeholder{
  display:grid;
  place-items:center;
  font-size:28px;
  line-height:1;
}

.catalog-card-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}

.catalog-card-title{
  min-width:0;
  color:var(--ink,#111827);
  font-size:18px;
  font-weight:900;
  line-height:1.2;
  overflow-wrap:anywhere;
  text-decoration:none;
}

.catalog-card-title:hover{
  color:var(--ink,#111827);
  text-decoration:none;
}

.rating-line,
.catalog-card-rating{
  display:block;
  color:#0f766e;
  font-weight:900;
}

.catalog-card-services,
.catalog-card-address{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
  overflow-x:auto;
  overflow-y:hidden;
  color:var(--muted,#6b7280);
  font-size:14px;
  line-height:1.35;
  text-overflow:clip;
  white-space:nowrap;
  -webkit-overflow-scrolling:touch;
  -ms-overflow-style:none;
  scrollbar-width:none;
}

.catalog-card-services::-webkit-scrollbar,
.catalog-card-address::-webkit-scrollbar{
  display:none;
  width:0;
  height:0;
}

.catalog-card-services{
  color:var(--ink,#111827);
  font-weight:800;
}

.favorite-form,
.catalog-favorite-form{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  margin:0;
}

.favorite-star{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  border:0;
  border-radius:999px;
  padding:0;
  background:transparent;
  color:#cbd5e1;
  font-size:22px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  box-shadow:none;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}

.favorite-star:hover{
  color:#f59e0b;
  text-decoration:none;
  transform:translateY(-1px);
}

.favorite-star.active{
  background:transparent;
  color:#f59e0b;
}

.favorite-star:visited,
.favorite-star:hover,
.favorite-star:active,
.favorite-star:focus{
  background:transparent;
  text-decoration:none;
}

.favorite-star:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent,#009c9b) 42%,transparent);
  outline-offset:3px;
}


/* Универсальная кликабельная карточка каталога */
.catalog-item-card{
  isolation:isolate;
  border-radius:var(--r,26px);
  transition:background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.catalog-card-cover-link{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  border-radius:inherit;
  color:inherit;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}

.catalog-card-cover-link:hover,
.catalog-card-cover-link:active,
.catalog-card-cover-link:visited,
.catalog-card-cover-link:focus{
  color:inherit;
  text-decoration:none;
}

.catalog-card-cover-link:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent,#009c9b) 42%,transparent);
  outline-offset:3px;
}

.catalog-item-card:hover,
.catalog-item-card:focus-within{
  background:color-mix(in srgb,var(--accent,#009c9b) 7%,transparent);
}

.catalog-item-card:active{
  background:color-mix(in srgb,var(--accent,#009c9b) 12%,transparent);
  transform:translateY(1px);
}

.catalog-item-card:hover .catalog-card-title,
.catalog-item-card:focus-within .catalog-card-title,
.catalog-item-card:active .catalog-card-title{
  color:var(--ink,#111827);
  text-decoration:none;
}

.catalog-favorite-form,
.catalog-favorite-star,
.catalog-card-title-row > .catalog-favorite-star{
  z-index:4;
}

.catalog-favorite-form .catalog-favorite-star{
  position:static;
}

.catalog-card-title-row > .catalog-favorite-star{
  position:absolute;
  top:12px;
  right:12px;
  margin:0;
}

.standard-page--pwa .catalog-item-card{
  border-radius:0;
}

.standard-page--pwa .catalog-card-title-row > .catalog-favorite-star{
  top:6px;
  right:6px;
}

.catalog-empty{
  grid-column:1 / -1;
  text-align:center;
  color:var(--muted,#6b7280);
  font-weight:800;
}


/* Детальные страницы, списки, расписания и галереи */

.detail-page{
  display:grid;
  gap:16px;
}

.detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:24px;
  align-items:start;
}

.detail-layout--balanced{
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
}

.detail-stack{
  display:grid;
  gap:12px;
}

.detail-hero{
  position:relative;
  display:grid;
  align-content:start;
  gap:10px;
  overflow:hidden;
}

.detail-hero--split{
  box-sizing:border-box;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:24px;
  align-items:start;
  width:100%;
  max-width:min(980px,100%);
  margin-inline:auto;
}

.detail-hero--split > *{
  min-width:0;
  max-width:100%;
}

.detail-hero-intro{
  display:grid;
  gap:10px;
  align-content:start;
  min-width:0;
}

.detail-hero-media{
  position:relative;
  z-index:1;
  display:inline-flex;
  width:max-content;
  max-width:100%;
}

.detail-hero-image{
  display:block;
  width:132px;
  height:132px;
  border-radius:24px;
  object-fit:cover;
  background:transparent;
  box-shadow:0 16px 32px rgba(0,121,121,.14);
}

.detail-hero-image--placeholder{
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--accent,#009c9b),var(--accent2,#ff6f7b));
  color:#fff;
  font-size:54px;
  font-weight:900;
}

.detail-hero-title{
  position:relative;
  z-index:1;
  margin:0;
  color:var(--ink,#111827);
  overflow-wrap:anywhere;
}

.detail-hero-subtitle{
  position:relative;
  z-index:1;
  margin:0;
  color:var(--muted,#6b7280);
  font-weight:800;
}

.detail-hero-rating{
  position:relative;
  z-index:1;
  margin:0;
}

.detail-hero-description{
  position:relative;
  z-index:1;
  margin:0;
  color:var(--ink,#111827);
  font-size:18px;
  line-height:1.55;
}

.detail-hero-meta{
  position:relative;
  z-index:1;
  margin:0;
  color:var(--muted,#6b7280);
  font-weight:700;
  line-height:1.45;
  overflow-wrap:anywhere;
}

html[data-crm-theme="dark"] .detail-hero-title,
html[data-crm-theme="dark"] .detail-hero-description{
  color:var(--ink,#e8fbfb);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .detail-hero-title,
  html[data-crm-theme="system"] .detail-hero-description{
    color:var(--ink,#e8fbfb);
  }
}

/* Универсальная сетка коротких фактов/параметров: подпись + значение. */
.facts-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  min-width:0;
  margin-top:2px;
}

.facts-grid--single{
  grid-template-columns:1fr;
}

.facts-grid--compact{
  gap:9px;
  margin-top:4px;
}

.fact-item{
  display:grid;
  gap:3px;
  min-width:0;
  margin:0;
}

.fact-label{
  color:var(--muted,#6b7280);
  font-size:12px;
  font-weight:850;
  line-height:1.25;
}

.fact-value{
  min-width:0;
  color:var(--ink,#111827);
  font-weight:950;
  line-height:1.28;
  overflow-wrap:anywhere;
}

html[data-crm-theme="dark"] .fact-value{
  color:var(--ink,#e8fbfb);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .fact-value{
    color:var(--ink,#e8fbfb);
  }
}

@media(max-width:720px){
  .facts-grid{
    grid-template-columns:1fr;
  }

  .facts-grid--single{
    grid-template-columns:1fr;
  }

  .detail-hero--split{
    grid-template-columns:1fr;
    gap:16px;
    width:100%;
    max-width:100%;
    overflow:hidden;
  }

  .detail-hero--split .detail-hero-intro{
    grid-template-columns:96px minmax(0,1fr);
    gap:8px 12px;
  }

  .detail-hero--split .detail-hero-intro .detail-hero-media{
    grid-row:1 / span 5;
  }

  .detail-hero--split .detail-hero-intro .facts-grid{
    grid-column:1 / -1;
  }
}


/* Текстовый вариант detail-hero без изображения: на мобильной версии не оставляет пустую колонку под медиа. */
@media(max-width:720px){
  .detail-hero--text .detail-hero-intro{
    grid-template-columns:1fr;
  }
}

.detail-section{
  display:grid;
  gap:14px;
}

.schedule-panel{
  overflow:hidden;
}

.week-schedule{
  display:grid;
  gap:8px;
  min-width:0;
  overflow-x:auto;
  padding-bottom:2px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.week-schedule-row{
  display:grid;
  grid-template-columns:repeat(7,minmax(78px,1fr));
  gap:8px;
  min-width:640px;
}

.week-time-cell{
  display:grid;
  place-items:center;
  min-width:0;
  max-width:100%;
  min-height:42px;
  border:1px solid var(--line,#b9e3e3);
  border-radius:16px;
  padding:8px;
  background:transparent;
  color:var(--ink,#111827);
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  text-align:center;
  overflow:hidden;
}

.week-time-cell > *{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.week-time-cell.is-day-off{
  padding-inline:4px;
  color:var(--muted,#6b7280);
  opacity:.8;
}

.split-list{
  display:grid;
  gap:0;
}

.split-list--gap-small{gap:10px}

.split-list-item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--line,#b9e3e3);
}

.split-list-main{
  display:grid;
  gap:3px;
  min-width:0;
}

.split-list-side{
  flex:0 0 auto;
  display:inline-flex;
  justify-content:flex-end;
  max-width:45%;
  text-align:right;
}

.split-list-side--stack{
  display:grid;
  gap:4px;
  justify-items:end;
  align-content:start;
}

.split-list-title{
  color:var(--ink,#111827);
  font-weight:900;
}

.split-list-meta{
  margin:0;
  color:var(--muted,#6b7280);
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}

.split-list-text{
  margin:0;
  color:var(--ink,#111827);
  line-height:1.45;
}

.split-list--interactive .split-list-item{
  display:grid;
  align-items:stretch;
  justify-content:normal;
  gap:0;
  min-width:0;
  padding:0;
  background:transparent;
}

.split-list-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  width:100%;
  min-width:0;
  padding:12px 0;
  cursor:pointer;
}

.split-list--compact .split-list-row{
  gap:8px;
  padding:8px 0;
}

.split-list--compact .split-list-main{
  gap:1px;
}

.split-list--compact .split-list-meta{
  line-height:1.25;
}

.split-list-row .split-list-title{
  line-height:1.2;
}

.split-list-row .split-list-side{
  justify-self:end;
  max-width:44vw;
  color:var(--ink,#111827);
  font-weight:900;
  text-align:right;
  white-space:nowrap;
}

.split-list-row--reveal{
  grid-template-columns:minmax(0,1fr) auto 28px 30px;
  border-radius:18px;
  padding-inline:10px;
  transition:background-color .16s ease,transform .12s ease;
}

.split-list-row--reveal .split-list-side{
  max-width:34vw;
  white-space:normal;
  line-height:1.2;
}

.split-list-item--reveal .split-list-row--reveal:hover{
  background:color-mix(in srgb,var(--accent,#009c9b) 7%,transparent);
}

.split-list-item--reveal .split-list-row--reveal:active{
  transform:translateY(1px);
  background:color-mix(in srgb,var(--accent,#009c9b) 11%,transparent);
}

.split-list-item--reveal.is-open .split-list-row--reveal{
  background:color-mix(in srgb,var(--accent,#009c9b) 8%,transparent);
}

.disclosure-indicator{
  display:inline-grid;
  width:28px;
  height:28px;
  min-width:28px;
  min-height:28px;
  place-items:center;
  justify-self:center;
  align-self:center;
  border-radius:999px;
  background:color-mix(in srgb,var(--accent,#009c9b) 10%,transparent);
  color:var(--accent,#009c9b);
  transition:background-color .16s ease,color .16s ease,transform .16s ease;
}

.disclosure-indicator::before{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);
  transform-origin:center;
  transition:transform .16s ease;
}

.split-list-item--reveal .split-list-row--reveal:hover .disclosure-indicator,
.split-list-item--reveal.is-open .disclosure-indicator{
  background:color-mix(in srgb,var(--accent,#009c9b) 16%,transparent);
  color:var(--accent,#009c9b);
}

.split-list-item--reveal.is-open .disclosure-indicator::before{
  transform:rotate(225deg) translate(-1px,-1px);
}

.choice-control{
  display:grid;
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
  place-items:center;
  align-self:center;
  justify-self:end;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.choice-control input[type="checkbox"]{
  -webkit-appearance:none;
  appearance:none;
  display:inline-grid;
  width:18px;
  height:18px;
  min-width:18px;
  min-height:18px;
  place-content:center;
  margin:0;
  padding:0;
  border:1.5px solid var(--crm-ui-control-border,#9bc4c4);
  border-radius:6px;
  background:var(--crm-ui-surface,#fff);
  color:#fff;
  box-shadow:none;
  cursor:pointer;
  vertical-align:middle;
}

.choice-control input[type="checkbox"]::before{
  content:"";
  width:10px;
  height:10px;
  transform:scale(0);
  transform-origin:center;
  transition:transform .12s ease-in-out;
  background:currentColor;
  clip-path:polygon(14% 44%,0 60%,39% 100%,100% 16%,84% 0,37% 63%);
}

.choice-control input[type="checkbox"]:checked{
  border-color:var(--crm-ui-accent,var(--accent,#009c9b));
  background:var(--crm-ui-accent,var(--accent,#009c9b));
  color:#fff;
  box-shadow:0 0 0 3px rgba(0,156,155,.14);
}

.choice-control input[type="checkbox"]:checked::before{
  transform:scale(1);
}

.choice-control input[type="checkbox"]:focus,
.choice-control input[type="checkbox"]:focus-visible{
  outline:0;
}

.choice-control input[type="checkbox"]:focus-visible{
  box-shadow:var(--crm-ui-focus,0 0 0 3px rgba(0,156,155,.18));
}

.choice-control input[type="radio"]{
  -webkit-appearance:none;
  appearance:none;
  display:inline-grid;
  width:18px;
  height:18px;
  min-width:18px;
  min-height:18px;
  place-content:center;
  margin:0;
  padding:0;
  border:1.5px solid var(--crm-ui-control-border,#9bc4c4);
  border-radius:999px;
  background:var(--crm-ui-surface,#fff);
  color:var(--crm-ui-accent,var(--accent,#009c9b));
  box-shadow:none;
  cursor:pointer;
  vertical-align:middle;
}

.choice-control input[type="radio"]::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  transform:scale(0);
  transform-origin:center;
  transition:transform .12s ease-in-out;
  background:currentColor;
}

.choice-control input[type="radio"]:checked{
  border-color:var(--crm-ui-accent,var(--accent,#009c9b));
  background:var(--crm-ui-surface,#fff);
  color:var(--crm-ui-accent,var(--accent,#009c9b));
  box-shadow:0 0 0 3px rgba(0,156,155,.14);
}

.choice-control input[type="radio"]:checked::before{
  transform:scale(1);
}

.choice-control input[type="radio"]:focus,
.choice-control input[type="radio"]:focus-visible{
  outline:0;
}

.choice-control input[type="radio"]:focus-visible{
  box-shadow:var(--crm-ui-focus,0 0 0 3px rgba(0,156,155,.18));
}

html[data-crm-theme="dark"] .split-list-item--reveal .split-list-row--reveal:hover,
html[data-crm-theme="dark"] .split-list-item--reveal.is-open .split-list-row--reveal{
  background:color-mix(in srgb,var(--accent,#00d6d2) 14%,transparent);
}

html[data-crm-theme="dark"] .disclosure-indicator{
  background:color-mix(in srgb,var(--accent,#00d6d2) 16%,transparent);
  color:var(--accent,#00d6d2);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .split-list-item--reveal .split-list-row--reveal:hover,
  html[data-crm-theme="system"] .split-list-item--reveal.is-open .split-list-row--reveal{
    background:color-mix(in srgb,var(--accent,#00d6d2) 14%,transparent);
  }

  html[data-crm-theme="system"] .disclosure-indicator{
    background:color-mix(in srgb,var(--accent,#00d6d2) 16%,transparent);
    color:var(--accent,#00d6d2);
  }
}

.reveal-panel{
  display:grid;
  grid-template-rows:0fr;
  overflow:hidden;
  transition:grid-template-rows .24s ease;
}

.reveal-panel__inner{
  min-height:0;
  padding:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease,visibility .18s ease;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.gallery-item{
  margin:0;
  overflow:hidden;
  border:1px solid var(--line,#b9e3e3);
  border-radius:20px;
  background:transparent;
}

.gallery-thumb{
  display:block;
  width:100%;
  min-height:0;
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
}

.gallery-modal-open{
  overflow:hidden;
  touch-action:none;
}

.gallery-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:transparent;
  color:var(--ink,#111827);
}

.gallery-modal.is-open{
  display:flex;
}

.gallery-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.56);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

.gallery-modal__dialog{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:12px;
  width:80vw;
  height:80vh;
  max-width:calc(100vw - 48px);
  max-height:calc(100vh - 48px);
  pointer-events:auto;
}

.gallery-modal__image-wrap{
  display:grid;
  place-items:center;
  min-height:260px;
  height:100%;
  max-height:calc(80vh - 66px);
  overflow:hidden;
  border:0;
  border-radius:24px;
  background:transparent;
  box-shadow:none;
}

.gallery-modal__image{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  user-select:none;
}

.gallery-modal__caption{
  display:grid;
  gap:4px;
  justify-items:center;
  min-height:42px;
  padding:0 64px;
  text-align:center;
}

.gallery-modal__title,
.gallery-modal__count{
  margin:0;
  color:var(--ink,#111827);
  line-height:1.25;
}

.gallery-modal__title{
  font-size:15px;
  font-weight:850;
}

.gallery-modal__count{
  color:var(--muted,#6b7280);
  font-size:13px;
  font-weight:750;
}

.header-favorite-form{
  margin:0;
}

.rating-stars,
.review-stars{
  display:inline-flex;
  align-items:center;
  gap:1px;
  color:#cbd5e1;
  white-space:nowrap;
}

/* Компоненты с вложенными элементами и состояниями */

.split-list-row:focus{
  outline:0;
}

.split-list-row:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent,#009c9b) 42%,transparent);
  outline-offset:3px;
}

.split-list-item--reveal.is-open .reveal-panel{
  grid-template-rows:1fr;
}

.split-list-item--reveal.is-open .reveal-panel__inner{
  padding:0 0 12px;
  opacity:1;
  visibility:visible;
}

.detail-hero::after{
  content:"";
  position:absolute;
  top:-80px;
  right:-80px;
  width:220px;
  height:220px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(0,184,180,.18),transparent 70%);
  pointer-events:none;
}

.detail-section h2{
  margin:0;
}

.section-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  margin:0 0 14px;
}

.section-title-row--top{
  align-items:flex-start;
}

.section-title-row h1,
.section-title-row h2,
.section-title-row h3{
  margin:0;
  min-width:0;
}

.section-title-row__actions{
  flex:0 0 auto;
  margin-left:auto;
  justify-content:flex-end;
}

@media(max-width:760px){
  .section-title-row{
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .section-title-row__actions{
    flex:1 1 auto;
    width:100%;
    margin-left:0;
    justify-content:flex-start;
  }
}

.week-schedule::-webkit-scrollbar{
  display:none;
}

.week-schedule-days span{
  display:grid;
  place-items:center;
  min-height:42px;
  border:1px solid var(--line,#b9e3e3);
  border-radius:16px;
  padding:8px;
  background:transparent;
  color:var(--muted,#6b7280);
  font-size:12px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
}

.week-time-cell i{
  display:block;
  width:14px;
  height:1px;
  margin:3px 0;
  background:currentColor;
  opacity:.5;
}

.split-list-item:first-child{
  padding-top:0;
}

.split-list-item:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.split-list--interactive .split-list-item:last-child{
  border-bottom:0;
}

.detail-gallery .gallery-thumb,
.detail-gallery .gallery-thumb:hover,
.detail-gallery .gallery-thumb:focus{
  background:transparent;
  box-shadow:none;
}

.gallery-thumb img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
}

.gallery-item figcaption{
  padding:10px 12px;
  color:var(--ink,#111827);
  font-weight:800;
}

.media-carousel{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  background:color-mix(in srgb,var(--card,#fff) 82%,var(--bg,#f8fafc));
}

.media-carousel__track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:100%;
  overflow-x:auto;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}

.media-carousel__track::-webkit-scrollbar{
  display:none;
}

.media-carousel__item{
  display:block;
  width:100%;
  height:220px;
  min-height:0;
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  box-shadow:none;
  color:inherit;
  cursor:pointer;
  scroll-snap-align:center;
}

.media-carousel__item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.gallery-thumb:hover,
.gallery-thumb:active,
.gallery-thumb:focus,
.media-carousel__item:hover,
.media-carousel__item:active,
.media-carousel__item:focus{
  filter:none;
  transform:none;
}

.media-carousel__arrow{
  position:absolute;
  top:50%;
  z-index:2;
  display:grid;
  width:34px;
  min-width:34px;
  height:34px;
  min-height:34px;
  place-items:center;
  border:0;
  border-radius:999px;
  padding:0;
  background:rgba(255,255,255,.92);
  color:#0f172a;
  font-size:26px;
  font-weight:400;
  line-height:1;
  box-shadow:0 10px 24px rgba(15,23,42,.18);
  transform:translateY(-50%);
  cursor:pointer;
}

.media-carousel__arrow--prev{left:10px}

.media-carousel__arrow--next{right:10px}

.media-carousel__arrow[hidden]{
  display:none!important;
}

.media-carousel__arrow:hover,
.media-carousel__arrow:active,
.media-carousel__arrow:focus{
  filter:none;
  transform:translateY(-50%);
}

.gallery-modal__close,
.gallery-modal__nav{
  position:absolute;
  z-index:3;
  display:grid!important;
  place-items:center;
  width:48px!important;
  min-width:48px;
  height:48px;
  min-height:48px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:0!important;
  background:rgba(255,255,255,.94)!important;
  color:#0f172a!important;
  box-shadow:0 18px 40px rgba(0,0,0,.34);
  cursor:pointer;
  line-height:1;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.gallery-modal__close:hover,
.gallery-modal__nav:hover{
  filter:none;
  transform:none;
  background:#fff!important;
}

.gallery-modal__close:active,
.gallery-modal__nav:active{
  transform:scale(.96);
}

.gallery-modal__close:focus-visible,
.gallery-modal__nav:focus-visible{
  outline:3px solid rgba(255,255,255,.72);
  outline-offset:3px;
}

.gallery-modal__close{
  top:14px;
  right:14px;
  font-size:32px;
  font-weight:800;
}

.gallery-modal__nav{
  top:50%;
  font-size:40px;
  font-weight:700;
  transform:translateY(-50%);
}

.gallery-modal__nav:hover{
  transform:translateY(-50%);
}

.gallery-modal__nav:active{
  transform:translateY(-50%) scale(.96);
}

.gallery-modal__nav--prev{
  left:14px;
}

.gallery-modal__nav--next{
  right:14px;
}

.gallery-modal__nav:disabled{
  display:none!important;
}

.rating-stars .is-filled,
.review-stars .is-filled{
  color:#f59e0b;
}

html[data-crm-theme="dark"] .choice-control input[type="checkbox"]{
  border-color:rgba(174,244,241,.30);
  background:#102a30;
}

html[data-crm-theme="dark"] .choice-control input[type="checkbox"]:checked{
  border-color:#6ff0ed;
  background:var(--crm-ui-accent,var(--accent,#18c7c5));
  color:#031416;
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .choice-control input[type="checkbox"]{
    border-color:rgba(174,244,241,.30);
    background:#102a30;
  }

  html[data-crm-theme="system"] .choice-control input[type="checkbox"]:checked{
    border-color:#6ff0ed;
    background:var(--crm-ui-accent,var(--accent,#18c7c5));
    color:#031416;
  }
}


.topbar{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-sizing:border-box;
  gap:18px;
  width:min(1180px,calc(100% - 28px));
  max-width:100%;
  min-width:0;
  margin:0 auto;
  border:1px solid var(--line);
  border-top:0;
  border-radius:0 0 24px 24px;
  padding:12px 18px;
  background:rgba(255,255,255,.9);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

html[data-crm-theme="light"] .topbar{
  border-color:var(--line);
  background:rgba(255,255,255,.92);
  color:var(--ink);
  box-shadow:var(--shadow);
}

html[data-crm-theme="dark"] .topbar{
  border-color:var(--line);
  background:rgba(11,31,36,.90);
  color:var(--ink);
  box-shadow:var(--shadow);
}

@media(prefers-color-scheme:light){
  html[data-crm-theme="system"] .topbar{
    border-color:var(--line);
    background:rgba(255,255,255,.92);
    color:var(--ink);
    box-shadow:var(--shadow);
  }
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .topbar{
    border-color:var(--line);
    background:rgba(11,31,36,.90);
    color:var(--ink);
    box-shadow:var(--shadow);
  }
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  max-width:100%;
  color:inherit;
  font-weight:900;
  text-decoration:none;
}

.brand:hover,
.nav a:hover,
.nav-dropdown-menu a:hover,
.nav-dropdown-form button:hover{
  text-decoration:none;
}

.brand span,
.brand b{
  min-width:0;
}

.brand b{
  display:block;
}

.brand-logo,
.brand-logo-img{
  flex:0 0 auto;
  width:48px;
  height:48px;
  border:0;
  border-radius:16px;
  object-fit:cover;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#fff;
  box-shadow:0 12px 25px rgba(0,121,121,.22);
}

.brand-logo{
  display:grid;
  place-items:center;
}

.brand small{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

.mobile-menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  flex:0 0 44px;
  box-sizing:border-box;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-radius:16px;
  padding:0;
  background:transparent;
  color:var(--accent,#009c9b);
  font-size:26px;
  font-weight:900;
  line-height:1;
  box-shadow:none;
  cursor:pointer;
}

.mobile-menu-toggle:hover,
.mobile-menu-toggle:active{
  background:transparent;
  color:var(--accent,#009c9b);
  box-shadow:none;
  filter:none;
  transform:none;
}

.mobile-menu-toggle,
.mobile-menu-toggle:hover,
.mobile-menu-toggle:active,
.mobile-menu-toggle:focus,
.mobile-menu-toggle:focus-visible,
.mobile-menu-toggle:focus-within,
.mobile-menu-toggle[aria-expanded="true"]{
  border:0!important;
  outline:0!important;
  outline-offset:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  -webkit-tap-highlight-color:rgba(0,0,0,0)!important;
  -webkit-focus-ring-color:transparent!important;
}

.mobile-menu-toggle:focus,
.mobile-menu-toggle:focus-visible{
  outline:0!important;
  outline-offset:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.nav,
.main-nav{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
  max-width:100%;
}

.main-nav{
  position:relative;
}

.nav a,
.nav button,
.nav-dropdown-summary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  box-sizing:border-box;
  max-width:100%;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:#fff;
  color:#374151;
  font-family:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  text-transform:none;
  text-underline-offset:auto;
  box-shadow:inset 0 0 0 1px #f3f4f6;
  cursor:pointer;
}

.nav a:hover,
.nav button:hover,
.nav-dropdown-menu a:hover,
.nav-dropdown-form button:hover{
  background:#ecfeff;
  color:#006b6a;
}

.nav a.active,
.nav button.active,
.nav-register-link,
.nav-dropdown-summary.active,
.nav-dropdown[open]>.nav-dropdown-summary,
.nav-dropdown-form .active-business-choice{
  border-color:transparent;
  background:linear-gradient(135deg,var(--accent),#00b8b4);
  color:#fff;
  box-shadow:0 10px 24px rgba(0,121,121,.18);
}

html[data-crm-theme="dark"] .nav a,
html[data-crm-theme="dark"] .nav button,
html[data-crm-theme="dark"] .nav-dropdown-summary{
  border-color:var(--line);
  background:#102a30;
  color:var(--ink);
  box-shadow:inset 0 0 0 1px var(--line);
}

html[data-crm-theme="dark"] .nav a:hover,
html[data-crm-theme="dark"] .nav button:hover,
html[data-crm-theme="dark"] .nav-dropdown-menu a:hover,
html[data-crm-theme="dark"] .nav-dropdown-form button:hover{
  background:rgba(24,199,197,.14);
  color:#b8fffd;
}

html[data-crm-theme="dark"] .mobile-menu-toggle,
html[data-crm-theme="dark"] .mobile-menu-toggle:hover,
html[data-crm-theme="dark"] .mobile-menu-toggle:active{
  background:transparent;
  color:#b8fffd;
  box-shadow:none;
}

html[data-crm-theme="dark"] .nav a.active,
html[data-crm-theme="dark"] .nav button.active,
html[data-crm-theme="dark"] .nav-register-link,
html[data-crm-theme="dark"] .nav-dropdown-summary.active,
html[data-crm-theme="dark"] .nav-dropdown[open]>.nav-dropdown-summary,
html[data-crm-theme="dark"] .nav-dropdown-form .active-business-choice{
  border-color:transparent;
  background:linear-gradient(135deg,var(--accent),#0fb8b6);
  color:#031416;
  box-shadow:0 10px 24px rgba(24,199,197,.18);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .nav a,
  html[data-crm-theme="system"] .nav button,
  html[data-crm-theme="system"] .nav-dropdown-summary{
    border-color:var(--line);
    background:#102a30;
    color:var(--ink);
    box-shadow:inset 0 0 0 1px var(--line);
  }

  html[data-crm-theme="system"] .nav a:hover,
  html[data-crm-theme="system"] .nav button:hover,
  html[data-crm-theme="system"] .nav-dropdown-menu a:hover,
  html[data-crm-theme="system"] .nav-dropdown-form button:hover{
    background:rgba(24,199,197,.14);
    color:#b8fffd;
  }

  html[data-crm-theme="system"] .mobile-menu-toggle,
  html[data-crm-theme="system"] .mobile-menu-toggle:hover,
  html[data-crm-theme="system"] .mobile-menu-toggle:active{
    background:transparent;
    color:#b8fffd;
    box-shadow:none;
  }

  html[data-crm-theme="system"] .nav a.active,
  html[data-crm-theme="system"] .nav button.active,
  html[data-crm-theme="system"] .nav-register-link,
  html[data-crm-theme="system"] .nav-dropdown-summary.active,
  html[data-crm-theme="system"] .nav-dropdown[open]>.nav-dropdown-summary,
  html[data-crm-theme="system"] .nav-dropdown-form .active-business-choice{
    border-color:transparent;
    background:linear-gradient(135deg,var(--accent),#0fb8b6);
    color:#031416;
    box-shadow:0 10px 24px rgba(24,199,197,.18);
  }
}

.nav-dropdown,
.nav-dropdown-form{
  margin:0;
}

.nav-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-width:0;
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
}

.nav-dropdown-summary{
  list-style:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}

.nav-dropdown-summary:focus,
.nav-dropdown-summary:focus-visible,
.nav-dropdown-summary:active{
  outline:0;
  -webkit-tap-highlight-color:transparent;
}

.nav-dropdown-summary::-webkit-details-marker{
  display:none;
}

.nav-dropdown-summary::after{
  content:"\25BE";
  margin-left:7px;
  color:var(--muted);
  font-size:11px;
}

.nav-dropdown-summary.active::after,
.nav-dropdown[open]>.nav-dropdown-summary::after{
  color:currentColor;
}

.nav-dropdown-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:60;
  box-sizing:border-box;
  min-width:min(240px,calc(100vw - 24px));
  max-width:min(360px,calc(100vw - 24px));
  display:grid;
  gap:6px;
  border:1px solid var(--line);
  border-radius:18px;
  padding:10px;
  background:#fff;
  box-shadow:var(--shadow);
  overflow:hidden;
}

.nav-dropdown-form{
  display:block;
  width:100%;
}

.nav-dropdown-menu a,
.nav-dropdown-form button{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  border:0;
  border-radius:12px;
  padding:9px 10px;
  background:#fff;
  color:#374151;
  font-family:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  text-align:left;
  text-decoration:none;
  box-shadow:none;
  overflow-wrap:anywhere;
  -webkit-tap-highlight-color:transparent;
}

html[data-crm-theme="dark"] .nav-dropdown-menu,
html[data-crm-theme="dark"] .nav-dropdown-menu a,
html[data-crm-theme="dark"] .nav-dropdown-form button{
  border-color:var(--line);
  background:rgba(11,31,36,.90);
  color:var(--ink);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .nav-dropdown-menu,
  html[data-crm-theme="system"] .nav-dropdown-menu a,
  html[data-crm-theme="system"] .nav-dropdown-form button{
    border-color:var(--line);
    background:rgba(11,31,36,.90);
    color:var(--ink);
  }
}

.nav-summary-text{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.nav-menu-link-with-badge{
  justify-content:space-between!important;
  gap:10px!important;
}

.nav-menu-link-with-badge>span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ==========================================================================
   Мобильная версия обычного сайта
   ========================================================================== */

/* Адаптивные правила */

@media(max-width:960px){
  .catalog-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .filter-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:820px){
  .topbar{
    position:sticky;
    top:0;
    align-items:center;
    overflow:visible;
    width:min(1180px,calc(100% - 20px));
    padding:10px 12px;
  }

  .brand{
    max-width:calc(100% - 58px);
  }

  .brand-logo,
  .brand-logo-img{
    width:44px;
    height:44px;
  }

  .brand small{
    font-size:11px;
  }

  .mobile-menu-toggle{
    display:inline-flex;
    flex:0 0 44px;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px;
    min-height:44px;
  }

  .main-nav{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:calc(100% + 8px);
    z-index:80;
    width:auto;
    max-width:100%;
    max-height:calc(100vh - 88px);
    overflow-y:auto;
    overflow-x:hidden;
    box-sizing:border-box;
    padding:12px;
    border:1px solid var(--line,#b9e3e3);
    border-radius:22px;
    background:rgba(255,255,255,.98);
    box-shadow:var(--shadow,0 20px 50px rgba(15,23,42,.12));
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }

  .main-nav.is-open{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .main-nav>a,
  .main-nav>button,
  .main-nav>.nav-dropdown,
  .main-nav>.nav-form{
    width:100%;
    min-width:0;
  }

  .main-nav>a,
  .main-nav>button,
  .main-nav .nav-dropdown-summary{
    width:100%;
    justify-content:space-between;
    border-radius:16px;
    padding:12px 14px;
  }

  .nav-dropdown{
    display:grid;
  }

  .nav-dropdown-menu{
    position:static;
    min-width:0;
    width:100%;
    max-width:100%;
    margin-top:6px;
    padding:8px;
    border-radius:16px;
    background:#f8fafc;
    box-shadow:none;
    overflow-x:hidden;
  }
}

@media(max-width:820px){
  html[data-crm-theme="dark"] .main-nav{
    border-color:var(--line);
    background:rgba(11,31,36,.96);
  }
}

@media(max-width:820px) and (prefers-color-scheme:dark){
  html[data-crm-theme="system"] .main-nav{
    border-color:var(--line);
    background:rgba(11,31,36,.96);
  }
}

@media(max-width:640px){
  .actions,
  .tabs,
  .pagination{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }

  .actions>*,
  .tabs>*,
  .pagination>*{
    min-width:0;
  }

  .btn,
  .tab{
    width:100%;
  }

  .list-row{
    grid-template-columns:auto minmax(0,1fr);
  }

  .list-row>.btn,
  .list-row>.badge{
    grid-column:1 / -1;
    width:100%;
  }


  .pagination-current{
    text-align:center;
  }
}

@media(max-width:820px){
  .shell{
    width:min(1180px,calc(100% - 20px));
    padding-top:12px;
  }

  .catalog-header{
    display:grid;
  }

  .catalog-header .btn{
    width:100%;
  }

  .site-footer,
  .developer-panel{
    width:min(1180px,calc(100% - 20px));
    padding:16px 18px;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
  }

  .developer-panel__credit{
    justify-content:flex-start;
    text-align:left;
  }
}

@media(max-width:640px){
  .filter-grid,
  .catalog-card-grid{
    grid-template-columns:1fr;
  }
}


@media(max-width:960px){
  .detail-layout{
    grid-template-columns:1fr;
  }

  .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:820px){
  .gallery-modal{
    align-items:center;
    padding:10px;
    padding-top:max(10px,env(safe-area-inset-top));
    padding-bottom:max(10px,env(safe-area-inset-bottom));
  }

  .gallery-modal__dialog{
    width:80vw;
    height:80vh;
    max-height:80vh;
    grid-template-rows:minmax(0,1fr) auto;
    gap:10px;
  }

  .gallery-modal__image-wrap{
    min-height:220px;
    height:100%;
    max-height:calc(80vh - 74px);
    border-radius:20px;
  }

  .gallery-modal__image{
    max-height:100%;
  }

  .gallery-modal__caption{
    min-height:52px;
    padding:0 58px;
  }

  .gallery-modal__close,
  .gallery-modal__nav{
    width:46px!important;
    min-width:46px;
    height:46px;
    min-height:46px;
  }

  .gallery-modal__close{
    top:10px;
    right:10px;
    font-size:31px;
  }

  .gallery-modal__nav{
    top:auto;
    bottom:2px;
    font-size:36px;
    transform:none;
  }

  .gallery-modal__nav:hover{
    transform:none;
  }

  .gallery-modal__nav:active{
    transform:scale(.96);
  }

  .gallery-modal__nav--prev{
    left:10px;
  }

  .gallery-modal__nav--next{
    right:10px;
  }
}

@media(max-width:640px){
  .gallery-grid{
    grid-template-columns:1fr;
  }

  .gallery-grid.detail-gallery{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding-bottom:2px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .gallery-grid.detail-gallery::-webkit-scrollbar{
    display:none;
  }

  .gallery-grid.detail-gallery .gallery-item{
    flex:0 0 172px;
    border:0;
    border-radius:18px;
    background:transparent;
  }

  .gallery-grid.detail-gallery .gallery-thumb{
    border-radius:18px;
    overflow:hidden;
  }

  .gallery-grid.detail-gallery .gallery-item figcaption{
    display:none;
  }

  .detail-hero-image{
    width:112px;
    height:112px;
  }
}

/* ==========================================================================
   PWA и мобильное приложение
   ========================================================================== */

/* Простые PWA-правила */

html[data-crm-ui="pwa"] .grid--cards{
  grid-template-columns:1fr;
}

html[data-crm-ui="pwa"] .btn{
  width:100%;
  min-height:46px;
  font-size:16px;
}

.mobile-infinite-loader{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin:16px auto 0;
  border:1px solid var(--line,#b9e3e3);
  border-radius:999px;
  padding:0 18px;
  background:transparent;
  color:var(--accent,#009c9b);
  font-weight:900;
}

.mobile-infinite-loader--silent{
  min-height:1px;
  height:1px;
  width:1px;
  margin:0;
  border:0;
  border-radius:0;
  padding:0;
  overflow:hidden;
  background:transparent;
  color:transparent;
  box-shadow:none;
}


html[data-crm-ui="pwa"] .detail-page--pwa-flush{
  padding-top:0;
}

html[data-crm-ui="pwa"] .detail-spacer--compact{
  height:calc(50px + env(safe-area-inset-top));
}

html[data-crm-ui="pwa"] .detail-page{
  gap:12px;
}

html[data-crm-ui="pwa"] .detail-layout{
  grid-template-columns:1fr;
}

html[data-crm-ui="pwa"] .detail-hero,
html[data-crm-ui="pwa"] .detail-section{
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}

html[data-crm-ui="pwa"] .detail-hero{
  grid-template-columns:96px minmax(0,1fr);
  gap:12px;
  align-items:start;
}

html[data-crm-ui="pwa"] .detail-hero-media{
  grid-row:1 / span 6;
}

html[data-crm-ui="pwa"] .detail-hero-image{
  width:96px;
  height:96px;
  border-radius:20px;
  box-shadow:none;
}

html[data-crm-ui="pwa"] .detail-hero-image--placeholder{
  font-size:38px;
}

html[data-crm-ui="pwa"] .detail-hero-title{
  color:var(--mobile-text,var(--ink,#111827));
  font-size:22px;
  line-height:1.12;
}

html[data-crm-ui="pwa"] .detail-hero-subtitle,
html[data-crm-ui="pwa"] .detail-hero-meta{
  color:var(--mobile-muted,#7a8aa0);
  font-size:13px;
}

html[data-crm-ui="pwa"] .detail-hero-description{
  color:var(--mobile-text,var(--ink,#111827));
  font-size:14px;
  line-height:1.35;
}

html[data-crm-ui="pwa"] .detail-hero--split{
  grid-template-columns:1fr;
  gap:16px;
  width:100%;
  max-width:100%;
  overflow:hidden;
}

html[data-crm-ui="pwa"] .detail-hero--split .detail-hero-intro{
  grid-template-columns:96px minmax(0,1fr);
  gap:8px 12px;
}

html[data-crm-ui="pwa"] .detail-hero--split .detail-hero-intro .detail-hero-media{
  grid-row:1 / span 5;
}

html[data-crm-ui="pwa"] .detail-hero--split .detail-hero-intro .facts-grid{
  grid-column:1 / -1;
}

html[data-crm-ui="pwa"] .detail-section{
  gap:10px;
  margin-top:10px;
}

html[data-crm-ui="pwa"] .facts-grid{
  gap:9px 12px;
}

html[data-crm-ui="pwa"] .fact-label{
  color:var(--mobile-muted,#7a8aa0);
}

html[data-crm-ui="pwa"] .fact-value{
  color:var(--mobile-text,var(--ink,#111827));
}

html[data-crm-ui="pwa"] .split-list-item{
  padding:12px 0;
  border-color:var(--mobile-border,rgba(15,23,42,.10));
}

html[data-crm-ui="pwa"] .split-list--interactive .split-list-item{
  padding:0;
  background:transparent;
}

html[data-crm-ui="pwa"] .split-list-row{
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  padding:12px 0;
}

html[data-crm-ui="pwa"] .split-list-row--reveal{
  grid-template-columns:minmax(0,1fr) minmax(0,auto) 28px 30px;
  gap:8px;
  padding:10px 8px;
}

html[data-crm-ui="pwa"] .split-list-row--reveal .split-list-side{
  max-width:30vw;
  white-space:normal;
  line-height:1.18;
}

html[data-crm-ui="pwa"] .disclosure-indicator{
  background:color-mix(in srgb,var(--mobile-accent,var(--accent,#009c9b)) 10%,transparent);
  color:var(--mobile-accent,var(--accent,#009c9b));
}

html[data-crm-ui="pwa"] .split-list-item--reveal .split-list-row--reveal:hover,
html[data-crm-ui="pwa"] .split-list-item--reveal.is-open .split-list-row--reveal{
  background:color-mix(in srgb,var(--mobile-accent,var(--accent,#009c9b)) 8%,transparent);
}

html[data-crm-ui="pwa"] .split-list--compact .split-list-row{
  gap:8px;
  padding:8px 0;
}

html[data-crm-ui="pwa"] .split-list--compact .split-list-row--reveal{
  gap:8px;
  padding:8px;
}

html[data-crm-ui="pwa"] .split-list-meta,
html[data-crm-ui="pwa"] .datetime-value,
html[data-crm-ui="pwa"] .text-muted,
html[data-crm-ui="pwa"] .split-list-row .split-list-meta{
  color:var(--mobile-muted,#7a8aa0);
}

html[data-crm-ui="pwa"] .split-list-text,
html[data-crm-ui="pwa"] .split-list-title,
html[data-crm-ui="pwa"] .split-list-row .split-list-title,
html[data-crm-ui="pwa"] .split-list-row .split-list-side,
html[data-crm-ui="pwa"] .rating-value,
html[data-crm-ui="pwa"] .price-value{
  color:var(--mobile-text,var(--ink,#111827));
}

html[data-crm-ui="pwa"] .price-value,
html[data-crm-ui="pwa"] .rating-value{
  font-size:14px;
}

html[data-crm-ui="pwa"] .gallery-grid{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding-bottom:2px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

html[data-crm-ui="pwa"] .gallery-item{
  flex:0 0 172px;
  border:0;
  border-radius:18px;
  background:transparent;
}

html[data-crm-ui="pwa"] .gallery-thumb{
  border-radius:18px;
  overflow:hidden;
}

html[data-crm-ui="pwa"] .choice-control{
  background:transparent!important;
  box-shadow:none!important;
}

html[data-crm-ui="pwa"] .media-carousel{
  border-radius:18px;
  background:transparent;
}

html[data-crm-ui="pwa"] .media-carousel__item{
  height:168px;
}

html[data-crm-ui="pwa"] .media-carousel__arrow{
  display:none;
}

/* Составные и групповые PWA-блоки */

.pwa-app-shell{
  --mobile-bg:#f5f8fb;
  --mobile-surface:#fff;
  --mobile-surface-strong:#fff;
  --mobile-text:#0f172a;
  --mobile-muted:#7a8aa0;
  --mobile-border:rgba(15,23,42,.10);
  --mobile-accent:var(--accent,#009c9b);
  --mobile-accent-dark:#007c7b;
  --mobile-accent-soft:#e6fffd;
  --mobile-shadow:0 14px 34px rgba(15,23,42,.10);
  box-sizing:border-box;
  width:min(390px,100%);
  max-width:100%;
  margin:0 auto;
  border-radius:30px;
  background:var(--mobile-bg);
  color:var(--mobile-text);
  overflow:hidden;
}

html[data-crm-theme="dark"] .pwa-app-shell{
  --mobile-bg:#061316;
  --mobile-surface:#0b1f24;
  --mobile-surface-strong:#102a30;
  --mobile-text:#e8fbfb;
  --mobile-muted:#b7c8cf;
  --mobile-border:rgba(174,244,241,.14);
  --mobile-accent:#18c7c5;
  --mobile-accent-dark:#18c7c5;
  --mobile-accent-soft:rgba(24,199,197,.14);
  --mobile-shadow:0 14px 34px rgba(0,0,0,.34);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .pwa-app-shell{
    --mobile-bg:#061316;
    --mobile-surface:#0b1f24;
    --mobile-surface-strong:#102a30;
    --mobile-text:#e8fbfb;
    --mobile-muted:#b7c8cf;
    --mobile-border:rgba(174,244,241,.14);
    --mobile-accent:#18c7c5;
    --mobile-accent-dark:#18c7c5;
    --mobile-accent-soft:rgba(24,199,197,.14);
    --mobile-shadow:0 14px 34px rgba(0,0,0,.34);
  }
}

.pwa-fixed-top{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:95;
  box-sizing:border-box;
  min-height:0;
  padding:0 12px 8px;
  overflow:hidden;
  background:var(--mobile-bg)!important;
  color:var(--mobile-text);
  border:0!important;
  border-radius:0!important;
  box-shadow:0 8px 20px rgba(15,23,42,.07)!important;
  transform:translateZ(0);
  transition:min-height .22s ease,padding .22s ease,box-shadow .22s ease;
  will-change:min-height,padding,box-shadow;
}

.pwa-fixed-top--compact{
  min-height:42px;
}

.pwa-fixed-top--with-subtitle{
  min-height:58px;
}

.pwa-fixed-top.is-collapsed{
  min-height:34px;
  padding-bottom:4px;
  box-shadow:0 6px 16px rgba(15,23,42,.06)!important;
}

.pwa-fixed-spacer{
  display:block;
  height:50px;
  flex:0 0 auto;
}

.pwa-fixed-spacer--compact{
  height:50px;
}

.pwa-fixed-spacer--with-subtitle{
  height:66px;
}

.pwa-fixed-top[data-mobile-catalog-sticky]{
  --mobile-catalog-expanded-height:122px;
  --mobile-catalog-collapsed-height:30px;
  --mobile-catalog-extra-height:72px;
  --mobile-catalog-current-height:var(--mobile-catalog-expanded-height);
  --mobile-catalog-extra-current-height:var(--mobile-catalog-extra-height);
  --mobile-catalog-extra-opacity:1;
  --mobile-catalog-extra-y:0px;
  height:var(--mobile-catalog-current-height);
  min-height:0;
  padding:0 12px 8px;
  overflow:hidden;
  transition:height .22s ease,padding .22s ease,box-shadow .22s ease;
  will-change:height,padding,box-shadow;
}

.pwa-fixed-spacer[data-mobile-catalog-spacer]{
  --mobile-catalog-expanded-height:122px;
  --mobile-catalog-current-height:var(--mobile-catalog-expanded-height);
  height:calc(var(--mobile-catalog-current-height) + 8px);
}

.pwa-page-header{
  position:relative;
  display:grid;
  grid-template-columns:minmax(64px,1fr) auto minmax(64px,1fr);
  align-items:center;
  gap:8px;
  min-height:28px;
  margin:0 0 6px;
  padding:0;
}

.pwa-page-header--with-action{
  grid-template-columns:minmax(64px,1fr) auto minmax(64px,1fr);
}

.pwa-page-title{
  grid-column:2;
  min-width:0;
  max-width:100%;
  margin:0;
  overflow:hidden;
  color:var(--mobile-text);
  font-size:18px;
  font-weight:700;
  line-height:1.15;
  text-align:center;
  letter-spacing:-.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
  transition:font-size .22s ease,transform .22s ease;
}

.pwa-header-action,
.pwa-header-action:visited{
  justify-self:start;
  display:inline-flex;
  width:auto;
  min-width:0;
  min-height:30px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  appearance:none;
  -webkit-appearance:none;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent!important;
  color:var(--mobile-text);
  font-family:inherit;
  font-size:14px;
  font-weight:650;
  line-height:1;
  letter-spacing:normal;
  text-decoration:none;
  text-transform:none;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent;
}

.mobile-bottom-nav__item:hover,
.pwa-header-action:hover{
  text-decoration:none;
}

.pwa-header-action:hover,
.pwa-header-action:focus,
.pwa-header-action:active{
  background:transparent!important;
  color:var(--mobile-text);
  box-shadow:none!important;
}

html[data-crm-ui="pwa"] .pwa-page-header .pwa-header-action,
html[data-crm-ui="pwa"] .pwa-page-header button.pwa-header-action{
  width:auto;
  min-height:30px;
}

.pwa-header-left{
  grid-column:1;
  justify-self:start;
}

.pwa-header-action--right,
.pwa-header-action--right:visited{
  grid-column:3;
  justify-self:end;
  margin-left:auto;
}

.pwa-header-action--ghost{
  color:var(--mobile-text);
}

.pwa-header-icon-action{
  min-width:30px;
  font-size:20px;
  line-height:1;
  text-decoration:none!important;
}

.pwa-header-action-placeholder{
  display:block;
  min-width:1px;
  min-height:1px;
}

.pwa-header-subtitle{
  min-width:0;
  max-width:100%;
  margin:-2px 0 0;
  overflow:hidden;
  color:var(--mobile-muted);
  font-size:12px;
  font-weight:650;
  line-height:1.2;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
  transition:opacity .22s ease,transform .22s ease,max-height .22s ease,margin .22s ease;
}

.pwa-fixed-top.is-collapsed .pwa-page-title{
  font-size:17px;
}

.pwa-fixed-top.is-collapsed .pwa-header-subtitle{
  max-height:0;
  margin-top:0;
  opacity:0;
  transform:translateY(-4px);
}

.pwa-card{
  display:block;
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  border:1px solid var(--mobile-border);
  border-radius:20px;
  padding:14px;
  background:var(--mobile-surface);
  color:var(--mobile-text);
  box-shadow:none;
}

.mobile-app-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  box-sizing:border-box;
  width:auto;
  max-width:100%;
  min-height:42px;
  border:1px solid var(--mobile-border,var(--line,#b9e3e3));
  border-radius:16px;
  padding:10px 14px;
  background:var(--mobile-surface,var(--card,#fff));
  color:var(--mobile-text,var(--ink,#111827));
  font-family:var(--font-family-base);
  font-size:15px;
  font-weight:800;
  line-height:1.15;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}

.mobile-app-button:link,
.mobile-app-button:visited{
  color:var(--mobile-text,var(--ink,#111827));
}

.mobile-app-button:hover{
  text-decoration:none;
}

.mobile-app-button:active{
  transform:translateY(1px);
}

.mobile-app-button:focus{
  outline:0;
}

.mobile-app-button:focus:not(:focus-visible){
  outline:0;
  box-shadow:none;
}

.mobile-app-button:focus-visible{
  outline:2px solid color-mix(in srgb,var(--mobile-accent,var(--accent,#009c9b)) 42%,transparent);
  outline-offset:3px;
}

.mobile-app-button--primary{
  border-color:transparent;
  background:linear-gradient(135deg,var(--mobile-accent,var(--accent,#009c9b)),var(--mobile-accent-dark,#007c7b));
  color:#fff;
  box-shadow:0 10px 22px rgba(0,121,121,.16);
}

.mobile-app-button--primary:link,
.mobile-app-button--primary:visited{
  color:#fff;
}

.mobile-app-button--secondary{
  background:var(--mobile-surface,var(--card,#fff));
  color:var(--mobile-accent-dark,var(--accent,#009c9b));
  box-shadow:inset 0 0 0 1px var(--mobile-border,var(--line,#b9e3e3));
}

.mobile-app-button--secondary:link,
.mobile-app-button--secondary:visited{
  color:var(--mobile-accent-dark,var(--accent,#009c9b));
}

.mobile-app-button--danger{
  border-color:transparent;
  background:color-mix(in srgb,var(--red,#dc2626) 92%,#000 8%);
  color:#fff;
  box-shadow:0 10px 22px rgba(220,38,38,.16);
}

.mobile-app-button--danger:link,
.mobile-app-button--danger:visited{
  color:#fff;
}

.mobile-app-button--small{
  min-height:34px;
  border-radius:13px;
  padding:8px 12px;
  font-size:13px;
}

.mobile-app-button[disabled],
.mobile-app-button:disabled,
.mobile-app-button.disabled{
  opacity:.55;
  cursor:not-allowed;
  pointer-events:none;
  transform:none;
}

@media(max-width:820px){
  .mobile-app-button{
    width:100%;
    min-height:50px;
  }
}

.mobile-catalog-page{
  box-sizing:border-box;
  width:100%;
  max-width:480px;
  margin:0 auto;
  color:var(--mobile-text,var(--ink,#111827));
}

.mobile-catalog-fixed{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:70;
  padding:calc(env(safe-area-inset-top) + 4px) 12px 10px;
  background:var(--mobile-bg,#f5f8fb);
  box-shadow:0 8px 20px rgba(15,23,42,.07);
}

.mobile-page-title{
  margin:0 0 10px;
  color:var(--mobile-text,var(--ink,#111827));
  font-size:28px;
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.04em;
}

.mobile-form{
  display:block;
  margin:0 0 10px;
}

.mobile-input{
  min-height:44px;
  border-color:var(--mobile-border,var(--line,#b9e3e3));
  border-radius:16px;
  background:var(--mobile-surface,#fff);
  color:var(--mobile-text,#0f172a);
  box-shadow:none;
}

.mobile-catalog-extra{
  display:grid;
  gap:8px;
}

.standard-page--pwa{
  --mobile-bg:#f5f8fb;
  --mobile-surface:#fff;
  --mobile-surface-strong:#fff;
  --mobile-text:#0f172a;
  --mobile-muted:#7a8aa0;
  --mobile-border:rgba(15,23,42,.10);
  --mobile-accent:var(--accent,#009c9b);
  --mobile-accent-dark:#007c7b;
  --mobile-accent-soft:#e6fffd;
  --mobile-shadow:0 14px 34px rgba(15,23,42,.10);
  overflow-x:hidden;
  background:var(--mobile-bg,#f5f8fb);
  color:var(--mobile-text,#0f172a);
}

.pwa-shell{
  box-sizing:border-box;
  width:100%;
  max-width:480px;
  min-width:0;
  min-height:100vh;
  margin:0 auto;
  overflow-x:hidden;
  padding:0 12px calc(86px + env(safe-area-inset-bottom));
}

html[data-crm-theme="dark"] .standard-page--pwa{
  --mobile-bg:#061316;
  --mobile-surface:#0b1f24;
  --mobile-surface-strong:#102a30;
  --mobile-text:#e8fbfb;
  --mobile-muted:#b7c8cf;
  --mobile-border:rgba(174,244,241,.14);
  --mobile-accent:#18c7c5;
  --mobile-accent-dark:#18c7c5;
  --mobile-accent-soft:rgba(24,199,197,.14);
  --mobile-shadow:0 14px 34px rgba(0,0,0,.34);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .standard-page--pwa{
    --mobile-bg:#061316;
    --mobile-surface:#0b1f24;
    --mobile-surface-strong:#102a30;
    --mobile-text:#e8fbfb;
    --mobile-muted:#b7c8cf;
    --mobile-border:rgba(174,244,241,.14);
    --mobile-accent:#18c7c5;
    --mobile-accent-dark:#18c7c5;
    --mobile-accent-soft:rgba(24,199,197,.14);
    --mobile-shadow:0 14px 34px rgba(0,0,0,.34);
  }
}

/* PWA-компоненты с вложенными элементами и состояниями */

html[data-crm-ui="pwa"] .detail-hero::after{
  display:none;
}

html[data-crm-ui="pwa"] .detail-section h2{
  color:var(--mobile-text,#0f172a);
  font-size:20px;
  line-height:1.15;
}

html[data-crm-ui="pwa"] .detail-page .week-schedule-row{
  grid-template-columns:repeat(7,62px);
  min-width:max-content;
  gap:6px;
}

html[data-crm-ui="pwa"] .detail-page .week-schedule-days span,
html[data-crm-ui="pwa"] .detail-page .week-time-cell{
  min-height:38px;
  border-color:var(--mobile-border,rgba(15,23,42,.10));
  border-radius:14px;
  padding:7px 5px;
  font-size:11px;
}

html[data-crm-ui="pwa"] .detail-page .week-time-cell.is-day-off{
  padding-inline:2px;
  font-size:10px;
}

html[data-crm-ui="pwa"] .gallery-grid::-webkit-scrollbar{
  display:none;
}

html[data-crm-ui="pwa"] .gallery-item figcaption{
  display:none;
}

html[data-crm-ui="pwa"] .header-favorite-form{
  grid-column:3;
  justify-self:end;
}

html[data-crm-ui="pwa"] .pwa-page-header .header-favorite-form .favorite-star,
html[data-crm-ui="pwa"] .pwa-page-header .favorite-star{
  position:static;
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
  font-size:20px;
}


.pwa-fixed-top[data-mobile-catalog-sticky] .pwa-page-header{
  margin-bottom:6px;
}

.pwa-fixed-top[data-mobile-catalog-sticky] .mobile-form{
  margin:0 0 6px;
}

.pwa-fixed-top[data-mobile-catalog-sticky] .mobile-catalog-extra{
  display:grid;
  gap:6px;
  max-height:var(--mobile-catalog-extra-current-height);
  overflow:hidden;
  opacity:var(--mobile-catalog-extra-opacity);
  transform:translateY(var(--mobile-catalog-extra-y));
  transition:max-height .22s ease,opacity .22s ease,transform .22s ease;
  will-change:max-height,opacity,transform;
}

.pwa-fixed-top[data-mobile-catalog-sticky] .pwa-header-bottom__link,
.pwa-fixed-top[data-mobile-catalog-sticky] .pwa-header-bottom button.pwa-header-bottom__value{
  min-height:32px;
}

.pwa-header-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
}

.pwa-header-bottom__left,
.pwa-header-bottom__right{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  max-width:100%;
}

.pwa-header-bottom__left{
  flex:1 1 auto;
  justify-content:flex-start;
}

.pwa-header-bottom__right{
  flex:0 0 auto;
  justify-content:flex-end;
}

.pwa-header-bottom__link,
.pwa-header-bottom button.pwa-header-bottom__value{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  gap:4px;
  box-sizing:border-box;
  min-width:0;
  min-height:34px;
  max-width:100%;
  border:0;
  border-radius:999px;
  padding:0;
  background:transparent!important;
  color:var(--mobile-text,#0f172a);
  font-family:var(--font-family-base);
  font-size:14px;
  font-weight:750;
  line-height:1;
  text-decoration:none;
  box-shadow:none!important;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
}

.pwa-header-bottom__link:hover,
.pwa-header-bottom__link:active,
.pwa-header-bottom__link:focus,
.pwa-header-bottom button.pwa-header-bottom__value:hover,
.pwa-header-bottom button.pwa-header-bottom__value:active,
.pwa-header-bottom button.pwa-header-bottom__value:focus{
  background:transparent!important;
  color:var(--mobile-text,#0f172a);
  box-shadow:none!important;
  text-decoration:none;
  outline:0;
}

.pwa-header-bottom__left .pwa-header-bottom__link{
  justify-content:flex-start;
  overflow:hidden;
}

.pwa-header-bottom__label{
  flex:0 0 auto;
  color:var(--mobile-muted,#7a8aa0);
}

.pwa-header-bottom__value{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pwa-header-bottom__right button.pwa-header-bottom__value,
.pwa-header-bottom__right .pwa-header-bottom__link{
  flex:0 0 auto;
  font-weight:850;
}

.mobile-filter-sheet{
  position:fixed;
  inset:0;
  z-index:220;
  display:block;
}

.mobile-filter-sheet[aria-hidden="true"]{
  display:none;
}

.mobile-filter-sheet__overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
  background:rgba(15,23,42,.42);
  box-shadow:none;
}

.mobile-filter-sheet__panel{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:grid;
  gap:14px;
  max-width:480px;
  margin:0 auto;
  border-radius:26px 26px 0 0;
  padding:10px 16px calc(18px + env(safe-area-inset-bottom));
  background:var(--mobile-surface,#fff);
  color:var(--mobile-text,#0f172a);
  box-shadow:0 -18px 44px rgba(15,23,42,.18);
}

.mobile-filter-sheet__handle{
  width:44px;
  height:5px;
  border-radius:999px;
  margin:0 auto;
  background:var(--mobile-border,rgba(15,23,42,.14));
}

.mobile-filter-form{
  display:grid;
  gap:12px;
}

.mobile-filter-form label{
  display:grid;
  gap:6px;
  color:var(--mobile-muted,#7a8aa0);
  font-size:13px;
  font-weight:800;
}

.mobile-bottom-nav{
  --mobile-nav-height:66px;
  --mobile-nav-active:#111827;
  --mobile-nav-inactive:#9aa8b3;
  position:fixed;
  left:0;
  right:0;
  bottom:-10px;
  z-index:120;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  box-sizing:border-box;
  width:100%;
  max-width:100vw;
  min-height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
  border:0;
  border-top:1px solid rgba(0,156,155,.16);
  border-radius:0!important;
  background:rgba(255,255,255,.98);
  box-shadow:0 -10px 26px rgba(15,23,42,.09);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.mobile-bottom-nav__item{
  position:relative;
  display:flex;
  min-width:0;
  min-height:50px;
  align-items:center;
  justify-content:flex-start;
  flex-direction:column;
  gap:3px;
  padding:4px 2px 2px;
  color:var(--mobile-nav-inactive,#9aa8b3);
  font-size:10px;
  font-weight:600;
  line-height:1.05;
  text-align:center;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}

.mobile-bottom-nav__item::before{
  display:none!important;
  content:none!important;
}

.mobile-bottom-nav__item:active .mobile-bottom-nav__icon{
  transform:translateY(1px) scale(.96);
}

.mobile-bottom-nav__item.active{
  color:var(--mobile-nav-active,#111827);
}

.mobile-bottom-nav__icon{
  position:relative;
  z-index:1;
  display:block;
  width:25px;
  height:25px;
  margin-top:7px;
  background:currentColor;
  opacity:.74;
  -webkit-mask:center/contain no-repeat;
  mask:center/contain no-repeat;
  transition:opacity .15s ease,color .15s ease,transform .15s ease;
}

.mobile-bottom-nav__item.active .mobile-bottom-nav__icon{
  opacity:1;
  transform:translateY(-1px);
}

.mobile-bottom-nav__icon--organizations{
  --icon-url:url("../images/mobile-nav/organizations.a43b6f659eb4.svg");
  -webkit-mask-image:var(--icon-url);
  mask-image:var(--icon-url);
}

.mobile-bottom-nav__icon--masters{
  --icon-url:url("../images/mobile-nav/masters.8f2f2c09c63d.svg");
  -webkit-mask-image:var(--icon-url);
  mask-image:var(--icon-url);
}

.mobile-bottom-nav__icon--appointments{
  --icon-url:url("../images/mobile-nav/appointments.280774e640b6.svg");
  -webkit-mask-image:var(--icon-url);
  mask-image:var(--icon-url);
}

.mobile-bottom-nav__icon--notifications{
  --icon-url:url("../images/mobile-nav/notifications.df0943dec5f5.svg");
  -webkit-mask-image:var(--icon-url);
  mask-image:var(--icon-url);
}

.mobile-bottom-nav__icon--profile{
  --icon-url:url("../images/mobile-nav/profile.26c03a7ebfe1.svg");
  -webkit-mask-image:var(--icon-url);
  mask-image:var(--icon-url);
}

.mobile-bottom-nav__icon--today,
.mobile-bottom-nav__icon--schedule{
  --icon-url:url("../images/mobile-nav/appointments.280774e640b6.svg");
  -webkit-mask-image:var(--icon-url);
  mask-image:var(--icon-url);
}

.mobile-bottom-nav__icon--services{
  --icon-url:url("../images/mobile-nav/organizations.a43b6f659eb4.svg");
  -webkit-mask-image:var(--icon-url);
  mask-image:var(--icon-url);
}

.mobile-bottom-nav__icon--clients{
  --icon-url:url("../images/mobile-nav/profile.26c03a7ebfe1.svg");
  -webkit-mask-image:var(--icon-url);
  mask-image:var(--icon-url);
}

.mobile-bottom-nav__label{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  max-width:100%;
  overflow:hidden;
  color:currentColor;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:-.03em;
  text-overflow:ellipsis;
  white-space:nowrap;
  opacity:.78;
  text-decoration:none;
  transition:opacity .15s ease,color .15s ease,font-weight .15s ease;
}

.mobile-bottom-nav__item.active .mobile-bottom-nav__label{
  color:var(--mobile-nav-active,#111827);
  opacity:1;
  font-weight:700;
}

.mobile-bottom-nav__badge{
  position:absolute;
  top:3px;
  left:50%;
  z-index:2;
  min-width:18px;
  height:18px;
  margin-left:7px;
  border:2px solid rgba(255,255,255,.98);
  border-radius:999px;
  padding:0 5px;
  background:#ef4444;
  color:#fff;
  font-size:10px;
  font-weight:900;
  line-height:14px;
  text-align:center;
}

@media(max-width:380px){
  .mobile-bottom-nav__item{font-size:9px}
  .mobile-bottom-nav__icon{width:23px;height:23px}
}

html[data-crm-theme="dark"] .mobile-bottom-nav{
  --mobile-nav-active:#f8ffff;
  --mobile-nav-inactive:#607681;
  border-top-color:rgba(174,244,241,.12);
  background:rgba(6,19,22,.97);
  box-shadow:0 -14px 30px rgba(0,0,0,.35);
}

html[data-crm-theme="dark"] .mobile-bottom-nav__badge{
  border-color:rgba(6,19,22,.97);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .mobile-bottom-nav{
    --mobile-nav-active:#f8ffff;
    --mobile-nav-inactive:#607681;
    border-top-color:rgba(174,244,241,.12);
    background:rgba(6,19,22,.97);
    box-shadow:0 -14px 30px rgba(0,0,0,.35);
  }

  html[data-crm-theme="system"] .mobile-bottom-nav__badge{
    border-color:rgba(6,19,22,.97);
  }
}

.standard-page--pwa .messages{
  position:relative;
  z-index:90;
  margin:10px 0;
}

.standard-page--pwa .catalog-card-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:0;
}

.standard-page--pwa .catalog-item-card{
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}

.standard-page--pwa .catalog-card-photo,
.standard-page--pwa .business-card-logo,
.standard-page--pwa .catalog-card-placeholder{
  width:100%;
  height:auto;
  aspect-ratio:1.15 / 1;
  border-radius:18px;
  box-shadow:none;
}

.standard-page--pwa .catalog-card-media{
  width:100%;
}

.standard-page--pwa .catalog-card-title-row{
  gap:6px;
}

.standard-page--pwa .catalog-card-title{
  font-size:14px;
  line-height:1.15;
}

.standard-page--pwa .catalog-card-rating{
  color:var(--mobile-text,#0f172a);
  font-size:12px;
  line-height:1.2;
}

.standard-page--pwa .catalog-card-services,
.standard-page--pwa .catalog-card-address{
  font-size:12px;
  line-height:1.25;
}

.standard-page--pwa .favorite-form,
.standard-page--pwa .catalog-favorite-form{
  top:6px;
  right:6px;
}

.standard-page--pwa .favorite-star{
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  font-size:18px;
  background:transparent;
  box-shadow:none;
}

@media(max-width:640px){
  .standard-page--pwa .catalog-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* Универсальные классы профиля, форм и действий */

.visually-hidden-input{
  position:fixed!important;
  inset:0 auto auto 0!important;
  box-sizing:border-box!important;
  width:1px!important;
  min-width:0!important;
  max-width:1px!important;
  height:1px!important;
  min-height:0!important;
  max-height:1px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translate(-200vw,-200vh)!important;
}


.code-token{
  box-sizing:border-box;
  display:inline-block;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  vertical-align:baseline;
}

/* Составные универсальные блоки */

.form-stack{
  display:grid;
  gap:16px;
}

.form-stack--compact{
  gap:0;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:14px;
}

.form-field{
  display:grid;
  align-content:start;
  gap:6px;
  min-width:0;
  margin:0;
}

.form-field small{
  margin:0;
}

.inline-control-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}

.inline-control-grid > *{
  min-width:0;
}

.photo-editor{
  display:grid;
  grid-template-columns:minmax(160px,220px) minmax(0,1fr);
  align-items:start;
  gap:16px;
  min-width:0;
}

.photo-editor__preview{
  position:relative;
  display:grid;
  place-items:center;
  min-width:0;
  width:100%;
  aspect-ratio:4/3;
  border:1px solid var(--line,#b9e3e3);
  border-radius:24px;
  background:rgba(0,156,155,.06);
  overflow:hidden;
}

.photo-editor__image,
.photo-editor__placeholder{
  display:block;
  width:100%;
  height:100%;
  border:0;
  border-radius:inherit;
}

.photo-editor__image{
  object-fit:cover;
}

.photo-editor__image[hidden],
.photo-editor__placeholder[hidden]{
  display:none !important;
}

.photo-editor__placeholder{
  display:grid;
  place-items:center;
  color:var(--accent,#009c9b);
  font-size:52px;
  font-weight:950;
  line-height:1;
  background:linear-gradient(135deg,rgba(0,156,155,.10),rgba(0,156,155,.04));
}

.photo-editor__body{
  display:grid;
  align-content:start;
  gap:10px;
  min-width:0;
}

.photo-editor__title{
  color:var(--ink,#111827);
  font-size:17px;
  font-weight:950;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.photo-editor__text{
  margin:0;
  color:var(--muted,#6b7280);
  font-size:13px;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.photo-editor__actions{
  justify-content:flex-start;
  gap:10px;
}

.photo-editor__actions .btn{
  min-width:0;
}

html[data-crm-theme="dark"] .photo-editor__preview{
  background:rgba(0,196,190,.08);
}

html[data-crm-theme="dark"] .photo-editor__title{
  color:var(--ink,#e8fbfb);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .photo-editor__preview{
    background:rgba(0,196,190,.08);
  }

  html[data-crm-theme="system"] .photo-editor__title{
    color:var(--ink,#e8fbfb);
  }
}

@media(max-width:720px){
  .photo-editor{
    grid-template-columns:1fr;
  }

  .photo-editor__preview{
    max-width:360px;
  }
}

html[data-crm-ui="pwa"] .photo-editor{
  grid-template-columns:1fr;
  gap:12px;
}

html[data-crm-ui="pwa"] .photo-editor__preview{
  max-width:none;
  border-radius:22px;
}

html[data-crm-ui="pwa"] .photo-editor__title{
  color:var(--mobile-text,var(--ink,#111827));
}

html[data-crm-ui="pwa"] .photo-editor__text{
  color:var(--mobile-muted,var(--muted,#6b7280));
}

.control-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-width:0;
  border:1px solid var(--line,#b9e3e3);
  border-radius:20px;
  padding:14px;
  background:transparent;
  color:var(--ink,#111827);
}

.control-card__body{
  display:grid;
  gap:4px;
  min-width:0;
}

.control-card__title{
  color:var(--ink,#111827);
  font-size:17px;
  font-weight:950;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.control-card__action{
  justify-self:end;
  white-space:nowrap;
}

html[data-crm-theme="dark"] .control-card__title{
  color:var(--ink,#e8fbfb);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .control-card__title{
    color:var(--ink,#e8fbfb);
  }
}

.section-divider{
  padding-top:14px;
  border-top:1px solid var(--line,#b9e3e3);
}

.form-errors,
.errorlist{
  margin:0;
  padding:0;
  color:var(--danger,#ef4444);
  font-size:13px;
  font-weight:800;
  line-height:1.35;
  list-style:none;
}

.inline-choice{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  margin:0;
  border:1px solid var(--line,#b9e3e3);
  border-radius:18px;
  padding:12px;
  background:transparent;
  color:var(--ink,#111827);
  cursor:pointer;
}

.inline-choice input[type="checkbox"]{
  flex:0 0 auto;
  margin:0;
}

.inline-choice span{
  min-width:0;
}

.service-checkbox-row{
  position:relative;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:flex-start;
  gap:10px;
  min-width:0;
  border:1px solid var(--line,#b9e3e3);
  border-radius:18px;
  padding:12px 14px;
  background:transparent;
  color:var(--ink,#111827);
  cursor:pointer;
  overflow:hidden;
  -webkit-tap-highlight-color:transparent;
}

.service-checkbox-row::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  background:transparent;
  pointer-events:none;
  transition:background-color .14s ease;
}

.service-checkbox-row:hover::before,
.service-checkbox-row:focus-within::before{
  background:color-mix(in srgb,var(--accent,#009c9b) 7%,transparent);
}

.service-checkbox-row:active::before{
  background:color-mix(in srgb,var(--accent,#009c9b) 12%,transparent);
}

.service-checkbox-row > input[type="checkbox"],
.service-checkbox-row > span{
  position:relative;
  z-index:1;
}

.service-checkbox-row > input[type="checkbox"]{
  -webkit-appearance:none;
  appearance:none;
  display:inline-grid;
  width:18px;
  height:18px;
  min-width:18px;
  min-height:18px;
  place-content:center;
  margin:2px 0 0;
  padding:0;
  border:1.5px solid var(--crm-ui-control-border,#9bc4c4);
  border-radius:6px;
  background:var(--crm-ui-surface,#fff);
  color:#fff;
  box-shadow:none;
  cursor:pointer;
}

.service-checkbox-row > input[type="checkbox"]::before{
  content:"";
  width:10px;
  height:10px;
  transform:scale(0);
  transform-origin:center;
  transition:transform .12s ease-in-out;
  background:currentColor;
  clip-path:polygon(14% 44%,0 60%,39% 100%,100% 16%,84% 0,37% 63%);
}

.service-checkbox-row > input[type="checkbox"]:checked{
  border-color:var(--accent,#009c9b);
  background:var(--accent,#009c9b);
  color:#fff;
  box-shadow:0 0 0 3px rgba(0,156,155,.14);
}

.service-checkbox-row > input[type="checkbox"]:checked::before{
  transform:scale(1);
}

.service-checkbox-row > input[type="checkbox"]:focus,
.service-checkbox-row > input[type="checkbox"]:focus-visible{
  outline:0;
}

.service-checkbox-row > input[type="checkbox"]:focus-visible{
  box-shadow:0 0 0 3px rgba(0,156,155,.18);
}

.service-checkbox-row > span{
  display:grid;
  gap:3px;
  min-width:0;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.service-checkbox-row > span > b{
  color:var(--ink,#111827);
  line-height:1.2;
}

.service-checkbox-row > span > small{
  display:block;
  color:var(--muted,#6b7280);
  font-size:13px;
  line-height:1.35;
}

.service-checkbox-row:has(input[type="checkbox"]:checked){
  border-color:color-mix(in srgb,var(--accent,#009c9b) 45%,var(--line,#b9e3e3));
}

html[data-crm-theme="dark"] .service-checkbox-row{
  color:var(--ink,#e8fbfb);
}

html[data-crm-theme="dark"] .service-checkbox-row > span > b{
  color:var(--ink,#e8fbfb);
}

html[data-crm-theme="dark"] .service-checkbox-row > span > small{
  color:var(--muted,#9bb4bd);
}

html[data-crm-theme="dark"] .service-checkbox-row > input[type="checkbox"]{
  border-color:rgba(111,240,237,.30);
  background:#102a30;
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .service-checkbox-row{
    color:var(--ink,#e8fbfb);
  }

  html[data-crm-theme="system"] .service-checkbox-row > span > b{
    color:var(--ink,#e8fbfb);
  }

  html[data-crm-theme="system"] .service-checkbox-row > span > small{
    color:var(--muted,#9bb4bd);
  }

  html[data-crm-theme="system"] .service-checkbox-row > input[type="checkbox"]{
    border-color:rgba(111,240,237,.30);
    background:#102a30;
  }
}

.identity-preview{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.identity-preview__body{
  display:grid;
  gap:3px;
  min-width:0;
}

.identity-preview__title{
  display:block;
  overflow-wrap:anywhere;
  font-size:18px;
  line-height:1.2;
}

.identity-avatar{
  display:grid;
  place-items:center;
  width:96px;
  height:96px;
  min-width:96px;
  overflow:hidden;
  border:0;
  border-radius:24px;
  background:linear-gradient(135deg,var(--accent,#009c9b),var(--accent2,#ff6f7b));
  color:#fff;
  font-size:38px;
  font-weight:900;
  line-height:1;
  box-shadow:0 16px 32px rgba(0,121,121,.14);
}

img.identity-avatar{
  object-fit:cover;
  background:transparent;
}

.identity-avatar[hidden]{
  display:none!important;
}

.media-editor{
  display:grid;
  gap:12px;
  border:1px solid var(--line,#b9e3e3);
  border-radius:22px;
  padding:14px;
  background:transparent;
}

.media-editor__title{
  display:grid;
  gap:3px;
}

.media-editor__title b{
  line-height:1.2;
}

.action-buttons{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  min-width:0;
}

.action-buttons > *{
  flex:0 0 auto;
}

.actions--stretch{
  align-items:stretch;
  gap:8px;
}

.actions--stretch form,
.actions--stack-mobile form{
  margin:0;
}

.actions--stretch button,
.actions--stretch .btn{
  min-height:42px;
}

.inline-reason-form{
  display:flex;
  align-items:flex-start;
  gap:8px;
  flex:1 1 100%;
  min-width:min(100%,420px);
  margin:0;
}

.inline-reason-form textarea{
  min-width:220px;
  min-height:42px;
  flex:1 1 260px;
  padding:9px 12px;
  border-radius:14px;
}

.inline-reason-form button{
  flex:0 0 auto;
}

.split-list-side--actions{
  max-width:100%;
  text-align:right;
}

.split-list-item--stack-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.split-list-item--stack-actions .split-list-main{
  min-width:0;
}

.split-list-item--stack-actions .split-list-main small,
.split-list-item--stack-actions .split-list-main .text-muted{
  overflow-wrap:anywhere;
}

.split-list-item--stack-actions .split-list-side--actions{
  width:100%;
  justify-content:flex-start;
  text-align:left;
}

.split-list-item--balanced{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,auto);
  align-items:start;
  gap:18px;
}

.split-list-item--balanced .split-list-side{
  max-width:none;
  justify-self:end;
}

@media(max-width:720px){
  .split-list-item--balanced{
    grid-template-columns:1fr;
    gap:8px;
  }

  .split-list-item--balanced .split-list-side{
    justify-self:start;
    text-align:left;
  }
}

html[data-crm-ui="pwa"] .split-list-item--balanced{
  grid-template-columns:1fr;
  gap:8px;
}

html[data-crm-ui="pwa"] .split-list-item--balanced .split-list-side{
  justify-self:start;
  text-align:left;
}

.option-list{
  display:grid;
  gap:0;
}

.option-list form{
  margin:0;
}

.option-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:54px;
  border:0;
  border-bottom:1px solid var(--line,#b9e3e3);
  border-radius:0;
  padding:12px 0;
  background:transparent;
  color:var(--ink,#111827);
  box-shadow:none;
  text-align:left;
}

.option-row:hover,
.option-row:active,
.option-row:focus{
  background:transparent;
  box-shadow:none;
  filter:none;
}

.option-row:hover{
  transform:none;
}

.option-row__main{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.option-row__text{
  display:grid;
  gap:3px;
  min-width:0;
}

.option-row__text b{
  overflow:hidden;
  line-height:1.15;
  text-overflow:ellipsis;
}

.option-row__text small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
}

.option-row__mark{
  flex:0 0 auto;
  color:var(--accent,#009c9b);
  font-size:18px;
  font-weight:900;
}

.option-row.is-active .option-row__text b{
  color:var(--accent,#009c9b);
}

.link-grid{
  display:grid;
  min-width:0;
  max-width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.link-grid__item{
  position:relative;
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border:1px solid var(--line,#b9e3e3);
  border-radius:18px;
  padding:12px 10px;
  background:transparent;
  color:var(--ink,#111827);
  font-weight:900;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
}

.link-grid__item:visited{
  color:var(--ink,#111827);
}

.link-grid__item:hover{
  color:var(--accent,#009c9b);
  text-decoration:none;
}

.link-grid__item--full{
  grid-column:1 / -1;
}

.link-grid__badge{
  position:absolute;
  top:5px;
  right:6px;
}


/* Универсальная строка-карточка с медиа, текстом и боковым блоком */

.media-card{
  position:relative;
  display:grid;
  grid-template-columns:56px minmax(0,1fr) minmax(156px,.32fr);
  gap:14px;
  align-items:start;
  color:inherit;
  text-decoration:none;
  transition:background-color .16s ease, box-shadow .16s ease;
}

.media-card:is(a){
  cursor:pointer;
}

.media-card:hover,
.media-card:focus-visible{
  color:inherit;
  text-decoration:none;
  background:rgba(0,156,155,.07);
}

.media-card:active{
  color:inherit;
  text-decoration:none;
  background:rgba(0,156,155,.11);
}

.media-card:visited{
  color:inherit;
  text-decoration:none;
}

.media-card--choice{
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  border:0;
  border-radius:18px;
  padding:2px 6px;
  cursor:pointer;
  overflow:hidden;
  -webkit-tap-highlight-color:transparent;
}

.media-card--choice .media-card__media{
  align-self:center;
}

.media-card--choice .media-card__text{
  font-weight:800;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.media-card--choice:has(input[type="checkbox"]:checked),
.media-card--choice:has(input[type="radio"]:checked){
  background:rgba(0,156,155,.08);
}

html[data-crm-theme="dark"] .media-card--choice:has(input[type="checkbox"]:checked),
html[data-crm-theme="dark"] .media-card--choice:has(input[type="radio"]:checked){
  background:rgba(0,196,190,.12);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .media-card--choice:has(input[type="checkbox"]:checked),
  html[data-crm-theme="system"] .media-card--choice:has(input[type="radio"]:checked){
    background:rgba(0,196,190,.12);
  }
}


html[data-crm-theme="dark"] .media-card:hover,
html[data-crm-theme="dark"] .media-card:focus-visible{
  background:rgba(0,196,190,.12);
}

html[data-crm-theme="dark"] .media-card:active{
  background:rgba(0,196,190,.17);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"] .media-card:hover,
  html[data-crm-theme="system"] .media-card:focus-visible{
    background:rgba(0,196,190,.12);
  }

  html[data-crm-theme="system"] .media-card:active{
    background:rgba(0,196,190,.17);
  }
}

.media-card--marked::before{
  content:"";
  position:absolute;
  left:-1px;
  top:14px;
  bottom:14px;
  width:3px;
  border-radius:99px;
  background:var(--accent,#009c9b);
}

.media-card__media{
  display:flex;
  align-self:stretch;
  align-items:center;
  justify-content:center;
}

.media-card__image-link{
  display:block;
  width:52px;
  height:52px;
  text-decoration:none;
}

.media-card__image{
  width:52px;
  height:52px;
  border-radius:18px;
  box-shadow:none;
}

.media-card__body{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.media-card__aside{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  text-align:right;
}

.media-card__actions{
  justify-content:flex-end;
  gap:8px;
}

.media-card__actions .btn{
  min-width:0;
  white-space:nowrap;
}

.media-card__title-line{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.media-card__title{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  color:var(--ink,#111827);
  font-size:17px;
  font-weight:950;
  line-height:1.18;
  letter-spacing:-.015em;
  text-decoration:none;
}

.media-card:hover .media-card__title,
.media-card:focus-visible .media-card__title,
.media-card__title:hover,
.media-card__title:focus-visible{
  text-decoration:none;
}

.media-card--marked .media-card__title{
  color:var(--accent,#009c9b);
}

.media-card__text{
  display:block;
  color:var(--ink,#111827);
  line-height:1.42;
  text-decoration:none;
}

.media-card__text:hover,
.media-card__text:focus-visible{
  text-decoration:none;
}

.media-card__meta-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 7px;
}

.media-card__meta-title{
  color:var(--ink,#111827);
  font-size:13px;
  font-weight:850;
  line-height:1.25;
}

.media-card__meta,
.media-card__meta-link,
.media-card__dot,
.media-card__date,
.media-card__note{
  color:var(--muted,#6b7280);
  font-size:13px;
  line-height:1.25;
  text-decoration:none;
}

.media-card__meta-link:hover,
.media-card__meta-link:focus-visible{
  text-decoration:none;
}

.media-card__date{
  color:var(--ink,#111827);
  font-weight:900;
}

.media-card__note.rating-value{
  color:var(--accent,#009c9b);
  font-weight:900;
}

html[data-crm-ui="pwa"] .media-card{
  grid-template-columns:48px minmax(0,1fr);
  gap:10px 12px;
  padding:14px 0;
}

html[data-crm-ui="pwa"] .media-card--choice{
  grid-template-columns:30px minmax(0,1fr);
  border:0;
  border-radius:18px;
  padding:2px 6px;
}

html[data-crm-ui="pwa"] .media-card--choice .media-card__text{
  color:var(--mobile-text,var(--ink,#111827));
}

html[data-crm-ui="pwa"] .media-card:hover,
html[data-crm-ui="pwa"] .media-card:focus-visible{
  background:rgba(0,156,155,.08);
}

html[data-crm-ui="pwa"] .media-card__aside{
  grid-column:2;
  align-items:flex-start;
  text-align:left;
}

html[data-crm-ui="pwa"] .media-card__actions{
  justify-content:flex-start;
}

html[data-crm-ui="pwa"] .media-card__image,
html[data-crm-ui="pwa"] .media-card__image-link{
  width:44px;
  height:44px;
  border-radius:16px;
}

html[data-crm-ui="pwa"] .media-card__title{
  color:var(--mobile-text,var(--ink,#111827));
  font-size:15px;
  line-height:1.2;
}

html[data-crm-ui="pwa"] .media-card--marked .media-card__title{
  color:var(--accent,#009c9b);
}

html[data-crm-ui="pwa"] .media-card__text,
html[data-crm-ui="pwa"] .media-card__meta-title{
  color:var(--mobile-text,var(--ink,#111827));
}

html[data-crm-ui="pwa"] .media-card__meta,
html[data-crm-ui="pwa"] .media-card__meta-link,
html[data-crm-ui="pwa"] .media-card__dot,
html[data-crm-ui="pwa"] .media-card__date,
html[data-crm-ui="pwa"] .media-card__note{
  color:var(--mobile-muted,#7a8aa0);
}

html[data-crm-ui="pwa"] .media-card__date{
  color:var(--mobile-text,var(--ink,#111827));
}

@media(max-width:760px){
  .media-card{
    grid-template-columns:48px minmax(0,1fr);
    gap:10px 12px;
    padding:14px 0;
  }

  .media-card--choice{
    grid-template-columns:30px minmax(0,1fr);
    padding:2px 6px;
  }

  .media-card__aside{
    grid-column:2;
    align-items:flex-start;
    text-align:left;
  }

  .media-card__actions{
    justify-content:flex-start;
  }

  .media-card__actions .btn{
    flex:1 1 auto;
    min-width:min(100%,128px);
  }

  .media-card__image,
  .media-card__image-link{
    width:44px;
    height:44px;
    border-radius:16px;
  }
}


@media(max-width:760px){
  .horizontal-scroll{
    gap:12px;
    padding-bottom:6px;
  }

  .horizontal-scroll--screen{
    padding-left:12px;
    padding-right:12px;
  }

  .horizontal-scroll__item,
  .horizontal-scroll__item--wide{
    flex-basis:min(88vw,calc(100vw - 24px));
  }
}


/* Адаптация обычного сайта */

@media(max-width:820px){
  .form-grid{
    grid-template-columns:1fr;
  }

  .split-list-side--actions{
    width:100%;
    justify-content:flex-start;
    text-align:left;
  }

  .split-list-item:has(.split-list-side--actions){
    display:grid;
  }

  .inline-control-grid{
    grid-template-columns:1fr;
  }

  .control-card{
    grid-template-columns:1fr;
    gap:10px;
    padding:12px;
  }

  .control-card__action{
    justify-self:stretch;
    width:100%;
  }

  .actions--stack-mobile{
    display:grid;
    grid-template-columns:1fr;
  }

  .actions--inline-mobile{
    display:flex;
    grid-template-columns:none;
    align-items:center;
    gap:8px;
  }

  .inline-reason-form{
    display:grid;
    width:100%;
    max-width:none;
  }

  .inline-reason-form textarea{
    min-width:0;
    width:100%;
  }
}

/* PWA */


html[data-crm-ui="pwa"] .content-narrow{
  width:min(var(--content-narrow-width,420px),calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));
  max-width:calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right));
  margin-inline:auto;
}

html[data-crm-ui="pwa"] .content-narrow--small{
  --content-narrow-width:420px;
}

html[data-crm-ui="pwa"] .content-narrow--form{
  --content-narrow-width:390px;
}

html[data-crm-ui="pwa"] .content-narrow--top-spaced{
  margin-top:calc(env(safe-area-inset-top,0px) + 16px);
}

html[data-crm-ui="pwa"] body[data-crm-native-app="1"] .content-narrow--top-spaced,
body[data-interface-mode="pwa"][data-crm-native-app="1"] .content-narrow--top-spaced{
  margin-top:calc(env(safe-area-inset-top,0px) + 18px);
}

html[data-crm-ui="pwa"] .content-narrow > .panel{
  width:100%;
  padding-inline:min(16px,4vw);
}

html[data-crm-ui="pwa"] .form-stack{
  gap:12px;
}

html[data-crm-ui="pwa"] .form-stack--compact{
  gap:0;
}

html[data-crm-ui="pwa"] .form-grid{
  grid-template-columns:1fr;
  gap:10px;
}

html[data-crm-ui="pwa"] .form-field{
  gap:5px;
}

html[data-crm-ui="pwa"] .inline-control-grid{
  grid-template-columns:1fr;
}

html[data-crm-ui="pwa"] .control-card{
  grid-template-columns:1fr;
  gap:10px;
  border-color:var(--mobile-border,rgba(15,23,42,.10));
  border-radius:18px;
  padding:12px;
  color:var(--mobile-text,var(--ink,#111827));
}

html[data-crm-ui="pwa"] .control-card__title{
  color:var(--mobile-text,var(--ink,#111827));
  font-size:15px;
}

html[data-crm-ui="pwa"] .control-card__action{
  justify-self:stretch;
  width:100%;
}

html[data-crm-ui="pwa"] .actions--stack-mobile{
  display:grid;
  grid-template-columns:1fr;
}

html[data-crm-ui="pwa"] .actions--inline-mobile{
  display:flex;
  grid-template-columns:none;
  align-items:center;
  gap:8px;
}

html[data-crm-ui="pwa"] .inline-reason-form{
  display:grid;
  width:100%;
  max-width:none;
}

html[data-crm-ui="pwa"] .inline-reason-form textarea{
  min-width:0;
  width:100%;
}

html[data-crm-ui="pwa"] .identity-preview{
  gap:12px;
}

html[data-crm-ui="pwa"] .identity-avatar{
  width:86px;
  height:86px;
  min-width:86px;
  border-radius:22px;
  box-shadow:none;
  font-size:34px;
}

html[data-crm-ui="pwa"] .media-editor{
  border-color:var(--mobile-border,rgba(15,23,42,.10));
  border-radius:20px;
  padding:12px;
}

html[data-crm-ui="pwa"] .option-row{
  min-height:52px;
  border-color:var(--mobile-border,rgba(15,23,42,.10));
  color:var(--mobile-text,var(--ink,#111827));
}

html[data-crm-ui="pwa"] .service-checkbox-row{
  border-color:var(--mobile-border,rgba(15,23,42,.10));
  border-radius:18px;
  padding:12px;
  color:var(--mobile-text,var(--ink,#111827));
}

html[data-crm-ui="pwa"] .service-checkbox-row > span > b{
  color:var(--mobile-text,var(--ink,#111827));
}

html[data-crm-ui="pwa"] .service-checkbox-row > span > small{
  color:var(--mobile-muted,#7a8aa0);
}

html[data-crm-ui="pwa"] .option-row__text small,
html[data-crm-ui="pwa"] .option-row small{
  color:var(--mobile-muted,#7a8aa0);
}

html[data-crm-ui="pwa"] .option-row.is-active .option-row__text b,
html[data-crm-ui="pwa"] .option-row__mark{
  color:var(--mobile-accent-dark,#007c7b);
}

html[data-crm-ui="pwa"] .link-grid__item,
html[data-crm-ui="pwa"] .link-grid__item:visited{
  border-color:var(--mobile-border,rgba(15,23,42,.10));
  border-radius:18px;
  background:var(--mobile-surface-strong,#fff);
  color:var(--mobile-text,var(--ink,#111827));
}

html[data-crm-ui="pwa"] .link-grid__item:active{
  opacity:.72;
}

html[data-crm-theme="dark"][data-crm-ui="pwa"] .link-grid__item,
html[data-crm-theme="dark"][data-crm-ui="pwa"] .link-grid__item:visited,
html[data-crm-theme="dark"] body[data-interface-mode="pwa"] .link-grid__item,
html[data-crm-theme="dark"] body[data-interface-mode="pwa"] .link-grid__item:visited{
  border-color:var(--mobile-border,rgba(174,244,241,.14));
  background:var(--mobile-surface-strong,#102a30);
  color:var(--mobile-text,#e8fbfb);
}

html[data-crm-theme="dark"][data-crm-ui="pwa"] .link-grid__item:hover,
html[data-crm-theme="dark"][data-crm-ui="pwa"] .link-grid__item:focus-visible,
html[data-crm-theme="dark"] body[data-interface-mode="pwa"] .link-grid__item:hover,
html[data-crm-theme="dark"] body[data-interface-mode="pwa"] .link-grid__item:focus-visible{
  border-color:color-mix(in srgb,var(--mobile-accent,#18c7c5) 44%,var(--mobile-border,rgba(174,244,241,.14)));
  background:color-mix(in srgb,var(--mobile-surface-strong,#102a30) 78%,var(--mobile-accent,#18c7c5));
  color:var(--mobile-text,#e8fbfb);
}

@media(prefers-color-scheme:dark){
  html[data-crm-theme="system"][data-crm-ui="pwa"] .link-grid__item,
  html[data-crm-theme="system"][data-crm-ui="pwa"] .link-grid__item:visited,
  html[data-crm-theme="system"] body[data-interface-mode="pwa"] .link-grid__item,
  html[data-crm-theme="system"] body[data-interface-mode="pwa"] .link-grid__item:visited{
    border-color:var(--mobile-border,rgba(174,244,241,.14));
    background:var(--mobile-surface-strong,#102a30);
    color:var(--mobile-text,#e8fbfb);
  }

  html[data-crm-theme="system"][data-crm-ui="pwa"] .link-grid__item:hover,
  html[data-crm-theme="system"][data-crm-ui="pwa"] .link-grid__item:focus-visible,
  html[data-crm-theme="system"] body[data-interface-mode="pwa"] .link-grid__item:hover,
  html[data-crm-theme="system"] body[data-interface-mode="pwa"] .link-grid__item:focus-visible{
    border-color:color-mix(in srgb,var(--mobile-accent,#18c7c5) 44%,var(--mobile-border,rgba(174,244,241,.14)));
    background:color-mix(in srgb,var(--mobile-surface-strong,#102a30) 78%,var(--mobile-accent,#18c7c5));
    color:var(--mobile-text,#e8fbfb);
  }
}

html[data-crm-ui="pwa"] .split-list-side--actions{
  width:100%;
  justify-content:flex-start;
}

html[data-crm-ui="pwa"] .detail-page,
html[data-crm-ui="pwa"] .detail-section,
html[data-crm-ui="pwa"] .facts-grid,
html[data-crm-ui="pwa"] .split-list,
html[data-crm-ui="pwa"] .split-list-item,
html[data-crm-ui="pwa"] .option-list,
html[data-crm-ui="pwa"] .option-row,
html[data-crm-ui="pwa"] .link-grid{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
}

html[data-crm-ui="pwa"] .split-list-side,
html[data-crm-ui="pwa"] .split-list-side--actions{
  min-width:0;
  max-width:100%;
}

.option-row img.avatar{
  border:0;
  object-fit:cover;
}

.push-status-ok{color:#047857}
.push-status-error{color:var(--danger,#ef4444)}
.push-status-muted{color:var(--muted,#6b7280)}

/* Итоговые переопределения кликабельных карточек после PWA-блоков */
.standard-page--pwa .catalog-item-card{
  border-radius:0;
}

.standard-page--pwa .catalog-item-card:hover,
.standard-page--pwa .catalog-item-card:focus-within{
  background:color-mix(in srgb,var(--mobile-accent,var(--accent,#009c9b)) 7%,transparent);
}

.standard-page--pwa .catalog-item-card:active{
  background:color-mix(in srgb,var(--mobile-accent,var(--accent,#009c9b)) 13%,transparent);
  transform:translateY(1px);
}

.standard-page--pwa .catalog-card-title-row > .catalog-favorite-star{
  top:6px;
  right:6px;
}

/* Универсальный модальный выбор даты и времени */
.time-picker-modal[hidden]{display:none!important}
.time-picker-opened{overflow:hidden}
.time-picker-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:end center}
.time-picker-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.38)}
.time-picker-modal-panel{position:relative;z-index:1;width:min(720px,calc(100vw - 24px));max-height:min(760px,calc(100vh - 40px));overflow:auto;margin:0 0 20px;padding:18px;border:1px solid var(--line,#b9e3e3);border-radius:24px;background:var(--card,#fff);color:var(--ink,#111827);box-shadow:0 22px 70px rgba(15,23,42,.24)}
.time-picker-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.time-picker-modal-header h2{margin:0;font-size:22px}
.time-picker-date-control{margin:0 0 12px}
.time-picker-date-button{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:12px 14px;border:1px solid rgba(15,118,110,.24);border-radius:16px;background:transparent;color:var(--ink,#111827);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.time-picker-date-button span{color:var(--muted,#6b7280);font-size:13px;font-weight:850}
.time-picker-date-button b{justify-self:end;color:var(--accent,#009c9b);font-size:17px;line-height:1.15}
.time-picker-date-button small{grid-column:1 / -1;color:var(--muted,#6b7280);font-size:12px;line-height:1.25}
.time-picker-date-button:focus-visible{outline:0;border-color:rgba(0,156,155,.62);box-shadow:0 0 0 3px rgba(0,156,155,.16)}
.time-picker-calendar-shell{margin:-2px 0 14px}
.time-picker-calendar-shell[hidden]{display:none!important}
.time-picker-calendar-card{padding:12px;border:1px solid rgba(15,118,110,.18);border-radius:18px;background:var(--card,#fff);box-shadow:0 12px 34px rgba(15,23,42,.08)}
.time-picker-calendar-header{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin:0 0 10px}
.time-picker-calendar-header strong{text-align:center;color:var(--ink,#111827);font-size:16px;line-height:1.2}
.time-picker-calendar-nav{width:38px;height:36px;border:1px solid rgba(15,118,110,.20);border-radius:12px;background:transparent;color:var(--accent,#009c9b);font-size:24px;line-height:1;cursor:pointer}
.time-picker-calendar-weekdays,.time-picker-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.time-picker-calendar-weekdays{margin:0 0 6px}
.time-picker-calendar-weekdays span{text-align:center;color:var(--muted,#6b7280);font-size:12px;font-weight:900}
.time-picker-calendar-day{position:relative;min-width:0;min-height:44px;display:grid;place-items:center;gap:0;padding:6px 3px 5px;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:transparent;color:var(--ink,#111827);font-family:var(--font-family-base);font-size:var(--font-size-base,16px);font-weight:900;cursor:default;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}
.time-picker-calendar-day-note{display:block;min-height:10px;color:var(--muted,#6b7280);font-size:9px;line-height:1;font-weight:900}
.time-picker-calendar-day.is-outside-month{opacity:.48}
.time-picker-calendar-day.is-today{box-shadow:inset 0 0 0 2px rgba(15,118,110,.18)}
.time-picker-calendar-day.is-available{border-color:rgba(15,118,110,.38);background:rgba(0,156,155,.08);color:var(--accent,#009c9b);cursor:pointer}
.time-picker-calendar-day.is-available:hover,.time-picker-calendar-day.is-available:focus-visible{transform:translateY(-1px);border-color:rgba(0,156,155,.68);background:rgba(0,156,155,.14);outline:0}
.time-picker-calendar-day.is-selected{border-color:var(--accent,#009c9b);background:var(--accent,#009c9b);color:#fff;box-shadow:0 8px 18px rgba(0,156,155,.20)}
.time-picker-calendar-day.is-selected .time-picker-calendar-day-note{color:rgba(255,255,255,.92)}
.time-picker-calendar-day.is-business_day_off,.time-picker-calendar-day.is-master_day_off,.time-picker-calendar-day.is-day_off_both{border-color:rgba(248,113,113,.24);background:rgba(248,113,113,.08);color:#be123c}
.time-picker-calendar-day.is-busy,.time-picker-calendar-day.is-past{opacity:.62}
.time-picker-calendar-day:disabled{cursor:not-allowed}
.time-picker-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin:12px 0 0;color:var(--muted,#6b7280);font-size:12px;font-weight:800}
.time-picker-calendar-legend span{display:inline-flex;align-items:center;gap:5px}
.time-picker-calendar-legend i{width:9px;height:9px;border-radius:999px;background:#94a3b8}
.time-picker-calendar-legend span[data-status="available"] i{background:#0f766e}
.time-picker-calendar-legend span[data-status="master_day_off"] i,.time-picker-calendar-legend span[data-status="business_day_off"] i{background:#e11d48}
.time-picker-calendar-loading,.time-picker-calendar-empty{padding:14px;border-radius:16px;background:rgba(148,163,184,.10);color:var(--muted,#6b7280);font-weight:800;text-align:center}
.time-picker-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.time-slot-button{display:grid;gap:2px;justify-items:center;align-content:center;min-height:58px;padding:10px 8px;border:1px solid rgba(15,118,110,.26);border-radius:16px;background:transparent;color:var(--ink,#111827);cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}
.time-slot-button b{font-size:17px;line-height:1.1}
.time-slot-button small{color:var(--muted,#6b7280);font-size:12px}
.time-slot-button:hover,.time-slot-button:focus-visible{border-color:rgba(15,118,110,.55);background:rgba(0,156,155,.08);outline:0}
.time-slot-button:active{transform:scale(.98)}
@media(max-width:640px){.time-picker-modal-panel{width:100%;max-height:calc(100vh - 24px);margin:0;border-radius:24px 24px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.time-picker-calendar-card{padding:10px;border-radius:18px}.time-picker-calendar-weekdays,.time-picker-calendar-grid{gap:5px}.time-picker-calendar-day{min-height:42px;border-radius:13px;font-size:14px}.time-picker-date-button{padding:12px}}
html[data-crm-theme="dark"] .time-picker-modal-panel,html[data-crm-theme="dark"] .time-picker-calendar-card{border-color:rgba(111,240,237,.18);background:#0b1f24;color:#e8fbfb}
html[data-crm-theme="dark"] .time-picker-date-button,html[data-crm-theme="dark"] .time-picker-calendar-nav,html[data-crm-theme="dark"] .time-slot-button,html[data-crm-theme="dark"] .time-picker-calendar-day{border-color:rgba(111,240,237,.18);background:#102a30;color:#e8fbfb}
html[data-crm-theme="dark"] .time-picker-date-button span,html[data-crm-theme="dark"] .time-picker-date-button small,html[data-crm-theme="dark"] .time-slot-button small,html[data-crm-theme="dark"] .time-picker-calendar-weekdays span,html[data-crm-theme="dark"] .time-picker-calendar-legend{color:#9bb4bd}
html[data-crm-theme="dark"] .time-picker-calendar-day.is-available{border-color:rgba(111,240,237,.40);background:rgba(24,199,197,.14);color:#e8fbfb}
html[data-crm-theme="dark"] .time-picker-calendar-day.is-selected{border-color:#6ff0ed;background:#18c7c5;color:#06282c}
@media(prefers-color-scheme:dark){html[data-crm-theme="system"] .time-picker-modal-panel,html[data-crm-theme="system"] .time-picker-calendar-card{border-color:rgba(111,240,237,.18);background:#0b1f24;color:#e8fbfb}html[data-crm-theme="system"] .time-picker-date-button,html[data-crm-theme="system"] .time-picker-calendar-nav,html[data-crm-theme="system"] .time-slot-button,html[data-crm-theme="system"] .time-picker-calendar-day{border-color:rgba(111,240,237,.18);background:#102a30;color:#e8fbfb}html[data-crm-theme="system"] .time-picker-date-button span,html[data-crm-theme="system"] .time-picker-date-button small,html[data-crm-theme="system"] .time-slot-button small,html[data-crm-theme="system"] .time-picker-calendar-weekdays span,html[data-crm-theme="system"] .time-picker-calendar-legend{color:#9bb4bd}html[data-crm-theme="system"] .time-picker-calendar-day.is-available{border-color:rgba(111,240,237,.40);background:rgba(24,199,197,.14);color:#e8fbfb}html[data-crm-theme="system"] .time-picker-calendar-day.is-selected{border-color:#6ff0ed;background:#18c7c5;color:#06282c}}

