.admin-login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; }
.admin-login-card{ width:100%; max-width:360px; background:var(--card); border:1px solid var(--line); border-radius:18px; padding:36px 30px; text-align:center; }
.admin-login-card h2{ margin:0 0 4px; font-size:19px; }
.admin-login-card .sub{ color:var(--muted); font-size:13px; margin-bottom:22px; }
.admin-login-card input{ width:100%; padding:12px 14px; margin-bottom:10px; border-radius:10px; border:1px solid var(--line-2); background:var(--bg-soft); color:var(--text); font-family:var(--sans); font-size:14px; }
.admin-login-card input:focus{ outline:none; border-color:var(--accent); }
.admin-error{ color:var(--danger); font-size:12.5px; margin-top:10px; min-height:16px; }

.admin-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.admin-stat{ border:1px solid var(--line); border-radius:14px; background:var(--card); padding:18px; text-align:center; }
.admin-stat .n{ font-size:26px; font-weight:800; font-family:var(--mono); }
.admin-stat .l{ font-size:12px; color:var(--muted-2); margin-top:4px; }

.admin-search{ width:100%; padding:12px 16px; border-radius:12px; border:1px solid var(--line-2); background:var(--bg-soft); color:var(--text); font-family:var(--sans); font-size:14px; margin-bottom:16px; }
.admin-search:focus{ outline:none; border-color:var(--accent); }

.admin-users-list{ display:flex; flex-direction:column; gap:12px; }
.admin-user-card{ border:1px solid var(--line); border-radius:14px; background:var(--card); padding:18px 20px; transition:border-color .2s; }
.admin-user-card.is-banned{ border-color:rgba(224,126,126,.4); background:rgba(224,126,126,.05); }
.au-head{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:12px; }
.au-id .login{ font-weight:700; font-size:15px; }
.au-id .email{ font-size:12px; color:var(--muted-2); font-family:var(--mono); }
.au-badges{ display:flex; gap:6px; flex-wrap:wrap; }
.au-badge{ font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; padding:3px 9px; border-radius:20px; border:1px solid var(--line-2); color:var(--muted); font-family:var(--mono); }
.au-badge.ok{ color:var(--ok); border-color:rgba(126,224,168,.35); }
.au-badge.warn{ color:var(--danger); border-color:rgba(224,126,126,.4); }

.au-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:12px; }
.au-field{ font-size:12px; }
.au-field .l{ color:var(--muted-2); margin-bottom:2px; }
.au-field .v{ font-weight:700; font-family:var(--mono); }

.au-actions{ display:flex; flex-wrap:wrap; gap:8px; }
.au-actions .btn{ padding:7px 12px; font-size:12.5px; }
.au-balance-input{ width:90px; padding:7px 10px; border-radius:8px; border:1px solid var(--line-2); background:var(--bg-soft); color:var(--text); font-family:var(--mono); font-size:12.5px; }

.admin-empty{ text-align:center; color:var(--muted-2); padding:40px 0; }

@media (max-width:800px){
  .admin-stats{ grid-template-columns:1fr 1fr; }
  .au-grid{ grid-template-columns:1fr 1fr; }
}

/* ================= TABS / GROWTH / BROADCAST ================= */
.admin-tabs{ display:flex; gap:8px; border-bottom:1px solid var(--line-2); margin-top:8px; }
.admin-tab{ background:none; border:none; color:var(--muted-2); font-family:inherit; font-size:14px; padding:10px 16px; cursor:pointer; border-bottom:2px solid transparent; }
.admin-tab.active{ color:var(--text); border-bottom-color:var(--text); }
.admin-tab:hover{ color:var(--text); }

.admin-growth-head{ display:flex; align-items:center; gap:24px; margin-bottom:18px; flex-wrap:wrap; }
.admin-growth-head > div{ display:flex; flex-direction:column; }
.admin-growth-head b{ font-size:20px; font-family:var(--mono); }
.admin-growth-head span{ font-size:11px; color:var(--muted-2); text-transform:uppercase; letter-spacing:.05em; }
.admin-growth-head select{ margin-left:auto; padding:8px 12px; border-radius:8px; border:1px solid var(--line-2); background:var(--bg-soft); color:var(--text); font-family:inherit; }

.admin-chart-label{ font-size:12px; color:var(--muted-2); text-transform:uppercase; letter-spacing:.05em; margin:18px 0 8px; }
#chartSignups, #chartRevenue{ width:100%; display:block; background:var(--bg-soft); border-radius:10px; border:1px solid var(--line-2); }

.admin-broadcast-form{ max-width:520px; display:flex; flex-direction:column; gap:8px; }
.admin-broadcast-form label{ font-size:12px; color:var(--muted-2); margin-top:8px; }
.admin-broadcast-form input, .admin-broadcast-form textarea{ padding:10px 12px; border-radius:8px; border:1px solid var(--line-2); background:var(--bg-soft); color:var(--text); font-family:inherit; font-size:14px; resize:vertical; }
.admin-broadcast-form button{ margin-top:8px; align-self:flex-start; }

.shadowvisual-user-avatar{
  width:32px;
  height:32px;
  border-radius:9px;
  object-fit:cover;
  display:block;
  background:transparent;
  border:0;
}

/* ================= удобство: бейджи, фильтры, Media ================= */
.a-badge{ display:inline-block; min-width:18px; padding:1px 6px; margin-left:4px; border-radius:10px; background:#e57373; color:#fff; font:700 11px Inter,sans-serif; text-align:center; }
.admin-tabs{ overflow-x:auto; scrollbar-width:none; position:sticky; top:0; z-index:6; background:var(--bg,#0a0a12); }
.admin-tab{ white-space:nowrap; }
.admin-toolbar{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:16px; }
.admin-toolbar .admin-search{ flex:1; min-width:220px; margin-bottom:0; }
.admin-select{ padding:11px 12px; border-radius:12px; border:1px solid var(--line-2); background:var(--bg-soft); color:var(--text); font-family:inherit; }
.admin-count{ font-size:12px; color:var(--muted-2); font-family:var(--mono); }
.admin-subtabs{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:18px; }
.admin-subtab{ border:1px solid var(--line-2); background:transparent; color:var(--muted-2); padding:8px 14px; border-radius:20px; cursor:pointer; font:600 13px Inter,sans-serif; }
.admin-subtab.active{ color:#fff; border-color:rgba(124,112,255,.6); background:rgba(124,112,255,.18); }
#chartMediaViews, #chartMediaDays{ width:100%; display:block; background:var(--bg-soft); border-radius:10px; border:1px solid var(--line-2); }
.admin-growth-head{ gap:28px; }
