
.affcl-wrap { width:100%; margin:0; }
.affcl-table-shell {
  border:1px solid #dbe3ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.03);
  overflow:hidden;
  padding:0 !important;
}
.affcl-scroll { overflow-x:visible; margin:0 !important; padding:0 !important; display:block; }
.affcl-table {
  width:100%;
  margin:0 !important;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}
.affcl-scroll > .affcl-table:first-child { margin-top:0 !important; }
.affcl-table thead,
.affcl-table tbody,
.affcl-table tr { margin:0; padding:0; }
.affcl-table th,
.affcl-table td {
  padding:8px 8px;
  vertical-align:middle;
  border-bottom:1px solid #e9eef5;
  color:#0f172a;
  box-sizing:border-box;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.3;
  font-size:14px;
  background:#fff;
  text-align:center;
  border-left:0 !important;
  border-right:0 !important;
}
.affcl-table thead th {
  background:#f6f8fb;
  font-weight:700;
  text-align:center;
  vertical-align:middle;
  padding-top:10px;
  padding-bottom:10px;
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.affcl-table thead th:first-child { border-top-left-radius:14px; }
.affcl-table thead th:last-child { border-top-right-radius:14px; }
.affcl-table tbody tr:last-child td { border-bottom:0; }
.affcl-col-number { width:4.5%; text-align:center; font-weight:700; }
.affcl-col-logo { width:22%; }
.affcl-col-type { width:8%; }
.affcl-col-operating_since { width:8%; }
.affcl-col-offer_scope,
.affcl-col-ad_formats,
.affcl-col-pricing_models,
.affcl-col-main_features { width:11%; }
.affcl-col-geos,
.affcl-col-best_for_verticals,
.affcl-col-targeting_optimization,
.affcl-col-payment_models { width:12%; }
.affcl-col-registration_process,
.affcl-col-minimum_deposit,
.affcl-col-promo_code,
.affcl-col-pricing { width:9%; }
.affcl-col-actions { width:10.5%; }
.affcl-logo-wrap {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
}
.affcl-logo-wrap img {
  display:block; width:auto; max-width:220px; max-height:74px; height:auto; object-fit:contain; margin:0 auto;
}
.affcl-logo--placeholder { display:block; width:100%; height:64px; border-radius:6px; background:#f1f5f9; }
.affcl-badge {
  display:inline-flex; align-items:center; justify-content:center; padding:2px 6px; min-height:17px;
  border-radius:999px; font-size:10px; font-weight:700; line-height:1; white-space:nowrap;
  border:1px solid #dbe3ee; background:#fff;
}
.affcl-cell { display:block; text-align:center; }
.affcl-actions-stack { display:flex; flex-direction:column; align-items:stretch; gap:6px; }
.affcl-btn {
  display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:6px 8px;
  border:1px solid #dbe3ee; border-radius:10px; background:#fff; text-decoration:none;
  font-weight:600; font-size:14px; color:#0f172a; text-align:center; line-height:1.2;
}
.affcl-btn:hover { background:#f8fafc; }
.affcl-scroll-note { display:none; }

@media (max-width: 767px) {
  .affcl-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .affcl-table {
    width:auto;
    min-width:860px;
    table-layout:fixed;
  }
  .affcl-scroll-note {
    display:flex; align-items:center; justify-content:flex-end; gap:6px;
    font-size:12px; font-weight:600; color:#64748b; padding:8px 10px 10px;
    border-top:1px solid #e9eef5; background:#fff;
  }
  .affcl-table th,
  .affcl-table td {
    font-size:12px;
    line-height:1.35;
    padding:7px 6px;
  }
  .affcl-col-number { width:38px; min-width:38px; max-width:38px; }
  .affcl-col-logo { width:122px; min-width:122px; max-width:122px; }
  .affcl-col-type,
  .affcl-col-operating_since,
  .affcl-col-registration_process,
  .affcl-col-minimum_deposit,
  .affcl-col-promo_code,
  .affcl-col-pricing { width:78px; min-width:78px; }
  .affcl-col-offer_scope,
  .affcl-col-ad_formats,
  .affcl-col-pricing_models,
  .affcl-col-main_features { width:108px; min-width:108px; }
  .affcl-col-geos,
  .affcl-col-best_for_verticals,
  .affcl-col-targeting_optimization,
  .affcl-col-payment_models { width:118px; min-width:118px; }
  .affcl-col-actions { width:104px; min-width:104px; }

  .affcl-table th.affcl-col-number,
  .affcl-table td.affcl-col-number {
    padding-left:4px;
    padding-right:4px;
  }
  .affcl-table th.affcl-col-logo,
  .affcl-table td.affcl-col-logo {
    padding-left:4px;
    padding-right:4px;
  }

  .affcl-logo-wrap { gap:0; }
  .affcl-logo-wrap img {
    max-width:114px;
    max-height:42px;
  }
  .affcl-logo--placeholder { height:42px; }
  .affcl-badge {
    display:none;
  }
  .affcl-btn {
    min-height:28px;
    padding:5px 6px;
    font-size:12px;
    border-radius:9px;
  }
  .affcl-actions-stack { gap:5px; }

  .affcl-table th.affcl-col-number,
  .affcl-table td.affcl-col-number {
    position:sticky;
    left:0;
    z-index:7;
    background:#fff;
    box-shadow: 6px 0 10px -10px rgba(15,23,42,.16);
  }
  .affcl-table thead th.affcl-col-number {
    background:#f6f8fb;
    z-index:9;
  }
  .affcl-table th.affcl-col-logo,
  .affcl-table td.affcl-col-logo {
    position:sticky;
    left:38px;
    z-index:6;
    background:#fff;
    box-shadow: 10px 0 14px -12px rgba(15,23,42,.18);
  }
  .affcl-table thead th.affcl-col-logo {
    background:#f6f8fb;
    z-index:8;
  }
}

/* Hub Tabs listing type */
.affcl-hub-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 12px;
}
.affcl-hub-tab {
  appearance:none;
  border:1px solid #dbe3ee;
  background:#fff;
  color:#0f172a;
  border-radius:999px;
  padding:7px 12px;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
}
.affcl-hub-tab:hover { background:#f8fafc; }
.affcl-hub-tab.is-active {
  background:#0f172a;
  border-color:#0f172a;
  color:#fff;
}
.affcl-hub-panel[hidden] { display:none !important; }
.affcl-hub-more {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0;
  padding:5px 16px;
  border-top:1px solid #e9eef5;
  background:#fbfdff;
}
.affcl-hub-more-text {
  color:#64748b;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
}
.affcl-hub-more-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:2px 0;
  border:0;
  background:transparent;
  color:#005bbb;
  text-decoration:none;
  font-size:15px;
  font-weight:900;
  line-height:1.15;
  white-space:nowrap;
}
.affcl-hub-more-link:hover { text-decoration:underline; }
.affcl-type-hub_tabs .affcl-col-type { width:12%; }
.affcl-type-hub_tabs .affcl-col-geos { width:14%; }
.affcl-type-hub_tabs .affcl-col-payment_models { width:14%; }
.affcl-type-hub_tabs .affcl-col-main_features { width:24%; }

/* Hub tables: allow multi-word headers to wrap only at spaces, never inside words. */
.affcl-type-hub_tabs .affcl-table thead th {
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.affcl-type-hub_tabs .affcl-col-minimum_deposit { width:10.5%; }
.affcl-type-hub_tabs .affcl-col-targeting_optimization { width:13.5%; }

@media (max-width: 767px) {
  .affcl-hub-tabs {
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:4px;
  }
  .affcl-hub-tab {
    flex:0 0 auto;
    padding:7px 10px;
    font-size:13px;
  }
  .affcl-hub-more {
    padding:5px 12px;
  }
  .affcl-hub-more-text {
    font-size:12px;
  }
  .affcl-hub-more-link {
    font-size:13px;
  }
  .affcl-type-hub_tabs .affcl-col-type { width:98px; min-width:98px; }
  .affcl-type-hub_tabs .affcl-col-geos,
  .affcl-type-hub_tabs .affcl-col-payment_models { width:112px; min-width:112px; }
  .affcl-type-hub_tabs .affcl-col-main_features { width:160px; min-width:160px; }
}

@media (max-width: 767px) {
  .affcl-type-hub_tabs .affcl-table th.affcl-col-logo,
  .affcl-type-hub_tabs .affcl-table td.affcl-col-logo {
    left:0;
  }
}
