/* ---------- личный кабинет (7 октября 2026) ---------- */
body.login-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; box-sizing: border-box; }
.login-card { width: min(392px, 100%); padding: 28px 28px 24px; box-sizing: border-box; }
.login-card .brand { padding: 0; margin-bottom: 20px; justify-content: center; }
.login-card h2 { margin-top: 8px; }
.login-card .form { max-width: none; }
.login-card .form input { font: inherit; padding: 8px 12px; border-radius: 8px; border: 1px solid var(--border); background: var(--surface-1); color: var(--text-primary);
  width: 100%; box-sizing: border-box; }   /* поля и кнопки — на всю ширину плитки, без пустого поля справа */
/* Кнопки столбиком на всю ширину плитки: рядом «Войти» и «Зарегистрироваться» делились неровно, стык съезжал влево,
   а поровну «Зарегистрироваться» не влезает (владелец, 20 октября 2026). */
.login-card .form .actions { flex-direction: column; }
.login-card .form .actions button { width: 100%; justify-content: center; }
.login-card .form input:focus { outline: 2px solid var(--accent); outline-offset: -1px; }
.login-card .form .actions { align-items: stretch; }
.login-card .form .actions button { height: 40px; padding: 0 20px; font-size: 14px; line-height: var(--lh-none); margin: 0; }   /* обе кнопки одной высоты и на одной линии */
.login-card #error { margin-bottom: 12px; }
.menu button#logout { height: auto; min-height: 32px; padding-top: 8px; padding-bottom: 8px; align-items: flex-start; }
/* Иконка «Выйти» — на уровне первой строки, а не по центру трёх строк: иначе она уезжала вниз и шаг иконок в колонке
   сбивался (владелец, 21 октября 2026: «сделай выравнивание иконок»). */
.menu button#logout svg { margin-top: -2px; }
.menu button#logout .logout-label { color: var(--text-muted); display: grid; min-width: 0; line-height: var(--lh-tight); text-align: left; }
.menu button#logout .logout-label small { font-size: 11px; font-weight: 400; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* ID отделён от почты тонкой линией и чуть опущен (владелец, 21 октября 2026). */
.menu button#logout .logout-label small#logout-id { margin-top: 4px; padding-top: 4px; border-top: 1px solid var(--border); }
.users-table td { vertical-align: middle; }


/* Выпадающий список select: Chrome, Edge и Яндекс Браузер на Windows берут для раскрытого списка background-color самой
   кнопки, а у стеклянных кнопок он почти прозрачный — список выходил белым с невидимым текстом (владелец, 8 октября 2026).
   Поэтому у select подложка непрозрачная (--surface-solid; стеклянный --surface-1 полупрозрачный), а стеклянный оттенок — отдельным слоем background-image. */
:root[data-theme="dark"] select { background-color: var(--surface-solid); background-image: linear-gradient(rgb(255 255 255 / .07), rgb(255 255 255 / .07));
  -webkit-backdrop-filter: none; backdrop-filter: none; }
:root[data-theme="light"] select { background-color: var(--surface-solid); background-image: linear-gradient(rgb(255 255 255 / .7), rgb(255 255 255 / .7));
  -webkit-backdrop-filter: none; backdrop-filter: none; }
:root[data-glass="off"] select { background-image: none; }

.view-as-bar { position: sticky; top: 0; z-index: 60; display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap;
  padding: 8px 16px; background: var(--warn-bg); border-bottom: 1px solid var(--warn-border); font-size: 13px; }
.view-as-bar button { height: 30px; padding: 0 12px; }
.view-as-bar.demo-bar { background: var(--info-bg); border-bottom-color: var(--border); }
.admin-members { margin: 4px 0; font-size: 12px; }
.admin-members summary { cursor: pointer; color: var(--accent); }
.admin-members ul { list-style: none; margin: 4px 0 0; padding: 0 0 0 12px; display: grid; gap: 2px; border-left: 2px solid var(--border); }
.team-link input { width: min(100%, 520px); font-size: 13px; }
.admin-mps { display: grid; gap: 4px; white-space: nowrap; font-size: 13px; }
.admin-mps .off { color: var(--text-muted); }
.admin-search { margin: 0 0 12px; }
.admin-search input { font: inherit; padding: 8px 12px; border-radius: 8px; border: 1px solid var(--border); background: var(--surface-1); color: var(--text-primary); max-width: 100%; }
.admin-stores { list-style: none; margin: 4px 0 0; padding: 0; font-size: 12px; display: grid; gap: 2px; }
.admin-emails { list-style: none; margin: 8px 0 12px; padding: 0; display: grid; gap: 8px; }
.admin-emails li { display: flex; align-items: center; gap: 8px; }

