/* =============================================
   Мобильный UX — mobile-first (360–430px+)
   ============================================= */

html {
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
  font-size: 16px;
}

/* --- Нижнее меню --- */
.mobile-bottom-nav {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 200;
  height: calc(56px + env(safe-area-inset-bottom, 0px));
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background: var(--color-bg-white);
  border-top: 1px solid var(--color-border);
  box-shadow: 0 -4px 20px rgba(15, 39, 64, 0.08);
  grid-template-columns: repeat(5, 1fr);
  align-items: stretch;
}

.mobile-bottom-nav__item--theme {
  border: none;
  background: none;
  font-family: inherit;
  cursor: pointer;
  width: 100%;
}

.has-mobile-nav .mobile-bottom-nav {
  display: grid;
}

.mobile-bottom-nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 44px;
  padding: 6px 4px;
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--color-text-muted);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.mobile-bottom-nav__item--active {
  color: var(--color-primary);
  font-weight: 600;
}

.mobile-bottom-nav__item--active .mobile-bottom-nav__icon {
  transform: scale(1.08);
}

.mobile-bottom-nav__icon {
  font-size: 1.15rem;
  line-height: 1;
}

@media (max-width: 992px) {
  .notif-panel {
    right: 8px !important;
    left: 8px !important;
    width: auto;
    max-width: none;
  }
}
@media (max-width: 992px) {
  body.mobile-shell .header .container {
    padding: 0 12px;
    max-width: 100%;
  }

  body.mobile-shell .header__inner {
    height: 48px;
    position: relative;
  }

  body.mobile-shell .logo__text {
    font-size: 0.95rem;
  }

  body.mobile-shell .logo__mark {
    font-size: 0.75rem;
    padding: 4px 6px;
  }

  body.mobile-shell .logo {
    flex-shrink: 1;
    min-width: 0;
  }

  .mobile-header-toolbar {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    flex-shrink: 0;
  }

  .mobile-header-toolbar__auth {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .mobile-header-toolbar__user {
    display: flex;
    align-items: center;
    gap: 2px;
    position: relative;
  }

  .mobile-header-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    border: 1px solid transparent;
  }

  .mobile-header-btn--ghost {
    color: var(--color-primary);
    border-color: var(--color-border);
    background: transparent;
  }

  .mobile-header-btn--primary {
    color: #fff;
    background: var(--color-primary);
    border-color: var(--color-primary);
  }

  .mobile-header-login {
    max-width: 28vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-primary);
    text-decoration: none;
    padding: 4px 2px;
  }

  .mobile-header-bell {
    min-width: 36px;
    min-height: 36px;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 1.1rem;
    cursor: pointer;
    position: relative;
    border-radius: 50%;
  }

  .mobile-header-logout {
    flex-shrink: 0;
    min-height: 32px;
    padding: 4px 8px;
    border: none;
    background: transparent;
    font-size: 0.72rem;
    font-weight: 600;
    color: #b33;
    cursor: pointer;
    white-space: nowrap;
  }

  .mobile-bottom-nav__icon-wrap {
    position: relative;
    display: inline-flex;
    line-height: 1;
  }

  .mobile-bottom-nav__badge {
    position: absolute;
    top: -5px;
    right: -8px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: #e74c3c;
    color: #fff;
    font-size: 0.6rem;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
  }

  .m-card__unread {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #e74c3c;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    flex-shrink: 0;
  }

  .mobile-header-status {
    margin-left: auto;
    margin-right: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
    max-width: 42vw;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .m-status--pro { background: rgba(200, 169, 81, 0.2); color: var(--color-pro); }
  .m-status--free { background: var(--color-bg); color: var(--color-text-muted); }
  .m-status--admin { background: rgba(26, 58, 92, 0.12); color: var(--color-primary); }
  .m-status--warn { background: rgba(200, 120, 60, 0.15); color: #9a5b20; }
  .m-status--danger { background: rgba(200, 80, 80, 0.12); color: #a33; }

  .mobile-header-more {
    min-width: 44px;
    min-height: 44px;
    border: none;
    background: transparent;
    font-size: 1.4rem;
    line-height: 1;
    color: var(--color-primary);
    cursor: pointer;
    border-radius: var(--radius);
  }

  .mobile-header-menu {
    position: absolute;
    top: 100%;
    right: 8px;
    min-width: 200px;
    background: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    padding: 6px;
    z-index: 300;
  }

  .mobile-header-menu__link {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 10px 14px;
    border: none;
    background: none;
    text-align: left;
    font-size: 0.92rem;
    color: var(--color-text);
    text-decoration: none;
    border-radius: var(--radius);
    cursor: pointer;
  }

  .mobile-header-menu__link:hover,
  .mobile-header-menu__link:focus {
    background: var(--color-bg);
  }

  .mobile-header-menu__link--danger {
    color: #b33;
  }

  /* Отступ под нижнее меню */
  body.has-mobile-nav {
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
  }

  body.has-mobile-nav.page-chat {
    padding-bottom: 0;
  }

  body.has-mobile-nav .m-main,
  body.has-mobile-nav .account-page,
  body.has-mobile-nav .page-chats-hub main,
  body.has-mobile-nav .page-admin .admin-layout {
    padding-bottom: calc(16px + 56px + env(safe-area-inset-bottom, 0px));
  }

  /* Скрыть верхнюю навигацию на мобильных */
  body.mobile-shell .nav,
  body.mobile-shell .header__actions,
  body.mobile-shell .burger,
  body.mobile-shell #btn-theme,
  body.has-mobile-nav #btn-theme {
    display: none !important;
  }

  /* Скрыть боковой rail — навигация через chats.html (кроме PRO-раздела) */
  body.has-mobile-nav.page-chat:not(.page-pro) .chat-sidebar,
  body.has-mobile-nav.page-chat:not(.page-pro) .chat-rail {
    display: none !important;
  }

  body.has-mobile-nav.page-chat .chat-layout {
    top: 48px !important;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.has-mobile-nav.page-chat .chat-layout__inner {
    flex-direction: column;
  }

  body.has-mobile-nav.page-chat .chat-main {
    width: 100%;
    flex: 1;
    min-height: 0;
    border-radius: 0;
  }

  body.has-mobile-nav.page-pro .pro-topics-panel {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
  }

  body.has-mobile-nav.page-pro .pro-topics-panel .chat-sidebar__body {
    display: none !important;
  }

  body.has-mobile-nav.page-pro .pro-topics-panel #desktop-chats-nav {
    display: none !important;
  }

  body.has-mobile-nav.page-pro .pro-topics-panel .topic-list {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    padding: 0 16px 16px;
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.has-mobile-nav.page-pro .topic-item {
    min-height: 56px;
    padding: 14px 16px;
    border-radius: var(--radius-lg);
    background: var(--color-bg-white);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
    text-align: left;
    width: 100%;
    cursor: pointer;
  }

  body.has-mobile-nav.page-pro .topic-item--active {
    border-color: var(--color-pro);
    background: rgba(200, 169, 81, 0.1);
  }

  body.has-mobile-nav.page-pro .topic-list__empty {
    padding: 16px;
    font-size: 0.92rem;
    color: var(--color-text-muted);
  }

  body.has-mobile-nav.page-pro:not(.pro-chat-open) .pro-chat-panel {
    display: none !important;
  }

  body.has-mobile-nav.page-pro.pro-chat-open .pro-topics-panel {
    display: none !important;
  }

  body.has-mobile-nav.page-pro.pro-chat-open .pro-chat-panel {
    display: flex !important;
    flex-direction: column;
    flex: 1;
    min-height: 0;
  }

  body.has-mobile-nav.page-pro .pro-chat-back {
    min-width: 44px;
    min-height: 44px;
  }
}

/* --- Карточки / дашборд --- */
.page-chats-hub {
  background: var(--color-bg);
  min-height: 100vh;
}

.page-chats-hub .m-main {
  min-height: calc(100dvh - 48px);
}

.m-page__title,
.m-dashboard__greeting {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-primary-dark);
  margin: 0 0 16px;
  padding: 0 16px;
}

.m-dashboard__greeting {
  font-size: 1.1rem;
  font-weight: 600;
}

.m-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0 16px;
}

.m-cards--compact {
  gap: 6px;
  padding: 0 12px;
}

.m-card--compact {
  padding: 10px 12px;
  border-radius: var(--radius);
}

.m-card--compact .m-card__row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 24px;
}

.m-card--compact .m-card__title {
  flex: 1;
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-primary-dark);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.3;
}

.m-card__tier {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 20px;
  padding: 0 5px;
  border-radius: 4px;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
}

.m-card__tier--pro {
  background: rgba(200, 169, 81, 0.28);
  color: var(--color-pro);
}

.m-card__tier--free {
  background: var(--color-bg);
  color: var(--color-text-muted);
  border: 1px solid var(--color-border);
}

.m-card__tier--dm {
  background: rgba(42, 82, 128, 0.12);
  color: var(--color-primary);
  border: 1px solid rgba(42, 82, 128, 0.2);
}

.m-card--compact .m-card__unread {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 0.65rem;
  line-height: 18px;
}

.m-card__cta-compact {
  display: block;
  width: 100%;
  margin-top: 8px;
  min-height: 36px;
  font-size: 0.82rem;
}

.m-card--locked.m-card--compact {
  padding-bottom: 10px;
}

.m-card--empty.m-card--compact .m-card__title {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  font-weight: 500;
}

.m-page--chats .m-page__title {
  margin-bottom: 10px;
  padding: 0 12px;
  font-size: 1.1rem;
}

.m-card {
  background: var(--color-bg-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: var(--shadow-sm);
}

.m-card--link,
.m-card--chat {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: box-shadow var(--transition), border-color var(--transition);
  -webkit-tap-highlight-color: transparent;
}

.m-card--link:active,
.m-card--chat:active {
  border-color: var(--color-primary-light);
  box-shadow: var(--shadow-md);
}

.m-card__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-primary-dark);
  margin: 0 0 6px;
}

.m-card__desc {
  font-size: 0.9rem;
  color: var(--color-text-muted);
  margin: 0;
  line-height: 1.45;
}

.m-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}

.m-card__badge {
  flex-shrink: 0;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--color-bg);
  color: var(--color-text-muted);
}

.m-card__badge--pro {
  background: rgba(200, 169, 81, 0.2);
  color: var(--color-pro);
}

.m-card__status {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 8px;
}

.m-card__status--pro { color: var(--color-pro); }
.m-card__status--free { color: var(--color-text-muted); }
.m-card__status--admin { color: var(--color-primary); }

.m-card__meta {
  font-size: 0.88rem;
  color: var(--color-text-muted);
  margin: 4px 0 0;
}

.m-card__lock-text {
  font-size: 0.88rem;
  color: var(--color-text-muted);
  margin: 10px 0;
  padding: 10px 12px;
  background: var(--color-bg);
  border-radius: var(--radius);
}

.m-card--locked {
  opacity: 0.95;
}

.m-card__cta {
  margin-top: 8px;
  min-height: 44px;
}

.m-card__action {
  display: block;
  margin-top: 10px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--color-pro);
}

.m-card__meta-line {
  display: block;
  margin-top: 8px;
  font-size: 0.8rem;
  color: var(--color-text-muted);
  line-height: 1.35;
}

.m-card--empty {
  opacity: 0.95;
}

.m-card__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-accent);
  flex-shrink: 0;
}

.m-section-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--color-text-muted);
  margin: 20px 16px 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.m-empty {
  font-size: 0.9rem;
  color: var(--color-text-muted);
  padding: 12px 16px;
  margin: 0;
}

/* Главная — дашборд после входа */
#user-dashboard {
  display: none;
  background: var(--color-bg);
  padding: 16px 0;
  border-bottom: 1px solid var(--color-border);
}

body.logged-in-home #user-dashboard {
  display: block;
}

@media (max-width: 992px) {
  body.logged-in-home .home-landing {
    display: none;
  }
}

@media (min-width: 993px) {
  body.logged-in-home #user-dashboard {
    display: block;
    max-width: 900px;
    margin: 0 auto;
    border: none;
    background: transparent;
    padding-top: 24px;
  }

  body.logged-in-home #user-dashboard .m-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    max-width: 900px;
    margin: 0 auto;
  }

  body.logged-in-home #user-dashboard .m-card--status {
    grid-column: 1 / -1;
  }
}

/* --- Мессенджер: пузыри --- */
@media (max-width: 992px) {
  .chat-messages {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    background: linear-gradient(180deg, #fff7f3 0%, #ffece4 48%, #ffdfd2 100%);
  }

  .msg {
    max-width: 92%;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    align-self: flex-start;
    color: var(--color-text);
  }

  .msg--own {
    align-self: flex-end;
  }

  .msg__bubble {
    padding: 10px 12px;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(180, 90, 70, 0.08);
    color: var(--color-text);
  }

  .msg:not(.msg--own) .msg__bubble {
    border-bottom-left-radius: 4px;
  }

  .msg--own .msg__bubble {
    background: #e4e4e8;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-bottom-right-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  }

  .msg--own .msg__author {
    color: var(--color-primary-dark);
  }

  .msg--own .msg__time,
  .msg--own .msg__text {
    color: var(--color-text);
  }

  .msg--own .msg__time {
    opacity: 0.65;
  }

  .msg--own .msg__reply {
    background: rgba(255, 255, 255, 0.55);
    color: var(--color-text-muted);
    border-left-color: var(--color-primary-light);
  }

  .msg--pinned .msg__bubble,
  .msg--welcome .msg__bubble {
    background: rgba(200, 169, 81, 0.12);
    border: 1px solid rgba(200, 169, 81, 0.35);
    color: var(--color-text);
  }

  .msg--pinned,
  .msg--welcome {
    max-width: 100%;
    align-self: stretch;
  }

  .msg__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    margin-bottom: 4px;
  }

  .msg--own .msg__header {
    align-items: flex-end;
  }

  .msg__author {
    font-size: 0.78rem;
    font-weight: 600;
  }

  .msg__time {
    font-size: 0.68rem;
  }

  .msg__text {
    font-size: 0.94rem;
    line-height: 1.45;
    margin: 0;
  }

  .msg__bubble {
    overflow: visible;
  }

  .msg__reaction-picker {
    z-index: 50;
    max-width: 100%;
  }

  .msg__actions {
    margin-top: 6px;
    flex-wrap: wrap;
    gap: 4px;
  }

  .msg__btn {
    min-height: 36px;
    font-size: 0.75rem;
    padding: 4px 8px;
  }

  .chat-compose {
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
    background: var(--color-bg-white);
    border-top: 1px solid var(--color-border);
  }

  .chat-form__bar {
    align-items: flex-end;
    gap: 6px;
  }

  .chat-form__attach {
    min-width: 44px;
    min-height: 44px;
  }

  .chat-form__send {
    min-width: 44px;
    min-height: 44px;
    border-radius: 50%;
    padding: 0;
  }

  .chat-form__input {
    font-size: 16px;
    min-height: 44px;
  }

  .chat-main__header h2 {
    font-size: 1rem;
  }

  .chat-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin-right: 4px;
    font-size: 1.25rem;
    color: var(--color-primary);
    text-decoration: none;
    border-radius: var(--radius);
    flex-shrink: 0;
  }

  .chat-main__header {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .chat-empty {
    padding: 24px 16px;
    text-align: center;
    color: var(--color-text-muted);
    font-size: 0.92rem;
    line-height: 1.5;
  }

  .chat-empty__title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-primary-dark);
    margin: 0 0 8px;
  }

  .chat-empty--warm .chat-empty__hint {
    margin-top: 12px;
    padding: 12px;
    background: var(--color-bg-white);
    border-radius: var(--radius);
    font-size: 0.85rem;
    text-align: left;
  }
}

/* --- Личный кабинет: мобильные карточки --- */
@media (max-width: 992px) {
  .page-account .account-page {
    padding: 12px 0 24px;
  }

  .page-account .account-header h1 {
    font-size: 1.25rem;
  }

  .page-account .account-header__desc {
    font-size: 0.9rem;
  }

  .page-account .account-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 16px;
  }

  .page-account .account-card {
    margin: 0;
    border-radius: var(--radius-lg);
    padding: 16px;
  }

  .page-account .account-card h2 {
    font-size: 1rem;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-border);
  }

  .page-account .account-card--wide {
    order: 10;
  }

  .page-account .account-card--profile { order: 1; }
  .page-account .account-card--subscription { order: 2; }
  .page-account .account-card--actions-mobile { order: 3; }
  .page-account .account-card--settings { order: 4; }

  .page-account .account-sub-status {
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-primary-dark);
    margin: 0 0 12px;
  }

  .page-account .account-email {
    word-break: break-all;
    font-size: 0.88rem;
  }

  .page-account .btn {
    min-height: 44px;
  }

  .page-account .form__input {
    font-size: 16px;
    min-height: 44px;
  }

  .page-account #acc-status-badge.badge--free::after {
    content: '';
  }
}

.page-account .account-card--actions-mobile {
  display: none;
}

@media (max-width: 992px) {
  .page-account .account-card--actions-mobile {
    display: block;
  }

  .page-account .account-card--actions-mobile .account-actions-row {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .page-account .account-card--actions-mobile .btn {
    width: 100%;
  }
}

/* --- Админка: таблицы → карточки --- */
@media (max-width: 992px) {
  .page-admin .admin-layout {
    padding: 12px 0;
  }

  .page-admin .admin-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  .page-admin .admin-tab {
    flex-shrink: 0;
    min-height: 44px;
    font-size: 0.82rem;
    padding: 8px 12px;
  }

  .page-admin .admin-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 0 12px;
  }

  .page-admin .stat-card {
    padding: 12px;
  }

  .page-admin .stat-card__num {
    font-size: 1.4rem;
  }

  .page-admin .table-wrap {
    overflow: visible;
  }

  .page-admin .admin-table thead {
    display: none;
  }

  .page-admin .admin-table tbody tr {
    display: block;
    background: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 12px;
    margin-bottom: 10px;
  }

  .page-admin .admin-table tbody td {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0;
    border: none;
    font-size: 0.88rem;
    word-break: break-word;
  }

  .page-admin .admin-table tbody td::before {
    content: attr(data-label);
    font-weight: 600;
    color: var(--color-text-muted);
    flex-shrink: 0;
    max-width: 40%;
  }

  .page-admin .admin-table tbody td.admin-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .page-admin .admin-table tbody td.admin-actions::before {
    display: none;
  }

  .page-admin .admin-table tbody td.admin-actions .btn {
    min-height: 44px;
    width: 100%;
    margin: 2px 0;
  }

  .page-admin .admin-panel__toolbar {
    flex-direction: column;
    gap: 8px;
    padding: 0 12px;
  }

  .page-admin .admin-dm-layout {
    grid-template-columns: 1fr;
    padding: 0 12px;
  }

  .page-admin .form--inline {
    flex-direction: column;
    align-items: stretch;
  }

  .page-admin .form--inline .btn {
    min-height: 44px;
  }

  .page-admin .pro-request {
    margin: 0 12px 10px;
  }
}

/* Кнопки — touch targets */
@media (max-width: 992px) {
  .btn {
    min-height: 44px;
    font-size: 0.92rem;
  }

  .btn--sm {
    min-height: 40px;
  }

  .container {
    padding-left: 16px;
    padding-right: 16px;
    max-width: 100%;
    overflow-x: hidden;
  }

  img, video, iframe {
    max-width: 100%;
  }
}

/* Скрыть технические sync-notice на мобильных для пользователей */
@media (max-width: 992px) {
  body:not(.page-admin) .sync-notice {
    display: none !important;
  }
}
