/* Espace créateur, modèle « Instagram Template 01 » (maquette 09, 11 octobre 2026). Chargé seulement avec
   TAPLINE_NAV_TEMPLATE=instagram-01 (api/affiliate-page.js). Identité « Deux marées », côté Jour : fond blanc,
   encre, une seule action corail par zone, rayons 10, 12 et 20 px, aucune ombre hors feuilles et barre du bas.
   Toutes les règles sont préfixées par .tpl-portal pour passer devant les styles d'origine du portail. */

/* Réserve basse (tournée iPhone du 12 octobre 2026, M-07 : « Devenir créateur avec mon compte Tapline » restait sous
   la pilule) : hauteur de la barre du bas, zone de sécurité de l'iPhone et une marge, sur tous les écrans du portail. */
.tpl-portal{--tpl-gap:14px;--tpl-bottom-reserve:calc(var(--tl-bottom-nav-height,86px) + env(safe-area-inset-bottom,0px) + 28px);background:var(--tl-paper);color:var(--tl-ink);font-size:var(--tl-type-body)}
.tpl-portal [hidden]{display:none!important}
.tpl-portal #app{padding:0}
.tpl-portal .shell{width:min(640px,calc(100% - 28px - var(--safe-l,0px) - var(--safe-r,0px)));margin:0 auto;padding:8px 0 var(--tpl-bottom-reserve)}
.tpl-portal.tpl-has-cta .shell{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
/* Barre d'action à deux lignes (« Devenir créateur » : bouton et lien) : 116 px plus la zone de sécurité. */
@media(max-width:759px){.tpl-portal.tpl-has-cta .shell:has(.tpl-cta>:nth-child(2)){padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))}}
/* Connexion, inscription, code reçu, mot de passe et ancien compte : écrans du moteur, sous la même pilule. */
@media(max-width:759px){.tpl-portal .auth-shell{padding-bottom:var(--tpl-bottom-reserve)}}
.tpl-portal .shell.live-studio-shell{width:min(1080px,calc(100% - 28px))}
/* Le titre est dans l'en-tête du modèle : celui du moteur reste pour les lecteurs d'écran et le focus. */
.tpl-portal .dashboard-head{display:block!important;position:absolute!important;width:1px;height:1px;margin:0!important;padding:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0!important}
.tpl-portal .tabs,.tpl-portal .creator-results,.tpl-portal .profile-chip{display:none!important}
/* Message bref toujours lisible, y compris par-dessus une feuille, la nouvelle vidéo ou le studio de direct. */
.tpl-portal .toast{bottom:calc(var(--tl-bottom-nav-height,86px) + env(safe-area-inset-bottom,0px) + 12px);z-index:1400;border-radius:var(--tl-radius-control);background:var(--tl-ink);font-weight:600}
.tpl-portal.tpl-has-cta .toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.tpl-portal:has(>.tl-live-studio-root) .toast{background:var(--tl-night-raised-2)}
@media(max-width:759px){.tpl-portal.tpl-has-cta:has(.tpl-cta>:nth-child(2)) .toast{bottom:calc(128px + env(safe-area-inset-bottom,0px))}}
/* Au doigt, pas d'anneau de focus quand une feuille s'ouvre ou qu'un bouton reçoit le focus par programme (m-13 :
   « Annuler » cerclé de corail dès l'ouverture de « Mon code de partage »), comme le reste du site. Au clavier, il revient. */
html.tl-touch body.tpl-portal :focus-visible{outline:none!important}
html.tl-touch body.tpl-portal :is(#app,.sdlg-veil,#creator-composer) :focus-visible{box-shadow:none!important}
.tpl-portal .portal-data-status{margin:4px 0 12px;padding:10px 12px;border:0;border-radius:var(--tl-radius-media);background:var(--tl-warning-surface);color:var(--tl-ink)}
.tpl-portal .portal-data-status b{font-size:var(--tl-type-body);letter-spacing:0;text-transform:none}
.tpl-portal .portal-data-status small{font-size:var(--tl-type-secondary);color:var(--tl-ink-muted);line-height:1.4}
.tpl-portal .offline-banner{border-radius:0}
.tpl-portal.tpl-has-cta .site-nav--pill{display:none}
@media(max-width:759px){.tpl-portal .site-top.site-top--tpl{position:sticky;top:0}}

/* Boutons et champs, mêmes formes que le reste de l'application. */
.tpl-portal .btn{min-height:44px;padding:0 16px;border:1px solid var(--tl-border-control);border-radius:var(--tl-radius-control);background:var(--tl-paper);color:var(--tl-ink);font-size:var(--tl-type-action);font-weight:700;letter-spacing:0;text-transform:none;box-shadow:none!important;transform:none!important}
.tpl-portal .btn.primary{border-color:var(--tl-action);background:var(--tl-action);color:var(--tl-on-action)}
.tpl-portal .btn.primary:hover:not(:disabled){background:var(--tl-action-hover);border-color:var(--tl-action-hover)}
.tpl-portal .btn.ghost{border-color:var(--tl-border-control);background:var(--tl-paper);color:var(--tl-ink)}
.tpl-portal .btn.dark{border-color:var(--tl-ink);background:var(--tl-ink);color:var(--tl-on-night)}
.tpl-portal .btn.sm{min-height:36px;padding:0 12px;font-size:var(--tl-type-secondary)}
.tpl-portal .btn.wide{width:100%}
.tpl-portal .btn .tpl-ic{width:18px;height:18px}
.tpl-portal .btn:disabled{opacity:.45}
.tpl-portal .error{margin:10px 0;padding:10px 12px;border:0;border-radius:var(--tl-radius-control);background:var(--tl-danger-surface);color:var(--tl-danger);font-size:var(--tl-type-body);font-weight:600}
.tpl-portal .error a{color:inherit}
.tpl-portal .error,.tpl-portal [role="alert"]{scroll-margin:96px 0 120px}
.tpl-portal .notice{margin:10px 0;padding:10px 12px;border-radius:var(--tl-radius-control);background:var(--tl-success-surface);color:var(--tl-success);font-weight:600}
.tpl-linkbtn{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;border:0;background:none;color:var(--tl-ink);font:inherit;font-size:var(--tl-type-body);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tpl-linkish{color:var(--tl-ink);font-size:var(--tl-type-secondary);font-weight:700}
.tpl-ic{flex:none;display:block}
.tpl-pad{padding:0 2px}
.tpl-center{display:flex;justify-content:center;margin:12px 0}
.tpl-muted{color:var(--tl-ink-muted);font-size:var(--tl-type-secondary);line-height:1.5;margin:6px 0}
.tpl-note{margin:16px 2px 0;color:var(--tl-ink-muted);font-size:var(--tl-type-secondary);line-height:1.5;text-align:center}
.tpl-label{margin:14px 0 6px;color:var(--tl-ink-muted);font-size:var(--tl-type-secondary);font-weight:600}
.tpl-empty{margin:18px 2px;color:var(--tl-ink-muted);text-align:center}
.tpl-h{margin:22px 2px 10px;font-size:var(--tl-type-section);font-weight:700;letter-spacing:-.01em}
.tpl-gh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:12px 2px 10px}
.tpl-gh h2{margin:0;font-size:var(--tl-type-section);font-weight:700}
.tpl-gh small{color:var(--tl-ink-muted);font-size:var(--tl-type-secondary)}
.tpl-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* Bandeaux et états */
.tpl-banner{display:flex;align-items:flex-start;gap:10px;margin:10px 0;padding:12px;border-radius:var(--tl-radius-media);background:var(--tl-unknown-surface);color:var(--tl-ink);line-height:1.45}
.tpl-banner span{display:grid;gap:2px;flex:1;min-width:0}
.tpl-banner b{font-weight:700}
.tpl-banner .tpl-ic{width:18px;height:18px;margin-top:1px}
.tpl-banner.is-warn{background:var(--tl-warning-surface)}.tpl-banner.is-warn b,.tpl-banner.is-warn>.tpl-ic{color:var(--tl-warning)}
.tpl-banner.is-danger{background:var(--tl-danger-surface);color:var(--tl-danger)}
.tpl-banner.is-info{background:var(--tl-surface-muted)}
.tpl-banner .btn{align-self:center}
.tpl-state{display:grid;justify-items:center;gap:8px;margin:28px auto 12px;max-width:420px;padding:0 10px;text-align:center}
.tpl-state :is(h1,h2){margin:4px 0 0;font-size:var(--tl-type-section);font-weight:700;line-height:1.3}
.tpl-state p{margin:0 0 6px;color:var(--tl-ink-muted);line-height:1.5}
.tpl-state__ic{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--tl-surface-muted);color:var(--tl-ink)}
.tpl-state__ic .tpl-ic{width:26px;height:26px}
.tpl-r3{display:grid;justify-items:center;gap:8px;margin:12px 0 6px;padding:20px 16px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-media);text-align:center}
.tpl-r3 h2{margin:2px 0 0;font-size:var(--tl-type-section);line-height:1.3}
.tpl-r3 p{margin:0;color:var(--tl-ink-muted);line-height:1.5}
.tpl-r3__actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;margin-top:6px}
.tpl-invite{display:grid;gap:8px;margin:12px 0 6px;padding:16px;border-radius:var(--tl-radius-media);background:var(--tl-select-surface)}
.tpl-invite h2{margin:0;font-size:var(--tl-type-section)}
.tpl-invite p{margin:0;line-height:1.5}
.tpl-invite .btn{justify-self:start}

/* Espace créateur (K2) */
.tpl-kpis,.tpl-sum3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tpl-kpis>div,.tpl-sum3>div{display:grid;align-content:start;gap:4px;min-width:0;padding:12px 10px;border-radius:var(--tl-radius-media);background:var(--tl-surface-muted)}
.tpl-kpis b,.tpl-sum3 b{font-family:var(--tl-font-num);font-size:var(--tl-type-page);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere}
.tpl-kpis small,.tpl-sum3 small{color:var(--tl-ink-muted);font-size:var(--tl-type-caption);line-height:1.3}
.tpl-kpis .is-unknown b{color:var(--tl-ink-muted)}
.tpl-kpis--2{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Clics comptés depuis le début : leur propre ligne, hors des chiffres des 30 derniers jours (m-17). */
.tpl-clicks{display:flex;align-items:center;gap:8px;margin:8px 2px 0;color:var(--tl-ink-muted);font-size:var(--tl-type-secondary);line-height:1.4}
.tpl-clicks .tpl-ic{width:18px;height:18px}
.tpl-clicks b{color:var(--tl-ink);font-family:var(--tl-font-num);font-variant-numeric:tabular-nums}
.tpl-sum3{margin-top:10px}
.tpl-sum3 .is-on{background:var(--tl-success-surface)}.tpl-sum3 .is-on b{color:var(--tl-success)}
.tpl-list{display:grid;margin:8px 0}
.tpl-list--cards{gap:8px;margin-top:10px}
.tpl-row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 4px;border:0;border-bottom:1px solid var(--tl-border);background:none;color:var(--tl-ink);font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.tpl-list>.tpl-row:last-child{border-bottom:0}
.tpl-row.is-static{cursor:default}
.tpl-row__ic{display:grid;place-items:center;flex:none;width:28px}
.tpl-row__ic .tpl-ic{width:22px;height:22px}
.tpl-row__text{display:grid;gap:2px;flex:1;min-width:0}
.tpl-row__text b{font-size:var(--tl-type-body);font-weight:700;overflow-wrap:anywhere}
.tpl-row__text small{color:var(--tl-ink-muted);font-size:var(--tl-type-secondary);line-height:1.4}
.tpl-row__text em{color:var(--tl-ink-muted);font-style:normal;font-weight:500}
.tpl-row__end{display:grid;place-items:center;flex:none;color:var(--tl-ink-muted)}
.tpl-row.is-card{padding:12px 14px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-media)}
.tpl-row.is-card .tpl-row__text b{font-size:var(--tl-type-section);font-family:var(--tl-font)}
.tpl-row.is-select{border-color:transparent;background:var(--tl-select-surface)}
.tpl-row.is-select .tpl-row__ic{color:var(--tl-action)}
.tpl-row.is-alert{border-color:transparent;background:var(--tl-warning-surface)}
.tpl-row:focus-visible,.tpl-tool:focus-visible,.tpl-tab:focus-visible,.tpl-offer__main:focus-visible,.tpl-sale:focus-visible{outline:3px solid var(--tl-action);outline-offset:2px;border-radius:var(--tl-radius-control)}
.tpl-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tpl-tool{position:relative;display:grid;justify-items:center;align-content:center;gap:6px;min-height:78px;padding:10px 4px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-media);background:var(--tl-paper);color:var(--tl-ink);font:inherit;font-size:var(--tl-type-secondary);font-weight:700;text-align:center;text-decoration:none;cursor:pointer}
.tpl-tool .tpl-ic{width:22px;height:22px}
.tpl-tool:hover{background:var(--tl-surface-muted)}
.tpl-badge{position:absolute;top:8px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--tl-action);color:var(--tl-on-action);font-size:var(--tl-type-caption);font-weight:700;line-height:18px}
.tpl-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--tl-select-surface);color:var(--tl-action-hover);font-weight:800}

/* Onglets soulignés, puces, listes d'offres (O1) */
.tpl-tabs{display:flex;gap:2px;margin:8px 0 10px;border-bottom:1px solid var(--tl-border);overflow-x:auto;scrollbar-width:none}
.tpl-tabs::-webkit-scrollbar{display:none}
.tpl-tab{flex:none;min-height:44px;padding:0 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--tl-ink-muted);font:inherit;font-size:var(--tl-type-body);font-weight:600;cursor:pointer}
.tpl-tab[aria-pressed="true"]{border-bottom-color:var(--tl-ink);color:var(--tl-ink);font-weight:700}
.tpl-chip{display:inline-flex;align-items:center;width:fit-content;max-width:100%;min-height:22px;padding:2px 8px;border-radius:999px;background:var(--tl-unknown-surface);color:var(--tl-ink);font-size:var(--tl-type-caption);font-weight:700;line-height:1.3;white-space:normal}
.tpl-chip.is-ok,.tpl-chip.is-paid{background:var(--tl-success-surface);color:var(--tl-success)}
.tpl-chip.is-wait{background:var(--tl-warning-surface);color:var(--tl-warning)}
.tpl-chip.is-hot,.tpl-chip.is-no{background:var(--tl-danger-surface);color:var(--tl-danger)}
.tpl-chip.is-info{background:var(--tl-unknown-surface);color:var(--tl-ink)}
.tpl-portal .tpl-promote .aff-search{display:flex;align-items:center;gap:8px;min-height:44px;margin:6px 0 0;padding:0 12px;border:0;border-radius:var(--tl-radius-control);background:var(--tl-surface-muted)}
.tpl-portal .tpl-promote .aff-search input{flex:1;min-width:0;height:44px;border:0;background:none;font-size:var(--tl-type-input);outline:none}
.tpl-portal .tpl-promote .aff-search:focus-within{outline:3px solid var(--tl-action);outline-offset:2px}
.tpl-portal .tpl-promote .aff-search svg{width:18px;height:18px;color:var(--tl-ink-muted)}
.tpl-portal .tpl-promote .aff-bar{margin:0 0 6px}
.tpl-offers{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.tpl-offer{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-media);background:var(--tl-paper)}
.tpl-offer__main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.tpl-thumb{position:relative;display:grid;place-items:center;flex:none;width:56px;height:56px;overflow:hidden;border-radius:var(--tl-radius-control);background:var(--tl-surface-muted);color:var(--tl-ink);font-weight:800}
.tpl-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tpl-offer__text{display:grid;gap:3px;min-width:0}
.tpl-offer__text b{font-size:var(--tl-type-body);font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.tpl-offer__text small{color:var(--tl-ink-muted);font-size:var(--tl-type-secondary)}
.tpl-offer__btns{display:grid;gap:6px;flex:none}
.tpl-part{display:inline-flex;width:fit-content;max-width:100%;padding:2px 8px;border-radius:999px;background:var(--tl-success-surface);color:var(--tl-success);font-size:var(--tl-type-caption);font-weight:700}
.tpl-part.is-unknown{background:var(--tl-unknown-surface);color:var(--tl-ink-muted)}
.tpl-soon{color:var(--tl-warning);font-size:var(--tl-type-caption);font-weight:600}
.tpl-offer>.btn{flex:none}
.tpl-portal .aff-more{width:100%;margin-top:10px}
.tpl-details{margin:12px 0;border-top:1px solid var(--tl-border)}
.tpl-details>summary{display:flex;align-items:center;min-height:48px;padding:0 2px;font-weight:700;cursor:pointer;list-style:none}
.tpl-details>summary::-webkit-details-marker{display:none}
.tpl-details>summary::after{content:"";width:8px;height:8px;margin-left:auto;border-right:2px solid var(--tl-ink-muted);border-bottom:2px solid var(--tl-ink-muted);transform:rotate(45deg)}
.tpl-details[open]>summary::after{transform:rotate(-135deg)}
.tpl-details p{line-height:1.5}

/* Une offre (O2) */
/* Colonne réductible : à 320 px, le champ du lien imposait 340 px et la page défilait de côté. */
.tpl-offer-page{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.tpl-photo{position:relative;display:grid;place-items:center;margin:0 -14px;aspect-ratio:4/3;max-height:320px;overflow:hidden;background:var(--tl-surface-muted)}
.tpl-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tpl-photo svg{width:40px;height:40px;color:var(--tl-ink-muted)}
.tpl-offer-head p{margin:0;color:var(--tl-ink-muted);font-size:var(--tl-type-secondary)}
.tpl-offer-head h2{margin:2px 0;font-size:var(--tl-type-product);line-height:1.3}
.tpl-offer-head b{font-family:var(--tl-font-num);font-size:var(--tl-type-price);font-variant-numeric:tabular-nums}
.tpl-offer-head b small{color:var(--tl-ink-muted);font-family:var(--tl-font);font-weight:500}
.tpl-paycard{display:grid;gap:4px;padding:14px;border-radius:var(--tl-radius-media);background:var(--tl-surface-muted)}
.tpl-paycard small{color:var(--tl-ink-muted);font-size:var(--tl-type-secondary);line-height:1.4}
.tpl-paycard b{font-family:var(--tl-font-num);font-size:1.0625rem;font-weight:700;font-variant-numeric:tabular-nums}
.tpl-paycard.is-good{background:var(--tl-success-surface)}.tpl-paycard.is-good b{color:var(--tl-success)}
.tpl-paycard.is-alert{background:var(--tl-warning-surface)}
.tpl-paycard .btn{justify-self:start;margin-top:6px}
.tpl-rules{display:grid;margin:0;padding:4px 12px;list-style:none;border:1px solid var(--tl-border);border-radius:var(--tl-radius-media)}
.tpl-rules li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--tl-border);line-height:1.45}
.tpl-rules li:last-child{border-bottom:0}
.tpl-rules .tpl-ic{color:var(--tl-success);margin-top:1px}
.tpl-linkbox{display:flex;gap:8px}
.tpl-linkbox input{flex:1;min-width:0;height:44px;padding:0 12px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-control);background:var(--tl-surface-muted);color:var(--tl-ink-muted);font-size:var(--tl-type-input)}
.tpl-actions2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tpl-portal .tpl-offer-page .aff-share__status{margin:0;min-height:0;color:var(--tl-success);font-weight:600}
.tpl-portal .tpl-offer-page [data-share-extra] canvas,.tpl-portal .tpl-share [data-share-extra] canvas{display:block;width:200px;height:200px;margin:8px auto}
.tpl-cta{position:fixed;left:0;right:0;bottom:0;z-index:25;display:grid;gap:4px;justify-items:center;padding:10px max(14px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));border-top:1px solid var(--tl-border);background:var(--tl-paper)}
.tpl-cta>.btn{width:min(612px,100%);min-height:48px}

/* Formulaires (R2, profil, banque) */
.tpl-form{display:grid;gap:12px}
.tpl-field{display:grid;gap:6px;margin:0}
.tpl-field>span:first-child{font-size:var(--tl-type-secondary);font-weight:600;color:var(--tl-ink)}
.tpl-field small{color:var(--tl-ink-muted);font-size:var(--tl-type-caption)}
.tpl-field input,.tpl-field textarea,.tpl-field select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--tl-border-control);border-radius:var(--tl-radius-control);background:var(--tl-paper);color:var(--tl-ink);font:inherit;font-size:var(--tl-type-input);font-weight:400}
.tpl-field textarea{resize:vertical;line-height:1.45}
.tpl-field input:focus,.tpl-field textarea:focus,.tpl-field select:focus{outline:3px solid var(--tl-action);outline-offset:1px}
.tpl-affix{display:flex;align-items:center;border:1px solid var(--tl-border-control);border-radius:var(--tl-radius-control);background:var(--tl-paper)}
.tpl-affix i{padding-left:12px;color:var(--tl-ink-muted);font-style:normal;font-size:var(--tl-type-body);white-space:nowrap}
.tpl-affix input{border:0!important;padding-left:2px!important;min-width:0}
.tpl-affix:focus-within{outline:3px solid var(--tl-action);outline-offset:1px}
.tpl-affix input:focus{outline:none!important}
.tpl-fieldset{display:grid;gap:10px;margin:0;padding:12px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-media)}
.tpl-fieldset legend{padding:0 4px;font-size:var(--tl-type-secondary);font-weight:700}
.tpl-fieldset legend small{color:var(--tl-ink-muted);font-weight:500}
.tpl-check{display:flex;align-items:flex-start;gap:10px;line-height:1.45}
.tpl-check input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--tl-action)}
.tpl-steps{display:grid;gap:12px;margin:4px 0;padding:0;list-style:none}
.tpl-steps li{display:flex;gap:12px}
.tpl-steps i{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--tl-select-surface);color:var(--tl-action-hover);font-style:normal;font-weight:800;font-size:var(--tl-type-secondary)}
.tpl-steps span{display:grid;gap:2px}
.tpl-steps b{font-size:var(--tl-type-body)}
.tpl-steps small{color:var(--tl-ink-muted);font-size:var(--tl-type-secondary);line-height:1.45}
.tpl-tips{padding:12px;border-radius:var(--tl-radius-media);background:var(--tl-surface-muted);line-height:1.5}
.tpl-tips ul{margin:6px 0;padding-left:18px}
.tpl-tips small{color:var(--tl-ink-muted)}
.tpl-trust{display:flex;gap:10px;padding:12px;border-radius:var(--tl-radius-media);background:var(--tl-surface-muted);line-height:1.45}
.tpl-trust span{display:grid;gap:2px}
.tpl-trust b{display:flex;gap:4px}

/* Cartes (missions, collaborations) */
.tpl-cards{display:grid;gap:10px}
.tpl-card{display:grid;gap:6px;padding:12px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-media);background:var(--tl-paper)}
.tpl-card h3{margin:2px 0 0;font-size:var(--tl-type-body);font-weight:700;line-height:1.35}
.tpl-card p{margin:0;line-height:1.5}
.tpl-card__head{display:flex;align-items:center;gap:10px}
.tpl-card__head .tpl-thumb{width:36px;height:36px;border-radius:50%;font-size:var(--tl-type-secondary)}
.tpl-card__head>span:nth-child(2){display:grid;flex:1;min-width:0}
.tpl-card__head b{font-size:var(--tl-type-body)}
.tpl-card__head small{color:var(--tl-ink-muted);font-size:var(--tl-type-caption);overflow-wrap:anywhere}
.tpl-card .btn{margin-top:4px}
.tpl-card .mission-card__note{margin:0;color:var(--tl-ink-muted);font-size:var(--tl-type-secondary)}
.tpl-rights{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.tpl-rights li{display:inline-flex;align-items:center;gap:4px;padding:3px 9px 3px 6px;border-radius:999px;font-size:var(--tl-type-secondary);font-weight:600}
.tpl-rights li.is-on{background:var(--tl-success-surface);color:var(--tl-success)}
.tpl-rights li.is-off{background:var(--tl-unknown-surface);color:var(--tl-ink-muted);text-decoration:line-through}
.tpl-rights .tpl-ic{width:14px;height:14px}
.tpl-portal .tpl-card .collab-products,.tpl-portal .tpl-card .collab-rules{margin:6px 0;padding-left:18px;line-height:1.5}
.tpl-portal .tpl-card .collab-money{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0}
.tpl-portal .tpl-card .collab-money div{display:grid;padding:8px 10px;border-radius:var(--tl-radius-control);background:var(--tl-surface-muted)}

/* Gains (G1), une vente (G2), virements (G3) */
.tpl-sales,.tpl-pays{display:grid;margin:0;padding:0;list-style:none}
.tpl-sale{display:flex;align-items:center;gap:10px;width:100%;min-height:68px;padding:8px 2px;border:0;border-bottom:1px solid var(--tl-border);background:none;color:var(--tl-ink);font:inherit;text-align:left;cursor:pointer}
.tpl-sale .tpl-thumb{width:44px;height:44px}
.tpl-sale__text{display:grid;gap:2px;flex:1;min-width:0}
.tpl-sale__text b{font-size:var(--tl-type-body);overflow-wrap:anywhere}
.tpl-sale__text small{color:var(--tl-ink-muted);font-size:var(--tl-type-secondary)}
.tpl-sale__end{display:grid;justify-items:end;gap:4px;flex:none;max-width:46%;text-align:right}
.tpl-sale__end b,.tpl-sale__end s{font-family:var(--tl-font-num);font-variant-numeric:tabular-nums;font-size:var(--tl-type-body)}
.tpl-portal .tpl-more .gain-night{margin:4px 0 12px}
.tpl-portal .tpl-more .gain-groups{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap}
.tpl-portal .tpl-more .gain-groups button{min-height:36px;padding:0 12px;border:1px solid var(--tl-border);border-radius:999px;background:var(--tl-paper);font-weight:600}
.tpl-portal .tpl-more .gain-groups button[aria-pressed="true"]{background:var(--tl-ink);border-color:var(--tl-ink);color:var(--tl-on-night)}
.tpl-sale-head{display:flex;align-items:center;gap:12px;margin:10px 0}
.tpl-sale-head span{display:grid;gap:2px;min-width:0}
.tpl-sale-head small{color:var(--tl-ink-muted);font-size:var(--tl-type-secondary)}
.tpl-timeline{position:relative;display:grid;gap:14px;margin:14px 0;padding:0 0 0 26px;list-style:none}
.tpl-timeline li{position:relative;display:grid;gap:2px}
.tpl-timeline li::before{content:"";position:absolute;left:-23px;top:3px;width:12px;height:12px;border:2px solid var(--tl-border-control);border-radius:50%;background:var(--tl-paper);box-sizing:border-box}
.tpl-timeline li::after{content:"";position:absolute;left:-18px;top:17px;bottom:-15px;width:2px;background:var(--tl-border)}
.tpl-timeline li:last-child::after{display:none}
.tpl-timeline li.is-done::before{border-color:var(--tl-success);background:var(--tl-success)}
.tpl-timeline li.is-done::after{background:var(--tl-success)}
.tpl-timeline li.is-now::before{border-color:var(--tl-action)}
.tpl-timeline li.is-no::before{border-color:var(--tl-danger);background:var(--tl-danger)}
.tpl-timeline b{font-size:var(--tl-type-body)}
.tpl-timeline small{color:var(--tl-ink-muted);font-size:var(--tl-type-secondary)}
.tpl-timeline li.is-todo b{color:var(--tl-ink-muted)}
.tpl-calc{display:grid;margin:8px 0;border-top:1px solid var(--tl-border)}
.tpl-calc div{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid var(--tl-border)}
.tpl-calc dt{color:var(--tl-ink-muted)}
.tpl-calc dd{margin:0;font-family:var(--tl-font-num);font-variant-numeric:tabular-nums}
.tpl-calc .is-total dt,.tpl-calc .is-total dd{color:var(--tl-ink);font-weight:700;font-size:var(--tl-type-section)}
.tpl-lines{display:grid;margin:0 0 8px;padding:0;list-style:none}
.tpl-lines li{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:6px 2px;border-bottom:1px solid var(--tl-border);font-size:var(--tl-type-secondary)}
.tpl-pay{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--tl-border)}
.tpl-pay>span{display:grid;gap:2px;flex:1;min-width:0}
.tpl-pay small{color:var(--tl-ink-muted);font-size:var(--tl-type-secondary)}
.tpl-pay>b{font-family:var(--tl-font-num);font-variant-numeric:tabular-nums}

/* Vidéos, QR, hôtel */
.tpl-publish{display:grid;gap:10px;margin:8px 0;padding:14px;border-radius:var(--tl-radius-media);background:var(--tl-surface-muted)}
.tpl-publish>div{display:grid;gap:4px}
.tpl-publish small{color:var(--tl-ink-muted);line-height:1.45}
.tpl-publish .btn{justify-self:start}
.tpl-videos{display:grid;gap:10px}
.tpl-video{display:flex;gap:12px;padding:10px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-media)}
.tpl-video__media{position:relative;flex:none;width:72px;height:112px;overflow:hidden;border-radius:var(--tl-radius-control);background:var(--tl-night)}
.tpl-video__media img,.tpl-video__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tpl-video__text{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:4px;background:var(--tl-surface-muted);color:var(--tl-ink)}
.tpl-video__body{display:grid;align-content:start;gap:4px;min-width:0}
.tpl-video__body small{line-height:1.4;overflow-wrap:anywhere}
.tpl-video__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.tpl-portal .tpl-screen[data-tpl-screen="videos"] .creator-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tpl-portal .tpl-screen[data-tpl-screen="videos"] .creator-kpi{padding:10px;border:0;border-radius:var(--tl-radius-media);background:var(--tl-surface-muted)}
.tpl-qr-page{display:grid;justify-items:center;gap:6px;padding-top:16px}
.tpl-qr canvas{display:block;width:min(240px,70vw);height:auto;border:1px solid var(--tl-border);border-radius:var(--tl-radius-media)}
.tpl-code{margin:8px 0 0;font-size:1.0625rem;font-weight:800}
.tpl-qr-actions{display:grid;gap:8px;width:min(360px,100%);margin-top:10px}
.tpl-hotel{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:10px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-media)}
.tpl-hotel img{width:96px;height:96px;object-fit:cover;border-radius:var(--tl-radius-control)}
.tpl-hotel>div{display:grid;gap:4px;align-content:start;min-width:0}
.tpl-hotel small{color:var(--tl-ink-muted)}
.tpl-hotel.is-chosen{border-color:var(--tl-ink)}
.tpl-hotel-search .aff-search{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:var(--tl-radius-control);background:var(--tl-surface-muted)}
.tpl-hotel-search .aff-search input{flex:1;min-width:0;height:44px;border:0;background:none;font-size:var(--tl-type-input);outline:none}
.tpl-hotel-search .aff-search svg{width:18px;height:18px}

/* Publier une vidéo (P3) : un seul écran plein */
.tpl-portal .creator-composer.tpl-composer{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;overflow:hidden;background:var(--tl-paper);color:var(--tl-ink)}
.tpl-comp-top{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;min-height:52px;padding:calc(4px + env(safe-area-inset-top,0px)) 8px 4px;border-bottom:1px solid var(--tl-border)}
.tpl-comp-top strong{text-align:center;font-size:var(--tl-type-section)}
.tpl-icon-btn{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:var(--tl-radius-control);background:none;color:var(--tl-ink);cursor:pointer}
.tpl-comp-publish{min-height:44px;padding:0 10px;border:0;background:none;color:var(--tl-action);font:inherit;font-size:var(--tl-type-section);font-weight:800;cursor:pointer}
.tpl-comp-publish:disabled{color:var(--tl-ink-muted);opacity:.6;cursor:not-allowed}
.tpl-comp-body{flex:1;overflow-y:auto;display:grid;align-content:start;gap:12px;width:min(640px,100%);margin:0 auto;padding:14px 14px calc(24px + env(safe-area-inset-bottom,0px))}
.tpl-comp-preview{position:relative;justify-self:center;width:min(220px,60vw);height:min(391px,106.6vw);overflow:hidden;border-radius:var(--tl-radius-media);background:var(--tl-surface-muted)}
.tpl-comp-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tpl-portal .tpl-comp-preview .creator-preview__player{position:absolute;inset:0}
.tpl-portal .tpl-comp-preview video{width:100%;height:100%;object-fit:cover}
.tpl-comp-pick{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;border:2px dashed var(--tl-border-control);border-radius:var(--tl-radius-media);background:none;color:var(--tl-ink);font:inherit;cursor:pointer}
.tpl-comp-pick small{color:var(--tl-ink-muted)}
.tpl-comp-file{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--tl-ink-muted)}
.tpl-comp-file small{min-width:0;overflow-wrap:anywhere}
.tpl-offer-picker{display:grid;gap:6px;padding:4px 0 8px}
.tpl-portal .tpl-offer-picker .offer-choice{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-control);background:var(--tl-paper);text-align:left;cursor:pointer}
.tpl-portal .tpl-offer-picker .offer-choice img{width:44px;height:44px;object-fit:cover;border-radius:8px}
.tpl-portal .tpl-offer-picker .offer-choice span{display:grid;gap:2px;min-width:0}
.tpl-portal .tpl-offer-picker .offer-choice small{color:var(--tl-ink-muted)}
.tpl-portal .tpl-offer-picker .offer-choice.is-selected{border-color:var(--tl-action);background:var(--tl-select-surface)}
.tpl-portal .tpl-composer .creator-upload-state{padding:10px 12px;border-radius:var(--tl-radius-media);background:var(--tl-surface-muted)}
.tpl-portal .tpl-composer .creator-progress{height:6px;border-radius:999px;background:var(--tl-border);overflow:hidden}
.tpl-portal .tpl-composer .creator-progress i{display:block;height:100%;background:var(--tl-action)}

/* Feuille de partage (P1) */
.tpl-portal .tpl-share-veil{align-items:end;padding:0}
.tpl-portal .tpl-share{width:min(560px,100%);max-height:calc(var(--visual-viewport-height,100dvh) - 24px);overflow-y:auto;margin:0 auto;padding:6px 16px calc(16px + env(safe-area-inset-bottom,0px));border:0;border-radius:var(--tl-radius-sheet) var(--tl-radius-sheet) 0 0;background:var(--tl-paper);box-shadow:0 -10px 30px rgba(11,20,24,.18)}
.tpl-grab{display:block;width:40px;height:4px;margin:4px auto 6px;border-radius:999px;background:var(--tl-border)}
.tpl-share__head{display:flex;align-items:center;gap:10px;margin:6px 0 10px}
.tpl-share__head span{display:grid;gap:2px;min-width:0}
.tpl-share__head small{color:var(--tl-ink-muted);font-size:var(--tl-type-secondary)}
.tpl-share__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:12px 0 4px}
.tpl-share__opt{display:grid;justify-items:center;gap:6px;min-height:76px;padding:4px 0;border:0;background:none;color:var(--tl-ink);font:inherit;font-size:var(--tl-type-caption);font-weight:600;text-align:center;text-decoration:none;cursor:pointer}
.tpl-share__opt i{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--tl-surface-muted);color:var(--tl-ink)}
.tpl-share__opt i svg{width:22px;height:22px}
.tpl-share__opt.is-tapline i{background:var(--tl-select-surface);color:var(--tl-action-hover)}
.tpl-share__opt[data-done] i{background:var(--tl-ink);color:var(--tl-on-night)}

/* Devenir créateur (R1, R2) */
.tpl-auth{display:grid;gap:14px;padding-top:6px}
.tpl-hero{position:relative;margin:0;height:220px;overflow:hidden;border-radius:var(--tl-radius-media);background:var(--tl-night)}
.tpl-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.tpl-hero b{position:absolute;left:14px;right:14px;bottom:14px;color:var(--tl-on-night);font-size:var(--tl-type-page);line-height:1.3;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.tpl-auth-switch{margin:10px 0 0;text-align:center}
.tpl-portal .auth-shell{grid-template-columns:minmax(0,1fr)!important}
@media(max-width:759px){.tpl-portal .auth-shell .pitch{display:none}}
/* Titre de page réservé aux lecteurs d'écran (modele.js) : sur ordinateur, la présentation visible porte le sien. */
@media(min-width:760px){.tpl-portal #app:has(>.auth-shell>.pitch)>h1[data-tpl-h1]{display:none}}

/* Ordinateur : barre de retour dans la page (l'en-tête complet du site s'affiche au-dessus). */
.tpl-deskbar{display:none}
@media(min-width:760px){
  .tpl-deskbar{display:flex;align-items:center;gap:8px;margin:8px 0 10px}
  .tpl-deskbar b{font-size:var(--tl-type-page)}
  .tpl-deskbar__back{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-control);background:var(--tl-paper);color:var(--tl-ink);cursor:pointer}
  .tpl-portal[data-tpl-screen="hub"] .tpl-deskbar__back{visibility:hidden}
  .tpl-portal .shell{padding-top:12px}
  .tpl-photo{margin:0;border-radius:var(--tl-radius-media)}
  .tpl-cta{position:sticky;bottom:0;border-top:0;margin:8px 0 0;padding:10px 0;background:var(--tl-paper)}
  .tpl-portal.tpl-has-cta .shell{padding-bottom:28px}
}
@media(max-width:359px){.tpl-tools,.tpl-kpis,.tpl-sum3{grid-template-columns:repeat(2,minmax(0,1fr))}.tpl-share__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.tpl-portal *{scroll-behavior:auto!important}}
