/* Местные дополнения к навыку getmeback-admin-design. Токены и компоненты — из kit/,
   здесь только то, чего в навыке нет: карта размещения, вложенные настройки места,
   проверка страниц, вход. Цвета и шрифты — из токенов навыка. */

[hidden] { display: none !important; }

.pm-loading { margin: 24px 0; color: var(--gmb-color-muted); }

/* Вход */
.pm-login__form { display: flex; flex-direction: column; gap: 16px; max-width: 480px; margin-top: 16px; }
.pm-login__form .gmb-field { margin: 0; }

/* Витрина */
.pm-advice { max-width: 760px; margin: 0 0 12px; }
.pm-connection { display: flex; align-items: baseline; gap: 8px; margin: 0 0 8px; color: #585858; font: 300 13px/16px var(--gmb-font-body); }
.pm-connection__dot { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--gmb-color-primary); transform: translateY(-1px); }
.pm-connection--sandbox .pm-connection__dot { background: var(--gmb-color-status-warning); }
.pm-alert { margin: 8px 0; max-width: 760px; }
.pm-group { margin-top: 32px; }
.pm-group > .gmb-section__title { margin-bottom: 12px; }
.pm-group > .gmb-section__description { margin: -8px 0 12px; }
.pm-empty { margin: 0; color: #585858; font: 300 13px/17px var(--gmb-font-body); }
/* Карточка витрины: значок-плитка 64 px, описание не длиннее двух строк, нижняя строка —
   где показывается (зелёным) или что это за плагин (серым). Так все карточки одной высоты. */
.pm-card__icon { width: 64px; height: 64px; flex: none; }
.pm-card__summary { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.pm-card__meta { margin: 6px 0 0; color: #999; font: 400 12px/16px var(--gmb-font-body); }
.pm-card__meta--live { color: var(--gmb-color-primary-hover); font-weight: 700; }
.pm-card .gmb-mechanic__title { margin-right: 120px; }
.pm-muted { color: #858585; font-weight: 300; }
.pm-nowrap { white-space: nowrap; }
.pm-toast { margin-top: 16px; }

/* Размещение: подсказки мест, порядок, место группы на главной. */
.pm-map__hint { margin: 0; color: #999; font: 400 12px/14px var(--gmb-font-body); }
.pm-map__value { margin: 0; }
.pm-map__select { max-width: 465px; }
.pm-map__anchor { max-width: 465px; margin-top: 12px; }
.pm-map__anchor .gmb-field__label { margin-bottom: 4px; }
.pm-order { margin: 0; padding: 0; list-style: none; counter-reset: order; }
.pm-order__item { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 36px; padding: 2px 0; border-bottom: 1px dashed #eaedf1; counter-increment: order; }
.pm-order__item:last-child { border-bottom: 0; }
.pm-order__name::before { display: inline-block; min-width: 20px; color: #999; content: counter(order) "."; }
.pm-order__actions { display: flex; flex: none; gap: 2px; }
.pm-order__actions .gmb-icon-button:disabled { opacity: .3; cursor: default; }
.pm-list { margin: 0; padding: 0; list-style: none; }
.pm-list li { padding: 4px 0; }

/* Карточка плагина: места показа */
.pm-places { display: flex; flex-direction: column; gap: 4px; max-width: 640px; }
.pm-place { margin-bottom: 12px; }
.pm-place .gmb-switch-field__hint { margin-left: 46px; }
.pm-place--disabled .gmb-switch { cursor: default; }
.pm-point { color: #b0bac3; }
.pm-sub { margin: 10px 0 0 46px; }
.pm-sub--field { max-width: 360px; }
.pm-sub--field .gmb-field__label { margin-bottom: 4px; }
.pm-note { margin: 6px 0 0 46px; padding: 6px 10px; border-left: 3px solid var(--gmb-color-status-warning); border-radius: 0 4px 4px 0; background: #fff; color: #585858; font: 400 12px/16px var(--gmb-font-body); }
.pm-places + .pm-note { margin-left: 0; }
.pm-settings { max-width: 465px; margin-top: 8px; }
.pm-setting { margin: 0 0 12px; }
.pm-services { max-width: 640px; margin-top: 8px; font: 300 13px/17px var(--gmb-font-body); }
.pm-services .gmb-integration__label { margin-bottom: 2px; }
.pm-actions { margin-top: 16px; }
.pm-paragraph { margin: 0; }
.pm-link-button { display: inline-flex; align-items: center; text-decoration: none; }
.pm-link-button:hover { text-decoration: none; }
.gmb-integration__settings .gmb-form-status:empty { display: none; }
.gmb-integration__support p { margin-bottom: 6px; }

/* Страницы и проверка */
.pm-pages { border: 1px solid #eaedf1; border-radius: 8px; background: #fff; }
.pm-table { width: 100%; }
.pm-table th:first-child, .pm-table th:nth-child(2), .pm-table th:nth-child(3) { width: auto; }
.pm-table td { vertical-align: top; font: 300 13px/17px var(--gmb-font-body); }
.pm-table--pages th:first-child { width: 30%; }
.pm-table--pages th:last-child { width: 30%; }
.pm-url { word-break: break-all; }
.pm-check { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.pm-check::before { width: 12px; height: 12px; border-radius: 50%; background: #c7c7c7; content: ''; }
.pm-check--ok::before { background: #26b99a; }
.pm-check--error::before { background: #d8553a; }
.pm-problems { margin: 6px 0 0; padding-left: 18px; }
.pm-problem { margin-bottom: 4px; color: #585858; }
.pm-problem--error { color: #b23b23; }
.pm-code { overflow: auto; max-height: 360px; margin: 0; padding: 12px; border: 1px solid #e1e6ea; border-radius: 8px; background: #fff; font: 12px/16px ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre; }

/* Журнал */
.pm-journal { border: 1px solid #eaedf1; border-radius: 8px; background: #fff; }
.pm-journal .pm-table th:first-child { width: 120px; }

/* Подтверждение */
dialog.pm-dialog { width: min(100% - 32px, 560px); }
.pm-dialog__intro { margin: 0 0 12px; font: 400 13px/17px var(--gmb-font-body); }
.pm-lines { margin: 4px 0 12px; padding-left: 20px; font: 400 13px/18px var(--gmb-font-body); }
.pm-lines li { margin-bottom: 4px; }
.pm-lightbox__caption { margin: 8px 0 0; text-align: center; color: #585858; }

@media (max-width: 767px) {
  .pm-card .gmb-mechanic__title { margin-right: 0; }
  .pm-place .gmb-switch-field__hint, .pm-sub, .pm-note { margin-left: 0; }
}

/* Вкладки главной менеджера: ссылки-маршруты с оформлением .gmb-tabs навыка. */
.pm-tabs { margin: 0 0 16px; }
.pm-tabs .gmb-tabs__tab { color: #555; text-decoration: none; }
.pm-tabs .gmb-tabs__tab:hover { color: var(--gmb-color-text); text-decoration: none; }
.pm-tabs .gmb-tabs__tab[aria-current="page"] { color: #000; cursor: default; }
.pm-tabs .gmb-tabs__tab[aria-current="page"]::after { position: absolute; bottom: -1px; left: 0; width: 100%; height: 1px; background: #e30611; content: ""; }
.pm-unsaved { display: inline-block; width: 6px; height: 6px; margin-left: 6px; border-radius: 50%; background: var(--gmb-color-status-warning); vertical-align: middle; }
.pm-journal__hint { margin-top: 8px; }

/* Размещение: панель слева, телефон-схема справа (как телефон редактора сторис). */
.pm-layout { display: grid; grid-template-columns: minmax(0, 560px) 290px; gap: 64px; align-items: start; margin-top: 20px; }
.pm-intro { margin: 0 0 8px; color: #585858; font: 300 13px/17px var(--gmb-font-body); }
.pm-place-row { padding: 14px 0 16px 14px; border-left: 3px solid transparent; border-bottom: 1px solid var(--gmb-color-divider); }
.pm-place-row.is-active { border-left-color: var(--gmb-color-primary); }
.pm-place-row__title { margin: 0 0 2px; }
.pm-place-row__toggle { display: inline-flex; align-items: baseline; gap: 8px; padding: 0; border: 0; background: none; color: var(--gmb-color-title); font: 700 15px/20px var(--gmb-font-heading); cursor: pointer; }
.pm-place-row__toggle:focus-visible { outline: 3px solid rgb(38 185 154 / 24%); outline-offset: 2px; border-radius: 2px; }
.pm-place-row__eye { color: var(--gmb-color-primary); font: 400 12px/14px var(--gmb-font-body); }
.pm-place-row.is-active .pm-place-row__eye { color: #999; }
.pm-place-row__body { margin-top: 10px; font: 300 13px/17px var(--gmb-font-body); }
.pm-startup { margin: 0; }
.pm-order--plain .pm-order__item { counter-increment: none; }
.pm-order--plain .pm-order__name::before { content: none; }
.pm-layout__footer { padding: 16px 0 0 17px; }
.pm-layout__footer .gmb-actions { margin: 0; }
.pm-layout__footer .gmb-form-status:empty { display: none; }

.pm-screens { display: flex; margin: 0 0 12px; border: 1px solid var(--gmb-color-border); border-radius: 8px; overflow: hidden; }
.pm-screens__button { flex: 1; height: 28px; padding: 0 4px; border: 0; border-left: 1px solid var(--gmb-color-border); background: #fff; color: #555; font: 400 11px/1 var(--gmb-font-body); cursor: pointer; white-space: nowrap; }
.pm-screens__button:first-child { border-left: 0; }
.pm-screens__button[aria-pressed="true"] { background: var(--gmb-color-primary); color: #fff; }
.pm-screens__button:focus-visible { outline: 2px solid var(--gmb-color-primary-hover); outline-offset: -2px; }
.pm-preview__hint { margin-top: 4px; }

/* Экран приложения на схеме: светлый, с прокруткой внутри телефона. */
.pm-screen { background: #f2f3f5; }
.pm-screen__scroll { height: 100%; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.pm-screen__empty { margin: 0; padding: 40px 20px; color: #858585; font: 400 12px/16px var(--gmb-font-body); text-align: center; }
.pm-appbar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; height: 44px; padding: 0 12px; background: #fff; box-shadow: 0 1px 0 #e6e9ec; }
.pm-appbar__menu { width: 16px; height: 12px; background: linear-gradient(#2b3134 0 0) top / 100% 2px no-repeat, linear-gradient(#2b3134 0 0) center / 100% 2px no-repeat, linear-gradient(#2b3134 0 0) bottom / 100% 2px no-repeat; }
.pm-appbar__title { flex: 1; margin-right: 16px; text-align: center; color: #2b3134; font: 700 13px/16px var(--gmb-font-heading); }
.pm-home, .pm-plugins, .pm-menu { margin: 0; padding: 0; list-style: none; }
.pm-home { padding: 6px 0 12px; }
.pm-std { display: flex; align-items: center; min-height: 30px; margin: 6px 10px; padding: 6px 10px; border-radius: 8px; background: #fff; color: #9aa3a8; font: 400 11px/14px var(--gmb-font-body); }
.pm-group-block { margin: 8px 0; padding: 0 0 6px; border-block: 1px solid var(--gmb-color-primary); background: #e9f6f3; }
.pm-group-block__head { display: flex; align-items: center; gap: 6px; padding: 6px 10px; color: var(--gmb-color-primary-hover); font: 700 11px/14px var(--gmb-font-heading); cursor: grab; touch-action: none; user-select: none; }
.pm-grip { flex: none; width: 8px; height: 12px; background: radial-gradient(circle, currentColor 1.2px, transparent 1.4px) 0 0 / 4px 4px; opacity: .8; }
.pm-block { position: relative; margin: 6px 0 0; cursor: grab; touch-action: none; user-select: none; }
.pm-block--padded { margin-inline: 10px; }
.pm-block img { display: block; width: 100%; height: auto; pointer-events: none; }
.pm-block--padded img { border-radius: 8px; }
.pm-block__empty { display: flex; align-items: center; justify-content: center; min-height: 64px; margin: 0 10px; border: 1px dashed var(--gmb-color-primary); border-radius: 8px; background: #fff; color: #585858; font: 400 11px/14px var(--gmb-font-body); }
.pm-tag { position: absolute; top: 6px; left: 6px; max-width: calc(100% - 12px); overflow: hidden; padding: 2px 6px; border-radius: 4px; background: rgb(22 159 133 / 92%); color: #fff; font: 700 10px/14px var(--gmb-font-body); white-space: nowrap; text-overflow: ellipsis; }
.pm-block--padded .pm-tag { left: 16px; }
.pm-tag--inline { position: static; margin-left: auto; max-width: 96px; }
.pm-tag--corner { top: auto; bottom: 12px; left: 10px; }
.pm-plugins--static .pm-block { cursor: default; }
.pm-fullscreen { position: relative; height: 100%; }
.pm-fullscreen img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.pm-drawer { min-height: 100%; background: #fff; }
.pm-drawer__head { display: flex; align-items: center; gap: 10px; padding: 16px 14px; border-bottom: 1px solid #eef0f2; color: #2b3134; font: 700 13px/16px var(--gmb-font-heading); }
.pm-drawer__avatar { width: 28px; height: 28px; border-radius: 50%; background: #e3e7ea; }
.pm-menu__item { margin: 0; border-radius: 0; border-bottom: 1px solid #f2f4f5; }
.pm-menu .pm-std { margin: 0; color: #707a80; font-size: 12px; }
.pm-menu__item--plugin { display: flex; align-items: center; gap: 6px; min-height: 30px; padding: 6px 10px; background: #e9f6f3; color: var(--gmb-color-primary-hover); font: 700 12px/14px var(--gmb-font-body); cursor: grab; touch-action: none; user-select: none; }
.pm-menu__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pm-region { padding: 0 0 12px; }
.pm-region__hero { height: 96px; background: linear-gradient(135deg, #d9dee2, #c3cad0); }
.pm-region__title { margin: 12px 12px 4px; color: #2b3134; font: 700 14px/18px var(--gmb-font-heading); }
.pm-region__text { margin: 0 12px 8px; color: #9aa3a8; font: 400 11px/14px var(--gmb-font-body); }
.pm-region__list { margin: 8px 0 0; padding: 0; list-style: none; }
.pm-region__list li { display: flex; align-items: center; gap: 8px; margin: 6px 10px; padding: 8px 10px; border-radius: 8px; background: #fff; color: #707a80; font: 400 12px/14px var(--gmb-font-body); }
.pm-region__list span { width: 12px; height: 12px; border: 1px solid #b0bac3; border-radius: 50%; }

/* Перетаскивание: место вставки — пунктиром, как в редакторе сторис навыка. */
.pm-sort-ghost { opacity: .35; outline: 2px dashed var(--gmb-color-border); outline-offset: -2px; }
.pm-sort-drag { box-shadow: 0 8px 24px rgb(0 0 0 / 20%); opacity: .95 !important; }

@media (max-width: 1000px) {
  .pm-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .pm-layout__preview { justify-self: center; }
}
@media (prefers-reduced-motion: reduce) { .pm-screen__scroll { scroll-behavior: auto; } }

/* Карточка плагина: значок одного размера, снимки — серия одинаковых рамок телефона. */
.pm-logo img { width: 128px; height: 128px; max-width: none; }
.pm-gallery { align-items: flex-start; min-height: 0; padding-bottom: 4px; }
.pm-shot { flex: none; width: 98px; margin: 0; }
.pm-shot .gmb-integration__image { display: block; height: auto; padding: 3px; border-radius: 14px; background: #2b3134; }
.pm-shot .gmb-integration__image img { width: 92px; height: 199px; max-width: none; border: 0; border-radius: 11px; background: #f2f3f5; object-fit: contain; object-position: top; }
.pm-shot figcaption { margin-top: 6px; color: #585858; font: 400 12px/15px var(--gmb-font-body); text-align: center; }
.pm-sim-button { display: inline-flex; align-items: center; height: 28px; margin-top: 8px; padding: 0 12px; font-size: 12px; text-decoration: none; word-break: normal; }
.pm-sim-button:hover { text-decoration: none; }
