:root{
  --md-primary:#6750a4; --md-on-primary:#fff;
  --md-primary-soft:#ece6f5; --md-primary-soft-h:#e0d7f2;
  --md-surface:#fffbfe; --md-on-surface:#1c1b1f; --md-outline:#79747e;
  --md-error:#b3261e; --md-error-soft:#fae3e1; --md-error-soft-h:#f6d3d0; --md-ok:#146c2e;
  color-scheme: light dark;
}
*{box-sizing:border-box}
body{font-family:system-ui,'Segoe UI',Roboto,sans-serif;margin:0;background:#f3edf7;color:var(--md-on-surface);line-height:1.5}
.container{max-width:560px;margin:0 auto;padding:1.5rem}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}
.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;text-decoration:none;color:var(--md-primary);font-size:1.1rem;white-space:nowrap}
.brand-text span{color:var(--md-outline);font-weight:400}
.brand-logo{width:28px;height:28px;border-radius:8px;flex:none}
.card{background:var(--md-surface);border-radius:28px;padding:2rem;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.08);overflow-wrap:anywhere}
h1{margin-top:0;font-size:1.6rem}
h2{font-size:1.1rem;margin-top:1.5rem}
a{color:var(--md-primary)}

/* ===== Единая система кнопок =====
   .btn-filled   — PRIMARY (главное действие): Профиль, Войти, Одобрить
   .btn-text     — SECONDARY ghost (действия в контенте): открыть, отвязать, привязать, …
   .btn-nav      — навигация-ссылка (шапка, назад/к списку) — НЕ кнопка
   .btn-provider — вход через провайдера
*/
.btn-filled,.btn-text,.btn-provider{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  font:inherit;font-weight:500;text-decoration:none;cursor:pointer;
  border:1px solid transparent;border-radius:999px;white-space:nowrap;line-height:1.2;
  transition:background .15s,border-color .15s}
.btn-filled{background:var(--md-primary);color:var(--md-on-primary);padding:.7rem 1.5rem}
.btn-filled:hover{background:#5a4593}
.btn-text{background:var(--md-primary-soft);color:var(--md-primary);padding:.42rem 1rem;font-size:.92rem}
.btn-text:hover{background:var(--md-primary-soft-h)}
.btn-text.danger{background:var(--md-error-soft);color:var(--md-error)}
.btn-text.danger:hover{background:var(--md-error-soft-h)}
.btn-nav{color:var(--md-primary);text-decoration:none;font-weight:500;white-space:nowrap}
.btn-nav:hover{text-decoration:underline}

.btn-provider{display:flex;width:100%;margin:.6rem 0;padding:.8rem 1.2rem;border-radius:12px;
  border:1px solid var(--md-outline);color:var(--md-on-surface)}
.btn-provider.google{border-color:var(--md-primary);color:var(--md-primary)}
.btn-provider.yandex{border-color:#fc3f1d;color:#000}
.btn-provider.disabled{opacity:.5;cursor:not-allowed}

.hint{color:var(--md-outline);font-size:.85rem;margin-top:1rem}
.muted{color:var(--md-outline)}
.error{color:var(--md-error)}
.ok{color:var(--md-ok)}

.accounts{list-style:none;padding:0;margin:0}
.accounts li{display:flex;align-items:center;gap:.6rem;padding:.6rem 0;border-bottom:1px solid #e7e0ec;flex-wrap:wrap}
.accounts form{display:inline;margin:0}
.pname{text-transform:capitalize;min-width:90px;font-weight:500}
.tg-widget,.tg-inline{display:inline-flex;align-items:center}

.badge{font-size:.78rem;padding:.15rem .6rem;border-radius:999px;white-space:nowrap}
.badge.on{background:#e8def8;color:var(--md-primary)}
.badge.soon{background:#eee;color:var(--md-outline)}
.badge.admin{background:#ffd8e4;color:#8c1d18}
.badge.ok2{background:#d7f5dd;color:#146c2e}
.badge.blocked{background:#f9dedc;color:#b3261e}

.topnav{display:flex;gap:1rem;align-items:center}

/* таблица пользователей: не вылезает за карточку */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-table{width:100%;border-collapse:collapse;font-size:.92rem}
.admin-table th,.admin-table td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid #e7e0ec;vertical-align:top;overflow-wrap:anywhere}
.admin-table th{color:var(--md-outline);font-weight:500}
.admin-table td .badge{display:inline-block;margin:0 .25rem .25rem 0}
.admin-table td:last-child,.admin-table th:last-child{width:1%;white-space:nowrap;text-align:right}

.admin-actions{display:flex;gap:.6rem;align-items:center;margin-top:1.25rem;flex-wrap:wrap}
.admin-actions form{margin:0}

.stats{list-style:none;padding:0}
.stats li{padding:.3rem 0}
