/* ==========================================================================
   Platform admin — the platform team's area, plus the support-view bar in the gym app
   ========================================================================== */

.platform .sidebar { background: #0f172a; border-right-color: #0f172a; }
.platform .brand__name, .platform .user-chip__who strong { color: #fff; }
.platform .brand__name small, .platform .user-chip__who small { color: #94a3b8; }
.platform .nav__link { color: #cbd5e1; }
.platform .nav__link .icon { color: #64748b; }
.platform .nav__link:hover { background: rgba(255, 255, 255, .06); color: #fff; }
.platform .nav__link.is-active { background: rgba(var(--brand-rgb), .35); color: #fff; }
.platform .nav__link.is-active .icon { color: #c7d2fe; }
.platform .nav__group + .nav__group { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .08); }
.platform .user-chip { border-top-color: rgba(255, 255, 255, .08); }
.platform .user-chip__logout { color: #94a3b8; }
.brand-mark--platform { background: linear-gradient(135deg, #f59e0b, #ea580c); }

.platform-pill {
  display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 99px;
  background: #0f172a; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .02em;
}

.platform-status { color: inherit; }
.platform-status:hover span:first-child { color: var(--brand); }
.platform-status--trial { background: var(--blue) !important; }
.platform-status--trial_ending { background: var(--amber) !important; }
.platform-status--expired { background: var(--muted) !important; }
.platform-status--paying { background: var(--green) !important; }
.platform-status--suspended { background: var(--red) !important; }

.platform-plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); }
.platform-plans div { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--surface-2); }
.platform-plans small { font-size: 11px; color: var(--muted); }
.platform-plans strong { font-family: var(--display); font-size: 18px; }

.platform-form { display: flex; flex-direction: column; gap: 14px; }
.platform-quick { margin-top: 8px; }
.platform-actions { display: flex; flex-direction: column; gap: 8px; }
.platform-actions form { margin: 0; }
.platform .grid { align-items: start; }
.platform-roles { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 13px; }
.platform-roles li { display: flex; flex-direction: column; gap: 2px; }
.platform-note { margin: 14px 0 0; font-size: 12px; }
.platform-note code { font-size: 11px; }
.platform-suspended { background: var(--red-soft); color: var(--red); margin-bottom: 18px; }

/* Suspended page shown to a gym's staff */
.auth-card__icon--danger { background: var(--red-soft) !important; color: var(--red) !important; }
.suspended-reason { padding: 12px 14px; border-radius: 12px; background: var(--surface-2); text-align: left; }

/* Gym app: a platform admin is logged in as someone else */
.impersonation-bar {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; padding: 12px 16px;
  border-radius: 14px; background: #0f172a; color: #e2e8f0; font-size: 13px;
}
.impersonation-bar > .icon { color: #f59e0b; }
.impersonation-bar span { flex: 1; min-width: 220px; }
.impersonation-bar strong { color: #fff; }
.impersonation-bar form { margin: 0; }
.viewing-bar { background: #1e1b4b; }
.viewing-bar > .icon { color: #a5b4fc; }

@media (max-width: 700px) {
  .platform-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
