/* ═══════════════════════════════════════════════════════════════════════════
   Tableau de bord Talent — feuille de la maquette finale du client (13/09/2026),
   transcrite telle quelle depuis app/views/mockups/talent/dashboard.html.erb
   (bloc <style>, racine .td2). Tâche 055 / AC42.1, R3-42.2, R3-MOB.28.

   Deux seuls écarts avec le bloc de la maquette, tous deux motivés :
   · les styles `.td2-verif-*` (modale de vérification en 3 écrans) ne sont pas
     repris : la vérification d'identité est un vrai parcours hébergé chez le
     prestataire depuis la tâche 053 (/talent/identity_verification), avec sa
     propre feuille identity_verification.css. Une modale locale rejouerait la
     progression simulée par `setTimeout` de la maquette ;
   · deux règles d'état vide sont ajoutées en fin de feuille (`.td2-empty`,
     `.td2-banner`) : la maquette ne dessine aucun état vide, et l'application
     en a besoin partout où la source n'existe pas encore.

   La feuille de la Brique 1 (racine .td- / .tdb-) est remplacée : plus aucune
   vue ne la rend.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═════════ Dashboard Talent v4 — colonne profil fixe + cartes de catégories ═════════ */
.td2{
  --td2-amber:var(--amber); --td2-amber-50:var(--amber-50); --td2-amber-200:var(--amber-200); --td2-amber-700:var(--amber-strong);
  --td2-green:var(--green); --td2-green-50:var(--green-50);
  --td2-blue:#3B82C8; --td2-blue-50:#EEF2F6;
  --td2-off:var(--gold-500); --td2-off-50:#FAF4E6;
  /* #4491 (Tatianna 06/10) : un seul écart entre les cartes de la zone
     principale, celui des quatre cartes du haut (16 px, contre 24 avant). */
  --td2-main-gap:16px;
  font-family:'Geist',system-ui,-apple-system,sans-serif; color:var(--n-900); background:#fff;
}
.td2 *{box-sizing:border-box}
.td2{overflow-x:hidden}
html:has(.td2){overflow-x:clip}
.td2 p,.td2 span,.td2 b,.td2 small{overflow-wrap:break-word}
main.max-w-7xl:has(.td2){ max-width:1472px; }
.td2-shell{margin:0 auto;padding:0 32px}

/* ── en-tête d'accueil ── */
.td2-greet{font-size:22px;font-weight:700;color:var(--n-900);margin:24px 0 4px}
.td2-greet em{font-style:italic;color:var(--td-gold-ink)}
.td2-greet-sub{font-size:14px;color:var(--n-500);margin:0 0 24px}

/* ── cartes de catégories ── */
.td2-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--td2-main-gap)}
.td2-cat{
  display:flex;flex-direction:column;gap:10px;min-height:168px;padding:22px;
  border-radius:16px;cursor:pointer;text-align:left;border:1px solid var(--n-200);
  background:#fff;box-shadow:0 2px 10px rgba(44,44,44,.04);
  transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease;
}
.td2-cat:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(44,44,44,.08)}
.td2-cat:active{transform:translateY(1px)}
.td2-cat:focus-visible{outline:2px solid var(--gold-700);outline-offset:2px}
.td2-cat[aria-selected="true"]{border-color:var(--gold-300);box-shadow:0 10px 26px rgba(163,133,67,.14)}
.td2-cat-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.td2-cat-ic svg{width:19px;height:19px}
.td2-cat-title{font-size:15.5px;font-weight:700;color:var(--n-900);margin:0}
.td2-cat-desc{font-size:12.5px;color:var(--n-500);line-height:1.45;margin:0;flex:1}
.td2-cat-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.td2-cat-pill{font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.td2-cat-cta{font-size:12px;font-weight:700;padding:7px 14px;border-radius:999px;border:1px solid var(--n-200);background:#fff;color:var(--n-900);white-space:nowrap}
.td2-cat[aria-selected="true"] .td2-cat-cta{border-color:var(--gold-300);background:var(--gold-50);color:var(--gold-700)}
@media (prefers-reduced-motion:reduce){.td2-cat{transition:none}}

/* ── layout bas : sidebar repliable | contenu ── */
.td2-lower{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start;transition:grid-template-columns .22s ease}
.td2-lower.is-collapsed{grid-template-columns:64px minmax(0,1fr)}
.td2-side{display:flex;flex-direction:column;gap:24px;min-width:0}
.td2-side-full{display:flex;flex-direction:column;gap:24px;min-width:0}
.td2-lower.is-collapsed .td2-side-full{display:none}
.td2-side-rail{display:none}
.td2-lower.is-collapsed .td2-side-rail{display:flex}
.td2-side-rail{flex-direction:column;align-items:center;gap:10px;padding-top:4px}
.td2-side-expand{width:64px;padding:8px 4px 10px;border-radius:16px;border:1px solid var(--n-200);background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 4px 12px rgba(44,44,44,.06)}
.td2-side-expand:hover{border-color:var(--gold-300);background:var(--gold-50)}
.td2-side-expand .td2-rail-av{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0}
.td2-side-expand .td2-rail-av img{width:100%;height:100%;object-fit:cover}
.td2-side-expand-hint{display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--n-400)}
.td2-side-expand:hover .td2-side-expand-hint{color:var(--gold-700)}
.td2-side-expand-hint svg{width:11px;height:11px}
.td2-side-expand-hint span{font-size:9.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.td2-side-home{width:64px;padding:12px 4px;border-radius:12px;border:1px solid rgba(196,165,89,.55);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;color:#1A1614;
  background:linear-gradient(115deg,rgba(232,204,110,.82) 0%,rgba(245,232,190,.95) 50%,rgba(220,196,120,.85) 100%);
  box-shadow:0 2px 8px rgba(163,133,67,.16);transition:transform 150ms ease,box-shadow 150ms ease}
.td2-side-home:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(163,133,67,.26)}
.td2-side-home:active{transform:translateY(0)}
.td2-side-home-ic{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;transition:transform 150ms ease}
.td2-side-home-ic svg{width:14px;height:14px}
.td2-side-home:hover .td2-side-home-ic{transform:translateX(-2px)}
.td2-side-home span{font-size:10.5px;font-weight:800;color:#1A1614}
.td2-side-collapse{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:32px;border:none;background:none;color:var(--n-400);font-size:12px;font-weight:600;cursor:pointer}
.td2-side-collapse:hover{color:var(--gold-700)}
.td2-side-collapse svg{width:13px;height:13px}
.td2-main{display:flex;flex-direction:column;gap:var(--td2-main-gap)}

/* ── cartes génériques ── */
.td2-card{background:#fff;border:1px solid var(--n-200);border-radius:var(--r-lg);box-shadow:0 6px 20px rgba(44,44,44,.04);padding:var(--sp-6)}
.td2-ch{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.td2-ch svg{width:17px;height:17px;color:var(--gold-600);flex-shrink:0}
.td2-ch h2,.td2-ch h3{font-size:17px;font-weight:700;color:var(--n-900);margin:0}
.td2-ch .hn{margin-left:auto;font-size:12.5px;color:var(--n-700);font-weight:600}

/* ── sidebar : Mon Profil ── */
.td2-profile{overflow:hidden;padding:0}
.td2-profile-wave{height:122px;background:linear-gradient(160deg,var(--td-gold-wave-hi) 0%,var(--td-gold-wave-mid) 46%,var(--td-gold-wave-lo) 100%);position:relative}
.td2-profile-body{padding:0 20px 18px;margin-top:-66px;text-align:center}
.td2-profile-av{width:132px;height:132px;border-radius:50%;border:5px solid #fff;overflow:hidden;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;position:relative;box-shadow:0 6px 18px rgba(20,16,8,.18)}
.td2-profile-av img{width:100%;height:100%;object-fit:cover}
.td2-profile-name{font-size:16px;font-weight:800;color:var(--n-900);margin:0}
.td2-profile-role{font-size:12px;color:var(--n-500);margin:2px 0 12px}
.td2-profile-bar{height:5px;border-radius:4px;background:var(--n-100);overflow:hidden;margin-bottom:6px}
.td2-profile-bar > i{display:block;height:100%;background:linear-gradient(90deg,var(--td-gold-bar-from),var(--td-gold-bar-to))}
.td2-profile-pct{font-size:12px;color:var(--n-500);margin:0 0 14px}
.td2-steps{border:1px solid var(--gold-100);border-radius:12px;padding:12px;text-align:left}
.td2-steps-kicker{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--n-500);margin:0 0 10px}
.td2-step{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--n-100)}
.td2-step:first-of-type{border-top:none}
.td2-step-n{width:22px;height:22px;border-radius:50%;background:var(--n-100);color:var(--n-500);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.td2-step-n svg{width:11px;height:11px}
.td2-step.is-current .td2-step-n{background:var(--gold-fill);color:#fff}
.td2-step-txt{min-width:0;flex:1}
.td2-step-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.td2-step-title{font-size:13px;font-weight:700;color:var(--n-900)}
.td2-step-pct{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--gold-700);flex-shrink:0}
.td2-req{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--gold-700);background:var(--gold-50);border:1px solid var(--gold-200);border-radius:999px;padding:2px 8px}
.td2-step-p{font-size:12px;color:var(--n-500);margin:4px 0 0}
.td2-step-cta{display:inline-flex;margin-top:8px;height:30px;padding:0 12px;border-radius:8px;background:#1A1614;color:#fff;font-size:12px;font-weight:700;align-items:center;text-decoration:none;border:none;cursor:pointer;font-family:inherit}
.td2-step-cta:hover{background:#000}
/* #4231 — la carte des étapes au dessin du tableau de bord recruteur du
   26/09 (Drive, `.rdz-steps`, valeurs littérales) : pastilles orange reliées
   par un filet, l'étape courante pleine, les étapes faites en vert. */
.td2-req{background:#C0651F;border:1px solid #C0651F;color:#fff;font-size:9px;letter-spacing:.05em;line-height:1.3;padding:2px 7px}
.td2-step{position:relative;padding:6px 0}
.td2-steps{padding:6px 10px}
.td2-steps-kicker{font-size:10.5px;margin-bottom:4px}
.td2-step-n{position:relative;z-index:1;background:#FDF0E2;color:#C0651F;border:1px solid #EFCFAD}
.td2-step.is-current .td2-step-n{background:#C0651F;border-color:#C0651F;color:#fff;box-shadow:0 0 0 3px #FDF0E2}
.td2-step-n:has(svg){background:#EAF4EE;color:#2D7A4F;border-color:#BFE0CC}
.td2-step-n svg{width:12px;height:12px}
.td2-step:not(:last-child)::before{content:"";position:absolute;left:10px;top:28px;bottom:-6px;width:2px;border-radius:2px;background:#EFCFAD}
.td2-step:has(.td2-step-n svg):not(:last-child)::before{background:#BFE0CC}
.td2-step.is-current .td2-step-title{color:#8A4515}
.td2-step-p{font-size:11px;line-height:1.4;margin-top:2px}
.td2-profile-actions{display:flex;flex-direction:column;gap:8px;padding-top:14px}
.td2-profile-actions .is-main{height:36px;border-radius:999px;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;background:var(--gold-fill);color:#fff;text-shadow:var(--on-gold-shadow);border:none}
.td2-profile-actions .is-main svg{width:14px;height:14px;flex-shrink:0}
.td2-profile-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.td2-profile-actions-row a{height:34px;border-radius:8px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;border:1px solid var(--n-200);color:var(--n-700)}
.td2-profile-actions-row a svg{width:13px;height:13px}
.td2-profile-actions-row a:hover{border-color:var(--gold-300);color:var(--gold-700)}

/* Voir mon profil public — carte compacte */
.td2-public-mini{display:flex;align-items:center;gap:12px;text-decoration:none}
.td2-public-mini-av{width:38px;height:38px;border-radius:10px;overflow:hidden;flex-shrink:0}
.td2-public-mini-av img{width:100%;height:100%;object-fit:cover}
.td2-public-mini-txt{min-width:0;flex:1}
.td2-public-mini-title{font-size:13.5px;font-weight:700;color:var(--n-900);margin:0}
.td2-public-mini-sub{font-size:12px;color:var(--n-500);margin:1px 0 0;display:flex;align-items:center;gap:5px}
.td2-public-mini-sub svg{width:11px;height:11px;flex-shrink:0}
.td2-public-mini-arrow{width:26px;height:26px;border-radius:50%;background:var(--gold-50);color:var(--gold-700);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.td2-public-mini-arrow svg{width:12px;height:12px}

/* ── sidebar : Ma visibilité ── */
.td2-vis-badge{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:5px}
.td2-vis-badge i{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.td2-vis-badge.is-masque{background:var(--n-100);color:var(--n-500)}
.td2-vis-badge.is-visible{background:var(--td2-green-50);color:var(--td2-green)}
.td2-vis-badge.is-offmarket{background:var(--td2-off-50);color:var(--td2-off)}
.td2-vis-toggle{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--n-100);border-radius:10px;padding:3px;margin-bottom:10px}
.td2-vis-toggle button{border:none;background:transparent;padding:8px 4px;border-radius:8px;font-size:12px;font-weight:600;color:var(--n-500);cursor:pointer}
.td2-vis-toggle button[aria-selected="true"]{background:#1A1614;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.td2-vis-toggle button.is-masque[aria-selected="true"]{background:#5C5448}
/* #4232 — les critères manquants de la jauge, cliquables (AC43.2). */
.td2-miss-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0}
.td2-miss-chip{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top;font-size:11.5px;font-weight:600;color:var(--gold-700);background:#FBF7EE;border:1px solid var(--n-200);border-radius:999px;padding:3px 9px;text-decoration:none}
.td2-miss-list > li{min-width:0;max-width:100%}
.td2-miss-chip:hover{border-color:var(--gold-500)}
.td2-vis-explain{font-size:12.5px;color:var(--n-500);margin:0 0 10px;line-height:1.55}
/* #4330 — les deux faits et l'encart de veille, d'après la carte de Tatianna (02/10). */
.td2-vis-facts{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 16px;font-size:12px}
.td2-vis-fact{display:inline-flex;align-items:center;gap:6px;color:var(--n-700)}
.td2-vis-fact.is-no{color:var(--n-500)}
.td2-vis-fact-dot{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.td2-vis-fact.is-yes .td2-vis-fact-dot{background:var(--td2-green-50);color:var(--td2-green)}
.td2-vis-fact.is-no .td2-vis-fact-dot{background:var(--n-100);color:var(--n-500)}
.td2-vis-fact-dot svg{width:10px;height:10px;stroke-width:2.4}
.td2-vis-dorm{display:flex;gap:10px;align-items:flex-start;background:#FBF7EE;border:1px solid var(--n-200);border-radius:12px;padding:10px 12px;margin:-4px 0 16px;font-size:12.5px;line-height:1.5;color:var(--n-700)}
.td2-vis-dorm svg{width:15px;height:15px;color:var(--gold-600);margin-top:2px;flex-shrink:0}

.td2-scope{padding-top:14px;border-top:1px solid var(--n-100)}
.td2-scope-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--n-500);margin:0 0 10px}
.td2-scope-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.td2-scope-btn{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;border:1px solid var(--n-200);background:#fff;cursor:pointer;text-align:left}
.td2-scope-btn.is-locked{cursor:default}
.td2-scope-ic{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.td2-scope-ic svg{width:13px;height:13px}
.td2-scope-txt{font-size:12.5px;font-weight:700;color:var(--n-900);flex:1;min-width:0}
.td2-scope-sw{position:relative;width:26px;height:15px;border-radius:999px;background:var(--n-200);flex-shrink:0;transition:background .18s}
.td2-scope-sw i{position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .18s}
.td2-scope-btn[aria-pressed="true"] .td2-scope-sw{background:var(--gold-fill)}
.td2-scope-btn[aria-pressed="true"] .td2-scope-sw i{transform:translateX(11px)}
.td2-scope-note{font-size:12px;color:var(--n-500);margin:0 0 14px;line-height:1.5}
.td2-vis-link{display:block;font-size:12.5px;font-weight:700;color:var(--gold-700);text-decoration:none}

/* Bloc d'accueil Auguste */
.td2-aug-welcome{border-radius:18px;overflow:hidden;position:relative;isolation:isolate;container-type:inline-size;padding:28px 30px;min-height:170px;display:flex;align-items:center;gap:20px;
  background-color:#fff;
  background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 30%,rgba(255,255,255,.6) 55%,rgba(255,255,255,0) 78%),
    radial-gradient(ellipse at 85% 30%,rgba(239,226,184,.28),rgba(196,165,89,.05) 30%,transparent 65%),
    linear-gradient(115deg,#F7F5F0,#E9E5DD)}
.td2-aug-copy{position:relative;z-index:2;max-width:60%}

/* Illustration « Demandez à Auguste » — pack validé (Kevin, 13/09/2026) :
   décor pur (aucun script), fenêtre de recadrage + fondu sur l'image source
   1985×792 pour n'afficher qu'Auguste et son carnet. Ne pas modifier les
   pourcentages ci-dessous : ils encadrent precisement la fenêtre validée,
   toucher un chiffre peut faire réapparaître du texte de l'image source. */
.auguste-notebook-layer{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit;pointer-events:none;user-select:none}
.auguste-notebook-layer__halo{position:absolute;inset:0;
  background:
    radial-gradient(ellipse 36% 116% at 91% 53%,rgba(240,228,199,.55) 0%,rgba(241,236,226,.3) 55%,rgba(255,255,255,0) 100%),
    linear-gradient(90deg,rgba(255,255,255,0) 44%,rgba(239,235,226,.24) 70%,rgba(231,227,218,.6) 100%)}
.auguste-notebook-layer__art{position:absolute;right:var(--auguste-art-right,1.5%);bottom:var(--auguste-art-bottom,0px);
  width:var(--auguste-art-width,clamp(180px,26%,250px));aspect-ratio:505/416;margin:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 91%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 5%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 91%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 5%,#000 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.auguste-notebook-layer__source{position:absolute;width:393.0693069307%;max-width:none;height:auto;left:-279.2079207921%;top:-37.2596153846%;display:block}
@container (max-width:720px){.auguste-notebook-layer__art{display:none}.auguste-notebook-layer__halo{opacity:.5}}
@supports not (container-type: inline-size){@media (max-width:760px){.auguste-notebook-layer__art{display:none}}}
.td2-aug-kicker{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#4A4640;margin:0 0 6px}
.td2-aug-kicker b{font-weight:700;color:#1A1614}
.td2-aug-title{font-size:20px;font-weight:600;color:#1A1614;margin:0 0 4px;font-family:Georgia,serif;font-style:italic}
.td2-aug-sub{font-size:13px;color:#5C6270;margin:0 0 16px}
.td2-aug-bar{position:relative;z-index:2;max-width:520px;background:#fff;border:1px solid var(--n-200);border-radius:999px;box-shadow:0 8px 22px rgba(44,44,44,.10);display:flex;align-items:center;gap:10px;padding:6px}
.td2-aug-face{width:38px;height:38px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--gold-200)}
.td2-aug-face img{width:38px;height:38px;object-fit:cover}
.td2-aug-bar input{flex:1;border:none;outline:none;background:none;font:inherit;font-size:13px;color:var(--n-900);min-width:0}
.td2-aug-go{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 16px;border-radius:999px;flex-shrink:0;color:#1A1614;font-size:12.5px;font-weight:700;cursor:pointer;
  background:linear-gradient(115deg,rgba(232,204,110,.82) 0%,rgba(245,232,190,.95) 50%,rgba(220,196,120,.85) 100%);border:1px solid rgba(196,165,89,.55)}
.td2-aug-go svg{width:13px;height:13px}

/* Actions rapides */
.td2-aug-actions-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--n-500);margin:0 0 10px}
.td2-aug-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.td2-aug-action{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:14px;border:1px solid var(--n-200);background:#fff;text-align:left;cursor:pointer;text-decoration:none;transition:transform 180ms ease,box-shadow 180ms ease}
.td2-aug-action:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(44,44,44,.08)}
.td2-aug-action-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.td2-aug-action-ic svg{width:16px;height:16px}
.td2-aug-action-title{font-size:13.5px;font-weight:700;color:var(--n-900);margin:0}
.td2-aug-action-desc{font-size:11.5px;color:var(--n-500);line-height:1.4;margin:0}
@media (max-width:900px){.td2-aug-actions{grid-template-columns:repeat(2,1fr)}}

/* Auguste vous suggère — postes correspondant au profil (même principe que le dashboard recruteur) */
.td2-sugg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.td2-sugg-card{
  border:1px solid rgba(212,178,110,.4);background:#fff;border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:0 1px 2px rgba(30,24,10,.05),0 16px 32px -12px rgba(163,133,67,.28),inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease;
}
.td2-sugg-card:hover{transform:translateY(-3px);border-color:rgba(212,178,110,.75);box-shadow:0 2px 4px rgba(30,24,10,.06),0 24px 44px -14px rgba(163,133,67,.36),inset 0 1px 0 rgba(255,255,255,.9)}
.td2-sugg-poste{font-size:12.5px;font-weight:700;color:var(--n-900);margin:0;padding:12px 12px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td2-sugg-poste-sub{display:block;font-size:11px;font-weight:600;color:var(--gold-700);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td2-sugg-photo{position:relative;margin:8px 10px 0;border-radius:10px;overflow:hidden;height:130px;background-size:cover;background-position:center}
.td2-sugg-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 32%,rgba(0,0,0,0) 68%,rgba(0,0,0,.22) 100%);pointer-events:none}
.td2-sugg-new{position:absolute;top:8px;left:8px;z-index:1;font-size:9.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#fff;background:var(--td2-green);padding:3px 8px;border-radius:999px}
.td2-sugg-markers{position:absolute;top:8px;left:8px;right:8px;z-index:1;}
.td2-sugg-markers .est-hbadges{justify-content:flex-end;gap:4px;}
.td2-sugg-markers .est-hbadge{font-size:9px;padding:3px 8px;}
/* Vérification staging du 01/10 — pastille Michelin de l'onglet Maisons, à
   gauche (les marqueurs vérifiés sont alignés à droite). */
.td2-sugg-michelin{position:absolute;top:8px;left:8px;z-index:2;display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:100px;background:#C0392B;text-transform:uppercase;letter-spacing:.3px}
.td2-sugg-michelin svg,.td2-sugg-michelin img{width:9px;height:9px}
.td2-sugg-michelin b{font-weight:800;color:#fff;font-size:9px}
.td2-sugg-badge{position:absolute;top:8px;right:8px;z-index:1;font-size:9.5px;font-weight:800;letter-spacing:.02em;color:#fff;background:rgba(20,16,12,.55);backdrop-filter:blur(2px);padding:3px 8px;border-radius:999px}
.td2-sugg-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:7px;flex:1}
.td2-sugg-loc{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--n-700);margin:0}
.td2-sugg-loc svg{width:12px;height:12px;color:var(--n-400);flex-shrink:0}
.td2-sugg-score{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--gold-700);margin:0}
.td2-sugg-score svg{width:12px;height:12px}
.td2-sugg-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:4px}
.td2-sugg-apply{font-size:12px;font-weight:700;color:var(--gold-700);text-decoration:none;background:none;border:none;cursor:pointer}
.td2-sugg-apply:hover{text-decoration:underline}
@media (max-width:1180px){.td2-sugg-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.td2-sugg-grid{grid-template-columns:1fr}}

/* Voir mon Book — essai DA carte photo sombre (Kevin, 13/09) */
.td2-book-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;padding:16px;border-radius:14px;overflow:hidden;min-height:168px;background-size:cover;background-position:center;text-decoration:none;box-shadow:0 8px 20px rgba(20,16,8,.18);transition:transform 180ms ease,box-shadow 180ms ease}
.td2-book-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(20,16,8,.28)}
.td2-book-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,6,.08) 28%,rgba(10,8,6,.8) 100%)}
.td2-book-kicker{position:relative;z-index:1;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-200)}
.td2-book-title{position:relative;z-index:1;font-family:Georgia,serif;font-style:italic;font-size:17px;font-weight:600;color:#fff;margin:0}
.td2-book-sub{position:relative;z-index:1;font-size:11.5px;color:rgba(255,255,255,.78)}
.td2-book-arrow{position:absolute;z-index:1;right:14px;bottom:14px;width:30px;height:30px;border-radius:50%;background:#F3E8CB;color:#3a2f12;display:flex;align-items:center;justify-content:center}
.td2-book-arrow svg{width:13px;height:13px}

/* panneaux de catégorie */
.td2-panel[hidden]{display:none}

/* Agenda (panneau) */
.td2-ag-event{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--n-100)}
.td2-ag-event:first-of-type{border-top:none}
.td2-ag-date{width:44px;height:44px;border-radius:10px;background:var(--n-50);display:flex;flex-direction:column;align-items:center;justify-content:center}
.td2-ag-date b{font-size:15px;color:var(--n-900)}
.td2-ag-date span{font-size:10px;font-weight:700;color:var(--n-500);text-transform:uppercase}
.td2-ag-body{display:flex;align-items:center;gap:12px;min-width:0}
.td2-ag-av{width:34px;height:34px;border-radius:50%;overflow:hidden;flex-shrink:0}
.td2-ag-av img{width:100%;height:100%;object-fit:cover}
.td2-ag-txt{min-width:0}
.td2-ag-title{font-size:14px;font-weight:700;color:var(--n-900);margin:0}
.td2-ag-sub{font-size:13px;color:var(--n-700);margin:2px 0 0}
.td2-ag-sync{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 12px;border-radius:10px;background:var(--n-50);border:1px solid var(--n-100)}
.td2-ag-sync span{font-size:12.5px;color:var(--n-500);flex:1}

/* Messagerie (panneau) — rangées synthétiques : à répondre / échéances / candidatures */
.td2-list-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--n-100)}
.td2-list-row:first-of-type{border-top:none}
.td2-list-lead-av{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}
.td2-list-date{width:40px;height:40px;border-radius:9px;background:var(--n-50);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.td2-list-date b{font-size:14px;color:var(--n-900)}
.td2-list-date span{font-size:9.5px;font-weight:700;color:var(--n-500);text-transform:uppercase}
.td2-list-txt{flex:1;min-width:0}
.td2-list-title{font-size:13px;font-weight:700;color:var(--n-900);margin:0}
.td2-list-sub{font-size:12px;color:var(--n-500);margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td2-list-open{height:30px;padding:0 14px;border-radius:8px;border:1px solid var(--n-200);background:#fff;color:var(--n-900);font-size:12px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;flex-shrink:0}
.td2-list-open:hover{border-color:var(--gold-300);color:var(--gold-700)}
.td2-pill{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap;flex-shrink:0}
.td2-pill.is-amber{background:var(--td2-amber-50);color:var(--td2-amber-700)}
.td2-pill.is-red{background:#FBF4F1;color:#B0432F}
.td2-pill.is-green{background:var(--td2-green-50);color:var(--td2-green)}
.td2-pill.is-blue{background:var(--td2-blue-50);color:var(--td2-blue)}
.td2-btn-gold-block{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:10px;background:var(--gold-fill);color:#fff;text-shadow:var(--on-gold-shadow);font-size:13.5px;font-weight:700;text-decoration:none}
.td2-btn-gold-block svg{width:14px;height:14px}
@media (max-width:640px){.td2-list-row{flex-wrap:wrap}.td2-list-sub{white-space:normal}}

/* Messagerie (panneau) */
.td2-msg-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--n-100)}
.td2-msg-row:first-of-type{border-top:none}
.td2-msg-av{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0}
.td2-msg-txt{min-width:0;flex:1}
.td2-msg-name{font-size:13.5px;font-weight:700;color:var(--n-900);margin:0}
.td2-msg-estab{font-weight:600;color:var(--n-500)}
.td2-msg-snip{font-size:12.5px;color:var(--n-500);margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td2-msg-time{font-size:11.5px;color:var(--n-400);flex-shrink:0}
/* #4644 (Kevin, 07/10) — chaque message ouvre sa conversation : la ligne est
   un lien, le survol le dit (fond doré pâle débordant de 10 px, nom en or). */
a.td2-msg-row{text-decoration:none;color:inherit;margin:0 -10px;padding:11px 10px;border-radius:10px;transition:background .15s}
a.td2-msg-row:hover,a.td2-msg-row:focus-visible{background:var(--gold-50)}
a.td2-msg-row:hover .td2-msg-name,a.td2-msg-row:focus-visible .td2-msg-name{color:var(--gold-700)}
a.td2-msg-row:focus-visible{outline:2px solid var(--gold-300);outline-offset:1px}

/* Parrainage (panneau) */
.td2-ref-badge{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--gold-700);background:var(--gold-50);border:1px solid var(--gold-200);padding:3px 10px;border-radius:999px}
.td2-ref-row{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.td2-ref-slot{width:38px;height:38px;border-radius:50%;border:1.5px dashed var(--n-300);display:flex;align-items:center;justify-content:center;color:var(--n-400);flex-shrink:0}
.td2-ref-slot svg{width:14px;height:14px}
.td2-ref-slot.is-reward{border:1.5px solid var(--gold-300);background:linear-gradient(135deg,#F5E7C4,var(--td-gold-bar-to))}
.td2-ref-slot.is-reward img{width:16px;height:20px}
.td2-ref-copy{font-size:12.5px;color:var(--n-700);line-height:1.5;margin:0 0 16px}
.td2-ref-link{display:flex;align-items:center;gap:10px;height:44px;border:1px solid var(--n-200);border-radius:10px;padding:0 6px 0 14px;margin-bottom:16px}
.td2-ref-link input{flex:1;border:none;outline:none;background:none;font:inherit;font-size:13px;color:var(--n-700);min-width:0}
.td2-ref-link button{height:32px;padding:0 14px;border-radius:8px;border:none;background:var(--gold-fill);color:#fff;text-shadow:var(--on-gold-shadow);font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:6px;cursor:pointer;flex-shrink:0}
.td2-ref-link button svg{width:12px;height:12px}
.td2-ref-share-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--n-500);margin:0 0 8px}
.td2-ref-share-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.td2-ref-share-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--n-200);background:#fff;color:var(--n-700);font-size:12.5px;font-weight:700;cursor:pointer;text-decoration:none}
.td2-ref-share-btn svg{width:15px;height:15px}
.td2-ref-share-btn:hover{border-color:var(--gold-300);color:var(--gold-700)}
.td2-ref-share-btn.is-whatsapp{border-color:rgba(37,211,102,.4);color:#1F9E56}
.td2-ref-share-btn.is-whatsapp:hover{background:rgba(37,211,102,.08);border-color:#25D366}
.td2-ref-qr{margin-top:12px;padding:14px;border:1px solid var(--n-200);border-radius:12px;display:flex;align-items:center;gap:14px}
.td2-ref-qr[hidden]{display:none}
.td2-ref-qr svg{flex-shrink:0}
.td2-ref-qr p{font-size:12px;color:var(--n-500);margin:0;line-height:1.5}
/* B3 tâche 060 — deux objets que la maquette ne dessine pas, parce qu'elle
   n'a qu'un écran plein : la confirmation de copie (un bouton qui ne dit rien
   laisse croire qu'il n'a rien fait) et l'état « pas encore de lien ». */
.td2-ref-copied{font-size:11.5px;font-weight:700;color:var(--gold-700);margin:-8px 0 12px}
.td2-ref-copied[hidden]{display:none}
.td2-ref-emit{margin-bottom:16px}
.td2-ref-emit .td2-btn-outline svg{width:14px;height:14px}

/* Mes filleuls & récompenses (vue basculable dans le panneau Parrainage) */
.td2-back-link{display:inline-flex;align-items:center;gap:5px;border:none;background:none;color:var(--n-500);font-size:12.5px;font-weight:600;cursor:pointer;padding:0;margin-bottom:14px;font-family:inherit}
.td2-back-link:hover{color:var(--gold-700)}
.td2-back-link svg{width:12px;height:12px;transform:rotate(90deg)}
.td2-fil-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.td2-fil-stat{border:1px solid var(--n-200);border-radius:12px;padding:12px 10px;text-align:center}
.td2-fil-stat b{display:block;font-size:20px;font-weight:800;color:var(--n-900)}
.td2-fil-stat span{font-size:11px;color:var(--n-500);font-weight:600}
.td2-fil-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--n-500);margin:0 0 4px}
.td2-fil-empty{font-size:12.5px;color:var(--n-500);padding:14px 0}
.td2-fil-reward{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--gold-50);border:1px solid var(--gold-200)}
.td2-fil-reward-slot{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#F5E7C4,var(--td-gold-bar-to));border:1.5px solid var(--gold-300)}
.td2-fil-reward-slot img{width:16px;height:20px}
.td2-fil-reward-title{font-size:13px;color:var(--n-900);margin:0;line-height:1.4}
.td2-fil-reward-sub{font-size:11.5px;color:var(--n-500);margin:3px 0 0}
.td2-link{font-size:12.5px;font-weight:700;color:var(--gold-700);text-decoration:none}
.td2-link:hover{text-decoration:underline}

/* boutons partagés */
.td2-btn-outline{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border:1px solid var(--gold-200);border-radius:8px;background:#fff;color:var(--gold-700);font-size:12.5px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}
.td2-btn-outline:hover{background:var(--gold-50)}

/* #4323 — aperçu Parrainage (maquette « Aperçu Parrainage » du 02/10, tailles
   desktop réduites de 15 % le 02/10, valeurs littérales). */
.td2-pv{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px}
.td2-pv-r{border-left:1px solid #ECE5D6;padding-left:24px}
.td2-pv-lead{font-size:12px;margin:14px 0 14px;color:#3B3226}
.td2-ref-slot.is-ok{border:0;background:linear-gradient(135deg,var(--gold-500),var(--gold-400));color:#fff;font-size:11px;font-weight:600;box-shadow:0 3.4px 10px rgba(163,133,67,.28)}
.td2-ref-slot.is-wip{border:1.5px solid var(--gold-200);background:#FDFAF2;color:var(--gold-600);font-size:11px;font-weight:600}
.td2-pcode{display:flex;align-items:center;gap:10px;margin:-8px 0 16px;background:#FBF7EE;border:1px solid #ECE5D6;border-radius:10px;padding:8px 8px 8px 12px}
.td2-pcode span{flex:1;font-size:11px;color:#7A7062}
.td2-pcode b{font-family:"Geist Mono",monospace;font-size:14px;font-weight:600;letter-spacing:.12em;color:#1C1409}
.td2-pcode .td2-btn-outline{height:auto;padding:5px 9px;font-size:11px}
.td2-pcode .td2-btn-outline svg{width:12px;height:12px}
.td2-mini{display:flex;gap:7px;margin:6px 0 15px}
.td2-mini div{flex:1;background:#FBF7EE;border:1px solid #ECE5D6;border-radius:10px;padding:8px 10px}
.td2-mini b{font-size:16px;font-weight:600;display:block;line-height:1.1}
.td2-mini span{font-size:10px;color:#7A7062}
.td2-mini div.is-q{background:#EAF4EE;border-color:#BFDCC9}
.td2-mini div.is-q b{color:#2D7A4F}
.td2-feed{display:grid}
.td2-fd{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #F3EEE3}
.td2-fd:last-child{border-bottom:0}
.td2-ini{width:27px;height:27px;border-radius:50%;background:#F6EFDF;color:var(--gold-600);display:grid;place-items:center;font-weight:600;font-size:11px;flex-shrink:0}
.td2-fd div{flex:1;min-width:0}
.td2-fd b{font-weight:600;font-size:11px;display:block}
.td2-fd span{font-size:10px;color:#7A7062}
.td2-chip{display:inline-flex;align-items:center;gap:5px;border-radius:849px;font-size:11px;font-weight:600;padding:3.4px 9px;white-space:nowrap}
.td2-chip::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.td2-chip.is-ok{background:#EAF4EE;color:#2D7A4F}
.td2-chip.is-wip{background:#FBF1DC;color:var(--amber-strong)}
.td2-chip.is-off{background:#F2F0EC;color:#7A7062}
.td2-fd .td2-chip{font-size:10px;color:inherit}
.td2-fd .td2-chip.is-ok{color:#2D7A4F}.td2-fd .td2-chip.is-wip{color:var(--amber-strong)}.td2-fd .td2-chip.is-off{color:#7A7062}
.td2-pv-f{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:12px;border-top:1px solid #ECE5D6;gap:10px;flex-wrap:wrap}
.td2-pv-f small{color:#7A7062;font-size:11px}
.td2-pv-f .td2-link{font-size:12px;color:var(--gold-600)}
@media (max-width:1180px){
  .td2-pv{grid-template-columns:1fr}
  .td2-pv-r{border-left:0;padding-left:0;border-top:1px solid #ECE5D6;padding-top:17px}
}
@media (max-width:640px){
  .td2-pcode{flex-wrap:wrap;gap:8px}
  .td2-pcode span{flex-basis:100%}
  .td2-pcode b{flex:1}
  .td2-mini b{font-size:17px}
}


/* responsive */
@media (max-width:1180px){
  .td2-lower{grid-template-columns:1fr}
  /* #4644 — ouvrir une catégorie replie la colonne de gauche ; sur une seule
     colonne, `.is-collapsed` (plus spécifique) remettait la grille 64 px | 1fr
     et le panneau ouvert tombait dans la colonne de 64 px, illisible. Sur une
     colonne il n'y a rien à replier : la colonne de gauche reste entière, sous
     le panneau. */
  .td2-lower.is-collapsed{grid-template-columns:minmax(0,1fr)}
  .td2-lower.is-collapsed .td2-side-full{display:flex}
  .td2-lower.is-collapsed .td2-side-rail{display:none}
  .td2-side{order:2}
  .td2-main{order:1}
  .td2-cats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .td2-shell{padding:0 16px}
  .td2-cats{grid-template-columns:1fr}
  .td2-aug-welcome{flex-direction:column;align-items:flex-start}
  .td2-aug-copy{max-width:100%}
  .td2-aug-bar{max-width:none;width:100%}
  .td2-aug-actions{grid-template-columns:1fr}
  .td-pipeline-cols{grid-template-columns:1fr}
}


/* ══════════════════════════════════════════════════════════════════
   CORRECTION MOBILE DE TRANSCRIPTION (18/09/2026) — a signaler au client
   « Contacte par » : la rangee est une grille `1fr 1fr` dont les colonnes ne
   peuvent pas descendre sous la largeur de leur contenu. Sous 390 px, la
   cellule « Hospitality » poussait la rangee a 299 px pour 276 disponibles.
   Les colonnes peuvent desormais se retrecir et le libelle se couper ;
   rien n'est masque.
   ══════════════════════════════════════════════════════════════════ */
@media (max-width:1080px){
  .td2-scope-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .td2-scope-txt{overflow-wrap:anywhere}
}
/* Vérification staging du 01/10 — à 390 px le mot se coupait en
   « Hospit/ality ». Sous 480 px les deux bascules passent l'une sous l'autre :
   le libellé tient sur une ligne, sans coupure au milieu d'un mot. */
@media (max-width:480px){
  .td2-scope-row{grid-template-columns:minmax(0,1fr)}
  .td2-scope-txt{overflow-wrap:normal}
}

/* ══════════════════════════════════════════════════════════════════
   CORRECTION MOBILE DE REVIEW (review B3, M1/M2) — a signaler au client
   La barre de recherche d'Auguste est une rangee `nowrap` : le portrait
   (38 px), le bouton « Rechercher » (fige, 124 px), deux gouttieres et
   les marges mangent la ligne, et a 390 px il restait 68 px au champ.
   A l'ecran, le libelle « Decrivez le poste reve, Auguste le trouve… »
   se lisait « Decrivez ». La maquette du 18/09 porte le meme defaut ;
   elle n'a jamais ete regardee sous 560 px.
   La rangee se plie donc : le champ prend sa ligne, le bouton la
   suivante, et la pastille garde sa forme. Rien n'est masque.
   ══════════════════════════════════════════════════════════════════ */
@media (max-width:560px){
  .td2-aug-bar{flex-wrap:wrap;border-radius:20px;padding:10px 12px;row-gap:10px}
  .td2-aug-bar input{flex:1 1 auto;min-width:0}
  .td2-aug-go{flex:1 1 100%;justify-content:center}
}


/* ══════════════════════════════════════════════════════════════════
   Ajouts de l'application — la maquette ne dessine aucun de ces deux
   objets, parce qu'elle n'a que des écrans pleins.

   `.td2-empty`  : l'état vide honnête, partout où la maquette montrait
                   des lignes fictives (agenda, échéances, suggestions,
                   messages, candidatures, filleuls). Même gabarit que
                   `.td2-fil-empty`, qui était le seul état vide écrit
                   par la source (l. 961 de la maquette).
   `.td2-banner` : le bandeau de dépublication par inactivité, que la
                   réanalyse du 18/09 relève comme absent des deux
                   écrans (`auto_unpublished_at` n'était dit nulle part).
   ══════════════════════════════════════════════════════════════════ */
.td2-empty{font-size:12.5px;color:var(--n-500);line-height:1.5;padding:14px 0;margin:0}
.td2-banner{display:flex;align-items:flex-start;gap:12px;background:var(--td2-amber-50);border:1px solid var(--td2-amber-200);border-radius:var(--r-lg);padding:14px 16px;margin-bottom:24px}
.td2-banner svg{width:18px;height:18px;color:var(--td2-amber-700);flex-shrink:0;margin-top:1px}
.td2-banner-txt{flex:1;min-width:0}
.td2-banner-title{font-size:13.5px;font-weight:700;color:var(--n-900);margin:0 0 3px}
.td2-banner-sub{font-size:12.5px;color:var(--n-700);line-height:1.5;margin:0}
.td2-scope-btn[disabled]{cursor:default;opacity:.55}
.td2-scope-btn[disabled]:hover{border-color:var(--n-200)}

/* ══════════════════════════════════════════════════════════════════
   Les classes que la maquette écrivait en `style="..."` dans le HTML.
   Mêmes valeurs, au mot près ; seul le véhicule change, la règle du
   projet étant zéro CSS inline. Elles ne changent rien au rendu.
   ══════════════════════════════════════════════════════════════════ */
.td2-ic-gold{background:var(--gold-50);color:var(--gold-700)}
.td2-ic-green{background:var(--td2-green-50);color:var(--td2-green)}
.td2-ic-blue{background:var(--td2-blue-50);color:var(--td2-blue)}
.td2-ic-mute{background:var(--n-100);color:var(--n-500)}
.td2-pill-amber{background:var(--td2-amber-50);color:var(--td2-amber-700)}
.td2-pill-greenish{background:var(--td2-green-50);color:var(--td2-green)}
.td2-pill-blue{background:var(--td2-blue-50);color:var(--td2-blue)}
.td2-pill-gold{background:var(--gold-50);color:var(--gold-700)}
.td2-aug-welcome{margin-bottom:var(--td2-main-gap)}
.td2-sugg{margin-top:var(--td2-main-gap)}
.td2-sugg-lede{font-size:12px;color:var(--n-500);margin:0 0 14px}
.td2-link-block{display:block;margin-top:14px}
.td2-card-stacked{margin-bottom:16px}

/* Sans photo réelle : aplat neutre, jamais le décor d'une autre Maison. */
.td2-sugg-photo-empty{background:linear-gradient(140deg,var(--n-100),var(--gold-50))}

/* Sans avatar : des initiales, jamais le portrait d'un autre. */
.td2-av-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--gold-50);color:var(--gold-700);font-weight:800;font-size:15px;letter-spacing:.02em}
.td2-rail-av .td2-av-initials,.td2-msg-av .td2-av-initials{font-size:12px}
/* `.td2-msg-av` est écrit dans la maquette pour un <img> ; l'application y met
   un conteneur (photo OU initiales), il lui faut donc le débordement masqué. */
.td2-msg-av{display:block;overflow:hidden}
.td2-msg-av img{width:100%;height:100%;object-fit:cover}
/* La flèche « Retour dashboard » de la maquette est retournée en style inline. */
.td2-side-home-ic svg{transform:scaleX(-1)}

/* #4428 (Tatianna 05/10) — la photo de couverture du profil dans le bandeau de
   la carte « Mon Profil » (cadrage : contrôleur image-focus). */
.td2-profile-wave.has-cover{background:var(--n-100);overflow:hidden}
.td2-profile-wave.has-cover img{display:block;width:100%;height:100%;object-fit:cover}

/* #4432 (maquette Apercu_Parrainage_Dashboard_2oct26 refaite le 04/10) — les
   sept places en orbite (valeurs littérales de la maquette, échelle −15 %). */
.td2-pv-cl{display:flex;align-items:center;gap:18px;margin:14px 0 14px}
.td2-pv-cl .td2-pv-lead{margin:0}
.td2-cl{position:relative;width:150px;aspect-ratio:1;flex:none;border-radius:50%;background:radial-gradient(circle,rgba(201,162,78,.16) 0%,rgba(201,162,78,.07) 40%,rgba(255,255,255,0) 68%);font-size:10px}
.td2-cl-ln{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.td2-cl-orbit{fill:none;stroke:var(--gold-300);stroke-width:1.4;stroke-dasharray:3 5}
.td2-cl-ray{fill:none;stroke:var(--rdz-gold-bar-lo);stroke-width:3;stroke-linecap:round}
.td2-cl-ray.is-half{stroke:var(--gold-300);stroke-width:1.8;stroke-dasharray:3 5}
.td2-cl-me{position:absolute;left:50%;top:50%;width:40%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,var(--gold-100),var(--rdz-gold-wave-mid) 50%,var(--gold-deep) 100%);box-shadow:0 0 0 3px #fff,0 0 0 5px #4A3321,0 6px 18px rgba(74,51,33,.28)}
.td2-cl-me img{width:100%;height:100%;object-fit:cover}
.td2-cl-me .td2-av-initials{font-size:15px;font-weight:700;color:#4A3321}
.td2-cl-n{position:absolute;width:21%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:10px;transition:transform .2s}
.td2-cl-n.is-ok{background:linear-gradient(140deg,var(--onb-gold-check-lo),var(--gold-600));color:#fff;box-shadow:0 4px 12px rgba(138,111,55,.45)}
.td2-cl-n.is-ok::before{content:"";position:absolute;right:-3px;bottom:-3px;width:40%;aspect-ratio:1;border-radius:50%;background:#2D7A4F url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.6 8.3l2.2 2.1 4.6-4.7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat;border:2px solid #fff}
.td2-cl-n.is-wip{border:2px solid var(--rdz-gold-bar-lo);color:var(--onb-gold-btn-dark);background:#FFFBF1}
.td2-cl-n.is-empty{border:2px dashed var(--rdz-gold-bar-lo);color:var(--gold-600);background:#FBF3DF;font-size:15px;font-weight:400;line-height:1}
label.td2-cl-n.is-empty{cursor:pointer}
label.td2-cl-n.is-empty:hover{transform:translate(-50%,-50%) scale(1.12);border-style:solid}
.td2-cl-tip{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%) translateY(4px);background:#1C1409;color:#fff;font-size:11px;font-weight:500;padding:4px 8px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s;z-index:5}
.td2-cl-n:hover .td2-cl-tip,.td2-cl-n:focus-visible .td2-cl-tip{opacity:1;transform:translateX(-50%) translateY(0)}
.td2-cl-n.is-p0{left:50%;top:13%}
.td2-cl-n.is-p1{left:78.93%;top:26.93%}
.td2-cl-n.is-p2{left:86.07%;top:58.23%}
.td2-cl-n.is-p3{left:66.05%;top:83.34%}
.td2-cl-n.is-p4{left:33.95%;top:83.34%}
.td2-cl-n.is-p5{left:13.93%;top:58.23%}
.td2-cl-n.is-p6{left:21.07%;top:26.93%}
.td2-pv-r .td2-fil-empty{font-size:14.5px;color:#7A7062;padding:8px 0;margin:0}
/* Partage sur une ligne, comme la maquette (aperçu seulement : la page Mes
   parrainages garde ses boutons). */
.td2-pv .td2-ref-share-row{gap:6px}
.td2-pv .td2-ref-share-btn{height:auto;padding:6px 9px;font-size:11px;gap:5px;white-space:nowrap}
.td2-pv .td2-ref-share-btn svg{width:14px;height:14px}
.td2-pv .td2-ref-share-label{font-size:10px;margin:15px 0 8px}
@media (prefers-reduced-motion:reduce){.td2-cl-n,.td2-cl-tip{transition:none}}
@media (max-width:640px){
  .td2-pv-cl{gap:12px}
  .td2-cl{width:120px}
}

/* ── Retours Tatianna du 06/10 (lot B) ── */
/* #4566 — le prénom de l'accueil en or dégradé. */
.td2-greet em{background:linear-gradient(115deg,var(--gold-600) 0%,var(--gold-primary) 45%,var(--gold-500) 70%,var(--gold-600) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-500);padding-right:.08em}
/* #4568 — sans photo, le « T » de Tastellers au centre de l'orbite. */
.td2-cl-me.is-brand{background:#fff}
.td2-cl-brand{width:58%;height:58%;transform:translateX(-3%)}
/* #4458 — Auguste « standing welcome » à droite de la carte d'accueil, fondu
   sur les bords pour se poser sur le dégradé crème de la carte. */
.td2-aug-portrait{position:absolute;right:3%;bottom:0;height:100%;max-height:230px;width:auto;z-index:1;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 12%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 12%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
@media (max-width:760px){.td2-aug-portrait{display:none}.td2-aug-copy{max-width:100%}}
/* #4452 — « Statut et visibilité » (aperçu Visibilité Talent du 04/10). */
.td2-st-head{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.td2-st-k{font-size:13.5px;font-weight:700;color:var(--n-900)}
.td2-st-scope{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--n-500)}
.td2-st-scope svg{width:12px;height:12px}
.td2-st-scope.is-end{margin-left:auto}
.td2-st-pick{position:relative;margin:0 0 10px}
.td2-st-pick summary{list-style:none;display:flex;align-items:center;gap:14px;cursor:pointer}
.td2-st-pick summary::-webkit-details-marker{display:none}
.td2-st-pill{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 13px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid}
.td2-st-pill i{width:7px;height:7px;border-radius:50%;background:currentColor}
.td2-st-pill.is-available{background:var(--td2-green-50);color:var(--td2-green);border-color:#BFE0CC}
.td2-st-pill.is-open{background:#FBF4E4;color:var(--gold-600);border-color:var(--gold-200)}
.td2-st-pill.is-not_looking{background:#FBECE7;color:#A1442F;border-color:rgba(161,68,47,.35)}
.td2-st-edit{font-size:13px;font-weight:700;color:var(--gold-700)}
.td2-st-pick summary:hover .td2-st-edit{text-decoration:underline}
.td2-st-menu{position:absolute;z-index:5;top:36px;left:0;right:0;display:flex;flex-direction:column;gap:2px;padding:6px;background:#fff;border:1px solid var(--n-200);border-radius:12px;box-shadow:0 14px 34px rgba(44,44,44,.14)}
.td2-st-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;text-align:left;cursor:pointer;font:inherit}
.td2-st-opt:hover,.td2-st-opt.is-current{background:#FBF7EE}
.td2-st-opt-t{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--n-900)}
.td2-st-opt-t i{width:7px;height:7px;border-radius:50%}
.td2-st-opt-t i.is-available{background:var(--td2-green)}
.td2-st-opt-t i.is-open{background:var(--gold-500)}
.td2-st-opt-t i.is-not_looking{background:#A1442F}
.td2-st-opt-s{font-size:12px;color:var(--n-500);padding-left:14px}
.td2-st-sep{height:1px;background:var(--n-100);margin:14px 0}
.td2-st-head .td2-vis-badge{margin-left:auto}


/* ═══════════════════════════════════════════════════════════════════════════
   #4649 (Tatianna 07/10) — « Nouveau dashboard » : maquette
   « Dashboard_Talent_7oct26.html » (Drive 1N_5DQ…), blocs « Dashboard Talent
   v4 » (`.tz-*`) et `<style id="retouches-0710">`, valeurs reprises telles
   quelles. Version Talent de l'alignement Maison (#4592, #4614, #4619) :
   même mécanique de grille, mêmes points de rupture.
     · au-dessus de 1360 px : deux colonnes (340 px | reste) qui partagent
       deux rangées (sous-grille) : (1) Ma page talent | Éditer mon profil ·
       Trouvez votre prochaine maison, même haut et même bas ; (2) Statut et
       visibilité | catégories, Auguste, suggestions ;
     · 901 à 1360 px, « demi-écran » : les colonnes se dissolvent
       (`display:contents`) dans une grille à 3 pistes 1 · .9 · 1.35 :
       (1) les trois cartes de tête (2) les 4 catégories (3) Statut et
       visibilité | Auguste (4) Auguste vous suggère, 3 offres ;
     · 900 px et moins : une colonne, 12 px, ordre Ma page, Trouvez, Éditer,
       catégories en 2 × 2, Statut, Auguste, suggestions en défilement.
   Tout est borné à `.td2-lower:not(.is-collapsed)` : une catégorie ouverte
   rend la mise en page repliée (rail, panneau), comme la Maison.
   Non repris (hors périmètre ou sans source) : « Autour de vous » (B4),
   « Il peut vous aider à… » (B4), étiquette « Nouveau » et visages sur
   « Mes candidatures », verrou « visible dès que votre identité est
   vérifiée » de « Statut et visibilité », drapeaux des offres.
   ═══════════════════════════════════════════════════════════════════════════ */

/* CTA dorés : texte et icône marron foncé (règle validée le 06/10). */
.td2{--on-gold:#2A1E0E;--on-gold-shadow:none}
.td2 .td2-aug-go,.td2 .td2-btn-gold-block,.td2 .td2-ref-link button,.td2 .td2-side-home,.td2 .td2-side-home span{color:#2A1E0E;text-shadow:none}
/* Plus de noir : boutons sombres en dégradé expresso. */
.td2 .td2-step-cta{background:linear-gradient(135deg,#2A1E0E,#4A3520 55%,#6B4E2E);color:#fff}

/* Accueil : prénom en italique serif doré, comme côté Recruteur. */
.td2-greet em{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:700;letter-spacing:-.005em;padding-right:.08em;
  background:linear-gradient(100deg,var(--tz-gold-ink) 0%,var(--tz-gold-ink-mid) 50%,var(--tz-gold-ink) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* Espacements : un seul écart de 16 px entre les cartes. */
.td2-greet-sub{margin-bottom:16px}
.td2-lower{gap:16px}
.td2-side,.td2-side-full,.td2-main{gap:16px}
.td2-side-rest,.td2-main-rest{display:flex;flex-direction:column;gap:16px;min-width:0}
.td2-main-rest > *,.td2-side-rest > *,#td2-home > *{margin-top:0;margin-bottom:0}
#td2-home{display:flex;flex-direction:column;gap:16px}
#td2-home[hidden],.tz-entry[hidden]{display:none !important}
.td2 .td2-aug-welcome,.td2 .td2-sugg{margin:0}

/* ── Les cartes de tête (valeurs du bloc « Bandeau du haut (Talent) ») ── */
/* #4804 (livraison de Kevin du 10/10) : « Trouvez » au milieu, « Éditer » à droite (mêmes largeurs). */
.tz-entry{display:grid;grid-template-columns:minmax(0,1.577fr) minmax(0,1fr);gap:16px;align-items:stretch;min-width:0}
.td2 .tz-card{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0;background:#fff;border:1px solid var(--n-200);border-radius:var(--r-lg);padding:24px 24px 16px;box-shadow:0 1px 2px rgba(90,70,30,.05),0 14px 30px -10px rgba(90,70,30,.14)}
.td2 .tz-band{display:flex;align-items:center;gap:12px;column-gap:10px;flex-wrap:nowrap;height:64px;min-height:64px;margin:-24px -24px 0;padding:0 24px;border-bottom:1px solid #EFEAE0;border-radius:15px 15px 0 0}
.td2 .tz-ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(180deg,#fff,#FCF8EE);border:1px solid #EFE3C6;color:var(--gold-700);box-shadow:0 4px 10px rgba(130,100,40,.12),0 1px 2px rgba(130,100,40,.08)}
.td2 .tz-ic svg{width:18px;height:18px}
.td2 .tz-title{margin:0;font-size:16px;font-weight:700;line-height:20px;letter-spacing:-.01em;color:var(--n-900);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td2 .tz-badge{margin-left:auto;display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;background:#F2F0EC;color:#6B665D;font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0}
.td2 .tz-badge.is-visible{background:#EEF7F1;color:#1B7A4E}
.td2 .tz-badge.is-offmarket{background:#FBF6E9;color:var(--tz-gold-ink)}
.td2 .tz-badge.is-masque{background:#F2F0EC;color:#6B665D}

/* Ma page talent */
.tz-prev{display:block;border:1px solid var(--n-200);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;background:#fff}
.tz-prev-cov{position:relative;display:block;height:64px;background:linear-gradient(120deg,var(--tz-cover-hi) 0%,var(--tz-cover-mid) 55%,var(--tz-cover-lo) 100%)}
.tz-prev-cov.has-cover{background:var(--n-100);overflow:hidden}
.tz-prev-cov.has-cover img{display:block;width:100%;height:100%;object-fit:cover}
.tz-prev-tag{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.92);font-size:11px;font-weight:700;color:var(--n-800,#2C2C2C)}
.tz-prev-tag svg{width:12px;height:12px}
.tz-prev-id{position:relative;display:flex;align-items:center;gap:12px;padding:0 14px 12px}
.tz-av{margin-top:-22px;width:52px;height:52px;border-radius:50%;border:3px solid #fff;overflow:hidden;flex-shrink:0;box-shadow:0 3px 10px rgba(44,44,44,.18);background:#fff}
.tz-av img{width:100%;height:100%;object-fit:cover;display:block}
.tz-who{min-width:0}
.tz-who b{display:block;font-size:14px;color:var(--n-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tz-who small{display:block;font-size:12px;color:var(--n-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tz-prog{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--n-600,#6B665D)}
.tz-prog b{color:var(--n-900)}
.tz-bar{height:8px;border-radius:999px;background:linear-gradient(180deg,#EFEBE2,#F5F2EA);overflow:hidden;margin-top:-6px}
.tz-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--tz-bar-from),var(--tz-bar-mid) 55%,var(--tz-bar-to))}
/* Étape suivante en terracotta (mêmes valeurs que « Ma page recruteur »). */
.td2 .tz-next{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;background:linear-gradient(180deg,#FFFFFF 0%,#FDF1E9 100%);border:1px solid rgba(181,84,31,.32);text-decoration:none;color:inherit;box-shadow:0 4px 14px rgba(181,84,31,.08);transition:border-color .15s,box-shadow .15s;font:inherit;text-align:left;cursor:pointer}
.td2 .tz-next:hover{border-color:rgba(181,84,31,.55);box-shadow:0 8px 20px rgba(181,84,31,.15)}
.td2 .iv-entry-form:has(.tz-next){display:block;margin:0}
.tz-next-ic{width:30px;height:30px;border-radius:9px;background:#fff;border:1px solid #F0CDB8;color:#B5541F;display:grid;place-items:center;flex-shrink:0}
.tz-next-ic svg{width:15px;height:15px}
.tz-next-txt{flex:1;min-width:0}
.tz-next-k{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#B5541F}
.tz-next-t{display:block;font-size:13px;font-weight:700;color:var(--n-900)}
.td2 .tz-next > svg{width:14px;height:14px;color:#B5541F;flex-shrink:0}
.tz-next + .td2-miss-list,.iv-entry-form + .td2-miss-list{margin:-6px 0 0}
.tz-then{list-style:none;margin:-4px 0 0;padding:0 4px;display:flex;flex-direction:column;gap:6px}
.tz-then:not(.is-open){display:none}
.tz-then > li{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:12.5px;font-weight:600;color:var(--n-700)}
.tz-then > li > b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:11px;font-weight:700;color:#B5541F;background:#FFF3EB;border:1px solid #F0CDB8}
.tz-then-a{color:inherit;text-decoration:none;min-width:0}
.tz-then-a:hover{color:#B5541F;text-decoration:underline}
.tz-then > li > .td2-miss-list{flex-basis:100%;margin:0 0 0 32px}
.tz-then-toggle{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;height:26px;margin:-8px 0 0;border:0;background:none;color:#B5541F;cursor:pointer;border-radius:8px;font:inherit;font-size:12px;font-weight:700}
.tz-then-toggle:hover{background:#FFF3EB}
.tz-then-toggle svg{width:16px;height:16px;transition:transform .2s}
.tz-then-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.tz-then-toggle .tz-then-less,.tz-then-toggle[aria-expanded="true"] .tz-then-more{display:none}
.tz-then-toggle[aria-expanded="true"] .tz-then-less{display:inline}
.tz-acts{display:flex;gap:10px;margin-top:auto}
.td2 .tz-acts a{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;font-size:13px;font-weight:700;text-decoration:none;color:#2A1E0E;transition:transform .15s,box-shadow .15s;white-space:nowrap}
.tz-acts svg{width:15px;height:15px}
.td2 .tz-gold{flex:1;background:linear-gradient(115deg,rgba(232,204,110,.82) 0%,rgba(245,232,190,.95) 50%,rgba(220,196,120,.85) 100%);border:1px solid rgba(196,165,89,.55)}
.td2 .tz-out{border:1px solid var(--n-200);background:#fff}
.td2 .tz-acts a:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(110,88,44,.14)}
.tz-chips button:focus-visible,.tz-go:focus-visible,.tz-next:focus-visible,.tz-acts a:focus-visible,.tz-then-toggle:focus-visible,.tz-off:focus-visible,.tz-browse-btn:focus-visible,.tz-rot button:focus-visible{outline:2px solid var(--gold-700);outline-offset:2px}

/* Éditer mon profil : profil et pitch en lignes compactes, le Book prend le reste. */
.tz-edit{display:flex;flex-direction:column}
.tz-ctas{flex:1 1 auto;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;min-height:0}
.td2 .tz-ctas > .td2-aug-action{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;column-gap:12px;padding:10px 12px;height:auto;min-height:0;margin:0}
.td2 .tz-ctas > .td2-aug-action .td2-aug-action-ic{width:30px;height:30px;flex-shrink:0}
.td2 .tz-ctas > .td2-aug-action .td2-aug-action-title{font-size:13.5px;line-height:1.25;margin:0}
.td2 .tz-ctas > .td2-aug-action .td2-aug-action-desc{display:none}
/* #4757 — la ligne pitch porte deux entrées côte à côte (vidéo, audio), chacune
   avec son état (« À ajouter » / « Voir et modifier »), à la hauteur de l'ancienne ligne. */
.tz-pitches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.td2 .tz-pitches > .td2-aug-action{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:center;column-gap:10px;row-gap:1px;padding:8px 10px;height:auto;min-height:0;margin:0;min-width:0}
.td2 .tz-pitches .td2-aug-action-ic{grid-row:1 / 3;width:30px;height:30px;flex-shrink:0}
.td2 .tz-pitches .td2-aug-action-title{font-size:13.5px;line-height:1.25;margin:0;overflow-wrap:anywhere}
.tz-pitch-state{margin:0;font-size:11.5px;line-height:1.3;color:var(--n-500)}
.td2 .tz-ctas > .td2-book-card{height:auto;min-height:150px;margin:0;padding:12px 14px}
.td2 .tz-ctas .td2-book-title{font-size:20px;line-height:1.15}
.td2 .tz-ctas .td2-book-kicker{margin-bottom:2px}
/* Sans photo de Book : le même dessin sur un fond uni, jamais un plat d'exemple. */
.td2-book-card.is-empty{background:linear-gradient(135deg,#4A3520 0%,#6B4E2E 55%,var(--tz-gold-ink) 100%)}

/* Trouvez votre prochaine maison : surface ivoire continue. */
.td2 .tz-find{gap:8px;background:linear-gradient(180deg,#FFFFFF 0%,#FFFEFB 55%,#FEFBF5 100%);border-color:var(--tz-find-border);box-shadow:0 1px 2px rgba(150,110,40,.06),0 18px 40px -14px rgba(185,140,55,.30)}
.tz-augcap-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0}
.tz-augcap-lbl{font-size:13px;color:#4A4640}
.tz-rot{list-style:none;margin:0;padding:0;display:grid;justify-items:start}
.tz-rot li{grid-area:1/1;opacity:0;pointer-events:none}
.tz-rot button{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 14px;border-radius:999px;white-space:nowrap;font:inherit;font-size:12.5px;font-weight:700;color:var(--n-800,#2C2C2C);background:rgba(255,255,255,.92);border:1px solid #EADFC8;box-shadow:0 1px 3px rgba(110,88,44,.08);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
.tz-rot button::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tz-dot)}
.tz-rot button:hover,.tz-rot button[aria-pressed="true"]{background:#fff;border-color:var(--gold-300);box-shadow:0 3px 10px rgba(110,88,44,.12)}
@media (prefers-reduced-motion:no-preference){
  .tz-rot li{animation:tzRot 16s ease-in-out infinite both}
  .tz-rot li:nth-child(2){animation-delay:3.2s}
  .tz-rot li:nth-child(3){animation-delay:6.4s}
  .tz-rot li:nth-child(4){animation-delay:9.6s}
  .tz-rot li:nth-child(5){animation-delay:12.8s}
  .tz-find:hover .tz-rot li,.tz-find:focus-within .tz-rot li{animation-play-state:paused}
}
@media (prefers-reduced-motion:reduce){.tz-rot li:first-child{opacity:1;pointer-events:auto}}
@keyframes tzRot{0%{opacity:0;transform:translateY(6px);pointer-events:none}3%,17%{opacity:1;transform:none;pointer-events:auto}20%,100%{opacity:0;transform:translateY(-6px);pointer-events:none}}
.tz-form{margin:0}
.tz-lbl{display:block;font-size:14px;font-weight:700;color:var(--n-700);margin:0 0 8px}
.tz-field{display:flex;align-items:center;gap:10px;height:52px;padding:0 7px 0 18px;border:1px solid #E9E3D5;border-radius:999px;background:#fff;box-shadow:0 3px 10px rgba(120,95,40,.06);transition:border-color .15s,box-shadow .15s}
.tz-field:hover{border-color:var(--gold-200)}
.tz-field:focus-within{border-color:var(--gold-300);box-shadow:0 0 0 3px var(--gold-100)}
.tz-field > svg{width:18px;height:18px;color:var(--gold-700);flex-shrink:0}
.td2 .tz-field input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:14px;color:var(--n-900);padding:0;box-shadow:none}
.tz-field input::placeholder{color:var(--n-500)}
/* Flèche de recherche : même or champagne que « Éditer ma page ». */
.td2 .tz-go{display:grid;place-items:center;flex-shrink:0;width:82px;height:38px;border-radius:999px;color:#2A1E0E;cursor:pointer;background:linear-gradient(115deg,rgba(232,204,110,.82) 0%,rgba(245,232,190,.95) 50%,rgba(220,196,120,.85) 100%);border:1px solid rgba(196,165,89,.55);box-shadow:0 1px 2px rgba(110,88,44,.12),0 4px 12px rgba(163,133,67,.14);transition:filter .15s,box-shadow .15s,transform .15s}
.td2 .tz-go svg{width:20px;height:20px;stroke-width:2.4}
.td2 .tz-go:hover{background:linear-gradient(115deg,rgba(232,204,110,1) 0%,rgba(246,234,196,1) 50%,rgba(224,198,112,1) 100%)}
.tz-or{display:flex;align-items:center;gap:12px;margin:-2px 0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--n-500)}
.tz-or::before,.tz-or::after{content:"";flex:1;height:1px;background:var(--n-100)}
/* Fond du bloc d'offres = texture soyeuse crème de « Parcourir les talents » (même image que la Maison). */
.tz-browse{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1 auto;gap:8px;padding:8px 12px 14px;text-align:center;border-radius:12px;box-shadow:0 1px 2px rgba(110,88,44,.05);
  border:1px solid transparent;border-image:url("/assets/dashboard/browse-frame-a63485b5.webp") 47 fill / 18.8px 18.8px 18.8px 18.8px / 1.9px 3.8px 3.5px 3.8px stretch;min-width:0}
.tz-offs{position:relative;display:block;width:100%;min-width:0}
.tv-offs-strip{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 20px) / 3.25);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 4px;-webkit-overflow-scrolling:touch}
.tv-offs-strip::-webkit-scrollbar{display:none}
.td2 .tz-off{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:0;gap:0;text-align:left;text-decoration:none;color:inherit;overflow:hidden;scroll-snap-align:start;background:#fff;border:1px solid #F0E3BE;border-radius:14px;box-shadow:0 3px 10px rgba(110,88,44,.08);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.td2 .tz-off:hover{transform:translateY(-2px);border-color:var(--tz-find-border);box-shadow:0 12px 24px rgba(110,88,44,.18),0 2px 6px rgba(110,88,44,.1)}
.tz-off-ph{position:relative;display:block;width:100%;height:92px;background-size:cover;background-position:center;transition:filter .3s ease}
.tz-off:hover .tz-off-ph{filter:saturate(1.12) brightness(1.03)}
/* Sans photo réelle (ou Maison en Discrétion) : aplat neutre, jamais le décor d'une autre Maison. */
.tz-off-ph.is-empty{background:linear-gradient(140deg,var(--n-100),var(--gold-50))}
.tz-off-body{display:flex;flex-direction:column;padding:10px 12px 12px;min-width:0}
.tz-off-t{display:block;font-family:'Playfair Display',Georgia,serif;font-size:13px;font-weight:700;line-height:1.2;color:var(--n-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tz-off-x{display:block;margin:3px 0 9px;font-size:11px;color:var(--n-600,#6B665D);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tz-off-loc{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;max-width:100%;padding:3px 9px 3px 6px;border-radius:999px;background:#F4F1EA;font-size:11px;font-weight:600;color:var(--n-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tz-off-loc svg{width:11px;height:11px;flex-shrink:0;color:var(--n-500)}
.tz-off-all{position:absolute;right:-8px;top:24px;z-index:2;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer}
.tz-off-all-go{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--n-800,#2C2C2C);border:1px solid #E9E3D5;box-shadow:0 4px 12px rgba(44,44,44,.15)}
.tz-off-all-go svg{width:16px;height:16px;transition:transform .2s}
.tz-off-all:hover .tz-off-all-go svg{transform:translateX(3px)}
.tz-offs-empty{padding:8px 0;text-align:center}
.td2 .tz-browse-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 24px;border-radius:999px;background:linear-gradient(135deg,#2A1E0E,#4A3520 55%,#6B4E2E);color:#fff;font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 0 0 .6px rgba(217,200,168,.9),0 3px 8px rgba(64,42,14,.2);white-space:nowrap}
.td2 .tz-browse-btn:hover{background:linear-gradient(135deg,#352712,#56402A 55%,#7A5A36)}
.tz-browse-btn svg{width:15px;height:15px;transition:transform .2s}
.tz-browse-btn:hover svg{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.tz-off,.tz-off-ph,.tz-acts a,.tz-then-toggle svg,.tz-browse-btn svg{transition:none}.td2 .tz-off:hover,.td2 .tz-acts a:hover{transform:none}}

/* ── Les 4 catégories : pied sur une ligne, comme la Maison (#4614). ── */
.td2-cat-foot{flex-wrap:nowrap}
.td2-cat-foot{gap:6px}
.td2 .td2-cat-pill{min-width:0;white-space:normal;overflow-wrap:normal;text-wrap:balance;line-height:1.3;padding:4px 9px}
.td2 .td2-cat-cta{flex-shrink:0;padding:7px 12px}

/* ── Statut et visibilité : teintes et tailles de la maquette (`.tvs`). ── */
#td2-visibility .td2-st-pill.is-available{color:#1B7A4E;background:#EEF7F1;border-color:#BFDCC9}
#td2-visibility .td2-st-pill.is-open{color:var(--tz-gold-ink);background:#FBF6E9;border-color:#E9DDB8}
#td2-visibility .td2-st-pill.is-not_looking{color:#6B665D;background:#F2F0EC;border-color:#E2DED6}
#td2-visibility .td2-st-opt-t i.is-available{background:#1B7A4E}
#td2-visibility .td2-st-opt-t i.is-open{background:var(--tz-open-dot)}
#td2-visibility .td2-st-opt-t i.is-not_looking{background:#C9C2B6}
#td2-visibility .td2-st-edit{font-size:12.5px;color:var(--tz-gold-ink);text-decoration:underline;text-decoration-color:#E9DDB8;text-underline-offset:4px}
#td2-visibility .td2-st-k{font-size:13px}
#td2-visibility .td2-st-scope{font-size:11px;font-weight:500}
#td2-visibility .td2-vis-badge{height:22px;padding:0 9px;font-size:10.5px;letter-spacing:.05em}
#td2-visibility .td2-vis-badge.is-visible{background:#EEF7F1;color:#1B7A4E}
#td2-visibility .td2-vis-badge.is-offmarket{background:#FBF6E9;color:var(--tz-gold-ink)}
#td2-visibility .td2-vis-badge.is-masque{background:#F2F0EC;color:#6B665D}
#td2-visibility .td2-vis-toggle button[aria-selected="true"]{color:#fff;box-shadow:0 1px 3px rgba(42,30,14,.15)}
#td2-visibility .td2-vis-toggle button.is-visible[aria-selected="true"]{background:#1B7A4E}
#td2-visibility .td2-vis-toggle button.is-offmarket[aria-selected="true"]{background:var(--tz-gold-ink)}
#td2-visibility .td2-vis-toggle button.is-masque[aria-selected="true"]{background:#6B665D}
#td2-visibility .td2-st-note,#td2-visibility .td2-vis-desc{font-size:12px;line-height:1.5;margin:8px 0 0}
#td2-visibility .td2-vis-facts{flex-direction:column;gap:4px;margin:8px 0 0}
#td2-visibility .td2-vis-fact{color:#4A3520}
#td2-visibility .td2-vis-fact-dot{width:18px;height:18px}
#td2-visibility .td2-vis-fact.is-yes .td2-vis-fact-dot{background:#EEF7F1;color:#1B7A4E}
#td2-visibility .td2-vis-fact.is-no .td2-vis-fact-dot{background:#F2F0EC;color:#8A857A}
#td2-visibility .td2-vis-dorm{margin:10px 0 0;background:#F2F0EC;border:0;color:#6B665D;font-size:11.5px;padding:9px 10px}
#td2-visibility .td2-st-sep{margin:12px 0}
#td2-visibility .td2-vis-link{font-size:12.5px;color:var(--gold-700)}
/* #4233 / #4315 — « Contacté par » : l'univers déclaré et son lien vers
   Paramètres › Confidentialité, où il se change (pas de bouton verrouillé). */
#td2-visibility .td2-uni{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}
#td2-visibility .td2-uni-v{font-size:12.5px;font-weight:700;color:var(--tz-gold-ink)}
#td2-visibility .td2-uni-edit{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--tz-gold-ink);text-decoration:underline;text-decoration-color:#E9DDB8;text-underline-offset:4px}
#td2-visibility .td2-uni-note{font-size:12px;line-height:1.5;margin:6px 0 0}
@media (min-width:901px){
  #td2-visibility{padding:20px}
  #td2-visibility .td2-ch{margin-bottom:12px}
  /* « Statut et visibilité » aussi compacte que côté Recruteur : sans la note du statut. */
  #td2-visibility .td2-st-note{display:none}
  /* « Demandez à Auguste » compact. */
  .td2-aug-welcome .td2-aug-sub{display:none}
  .td2-aug-welcome .td2-aug-title{margin-bottom:8px}
  .td2-aug-welcome .td2-aug-bar{height:44px;min-height:0}
  .td2-aug-welcome .td2-aug-face,.td2-aug-welcome .td2-aug-face img{width:32px;height:32px}
  .td2-aug-welcome .td2-aug-go{height:32px}
}

/* ── Auguste vous suggère : la carte de l'explorateur, 4 par ligne. ── */
.td2-sugg-grid.tvj-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.td2 .tvj-grid > .td2-sugg-card{display:flex;min-width:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;transform:none}
.td2 .tvj-grid > .td2-sugg-card:hover{transform:none;box-shadow:none}
.tvj-grid > .td2-sugg-card > .te-opp-card{flex:1 1 auto;min-width:0}
/* #4704 (Tatianna 09/10) : les pastilles d'avantages ne touchent plus « Aperçu
   rapide » sur la carte la plus haute (même écart que l'explorateur). */
.td2 .tvj-grid .te-opp-info > :nth-last-child(2){margin-bottom:10px}

/* ═══ Au-dessus de 1360 px : deux colonnes, deux rangées partagées (sous-grille, #4614) ═══ */
@media (min-width:1361px){
  .td2-lower:not(.is-collapsed){grid-template-columns:340px minmax(0,1fr);grid-template-rows:auto 1fr;row-gap:16px}
  .td2-lower:not(.is-collapsed) > .td2-side,
  .td2-lower:not(.is-collapsed) > .td2-main,
  .td2-lower:not(.is-collapsed) .td2-side-full{grid-row:1 / span 2;display:grid;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);row-gap:16px;align-self:stretch;min-width:0}
  .td2-lower:not(.is-collapsed) .td2-side-rest,
  .td2-lower:not(.is-collapsed) .td2-main-rest{align-self:start}
  .td2-lower:not(.is-collapsed) .tz-page{align-self:stretch}
  .tz-find .tz-off-ph{height:54px}
  .tz-find .tz-off-body{padding:8px 10px 10px}
  .tz-find .tz-off-x{margin:2px 0 6px}
  /* #4705 (Tatianna 09/10) : « Trouvez votre prochaine maison » resserrée
     (452 → 422 px à 1440) : c'est elle qui fixait la hauteur de la rangée. */
  .td2 .tz-field{height:46px}
  .tz-find .tz-lbl{margin-bottom:6px}
  .tz-find .tz-browse{padding:6px 12px 10px;gap:6px}
  .tz-find .tz-off-ph{height:44px}
  .td2 .tz-find .tz-browse-btn{height:34px}
}

/* ═══ 901 à 1360 px : « demi-écran », une grille à 3 pistes ═══ */
@media (min-width:901px) and (max-width:1360px){
  .td2-lower:not(.is-collapsed){grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,.9fr) !important;grid-template-rows:none;gap:16px;align-items:start}
  .td2-lower:not(.is-collapsed) > .td2-side,
  .td2-lower:not(.is-collapsed) .td2-side-full,
  .td2-lower:not(.is-collapsed) .td2-side-rest,
  .td2-lower:not(.is-collapsed) > .td2-main,
  .td2-lower:not(.is-collapsed) .tz-entry:not([hidden]),
  .td2-lower:not(.is-collapsed) .td2-main-rest,
  .td2-lower:not(.is-collapsed) #td2-home:not([hidden]){display:contents}
  .td2-lower:not(.is-collapsed) .td2-side-rail,
  .td2-lower:not(.is-collapsed) .td2-side-collapse{display:none !important}
  .td2-lower:not(.is-collapsed) .tz-page{grid-column:1 / 2;grid-row:1;align-self:stretch}
  .td2-lower:not(.is-collapsed) .tz-find{grid-column:2 / 3;grid-row:1;align-self:stretch}
  .td2-lower:not(.is-collapsed) .tz-edit{grid-column:3 / 4;grid-row:1;align-self:stretch}
  .td2-lower:not(.is-collapsed) .td2-cats{order:2;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .td2-lower:not(.is-collapsed) #td2-visibility{order:3;grid-column:1 / 2;align-self:stretch}
  .td2-lower:not(.is-collapsed) .td2-aug-welcome{order:3;grid-column:2 / -1;align-self:stretch}
  .td2-lower:not(.is-collapsed) #td2-suggest{order:4;grid-column:1 / -1}
  .td2-lower:not(.is-collapsed) .td2-panel{order:5;grid-column:1 / -1}
  .td2-lower:not(.is-collapsed) .td2-cats .td2-cat{padding:14px;min-width:0}
  .td2-lower:not(.is-collapsed) .td2-cats .td2-cat *{min-width:0}
  .td2-lower:not(.is-collapsed) .td2-cats .td2-cat-cta{padding-inline:10px;flex-shrink:1}
  /* Les trois cartes de tête, compressées : en-têtes alignés par le haut. */
  .td2 .tz-card{padding:12px 16px 12px}
  .td2 .tz-band{margin:-12px -16px 0;padding:12px 16px;height:auto;min-height:54px;align-items:flex-start;column-gap:8px}
  .td2 .tz-ic{width:28px;height:28px;border-radius:9px}
  .td2 .tz-ic svg{width:15px;height:15px}
  .td2 .tz-title{font-size:15.5px;line-height:19px;margin:4.5px 0 0}
  .td2 .tz-badge{margin-top:3px;height:22px;padding:0 8px;font-size:10.5px}
  .td2 .tz-then-toggle{font-size:11.5px;height:24px}
  .tz-prev-cov{height:48px}
  .td2 .tz-acts{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .td2 .tz-acts a{min-width:0;padding-inline:12px}
  .td2 .tz-ctas > .td2-aug-action .td2-aug-action-title{font-size:13px;line-height:1.3}
  .td2 .tz-ctas .td2-book-title{font-size:17px;line-height:1.2}
  .tz-find .tz-off-ph{height:40px}
  .tz-find .tz-off-body{padding:7px 9px 9px}
  .tz-find .tz-off-x{margin:2px 0 5px}
  /* #4705 : même resserrage qu'au-dessus de 1360 px. */
  .tz-find .tz-lbl{margin-bottom:6px}
  .tz-find .tz-browse{padding:6px 10px 10px;gap:6px}
  .td2 .tz-find .tz-browse-btn{height:34px}
  .tv-offs-strip{grid-auto-columns:calc((100% - 10px) / 2.25)}
  .td2 .tz-field{height:46px;padding-left:14px}
  .td2 .tz-go{width:64px;height:34px}
  #td2-visibility .td2-vis-desc,#td2-visibility .td2-vis-facts{display:none}
  #td2-visibility .td2-st-head{flex-wrap:wrap;row-gap:2px}
  #td2-visibility .td2-vis-toggle button{font-size:11.5px;padding-inline:2px;white-space:nowrap}
  /* Auguste vous suggère : #4707 (Tatianna 09/10, capture à 1289 px) : 4 offres
     par ligne ici aussi, comme au-dessus de 1360 px (cartes de 190 à 290 px,
     boutons mesurés sans débordement). */
  .td2-sugg-grid.tvj-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
}

/* ═══ Catégorie ouverte (≤ 1360 px) : seul « Retour dashboard » reste, en bouton horizontal au-dessus des tuiles. ═══ */
@media (max-width:1360px){
  .td2-lower.is-collapsed{grid-template-columns:minmax(0,1fr)}
  .td2-lower.is-collapsed .td2-side{order:0;display:flex}
  .td2-lower.is-collapsed .td2-side-full{display:none}
  .td2-lower.is-collapsed .td2-side-rail{display:flex;flex-direction:row;padding:0}
  .td2-lower.is-collapsed .td2-side-expand{display:none}
  .td2-lower.is-collapsed .td2-side-home{width:auto;flex-direction:row;height:38px;padding:0 16px;border-radius:999px;gap:8px}
}

/* ═══ 900 px et moins : une colonne, même ordre que la maquette ═══ */
@media (max-width:900px){
  .td2 .td2-greet,.td2 .td2-greet-sub{display:none}
  .td2-shell{padding-top:12px}
  .td2-lower:not(.is-collapsed){grid-template-columns:minmax(0,1fr) !important;grid-template-rows:none;gap:12px;align-items:stretch}
  .td2-lower.is-collapsed{gap:12px}
  .td2-lower:not(.is-collapsed) > .td2-side,
  .td2-lower:not(.is-collapsed) .td2-side-full,
  .td2-lower:not(.is-collapsed) .td2-side-rest,
  .td2-lower:not(.is-collapsed) > .td2-main,
  .td2-lower:not(.is-collapsed) .tz-entry:not([hidden]),
  .td2-lower:not(.is-collapsed) .td2-main-rest,
  .td2-lower:not(.is-collapsed) #td2-home:not([hidden]){display:contents}
  .td2-lower:not(.is-collapsed) .td2-side-rail,
  .td2-lower:not(.is-collapsed) .td2-side-collapse{display:none !important}
  .td2-lower:not(.is-collapsed) > * ,
  .td2-lower:not(.is-collapsed) .tz-card,
  .td2-lower:not(.is-collapsed) .td2-card,
  .td2-lower:not(.is-collapsed) .td2-cats{min-width:0;width:100%}
  .td2-lower:not(.is-collapsed) .tz-page{order:1}
  .td2-lower:not(.is-collapsed) .tz-find{order:2}
  .td2-lower:not(.is-collapsed) .tz-edit{order:3}
  .td2-lower:not(.is-collapsed) .td2-cats{order:4}
  .td2-lower:not(.is-collapsed) #td2-visibility{order:5}
  .td2-lower:not(.is-collapsed) .td2-aug-welcome{order:6}
  .td2-lower:not(.is-collapsed) #td2-suggest{order:7}
  .td2-lower:not(.is-collapsed) .td2-panel{order:8}
  .td2 .tz-card{padding:14px 16px}
  .td2 .tz-band{margin:-14px -16px 0;padding:10px 16px;height:auto;min-height:52px;column-gap:8px}
  .td2 .tz-ic{width:30px;height:30px;border-radius:9px}
  .td2 .tz-ic svg{width:15px;height:15px}
  .td2 .tz-title{font-size:15.5px;line-height:19px}
  .td2 .tz-badge{height:22px;padding:0 8px;font-size:10.5px}
  .td2 .tz-ctas > .td2-aug-action .td2-aug-action-title{font-size:13.5px}
  .td2 .tz-ctas > .td2-book-card{min-height:0;height:120px;padding:12px}
  .td2 .tz-ctas .td2-book-title{font-size:18px;line-height:1.2}
  /* Trouvez : recherche, défilé et bouton, sans le cadre. */
  .td2 .tz-browse{border:0;border-image:none;box-shadow:none;padding:0;gap:10px}
  .td2 .tz-browse-btn{width:100%;justify-content:center}
  .tv-offs-strip{grid-auto-columns:calc((100% - 10px) / 2.25)}
  .tz-off-all{right:-6px}
  /* Les 4 raccourcis en 2 × 2 : icône, titre, compteur (la carte entière s'ouvre). */
  .td2-lower .td2-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .td2-lower .td2-cat{padding:12px;min-height:0;text-align:left;min-width:0}
  .td2-lower .td2-cat-desc,.td2-lower .td2-cat-cta{display:none}
  .td2-lower .td2-cat-ic{width:32px;height:32px;margin-bottom:0}
  .td2-lower .td2-cat-title{font-size:14px;line-height:1.25}
  /* Statut et visibilité condensée : statut, bascule, lien. */
  #td2-visibility{padding:14px 16px}
  #td2-visibility .td2-st-note,#td2-visibility .td2-vis-desc,#td2-visibility .td2-vis-facts{display:none}
  /* Auguste vous suggère : défilement horizontal. */
  .td2-sugg-grid.tvj-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(250px,84%);overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-inline:-16px;padding:0 16px 6px;scroll-padding-inline:16px;scrollbar-width:none}
  .td2-sugg-grid.tvj-grid::-webkit-scrollbar{display:none}
  .td2-sugg-grid.tvj-grid > *{scroll-snap-align:start}
  #td2-suggest{padding:14px 16px;overflow:hidden}
}
@media (max-width:360px){
  .tz-acts{flex-wrap:wrap}
}

/* #4649 — la carte de l'explorateur et son tiroir d'aperçu rapide sur le tableau
   de bord : les règles de `talent_explorer.css` préfixées `.te-page` (racine de
   l'explorateur), reprises telles quelles sous `.td2`. Généré depuis la feuille
   de l'explorateur ; les règles génériques (`.te-page button`, `.te-page a`)
   sont limitées à la carte et au tiroir. */
.td2 .te-opp-card a,.td2 .te-ov-sl a{text-decoration:none;color:inherit}
.td2 .te-opp-card button,.td2 .te-ov-sl button{cursor:pointer;border:none;background:none;font-family:inherit}
.td2 .te-tab{padding:9px 18px;border-radius:var(--r-pill);font-size:13px;font-weight:600;color:#8A857A;border:none;background:transparent;cursor:pointer;transition:all .18s;font-family:inherit;display:inline-flex;align-items:center;gap:7px;text-decoration:none;}
.td2 .te-tab svg{width:15px;height:15px;}
.td2 .te-tab:hover{color:var(--gold-700);}
.td2 .te-tab.active{color:var(--on-gold);font-weight:700;background:var(--gold-fill);box-shadow:0 2px 8px rgba(189,151,51,.30);text-shadow:var(--on-gold-shadow);}
.td2 .te-beta{font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:6px;background:var(--gold-50);color:var(--gold-700);border:1px solid var(--gold-200);margin-left:2px;}
.td2 .te-tab.active .te-beta{background:rgba(255,255,255,.55);border-color:rgba(0,0,0,.10);color:var(--gold-700);}
.td2 .te-reset-btn{width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:#8A857A;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;text-decoration:none;}
.td2 .te-reset-btn:hover{color:var(--gold-700);background:#F4F2EE;}
.td2 .te-search-btn{width:46px;height:46px;border-radius:50%;border:none;flex-shrink:0;background:var(--gold-fill);color:var(--on-gold);text-shadow:var(--on-gold-shadow);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 10px rgba(163,133,67,.30);transition:filter .15s;}
.td2 .te-search-btn:hover{filter:brightness(1.04);}
.td2 .te-opp-preview{margin-top:auto;width:100%;padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--gold-300);background:linear-gradient(135deg,rgba(201,165,74,.10),rgba(232,204,110,.05));color:var(--gold-700);font-size:11.5px;font-weight:700;letter-spacing:.3px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;transition:all .15s;text-decoration:none;}
.td2 .te-opp-preview:hover{filter:brightness(1.03);border-color:var(--gold-primary);}
.td2 .te-opp-apply{flex:1;padding:9px 0;border-radius:var(--r-sm);border:none;background:var(--gold-fill);color:var(--on-gold);text-shadow:var(--on-gold-shadow);font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:all .2s;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;}
.td2 .te-opp-apply-sent{filter:grayscale(.2);opacity:.85;white-space:nowrap;font-size:10px;letter-spacing:.2px;}
.td2 .te-ov-nav{position:fixed;top:50%;transform:translateY(-50%) scale(.85);width:46px;height:46px;border-radius:50%;background:#fff;color:#1a1a1a;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 24px rgba(0,0,0,.22),0 1px 3px rgba(0,0,0,.08);z-index:202;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.22,1,.36,1);padding:0;text-decoration:none;}
.td2 .te-ov-nav:hover{background:linear-gradient(135deg,#1a1a1a,#2C2A26);color:var(--gold-200);border-color:#1a1a1a;transform:translateY(-50%) scale(1.08);}
.td2 .te-ov-nav-prev{right:calc(520px + 18px + 46px + 10px);}
.td2 .te-ov-nav-next{right:calc(520px + 18px);background:linear-gradient(135deg,var(--gold-200),var(--gold-300),var(--gold-primary));color:var(--on-gold);text-shadow:var(--on-gold-shadow);border-color:rgba(184,145,42,.45);box-shadow:0 8px 24px rgba(184,145,42,.35);}
.td2 .te-ov-nav-next:hover{background:#1a1a1a;color:var(--gold-200);}
.td2 .te-ov-team-cta{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:var(--r-sm);font-size:10px;font-weight:700;color:var(--gold-400);cursor:pointer;transition:all .15s;margin-top:8px;width:100%;background:none;border:none;font-family:inherit;text-decoration:none;}
.td2 .te-ov-team-cta:hover{background:rgba(184,151,90,.04);}
.td2 .te-btn-gold{padding:12px;border-radius:var(--r-sm);font-size:12px;font-weight:800;color:var(--on-gold);text-shadow:var(--on-gold-shadow);background:var(--gold-fill);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 3px 10px rgba(150,120,62,.2);transition:all .2s;text-align:center;position:relative;overflow:hidden;white-space:nowrap;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;letter-spacing:.5px;}
.td2 .te-btn-gold:hover{background:linear-gradient(180deg,#000,#1a1a1a);color:var(--gold-primary);}
.td2 .te-btn-outline{padding:12px 18px;border-radius:var(--r-sm);font-size:11px;font-weight:700;color:#1a1a1a;background:#fff;border:1px solid rgba(0,0,0,.1);transition:all .2s;cursor:pointer;font-family:inherit;}
.td2 .te-btn-outline:hover{border-color:var(--gold-400);color:var(--gold-400);}
.td2 .te-btn-estab{width:100%;padding:11px 14px;border-radius:9999px;background:#fff;border:1.5px solid rgba(184,151,90,.35);color:var(--gold-500);font-weight:600;font-size:12px;letter-spacing:.3px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;}
.td2 .te-btn-estab:hover{border-color:var(--gold-300);background:#FBF8F2;}
@media (max-width:760px){.td2 .te-ov-nav{top:auto;bottom:84px;transform:none;}}
@media (max-width:760px){body.te-ov-open .td2 .te-ov-nav{transform:none;}}
@media (max-width:760px){.td2 .te-ov-nav-prev{left:14px;right:auto;}}
@media (max-width:760px){.td2 .te-ov-nav-next{right:14px;}}
@media (max-width:760px){.td2 .te-ov-nav{bottom:18px;width:42px;height:42px;}}
@media (max-width:760px){.td2 .te-ov-nav-next{left:66px;right:auto;}}
.td2 .te-ov-chef-av { cursor:pointer; padding:0; }
.td2 .te-ov-chef-name-btn { background:none; border:none; padding:0; cursor:pointer; font-family:inherit; text-align:left; }
.td2 .te-ov-chef-name-btn:hover { color:var(--gold-600); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(196,165,89,.5); }
.td2 .te-results-header { position: relative; z-index: 60; }
/* #4649 — boutons de la carte : une ligne, au corps de la maquette (10,5 px). */
.td2 .tvj-grid .te-opp-actions a{white-space:nowrap;font-size:10.5px;letter-spacing:.03em}
/* 08/10 — « Visible » choisi, identité pas encore vérifiée : bandeau de la
   maquette du 07/10 (`.tvs-lock`, valeurs littérales) et pastille « Non
   visible » (`tvs-state-lock`). */
.td2-vis-lock{display:flex;align-items:center;gap:8px;margin-top:12px;padding:9px 10px;border-radius:12px;font-size:11.5px;line-height:1.4;background:#FDF1E9;border:1px solid #F0CDB8;color:#8A3E15}
.td2-vis-lock svg{width:16px;height:16px;flex-shrink:0}
.td2-vis-lock .iv-entry-form{display:contents}
.td2-vis-lock-go{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;border:1px solid #F0CDB8;background:#fff;color:#B5541F;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;text-decoration:none}
.td2 .tz-badge.is-pending,#td2-visibility .td2-vis-badge.is-pending{background:#F2F0EC;color:#6B665D}

/* #4708 / #4703 (Tatianna 09/10, capture pj2) — fenêtre de confirmation de la
   carte « Statut et visibilité » (`_confirm_dialog`) : titre, phrase, liste
   ✕ / ✓, « Annuler » et le bouton brun. */
.td2-cfm{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:26px 26px 22px;border:0;border-radius:22px;background:#fff;color:var(--n-900);box-shadow:0 30px 80px rgba(20,18,14,.3)}
.td2-cfm::backdrop{background:rgba(40,32,18,.38);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.td2-cfm-t{margin:0 0 10px;font-size:22px;font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--n-900)}
.td2-cfm-intro{margin:0 0 14px;font-size:14.5px;line-height:1.5;color:var(--n-warm-600)}
.td2-cfm-list{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:9px}
.td2-cfm-list li{display:flex;align-items:flex-start;gap:11px;font-size:14px;line-height:1.45;color:var(--n-900)}
.td2-cfm-dot{flex-shrink:0;width:24px;height:24px;margin-top:-1px;border-radius:50%;display:grid;place-items:center}
.td2-cfm-dot svg{width:12px;height:12px;stroke-width:2.6}
.td2-cfm-list .is-no .td2-cfm-dot{background:#F2F0EC;color:#6B665D}
.td2-cfm-list .is-yes .td2-cfm-dot{background:#EEF7F1;color:#1B7A4E}
.td2-cfm-acts{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.td2-cfm-acts button{height:44px;padding:0 22px;border-radius:999px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.td2-cfm-cancel{border:1px solid var(--n-warm-250);background:#fff;color:var(--n-warm-800)}
.td2-cfm-cancel:hover{border-color:var(--gold-300)}
.td2-cfm-ok{border:0;color:#fff;background:linear-gradient(135deg,#2A1E0E,#4A3520 55%,#6B4E2E);box-shadow:0 4px 12px rgba(64,42,14,.22)}
.td2-cfm-ok:hover{background:linear-gradient(135deg,#352712,#56402A 55%,#7A5A36)}
.td2-cfm-acts button:focus-visible{outline:2px solid var(--gold-700);outline-offset:2px}
@media (max-width:480px){
  .td2-cfm{padding:22px 18px 18px}
  .td2-cfm-t{font-size:19px}
  .td2-cfm-acts button{flex:1 1 0;padding:0 12px}
}

/* ═══ #4706 (Tatianna 09/10, GO Colin 09/10) : « Mes candidatures » comme la maquette ═══
   Maquette « Dashboard_Talent_7oct26 », `.td2-cat.is-todo` : quand il y a des
   candidatures à traiter (la pastille « N à traiter »), fond et bord rosés,
   « Nouveau » en haut à droite et les Maisons concernées sous la pastille. Même
   dessin que « Mes recrutements » côté Maison (#4617, `.rdz-cat.is-new`).
   Les visages sont posés dans une réserve en bas de carte ; les cartes de la
   même rangée gardent la même réserve, pour que pastilles et « Ouvrir »
   restent sur une ligne. Sans rien à traiter, aucune réserve : la carte
   garde sa hauteur. */
.td2-cat{position:relative}
.td2-cats{--td2-faces:30px}
.td2-cat.is-todo{background:var(--red-50);border-color:var(--red-200)}
.td2-cat.is-todo[aria-selected="true"]{border-color:color-mix(in srgb,var(--red) 45%,var(--red-200))}
.td2-cat-new{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;
  background:color-mix(in srgb,var(--red-200) 60%,var(--red-50));color:var(--red);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.td2-cat-new i{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.td2-cat-new .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.td2-cat-avs{position:absolute;left:22px;bottom:16px;display:flex;align-items:center}
.td2-cat-av{width:28px;height:28px;border-radius:50%;border:2px solid var(--n-0);object-fit:cover;flex-shrink:0;box-sizing:border-box;box-shadow:0 1px 3px color-mix(in srgb,var(--n-900) 14%,transparent)}
.td2-cat-av + .td2-cat-av{margin-left:-8px}
.td2-cat-av.is-initials{display:grid;place-items:center;background:var(--gold-fill);color:var(--n-0);font-size:10px;font-weight:700}
.td2-cat-av.is-masked{background:var(--n-200)}
.td2-cats.has-todo .td2-cat{padding-bottom:calc(22px + var(--td2-faces))}
/* Catégories en 2 × 2 (carte ouverte, 901 à 1180 px) : seule la première
   rangée porte la réserve. */
@media (min-width:901px) and (max-width:1180px){
  .td2-lower.is-collapsed .td2-cats.has-todo .td2-cat:nth-child(n+3){padding-bottom:22px}
}
/* Demi-écran (901 à 1360 px) : les cartes passent à 14 px de marge. */
@media (min-width:901px) and (max-width:1360px){
  .td2-lower:not(.is-collapsed) .td2-cats.has-todo .td2-cat{padding-bottom:calc(14px + var(--td2-faces))}
  .td2-lower:not(.is-collapsed) .td2-cat-avs{left:14px;bottom:10px}
  .td2-lower:not(.is-collapsed) .td2-cat-new{top:12px;right:12px}
}
/* 900 px et moins : cartes compactes (icône, titre, compteur), comme la
   maquette les visages s'effacent ; « Nouveau » reste, plus petit. */
@media (max-width:900px){
  .td2-lower .td2-cats.has-todo .td2-cat{padding-bottom:12px}
  .td2-lower .td2-cat-avs{display:none}
  .td2-lower .td2-cat-new{top:10px;right:10px;transform:scale(.88);transform-origin:top right}
}

/* #4856 (Tatianna 14/10) : « Aucun rendez-vous », « Aucun message » sur une ligne en
   grand écran, comme quand la page se resserre. La pastille ne passe plus à la ligne ;
   c'est « Ouvrir » qui se resserre (padding) quand la carte est étroite. */
.td2 .td2-cat-pill{white-space:nowrap;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}
.td2 .td2-cat-cta{padding-inline:12px}
@media (min-width:901px) and (max-width:1360px){.td2 .td2-cat-cta{padding-inline:10px}}
