/* Frankel Fitness admin mobile repair */
html, body { max-width: 100%; overflow-x: hidden !important; }
*, *::before, *::after { box-sizing: border-box; }

.admin-page .hero-wordmark { width: min(100%, 520px) !important; height: auto !important; margin-inline: auto; display: block; }
.admin-page .paid-current-user { display: block; overflow-wrap: anywhere; }
.admin-page .btn-danger { border-color: rgba(255,60,85,.72) !important; color: #fff !important; }
.admin-page .owner-row td:last-child { display: none !important; }

@media (max-width: 900px) {
  .admin-page body, body.admin-page { width: 100%; overflow-x: hidden !important; }
  .admin-page main,
  .admin-page section,
  .admin-page footer,
  .admin-page .section,
  .admin-page .training-club,
  .admin-page main .container,
  .admin-page .hero-shell,
  .admin-page .paid-shell,
  .admin-page .paid-panel,
  .admin-page .paid-table-card,
  .admin-page .paid-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
  }
  .admin-page main,
  .admin-page .section,
  .admin-page .training-club,
  .admin-page .container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .admin-page h1 { font-size: clamp(28px, 9vw, 42px) !important; line-height: 1.08 !important; }
  .admin-page h2 { font-size: clamp(24px, 7vw, 34px) !important; line-height: 1.12 !important; }
  .admin-page h1,
  .admin-page h2,
  .admin-page h3,
  .admin-page p,
  .admin-page .eyebrow,
  .admin-page .lead { max-width: 100% !important; overflow-wrap: anywhere; text-align: center; }
  .admin-page img { max-width: 100% !important; height: auto !important; }
  .admin-page .hero,
  .admin-page .paid-hero { padding-top: 48px !important; padding-bottom: 28px !important; }
  .admin-page .hero-copy { width: 100% !important; max-width: 100% !important; text-align: center; }
  .admin-page .paid-stat-grid,
  .admin-page .paid-form-grid,
  .admin-page .paid-two-col,
  .admin-page .paid-grid,
  .admin-page .form-grid,
  .admin-page .settings-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 14px !important;
  }
  .admin-page .paid-admin-nav .container,
  .admin-page .paid-tabs,
  .admin-page .tab-buttons,
  .admin-page [role="tablist"] {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: visible !important;
  }
  .admin-page .paid-admin-nav button,
  .admin-page [data-tab] { min-height: 44px !important; white-space: normal !important; }
  .admin-page .paid-toolbar,
  .admin-page .paid-toolbar .container { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; text-align: center; }
  .admin-page .paid-toolbar-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
  .admin-page table { width: 100% !important; min-width: 0 !important; border-collapse: separate !important; border-spacing: 0 12px !important; }
  .admin-page table thead { display: none !important; }
  .admin-page table tbody,
  .admin-page table tr,
  .admin-page table td { display: block !important; width: 100% !important; max-width: 100% !important; }
  .admin-page table tr { border: 1px solid rgba(210,0,35,.45) !important; border-radius: 14px !important; padding: 12px !important; background: rgba(255,255,255,.035) !important; }
  .admin-page table td { border: 0 !important; padding: 8px 2px !important; white-space: normal !important; overflow-wrap: anywhere !important; word-break: break-word !important; }
  .admin-page table td::before { content: attr(data-label); display: block; margin-bottom: 3px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; font-weight: 800; opacity: .65; }
  .admin-page #members-table td:last-child,
  .admin-page #content-table td:last-child,
  .admin-page #payments-table td:last-child { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
  .admin-page #members-table tr.owner-row td:last-child { display: none !important; }
  .admin-page button,
  .admin-page .btn-inline,
  .admin-page input,
  .admin-page select,
  .admin-page textarea { min-height: 44px !important; max-width: 100% !important; }
  .admin-page input,
  .admin-page select,
  .admin-page textarea { width: 100% !important; }
  .admin-page .live-help,
  .admin-page .live-help-button,
  .admin-page .whatsapp-float,
  .admin-page .floating-whatsapp { max-width: 64px !important; }
}

@media (max-width: 480px) {
  .admin-page main,
  .admin-page .section,
  .admin-page .training-club,
  .admin-page .container { padding-left: 12px !important; padding-right: 12px !important; }
  .admin-page .paid-panel,
  .admin-page .paid-table-card { padding-left: 12px !important; padding-right: 12px !important; }
}
