/*
 * StreamNovo — pages Candidature et Connexion affilié (pages claires). Règles premium des pages claires (voir light.css).
 * Corail : barre du h1 et bouton d'envoi. Les liens de ces pages ne sont pas soulignés.
 */
.au-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); column-gap: 72px; align-items: start; }
.au-wrap-login { grid-template-columns: minmax(0, 1fr) minmax(0, 520px); align-items: center; min-height: 52vh; }
.au-side { position: sticky; top: 104px; }
.au-side .lede { margin-top: 20px; }
.au-steps { list-style: none; margin: 32px 0 0; padding: 0; display: grid; gap: 20px; counter-reset: s; }
.au-steps li { counter-increment: s; display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 12px; }
.au-steps li::before { content: counter(s, decimal-leading-zero); grid-row: span 2; font: 800 26px/26px var(--font-titre); color: var(--encre-douce); }
.au-steps h3 { margin: 0 0 4px; font: 700 18px/24px var(--font-texte); }
.au-steps p { margin: 0; font-size: 15px; line-height: 22px; }
.au-switch { margin: 32px 0 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; color: var(--encre-douce); }
.au-link { font-weight: 600; color: var(--encre); text-decoration: none; }
.au-link::after { content: " \2192"; }
.au-link:hover { color: var(--encre-douce); }
.au-link:focus-visible { outline: 2px solid var(--encre); outline-offset: 3px; border-radius: 2px; }

.au-card { padding: 40px; background: var(--carte); border-radius: var(--r-md); box-shadow: var(--relief); }
.au-form { display: grid; gap: 22px; }
.au-form[hidden], .au-done[hidden] { display: none; }
.au-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sn-light main .au-group { margin: 10px 0 -6px; padding-top: 22px; border-top: 1px solid rgba(16,19,28,.08); font: 700 18px/24px var(--font-texte); text-transform: none; }
.sn-light main .au-group:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.sn-light main .au-group::before { content: none; }
.au-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.au-field { margin: 0; min-width: 0; padding: 0; border: 0; }
.au-field label, .au-field legend { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 0; margin-bottom: 10px; font: 600 15px/20px var(--font-texte); }
.au-field label span { font-weight: 400; font-size: 14px; color: var(--encre-douce); }
.au-forgot { margin-left: auto; font-weight: 600; font-size: 14px; color: var(--encre); text-decoration: none; }
.au-forgot:hover { color: var(--encre-douce); }
.au-field input:not([type=radio]):not([type=checkbox]), .au-field select, .au-field textarea { display: block; width: 100%; padding: 12px 14px; background: var(--carte); border: 1px solid rgba(16,19,28,.22); border-radius: var(--r-sm); color: var(--encre); font: 400 17px/24px var(--font-texte); transition: border-color .15s, box-shadow .15s; }
.au-field input:not([type=radio]):not([type=checkbox]), .au-field select { height: 50px; }
.au-field select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, var(--encre) 50%), linear-gradient(135deg, var(--encre) 50%, transparent 50%); background-position: calc(100% - 20px) 22px, calc(100% - 15px) 22px; background-size: 5px 5px; background-repeat: no-repeat; }
.au-field textarea { resize: vertical; min-height: 96px; }
.au-field input::placeholder, .au-field textarea::placeholder { color: rgba(85,91,105,.7); }
.au-field input:hover, .au-field select:hover, .au-field textarea:hover { border-color: rgba(16,19,28,.45); }
.au-field input:focus, .au-field select:focus, .au-field textarea:focus { outline: none; border-color: var(--encre); box-shadow: 0 0 0 1px var(--encre); }
.au-field [aria-invalid] { border-color: var(--encre); box-shadow: 0 0 0 1px var(--encre); }
.au-pass { position: relative; display: block; }
.au-pass input { padding-right: 56px; }
.au-eye { position: absolute; top: 5px; right: 5px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: var(--r-sm); background: transparent; color: var(--encre-douce); cursor: pointer; }
.au-eye:hover { background: var(--papier); color: var(--encre); }
.au-eye svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.au-eye .au-eye-off, .au-eye[aria-pressed="true"] .au-eye-on { display: none; }
.au-eye[aria-pressed="true"] .au-eye-off { display: block; }
.au-eye:focus-visible { outline: 2px solid var(--encre); outline-offset: 2px; }
.au-hint { margin: -10px 0 0; font-size: 14px; line-height: 20px; }
.au-check { display: flex; align-items: flex-start; gap: 12px; margin: 0; }
.au-check input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--encre); cursor: pointer; }
.au-check label { font-size: 15px; line-height: 22px; cursor: pointer; }
.au-check a { color: var(--encre); font-weight: 600; text-decoration: none; }
.au-check a:hover { color: var(--encre-douce); }
.au-msg { display: flex; align-items: center; gap: 8px; margin: 8px 0 0; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--encre); }
.au-msg::before, .au-error::before { content: "!"; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; background: var(--encre); color: var(--carte); font: 700 11px/1 var(--font-texte); }
.au-msg[hidden], .au-error[hidden], .au-ok[hidden] { display: none; }
.au-ok { display: flex; align-items: center; gap: 8px; margin: 8px 0 0; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--encre); }
.au-ok::before { content: ""; flex: none; width: 16px; height: 16px; border-radius: 50%; background: var(--encre) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-5' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat; }
.au-notice { margin: 0 0 24px; padding: 12px 14px; background: var(--papier); border-radius: var(--r-sm); font-size: 15px; line-height: 22px; font-weight: 600; }
.au-msg-terms { margin-top: -14px; }
.au-error { display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px 14px; background: var(--papier); border-radius: var(--r-sm); font-weight: 600; }
.au-submit { width: 100%; height: 54px; }
.au-submit:disabled { opacity: .6; cursor: progress; }

.au-done { display: grid; gap: 12px; justify-items: start; }
.au-done:focus { outline: none; }
.au-done-title { margin: 0; font: 800 36px/38px var(--font-titre); text-transform: uppercase; }
.au-done-title::before { content: ""; display: block; width: 48px; height: 4px; background: var(--encre); margin-bottom: 18px; }
.au-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 8px; }
.au-actions .btn { height: 50px; padding: 0 24px; }
.au-actions form { margin: 0; }

@media (max-width: 960px) {
  .au-wrap, .au-wrap-login { grid-template-columns: 1fr; row-gap: 36px; min-height: 0; }
  .au-side { position: static; }
  .au-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 760px) {
  .au-row { grid-template-columns: 1fr; }
  .au-steps { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 600px) {
  .au-card { padding: 26px 18px; }
  .au-form { gap: 20px; }
  .au-done-title { font-size: 30px; line-height: 32px; }
}

@media (prefers-reduced-motion: reduce) { .au-field input, .au-field select, .au-field textarea { transition: none; } }

/* Tablette et mobile : le formulaire vient juste après le titre ; les étapes et le lien de bascule en dessous */
@media (max-width: 960px) {
  .au-wrap, .au-wrap-login { row-gap: 0; }
  .au-side { display: contents; }
  .au-side .sn-badge { order: 1; justify-self: start; }
  .au-side h1 { order: 2; }
  .au-side .lede { order: 3; }
  .au-card { order: 4; margin-top: 32px; }
  .au-steps { order: 5; margin-top: 40px; }
  .au-switch { order: 6; }
}

/* Tableau de bord affilié (compte validé, page de connexion). Corail : barre du h1 et « Request a payout ». */
.ad .wrap { display: grid; gap: 24px; }
.ad-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: 8px; }
.ad-head .lede { margin-top: 16px; }
.ad-head-links { display: flex; gap: 20px; }
.ad-card { padding: 32px; background: var(--carte); border-radius: var(--r-md); box-shadow: var(--relief); min-width: 0; }
.sn-light main .ad-h { margin: 0 0 12px; font: 700 22px/28px var(--font-texte); text-transform: none; }
.sn-light main .ad-h::before { content: none; }
.ad-copy-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; margin: 20px 0 12px; }
.ad-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 8px; }
.ad-copy-label { grid-column: 1 / -1; margin-bottom: 8px; font: 600 15px/20px var(--font-texte); }
.ad-copy input { min-width: 0; height: 48px; padding: 0 14px; border: 1px solid rgba(16,19,28,.22); border-radius: var(--r-sm); background: var(--papier); color: var(--encre); font: 500 16px/24px var(--font-texte); }
.ad-copy-code input { font-weight: 700; letter-spacing: .04em; }
.sn-light main .ad-copy-btn { height: 48px; padding: 0 18px; background: var(--encre); border-color: var(--encre); color: var(--carte); }
.sn-light main .ad-copy-btn:hover { background: var(--encre-douce); border-color: var(--encre-douce); }
.ad-small { font-size: 14px; line-height: 20px; }
.ad-card .ad-small { margin-top: 12px; }
.ad-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ad-stats li { padding: 22px 24px; background: var(--carte); border-radius: var(--r-md); box-shadow: var(--relief); display: grid; gap: 6px; min-width: 0; }
.ad-stat-v { font: 700 34px/36px var(--font-titre); }
.ad-stat-l { font-size: 15px; line-height: 20px; color: var(--encre-douce); }
.ad-methods { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.ad-methods legend { width: 100%; }
.ad-method { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 600; cursor: pointer; }
.ad-method input { width: 20px; height: 20px; accent-color: var(--encre); }
.ad-fields[hidden] { display: none; }
.ad-fields { display: grid; gap: 16px; }
.ad-notice-err { background: var(--papier); }
.ad-table-wrap { overflow-x: auto; margin: 4px -4px 0; }
.ad-table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 22px; }
.ad-table th { text-align: left; font-weight: 600; color: var(--encre-douce); padding: 10px 12px; border-bottom: 1px solid rgba(16,19,28,.12); white-space: nowrap; }
.ad-table td { padding: 12px; border-bottom: 1px solid rgba(16,19,28,.06); vertical-align: top; }
.ad-st { display: inline-block; padding: 2px 10px; border-radius: 999px; font: 600 13px/20px var(--font-texte); background: var(--papier); color: var(--encre-douce); white-space: nowrap; }
.ad-st-available, .ad-st-paid { background: var(--encre); color: var(--carte); }
.ad-st-requested { background: rgba(16,19,28,.12); color: var(--encre); }
.ad-help { text-align: center; }
@media (max-width: 960px) { .ad-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ad-copy-row { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .ad-card { padding: 22px 18px; } .ad-stat-v { font-size: 28px; line-height: 30px; } .ad-head-links { width: 100%; } }
@media (max-width: 640px) {
  .ad-table thead { display: none; }
  .ad-table, .ad-table tbody, .ad-table tr, .ad-table td { display: block; width: 100%; }
  .ad-table tr { padding: 12px 0; border-bottom: 1px solid rgba(16,19,28,.08); }
  .ad-table td { display: flex; justify-content: space-between; gap: 16px; padding: 3px 0; border: 0; text-align: right; }
  .ad-table td::before { content: attr(data-label); flex: none; color: var(--encre-douce); font-weight: 600; text-align: left; }
  .ad-table-wrap { overflow: visible; margin: 0; }
}

/* Espace affilié en mode application (sans menu ni pied de page du site) — v1.29 */
.sn-aff-app .ad-top .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sn-aff-app .co-secure { display: inline-flex; align-items: center; gap: 8px; font: 600 15px/20px var(--font-texte); color: var(--encre); }
.ad-top-out { margin-left: 14px; padding-left: 14px; border-left: 1px solid rgba(16,19,28,.18); color: var(--encre-douce); font-weight: 600; text-decoration: none; }
.ad-top-out:hover { color: var(--encre); }
.sn-aff-app .co-foot { padding-block: 28px; background: var(--papier); border-top: 1px solid rgba(16,19,28,.14); color: var(--encre-douce); font-size: 14px; line-height: 20px; }
.sn-aff-app .co-foot .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; }
.sn-aff-app .co-foot ul { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; list-style: none; }
.sn-aff-app .co-foot a { color: var(--encre-douce); text-decoration: none; }
.sn-aff-app .co-foot a:hover { color: var(--encre); }
.ad-preview { margin: 0; padding: 14px 18px; border-radius: var(--r-sm); background: #fff4d6; border: 1px solid #e9c46a; color: var(--encre); font-size: 15px; line-height: 22px; }
.ad-preview a { margin-left: 8px; font-weight: 600; color: var(--encre); }

/* Onglets Dashboard / Account settings */
.ad-tabs { display: flex; gap: 4px; border-bottom: 1px solid rgba(16,19,28,.14); overflow-x: auto; }
.ad-tabs a { padding: 10px 16px 12px; margin-bottom: -1px; border-bottom: 3px solid transparent; color: var(--encre-douce); font: 600 16px/22px var(--font-texte); text-decoration: none; white-space: nowrap; }
.ad-tabs a:hover { color: var(--encre); }
.ad-tabs a.is-on { color: var(--encre); border-bottom-color: var(--direct); }

/* Paiement : bouton verrouillé, progression, conditions */
.ad-pay { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.ad-h { margin: 0 0 14px; font: 700 22px/28px var(--font-titre); }
.ad-balance { margin: 0 0 10px; }
.ad-balance-v { font: 700 34px/38px var(--font-titre); }
.ad-progress { height: 8px; border-radius: 999px; background: rgba(16,19,28,.08); overflow: hidden; margin-bottom: 16px; }
.ad-progress span { display: block; height: 100%; background: var(--encre); border-radius: 999px; }
.ad-checks { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 8px; font-size: 15px; line-height: 22px; }
.ad-checks li { position: relative; padding-left: 28px; }
.ad-checks li::before { position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; font: 700 12px/20px var(--font-texte); text-align: center; }
.ad-checks li.ok::before { content: "\2713"; background: var(--encre); color: var(--carte); }
.ad-checks li.no::before { content: ""; border: 2px solid rgba(16,19,28,.25); width: 16px; height: 16px; }
.ad-locked, .ad-locked:hover { display: inline-flex; align-items: center; gap: 8px; background: rgba(16,19,28,.08); color: var(--encre-douce); border-color: transparent; cursor: not-allowed; box-shadow: none; transform: none; }
.ad-locked svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ad-lock-info { margin: 0 0 12px; padding: 14px 16px; border-radius: var(--r-sm); background: var(--papier); font-size: 15px; line-height: 22px; }
.ad-saved { margin: 0 0 16px; padding: 12px 14px; border-radius: var(--r-sm); background: var(--papier); word-break: break-all; }
.ad-form { display: grid; gap: 18px; }
.ad-form .au-field .ad-small { display: block; margin-top: 6px; }
.ad-form button:disabled, .ad-form input:disabled, .ad-form select:disabled { cursor: not-allowed; opacity: .7; }
.ad-account { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.ad-account #profile { grid-row: span 3; }
.ad-code { font-size: 18px; letter-spacing: .04em; }
.ad-inline { display: inline; margin: 0; }
.ad-linkbtn { background: none; border: 0; padding: 0; margin-left: 6px; cursor: pointer; font: inherit; font-weight: 600; }
.ad-card .au-notice { margin: 0 0 16px; }
@media (max-width: 960px) { .ad-pay, .ad-account { grid-template-columns: minmax(0, 1fr); } .ad-account #profile { grid-row: auto; } }
@media (max-width: 600px) { .ad-top-name { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ad-top-out { margin-left: 10px; padding-left: 10px; } }
@media (max-width: 640px) { .ad-table .ad-st { white-space: normal; text-align: right; } }
.ad-head-links { align-items: center; }
.ad-logout { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border: 1px solid rgba(16,19,28,.25); border-radius: var(--r-sm); color: var(--encre); font-weight: 600; text-decoration: none; }
.ad-logout:hover { border-color: var(--encre); }
.ad-top-name { display: inline-block; vertical-align: bottom; }
.ad-head-name { font-weight: 600; color: var(--encre); }
.ad-head-links { flex-wrap: wrap; gap: 12px 20px; }

/* -------------------------------------------------------------------------
 * v1.68 — tableau de bord affilié, mise en page reprise de Streamori (couleurs et polices StreamNovo)
 * ---------------------------------------------------------------------- */
.ad-v2 .wrap { gap: 22px; }
.ad-top2 { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; }
.ad-eyebrow { margin: 0 0 8px; font: 600 13px/16px var(--font-etiquette); letter-spacing: .1em; text-transform: uppercase; color: var(--direct); }
.sn-light main .ad-top2 h1 { margin: 0; font: 800 48px/50px var(--font-titre); text-transform: uppercase; }
.sn-light main .ad-top2 h1::before { content: none; }
.ad-sub { margin: 8px 0 0; font-size: 17px; line-height: 24px; color: var(--encre-douce); }
.ad-sub b { color: var(--encre); }
.ad-top2-r { display: flex; align-items: center; gap: 12px; }
.ad-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: #e3f4ea; color: #1b6b3f; font: 600 13px/18px var(--font-texte); }
.ad-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ad-badge-suspended, .ad-badge-pending, .ad-badge-unverified { background: #fff1d6; color: #8a5a00; }
.ad-ghost { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(16,19,28,.22); background: var(--carte); color: var(--encre); font: 600 15px/1 var(--font-texte); text-decoration: none; }
.ad-ghost:hover { box-shadow: inset 0 0 0 1px var(--encre); }
.ad-ico { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Bandeau du lien de parrainage */
.ad-linkbar { padding: 22px 20px; background: var(--nuit); border-radius: 18px; color: var(--ecran); }
.ad-lab { display: block; margin-bottom: 10px; font: 600 15px/20px var(--font-texte); }
.ad-v2 .ad-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.ad-v2 .ad-copy input { height: 48px; min-width: 0; padding: 0 14px; border-radius: 10px; border: 1px solid rgba(16,19,28,.18); background: var(--papier); color: var(--encre); font: 500 16px/24px var(--font-texte); }
.ad-linkbar .ad-copy input { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); color: var(--ecran); }
.ad-v2 .ad-copy-btn { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 18px; border-radius: 10px; white-space: nowrap; }
.ad-v2 .ad-linkbar .ad-copy-btn { background: var(--direct); border-color: var(--direct); color: var(--sur-direct); }
.ad-v2 .ad-linkbar .ad-copy-btn:hover { background: var(--ecran); border-color: var(--ecran); color: var(--nuit); }
.ad-links { display: grid; gap: 16px; }
.ad-links .ad-lab { font-size: 14px; margin-bottom: 8px; }

/* Onglets */
.ad-v2 .ad-tabs { gap: 8px; }
.ad-v2 .ad-tabs a { padding: 10px 14px 12px; font-size: 16px; }
.ad-v2 .ad-tabs a.is-on { border-bottom-color: var(--direct); }

/* Chiffres */
.ad-kpis { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ad-kpi { display: grid; gap: 6px; padding: 20px 22px; background: var(--carte); border-radius: 16px; box-shadow: var(--relief); min-width: 0; }
.ad-kpi span { display: flex; align-items: center; gap: 8px; font: 600 15px/20px var(--font-texte); }
.ad-kpi b { font: 800 40px/44px var(--font-titre); font-variant-numeric: tabular-nums; }
.ad-kpi small { font-size: 14px; line-height: 20px; color: var(--encre-douce); }
.ad-kpi-hl { background: var(--direct); color: var(--sur-direct); box-shadow: none; }
.ad-kpi-hl small { color: var(--sur-direct); opacity: .85; }
.ad-flash { margin: 0; padding: 12px 16px; border-radius: 12px; background: #fff1d6; font-size: 15px; line-height: 22px; }
.ad-flash a { color: var(--encre); font-weight: 600; }

/* Cartes, graphique, tableaux */
.ad-v2 .ad-card { border-radius: 16px; }
.ad-card-h { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin-bottom: 18px; }
.ad-card-h .ad-h { margin: 0; }
.ad-card-h-col { display: block; }
.ad-card-h-col .ad-small { margin-top: 8px; }
.sn-light main .ad-v2 .ad-h { font: 800 24px/28px var(--font-titre); text-transform: uppercase; }
.ad-legend { margin: 0; display: flex; align-items: center; gap: 6px 14px; font-size: 14px; color: var(--encre-douce); }
.ad-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: -8px; vertical-align: -1px; }
.ad-legend i.c { background: #d9d6ce; }
.ad-legend i.s { background: var(--direct); }
.ad-chart { display: grid; grid-template-columns: repeat(30, minmax(0, 1fr)); gap: 4px; align-items: end; height: 160px; }
.ad-bar { position: relative; height: 100%; display: flex; align-items: flex-end; }
.ad-bar i { display: block; width: 100%; border-radius: 3px; background: #d9d6ce; }
.ad-bar em { position: absolute; left: 50%; bottom: 4px; transform: translateX(-50%); min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background: var(--direct); color: var(--sur-direct); font: 700 10px/16px var(--font-texte); font-style: normal; text-align: center; }
.ad-axis { display: flex; justify-content: space-between; margin-top: 10px; font-size: 13px; color: var(--encre-douce); }
.ad-more { font: 600 15px/20px var(--font-texte); color: var(--encre); text-underline-offset: 3px; }
.ad-v2 .ad-table th { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.ad-v2 .ad-table td b { font-weight: 700; }
.ad-v2 .ad-st-pending { background: #fff1d6; color: #8a5a00; }
.ad-v2 .ad-st-available, .ad-v2 .ad-st-paid { background: #e3f4ea; color: #1b6b3f; }
.ad-empty { margin: 0; }
.ad-rules { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 12px; font-size: 15px; line-height: 22px; }
.ad-rules li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; }
.ad-rules .ad-ico { color: var(--direct); margin-top: 2px; }
.ad-bonus { margin-left: 4px; padding: 1px 6px; border-radius: 999px; background: var(--direct); color: var(--sur-direct); font-size: 12px; }
.ad-v2 .ad-account { margin-top: 0; }

@media (max-width: 1000px) { .ad-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .sn-light main .ad-top2 h1 { font-size: 36px; line-height: 38px; }
  .ad-v2 .ad-pay { grid-template-columns: 1fr; }
  .ad-chart { gap: 2px; height: 120px; }
}
@media (max-width: 560px) {
  .ad-kpis { grid-template-columns: 1fr; }
  .ad-v2 .ad-copy { grid-template-columns: 1fr; }
  .ad-linkbar { padding: 18px 16px; }
  .ad-bar em { display: none; }
}
/* Onglets : défilement horizontal seulement (sans cela, un pixel de trop faisait apparaître une barre verticale) */
.ad-tabs { overflow-y: hidden; }
.ad-chart-empty { margin: 0 0 12px; font-size: 15px; line-height: 22px; text-align: center; }
