.mini-profile-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  font-size: 0.9rem;
  color: #dbeafe;
  background: rgba(9,13,40,0.9);
  border-radius: 999px;
  border: 1px solid #1f2937;
  padding: 6px 12px;
  margin-bottom: 8px;
}
.mini-profile-bar span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.mini-profile-bar #mpName::before {
  content: "👤";
}
.mini-profile-bar #mpSC::before {
  content: "💰";
}
.mini-profile-bar #mpCredits::before {
  content: "🔎";
}

/* debug-панель — видна только если к body добавлен класс .debug */
#cabDebug {
  display: none;
  margin: 8px 0 4px;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(15,23,42,0.95);
  border: 1px dashed #4b5563;
  font-size: 0.8rem;
  color: #e5e7eb;
  max-height: 220px;
  overflow: auto;
}
body.debug #cabDebug {
  display: block;
}
#cabDebug strong {
  color: #22d3ee;
}
#cabDebug pre {
  white-space: pre-wrap;
  margin: 4px 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.mini-profile-bar #mpLevel::before {
  content: "⭐";
}

/* help-bar под стоимостью в сканере */
.scan-mode-info {
  margin-top: 4px;
  text-align: center;
  font-size: 0.85rem;
  color: #9fb4ff;
}

/* === Global fixes for mobile layout === */

/* Убираем горизонтальный скролл/сдвиг */
html, body{
  overflow-x: hidden;
}

/* Кабинет не должен быть шире экрана */
.cabinet-main{
  max-width: 100%;
  box-sizing: border-box;
}

/* Сканер: карточка и форма не шире экрана */
#playerSearchTab .search-card{
  max-width: 100%;
}

#playerForm{
  max-width: 100%;
}

/* Кнопка "Buy credits for search" не должна упираться в нижнее меню */
#buyCreditsBtn{
  margin-bottom: 70px;
}

/* Чуть больше воздуха под сканером на мобильном,
   чтобы нижнее меню ничего не перекрывало */
@media (max-width: 700px){
  #playerSearchTab{
    padding-bottom: 80px;
  }
}

/* === Fix tables/min-width on mobile so page doesn't shift right === */

/* По умолчанию не заставляем таблицы быть шире контейнера */
.main-table,
.history-table,
#scanHistoryTable {
  min-width: 0;
}

/* На мобильном: таблицы просто занимают 100% ширины экрана */
@media (max-width: 700px){
  .main-table,
  .history-table,
  #scanHistoryTable {
    width: 100%;
  }
}

/* === Hard guardrails for mobile layout === */

/* Глобально: всё рассчитываем через border-box, убираем паразитные отступы */
*, *::before, *::after{
  box-sizing: border-box;
}

/* Корень документа не может быть шире экрана */
html, body{
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
}

/* Любой прямой ребёнок body не может вылезти шире экрана */
body > *{
  max-width: 100%;
}

/* Основной контейнер кабинета и его прямые дети тоже не шире экрана */
.cabinet-main{
  max-width: 100%;
}
.cabinet-main > *{
  max-width: 100%;
}

/* Сканер: поля не шире контейнера */
#playerSearchTab .sonic-input{
  width: 100%;
}

/* На мобильном: таблицы остаются широкими, но скроллятся внутри wrapper, а не растягивают всю страницу */
@media (max-width: 700px){
  .table-wrapper{
    overflow-x: auto;
  }
  .main-table,
  .history-table,
  #scanHistoryTable{
    min-width: 480px;
    width: auto;
  }

  /* Чуть больше воздуха снизу, чтобы нижнее меню не перекрывало низ сканера/кнопки */
  #playerSearchTab{
    padding-bottom: 90px;
  }
}

/* === FINAL FIX: kill old sidebar offset for cabinet v2 === */

/* Никаких глобальных отступов/смещений у body именно на страницах кабинета v2 */
body {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Основной контейнер кабинета: ровно с левого края, свой внутренний padding */
.cabinet-main {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

/* Шапка, переводчик, нижнее меню и футер – тоже без левых/правых margin */
.sonic-header,
.gtranslate_wrapper,
.cab-bottom-nav,
.sonic-footer {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

/* На всякий случай: все основные блоки внутри кабинета не шире экрана */
main,
header,
footer,
nav,
#playerSearchTab .search-card {
  max-width: 100% !important;
}

/* === GLOBAL BACKGROUND FOR CABINET PAGES === */

/* Фон для всех страниц личного кабинета */
html, body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  color: #e5e7eb;
  background:
    radial-gradient(circle at 0 0, #00ffe71a 0, transparent 55%),
    radial-gradient(circle at 100% 0, #3b82f61a 0, transparent 55%),
    linear-gradient(180deg, #020617, #020617 40%, #020617);
  background-attachment: fixed;
}

/* Убираем белую заливку из старого CSS, если она там есть */
.cabinet-main,
.cab-screen,
body > main {
  background: transparent !important;
}
