/* OHB Suite coherence layer: pricing/account/account-billing/admin pages */

body.ohb-pricing-portal,
body.ohb-portal,
body.ohb-billing-page,
body.ohb-admin-vault,
body.ohb-aff-console {
  --ohb-suite-radius: 12px;
  --ohb-suite-radius-lg: 16px;
  --ohb-suite-space-1: 8px;
  --ohb-suite-space-2: 12px;
  --ohb-suite-space-3: 16px;
  --ohb-suite-space-4: 20px;
  --ohb-suite-space-5: 24px;
  --ohb-suite-space-section: 28px;
  --ohb-suite-cta-min-height: 44px;
}

body.ohb-pricing-portal .btn-cta,
body.ohb-portal .btn-cta,
body.ohb-billing-page .btn-cta,
body.ohb-admin-vault .btn-cta,
body.ohb-aff-console .btn-cta,
body.ohb-admin-vault .refresh-btn,
body.ohb-admin-vault .tab-btn,
body.ohb-admin-vault .admin-tab-btn,
body.ohb-aff-console .ohb-aff-menu-trigger,
body.ohb-aff-console .ohb-aff-filter-btn,
body.ohb-aff-console .ohb-aff-tabs button {
  min-height: var(--ohb-suite-cta-min-height);
  border-radius: var(--ohb-suite-radius);
}

body.ohb-admin-vault .auth-btn {
  min-height: var(--ohb-suite-cta-min-height);
  border-radius: var(--ohb-suite-radius);
}

body.ohb-pricing-portal .table-wrap,
body.ohb-admin-vault .table-wrap,
body.ohb-aff-console .ohb-aff-table-scroll,
body.ohb-billing-page .ohb-billing-details-premium {
  border-radius: var(--ohb-suite-radius-lg);
}

body.ohb-pricing-portal .section-title,
body.ohb-portal .section-title,
body.ohb-billing-page .section-title,
body.ohb-admin-vault .section-title {
  margin-bottom: var(--ohb-suite-space-2);
}

body.ohb-aff-console #aff-page-title {
  margin-bottom: var(--ohb-suite-space-2);
}

body.ohb-pricing-portal .mono,
body.ohb-portal .mono,
body.ohb-billing-page .mono,
body.ohb-admin-vault .mono,
body.ohb-aff-console .mono {
  color: var(--text2, #94a3b8);
}

body.ohb-admin-vault th,
body.ohb-admin-vault td {
  padding-top: 13px;
  padding-bottom: 13px;
}

body.ohb-admin-vault td {
  color: #cbd5e1;
}

body.ohb-admin-vault .stat-sub,
body.ohb-admin-vault .admin-kpi-sub,
body.ohb-admin-vault .admin-section-sub,
body.ohb-admin-vault .section-sub,
body.ohb-admin-vault .admin-funnel-mini-label,
body.ohb-admin-vault .admin-kpi-label,
body.ohb-admin-vault #last-updated {
  color: #94a3b8 !important;
}

body.ohb-admin-vault .loading {
  color: #94a3b8;
}

body.ohb-admin-vault .table-header,
body.ohb-admin-vault .admin-section-card,
body.ohb-aff-console .ohb-aff-hero,
body.ohb-billing-page .ohb-billing-actions-panel {
  margin-bottom: var(--ohb-suite-space-4);
}

body.ohb-portal .ohb-hub-card-v2,
body.ohb-portal .ohb-hub-card,
body.ohb-billing-page .ohb-billing-trust-block > * {
  border-radius: var(--ohb-suite-radius-lg);
}

body.ohb-portal .ohb-hub-section-title,
body.ohb-portal .ohb-hub-flow {
  color: var(--ohb-text-muted, #94a3b8);
}

body.ohb-aff-console .ohb-aff-filter-bar {
  margin-bottom: var(--ohb-suite-space-3);
}

body.ohb-aff-console .ohb-aff-table-scroll th,
body.ohb-aff-console .ohb-aff-table-scroll td {
  padding-top: 11px;
  padding-bottom: 11px;
}

body.ohb-aff-console .ohb-aff-panel-state {
  font-size: 14px;
}

/* ── Hub espace client (account.html) : rythme & rayons = suite ── */
body.ohb-portal .pricing-wrap[data-testid='ohb-account-hub'] .ohb-hub-grid {
  display: grid;
  gap: var(--ohb-suite-space-3);
  grid-template-columns: 1fr;
  margin-top: var(--ohb-suite-space-4);
}

@media (min-width: 640px) {
  body.ohb-portal .pricing-wrap[data-testid='ohb-account-hub'] .ohb-hub-grid {
    grid-template-columns: 1fr 1fr;
  }
}

body.ohb-portal .pricing-wrap[data-testid='ohb-account-hub'] .ohb-trust-note {
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-support, var(--text2));
  margin-top: var(--ohb-suite-space-5);
  padding: var(--ohb-suite-space-3);
  border-radius: var(--ohb-suite-radius-lg);
  border: 1px solid var(--border);
  background: rgba(0, 0, 0, 0.15);
}

body.ohb-portal .pricing-wrap[data-testid='ohb-account-hub'] .ohb-hub-section-title {
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--b);
  margin: 0 0 10px;
}

body.ohb-portal .pricing-wrap[data-testid='ohb-account-hub'] .ohb-hub-flow {
  margin: 0 0 var(--ohb-suite-space-4);
  padding: 10px 12px 10px 26px;
  border-radius: var(--ohb-suite-radius-lg);
  border: 1px solid color-mix(in srgb, var(--b) 12%, transparent);
  background: rgba(0, 0, 0, 0.2);
  font-size: 13px;
  color: var(--text-support, var(--text2));
  line-height: 1.55;
}

body.ohb-portal .pricing-wrap[data-testid='ohb-account-hub'] .ohb-hub-flow li {
  margin-bottom: 4px;
}

body.ohb-portal .pricing-wrap[data-testid='ohb-account-hub'] .ohb-hub-flow li::marker {
  color: var(--b);
  font-weight: 700;
}

/* ── Mon abonnement : hero / topbar = même pas vertical que portail ── */
body.ohb-billing-page .ohb-billing-hero {
  margin-bottom: var(--ohb-suite-space-section);
}

body.ohb-billing-page .pricing-topbar {
  margin-bottom: var(--ohb-suite-space-4);
}

/* ── Admin affiliés : KPI & hero alignés rayons suite (sans écraser couleurs) ── */
body.ohb-aff-console .ohb-aff-kpi {
  border-radius: var(--ohb-suite-radius);
}

body.ohb-aff-console .ohb-aff-hero {
  border-radius: var(--ohb-suite-radius-lg);
}

body.ohb-aff-console .ohb-aff-search input,
body.ohb-aff-console .ohb-aff-date input {
  border-radius: var(--ohb-suite-radius);
  min-height: var(--ohb-suite-cta-min-height);
  box-sizing: border-box;
}

body.ohb-aff-console .ohb-aff-tabs {
  border-radius: var(--ohb-suite-radius-lg);
}

@media (max-width: 480px) {
  body.ohb-pricing-portal .pricing-wrap,
  body.ohb-portal .pricing-wrap,
  body.ohb-billing-page .pricing-wrap,
  body.ohb-admin-vault #admin-main {
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-top: 16px;
    padding-bottom: 20px;
  }

  body.ohb-aff-console .ohb-aff-toolbar {
    gap: 10px;
  }

  body.ohb-aff-console .ohb-aff-search {
    max-width: 100%;
  }

  body.ohb-aff-console .ohb-aff-kpi-row {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  body.ohb-admin-vault .admin-tabs,
  body.ohb-aff-console .ohb-aff-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  body.ohb-admin-vault .admin-tab-btn,
  body.ohb-aff-console .ohb-aff-tabs button {
    white-space: nowrap;
  }

  body.ohb-admin-vault .stats-grid,
  body.ohb-admin-vault .admin-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  body.ohb-pricing-portal .pricing-wrap--reset,
  body.ohb-portal .pricing-wrap,
  body.ohb-billing-page .pricing-wrap {
    max-width: 1240px;
  }
}
