/* R17/AC17.3 — Suivi des candidatures (board 5 colonnes).
   Duplication fidele du <style> de /mockups/talent/applications (v31),
   conformement a la regle « zero CSS inline » du projet. */
.ta{
  --gold-main:var(--gold-500);
  --ink-900:#1A1614; --ink-700:#3D3833; --ink-500:#6B6660; --ink-400:#9A938B;
  --line-200:#E5E1DB;
  --gold-grad:var(--gold-fill);
  --gold-btn:var(--gold-fill);
  --cream:#FBF5E4; --cream-line:#EFE2BC;
  --head-grad:linear-gradient(100deg,#FBF5E6 0%,#F4E7C4 58%,var(--gold-200) 100%);
  --gold-ring:var(--gold-primary);
  --red:#B23A2E; --purple:#6D4C9F; --blue:#2B5C8A;
  color:var(--ink-900);
}
.ta .serif{font-family:'Playfair Display',serif;}
.ta svg{display:block;}

/* ── Header ── */
.ta-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px;}
.ta-eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--gold-700);text-transform:uppercase;margin-bottom:8px;}
.ta-h1{margin:0;font-size:40px;font-weight:800;letter-spacing:-.5px;line-height:1;color:#18140C;}
/* #1834 : « candidatures » en degrade gold. Meme recette que talent/saved et
   talent/recommendations (padding-right + margin-right negatif pour eviter que
   la derniere lettre soit rognee par le background-clip:text). */
.ta-h1 .g{display:inline-block;padding-right:.14em;margin-right:-.14em;
  background:var(--gold-text-grad);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.ta-sub{margin-top:12px;font-size:13.5px;color:var(--ink-500);max-width:600px;line-height:1.55;}
.ta-head-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}

/* ── Quota ──
   #1921 : nouveau design fourni par la cliente (Compteur_candidatures_VF.html),
   reimplemente sur le design system : carte creme, titre + bulle d'aide,
   compteur avec slash attenue, barre doree, legende « X restantes ». */
.ta-quota{width:300px;max-width:100%;background:#FCFAF5;border:1px solid #EAE4D8;border-radius:var(--r-xl);padding:15px 18px;box-shadow:0 2px 10px rgba(26,22,20,.04);}
.ta-quota-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px;}
.ta-quota-title-wrap{display:flex;align-items:center;gap:8px;}
.ta-quota-title{font-size:15px;font-weight:700;color:#2C2C2C;letter-spacing:-.01em;}
.ta-quota-num{font-size:18px;font-weight:700;color:#2C2C2C;letter-spacing:-.01em;white-space:nowrap;}
.ta-quota-num .slash{color:#BCB4A6;font-weight:600;}
.ta-quota-help{position:relative;display:inline-flex;}
.ta-quota-help-btn{width:18px;height:18px;padding:0;border-radius:var(--r-pill);border:1.5px solid #C9C1B2;color:#9A9284;background:transparent;cursor:pointer;
  font-family:inherit;font-size:11px;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:center;transition:border-color .18s ease,color .18s ease;}
.ta-quota-help:hover .ta-quota-help-btn,.ta-quota-help-btn:focus-visible{border-color:var(--gold-main);color:var(--gold-main);outline:none;}
.ta-quota-tip{position:absolute;top:calc(100% + 10px);left:-8px;width:264px;background:#2C2C2C;color:#fff;font-size:12.5px;font-weight:400;line-height:1.5;
  padding:13px 15px;border-radius:14px;opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:30;box-shadow:0 12px 32px rgba(44,44,44,.22);}
.ta-quota-tip::before{content:"";position:absolute;bottom:100%;left:14px;border:7px solid transparent;border-bottom-color:#2C2C2C;}
.ta-quota-help:hover .ta-quota-tip,.ta-quota-help-btn:focus-visible + .ta-quota-tip{opacity:1;visibility:visible;transform:translateY(0);}
/* Meme correctif que dans talent_applications.css : l'infobulle de quota
   s'accroche a la ligne de titre en mobile au lieu de sortir de l'ecran. */
@media(max-width:720px){
  .ta-quota-top{position:relative;}
  .ta-quota-help{position:static;}
  .ta-quota-tip{left:0;right:0;width:auto;}
}
.ta-quota-bar{height:9px;border-radius:var(--r-pill);background:#E9E3D5;overflow:hidden;margin-bottom:9px;}
.ta-quota-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--gold-500) 0%,var(--gold-primary) 100%);}
.ta-quota-legend{font-size:13px;color:#8C8478;}
.ta-quota-legend b{color:var(--gold-700);font-weight:700;}
.ta-filter{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid var(--line-200);border-radius:var(--r-md);background:#fff;font-size:13px;font-weight:600;color:var(--ink-900);cursor:pointer;font-family:inherit;transition:.15s;}
.ta-filter:hover{box-shadow:0 2px 10px rgba(0,0,0,.05);}
.ta-filter svg{width:14px;height:14px;}

/* ── Propositions reçues ──
   #1886 : la section se termine juste apres la derniere annonce
   (width:max-content) au lieu de s'etirer sur toute la largeur.
   #1926 : retour au bandeau rouge (« il faut qu'on le voit ») et libelle en
   majuscules. ATTENTION : annule le #1885 qui avait passe ce bandeau en degrade
   dore a la demande de Kevin. Arbitrage client en attente.
   #1922 : le sous-titre (.r) passe SOUS le titre au lieu d'etre a cote. */
/* #1959 : bloc adaptatif au nombre de cartes. En pleine largeur, les cartes
   s'etiraient pour remplir et paraissaient vides (« proposition directe » et
   « Expire dans 3 jours » trop etires). Le bloc epouse desormais ses cartes
   (fit-content), plafonne a 100% quand elles sont nombreuses (le carrousel
   prend alors le relais). Ni etirement, ni pan creme vide. */
.ta-propos{position:relative;border-radius:18px;overflow:hidden;margin-bottom:32px;border:1px solid var(--cream-line);
  background:linear-gradient(118deg,#FFFDF7 0%,#FDFAF1 42%,#FBF3DF 100%);box-shadow:0 8px 26px rgba(163,133,67,.1);
  width:fit-content;max-width:100%;}
.ta-propos-head{position:relative;z-index:1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;
  background:linear-gradient(100deg,#B24232 0%,#A63B2A 100%);border-bottom:1px solid #8E3122;}
.ta-propos-head .htxt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;}
/* Fleches du carrousel : la hauteur du bloc ne depend plus du nombre de cartes. */
.ta-propos-nav{display:flex;align-items:center;gap:6px;flex-shrink:0;}
/* indispensable : sans ca, ce display:flex ecrase le display:none que le
   navigateur applique a l'attribut [hidden], et les fleches restent visibles
   meme quand il n'y a rien a faire defiler. */
.ta-propos-nav[hidden]{display:none;}
.ta-propos-nav .pnav{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:.15s;}
.ta-propos-nav .pnav:hover:not(:disabled){background:rgba(255,255,255,.28);}
.ta-propos-nav .pnav:disabled{opacity:.35;cursor:default;}
.ta-propos-nav .pnav svg{width:13px;height:13px;}
.ta-propos-pos{font-size:11px;font-weight:700;color:rgba(255,255,255,.92);min-width:44px;text-align:center;font-variant-numeric:tabular-nums;}
.ta-propos-head .l{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:.06em;}
.ta-propos-head .pdot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.22);}
.ta-propos-head .cnt{background:#fff;color:#A63B2A;padding:0 7px;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:0;}
.ta-propos-head .r{font-size:11px;color:rgba(255,255,255,.9);font-weight:500;}
/* Une seule rangee qui defile : a 10 propositions le flex-wrap donnait 3 rangees,
   soit un bloc de ~1000px qui repoussait tout le suivi sous la ligne de flottaison. */
.ta-propos-grid{position:relative;display:flex;flex-wrap:nowrap;gap:16px;padding:16px 18px 18px;
  overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;}
.ta-propos-grid::-webkit-scrollbar{display:none;}
/* #1959 : largeur fixe, les cartes ne s'etirent plus (le bloc fit-content
   epouse leur largeur reelle). Elles ne se compriment pas non plus : au-dela
   de la largeur de colonne, la rangee deborde et le carrousel prend le relais. */
.ta-pcard{flex:0 0 244px;}

/* #1836 : les cartes de proposition n'ont pas toutes la meme hauteur de contenu
   (tag « proposition directe », bandeau d'expiration). On les etire a la meme
   hauteur et on pousse le bloc de CTA en bas : les boutons sont alors alignes
   sur une meme ligne d'une carte a l'autre, meme si le contenu au-dessus decale. */
.ta-pcard{position:relative;width:244px;max-width:100%;background:#fff;border:1px solid var(--line-200);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 2px 12px rgba(26,22,20,.05);
  display:flex;flex-direction:column;}
.ta-pcard-hd{position:relative;overflow:hidden;padding:11px 13px 12px;background:linear-gradient(100deg,#FDFBF4 0%,#F8F0DC 45%,var(--gold-200) 100%);border-bottom:1px solid #E9DDBC;}
.ta-ph-row{display:flex;align-items:center;gap:9px;}
/* #3279 — pastille de Maison ANONYME dans le bandeau des propositions : le
   halo or de l'identité révélée devient neutre, le cadenas remplace les
   initiales. Scopé sous .ta (`.masked` est une classe courte partagée). */
.ta .ta-ph-med.masked{background:var(--cream);box-shadow:0 0 0 1px var(--cream-line);color:var(--ink-500);}
.ta .ta-ph-med.masked svg{width:16px;height:16px;}
.ta-ph-med{width:38px;height:38px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 0 0 2px var(--gold-300),0 2px 6px rgba(146,113,32,.25);font-family:'Playfair Display',serif;font-weight:700;font-size:13px;color:var(--gold-600);}
.ta-ph-id{min-width:0;}
.ta-ph-nm{font-size:13.5px;font-weight:800;color:#1A1614;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ta-ph-q{font-family:'Playfair Display',serif;font-style:italic;font-size:11px;color:var(--gold-600);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ta-pcard-in{padding:12px 13px 13px;flex:1;display:flex;flex-direction:column;}
.ta-pcard-cta{margin-top:auto;padding-top:11px;}
/* #1837 : le score IA devient le badge de match partage (mockups/shared/_match_badge),
   plus large que l'ancienne pastille « IA 96% ». On le passe sous l'intitule du
   poste pour ne pas comprimer le libelle. */
.ta-pcard-top{display:flex;flex-direction:column;align-items:flex-start;gap:7px;}
.ta-role{flex:1;min-width:0;}
.ta-rl{font-weight:700;font-size:12.5px;line-height:1.25;color:var(--ink-900);}
.ta-ia{font-size:9.5px;font-weight:800;color:var(--gold-800);background:var(--cream);border:1px solid var(--cream-line);padding:2px 7px;border-radius:99px;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;}
.ta-ia svg{width:9px;height:9px;}
.ta-expire{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:3px 9px;border-radius:99px;font-size:10.5px;font-weight:700;background:rgba(178,58,46,.08);color:#A63B2A;border:1px solid rgba(178,58,46,.2);}
.ta-expire svg{width:11px;height:11px;}
.ta-direct-tag{display:inline-block;margin-top:8px;font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep);background:rgba(201,169,78,.16);border:1px solid rgba(201,169,78,.42);padding:2px 7px;border-radius:5px;}
.ta-preview-btn{width:100%;margin-top:0;padding:8px;border-radius:10px;border:1px solid var(--cream-line);background:var(--cream);color:var(--gold-800);font-weight:600;font-size:12px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-family:inherit;transition:.15s;}
.ta-preview-btn:hover{filter:brightness(.98);}
.ta-preview-btn svg{width:13px;height:13px;}
.ta-pcard-actions{display:flex;gap:8px;margin-top:10px;}
/* #1836 : texte des CTA centre, et « Accepter » en blanc sur le degrade gold
   du design system (--ds-grad-gold-dark, meme recette que le bouton de
   publication d'offre corrige au #1631 : le degrade clair --gold-btn ne
   supporte pas un texte blanc lisible). */
.ta-btn{border-radius:10px;font-weight:800;font-size:12px;padding:10px 6px;cursor:pointer;font-family:inherit;transition:.15s;border:none;
  display:flex;align-items:center;justify-content:center;text-align:center;}
.page-talent-applications .ta-btn-gold,
.ta-btn-gold{flex:1;background:linear-gradient(135deg,var(--gold-400) 0%,var(--gold-500) 50%,var(--gold-600) 100%);color:#fff; text-shadow: var(--on-gold-shadow);}
.ta-btn-gold:hover{filter:brightness(1.03);}
.ta-btn-ghost{flex:1;background:#fff;border:1px solid var(--line-200);color:var(--ink-500);font-weight:700;}
.ta-btn-ghost:hover{border-color:#d8d2c8;color:var(--ink-900);}
.ta-pcard-foot{margin-top:10px;font-size:11px;color:var(--ink-400);}

/* ── Board ── */
.ta-board-eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--ink-400);text-transform:uppercase;margin:0;}
/* Le filtre agit sur le board, pas sur l'en-tete de page : il descend au ras de
   « Mon suivi ». L'en-tete ne porte plus que le quota, qui n'a plus a cohabiter
   avec un bouton trois fois moins haut que lui. */
.ta-board-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;}
.ta-board{display:grid;grid-template-columns:repeat(5,minmax(226px,1fr));gap:14px;align-items:start;}
@media(max-width:1180px){.ta-board{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:260px;overflow-x:auto;padding-bottom:12px;}}
.ta-col{background:#FCFBF9;border:1px solid #EDE9E2;border-radius:var(--r-lg);padding:13px 11px;}
.ta-col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.ta-col-pill{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:6px 13px;border-radius:99px;background:rgba(255,255,255,.72);border:1px solid #E7DCC0;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 2px 8px rgba(26,22,20,.05);}
.ta-col-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;}
.ta-col-title{font-weight:700;font-size:13px;white-space:nowrap;}
.ta-col-cnt{font-size:11px;font-weight:800;color:var(--ink-500);background:#fff;border:1px solid var(--line-200);border-radius:99px;padding:1px 8px;}
.ta-col-desc{font-size:11.5px;color:var(--ink-400);line-height:1.45;margin:0 0 12px;min-height:32px;}
.ta-col-cards{display:flex;flex-direction:column;gap:12px;}
.ta-col[data-col="cloturees"] .ta-card{filter:grayscale(.75);opacity:.66;transition:filter .2s,opacity .2s;}
.ta-col[data-col="cloturees"] .ta-card:hover{filter:grayscale(0);opacity:1;}

/* ── Card ── */
.ta-card{background:#fff;border:1px solid var(--line-200);border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.03);}
.ta-card-banner{display:flex;align-items:center;gap:10px;padding:0 13px;height:52px;background:var(--head-grad);border-bottom:1px solid var(--gold-200);}
.ta-cb-med{width:36px;height:36px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,#1B2C46,#0E1826);color:#fff;font-family:'Playfair Display',serif;font-weight:700;font-size:12px;letter-spacing:.5px;}
.ta-cb-txt{flex:1;min-width:0;}
.ta-cb-nm{font-size:13px;font-weight:700;color:#1A1614;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ta-cb-qual{font-family:'Playfair Display',serif;font-style:italic;font-size:11px;color:var(--gold-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ta-card-in{padding:12px 13px 13px;}
.ta-card-role{font-weight:700;font-size:12.5px;color:var(--ink-900);}

/* ── Frise ── */
.ta-frise{margin-top:12px;}
.ta-frise-track{display:flex;align-items:center;}
.ta-fdot{width:11px;height:11px;border-radius:50%;background:#E7E2DA;flex:0 0 auto;z-index:1;border:2px solid #fff;box-shadow:0 0 0 1px #E7E2DA;}
.ta-fdot.on{background:var(--gold-grad);box-shadow:0 0 0 1px var(--gold-main);}
.ta-fdot.cur{width:14px;height:14px;box-shadow:0 0 0 3px rgba(196,165,89,.28),0 0 0 1px var(--gold-main);}
.ta-fdot.red{background:var(--red);box-shadow:0 0 0 1px var(--red);}
.ta-fbar{height:2px;flex:1;background:#E7E2DA;}
.ta-fbar.on{background:var(--gold-grad);}
.ta-fbar.red{background:var(--red);}
.ta-frise-lbl{display:flex;justify-content:space-between;margin-top:7px;}
.ta-frise-lbl .lb{font-size:11px;font-weight:700;color:var(--gold-800);}
.ta-frise-lbl .lb.red{color:var(--red);}
.ta-frise-lbl .st{font-size:10.5px;font-weight:700;color:var(--ink-400);}

.ta-card-foot{margin-top:11px;font-size:11px;color:var(--ink-400);line-height:1.45;}
.ta-card-foot b{color:var(--ink-700);}
.ta-card-foot .muted{color:var(--ink-400);font-style:italic;}

/* ── Chips ── */
/* #1840 : la « pastille d'ombre » en bord de carte etait le badge de score
   pousse hors du cadre par margin-left:auto puis rogne par l'overflow:hidden
   de .ta-card. La ligne passe en wrap : plus rien ne deborde. */
.ta-topline{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin-top:10px;}
.ta-chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;padding:3px 8px;border-radius:99px;white-space:nowrap;}
.ta-chip svg{width:11px;height:11px;}
.ta-chip-gold{background:var(--cream);border:1px solid var(--cream-line);color:var(--gold-800);}
.ta-chip-green{background:#EAF3ED;border:1px solid #CFE6D8;color:var(--green);}
.ta-chip-purple{background:#F0EAF8;border:1px solid #E0D3F1;color:var(--purple);}
.ta-chip-red{background:#F8EBE9;border:1px solid #EBD2CD;color:var(--red);}
.ta-chip-grey{background:#F3F1ED;border:1px solid var(--line-200);color:var(--ink-500);}
.ta-chip-blue{background:rgba(43,92,138,.08);border:1px solid rgba(43,92,138,.2);color:var(--blue);}

/* ── Countdown J-X (fenêtre 15 jours) ── */
.ta-countdown{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:2px 9px;border-radius:99px;font-size:10.5px;font-weight:700;background:rgba(43,92,138,.08);color:var(--blue);}
.ta-countdown.alert{background:rgba(178,58,46,.09);color:#A63B2A;}
.ta-countdown svg{width:11px;height:11px;}

/* ── Recruiter message (refus) ── */
.ta-msg-quote{margin-top:10px;padding:9px 11px;border-left:3px solid var(--red);background:rgba(178,58,46,.05);border-radius:0 8px 8px 0;}
.ta-msg-quote .lbl{font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#A63B2A;margin-bottom:3px;}
.ta-msg-quote .txt{font-size:11.5px;line-height:1.5;color:var(--ink-700);font-style:italic;}

/* ── Card actions ── */
.ta-card-actions{display:flex;gap:6px;margin-top:10px;}
.ta-card-actions.stacked{flex-direction:column;}
.ta-cbtn{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:1;padding:8px 8px;border-radius:9px;font-size:11.5px;font-weight:700;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:.15s;}
.ta-cbtn svg{width:12px;height:12px;}
.ta-cbtn-preview{background:var(--cream);border-color:var(--cream-line);color:var(--gold-800);}
.ta-cbtn-preview:hover{filter:brightness(.97);}
.ta-cbtn-remove{background:#fff;border-color:var(--line-200);color:var(--red);}
.ta-cbtn-remove:hover{border-color:#E3B7B0;background:#FDF7F6;}
.page-talent-applications .ta-cbtn-accept,
.ta-cbtn-accept{background:var(--gold-btn);color:var(--on-gold);text-shadow:var(--on-gold-shadow);font-weight:800;}
.ta-cbtn-accept:hover{filter:brightness(1.03);}
.ta-cbtn-neg{background:rgba(184,150,78,.1);border-color:rgba(184,150,78,.4);color:var(--gold-800);}
.ta-cbtn-neg:hover{background:rgba(184,150,78,.18);}
.ta-cbtn-accepted{background:#EAF3ED;border-color:#CFE6D8;color:var(--green);width:100%;}

/* ── Interview slots ── */
.ta-slots{margin-top:11px;padding-top:11px;border-top:1px solid var(--line-200);display:flex;flex-direction:column;gap:7px;}
.ta-slots-lbl{font-size:9.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-500);}
.ta-slot{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:7px 9px;border-radius:var(--r-sm);border:1px solid var(--line-200);background:#FCFBF8;}
.ta-slot-info{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;min-width:0;}
.ta-slot-info svg{width:12px;height:12px;color:var(--purple);flex:0 0 auto;}
.ta-slot-time{font-size:11.5px;font-weight:600;color:var(--ink-900);}
.ta-slot-mode{font-size:9.5px;font-weight:700;color:var(--ink-500);background:#fff;border:1px solid var(--line-200);border-radius:99px;padding:1px 6px;}
.ta-slot-accept{width:100%;padding:5px 9px;border-radius:7px;font-size:11px;font-weight:700;color:#fff;background:var(--purple);border:none;cursor:pointer;font-family:inherit;white-space:nowrap;flex:0 0 auto;}
.ta-slot-accept:hover{opacity:.9;}
.ta-slot-propose{align-self:flex-start;background:none;border:none;padding:2px 0;font-size:11.5px;font-weight:600;color:var(--purple);cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:5px;}
.ta-slot-propose:hover{text-decoration:underline;}
.ta-slot-propose svg{width:12px;height:12px;}
.ta-slot-confirmed{margin-top:11px;padding:9px 11px;border-radius:var(--r-sm);background:#F0EAF8;border:1px solid #E0D3F1;display:flex;align-items:center;gap:9px;}
.ta-slot-confirmed svg{width:16px;height:16px;color:var(--purple);flex:0 0 auto;}
.ta-slot-confirmed .t{font-size:11.5px;font-weight:800;color:var(--purple);}
.ta-slot-confirmed .d{font-size:11px;color:var(--ink-500);margin-top:1px;}

/* ── Drawer aperçu ── */
.ta-drawer-overlay{display:none;position:fixed;inset:0;background:rgba(20,16,12,.45);z-index:1090;}
.ta-drawer-overlay.open{display:block;}
.ta-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1100;width:min(440px,94vw);background:#fff;box-shadow:-16px 0 44px rgba(26,22,20,.25);transform:translateX(105%);transition:transform .26s ease;overflow-y:auto;display:flex;flex-direction:column;}
.ta-drawer.open{transform:translateX(0);}
.ta-drawer-hero{position:relative;background:var(--head-grad);border-bottom:1px solid var(--gold-200);padding:16px 20px 18px;}
.ta-drawer-hd-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.ta-drawer-eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-600);}
.ta-drawer-close{width:32px;height:32px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink-900);box-shadow:0 1px 5px rgba(0,0,0,.12);border:none;cursor:pointer;}
.ta-drawer-close:hover{background:var(--gold-grad);}
.ta-drawer-close svg{width:14px;height:14px;}
.ta-drawer-etab{display:flex;align-items:center;gap:11px;min-width:0;}
.ta-drawer-med{width:48px;height:48px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,#1B2C46,#0E1826);color:#fff;font-family:'Playfair Display',serif;font-weight:700;font-size:15px;}
.ta-drawer-nm{font-size:16px;font-weight:700;color:#1A1614;letter-spacing:-.2px;}
.ta-drawer-q{font-family:'Playfair Display',serif;font-style:italic;font-size:12px;color:var(--gold-600);margin-top:1px;}
.ta-drawer-body{flex:1;padding:16px 20px 22px;}
.ta-drawer-sec{margin-top:16px;margin-bottom:8px;font-family:'Playfair Display',serif;font-style:italic;font-weight:700;font-size:13.5px;color:#1A1614;}
.ta-drawer-sec:first-child{margin-top:0;}
.ta-drawer-sec::after{content:'';display:block;width:40px;height:2px;margin-top:3px;background:linear-gradient(90deg,var(--gold-main),var(--gold-200));border-radius:2px;}
.ta-drawer-msg{font-size:12.5px;font-weight:500;color:var(--ink-700);line-height:1.6;background:#FCFBF8;border:1px solid var(--line-200);border-left:3px solid var(--gold-main);border-radius:0 12px 12px 0;padding:11px 13px;}
.ta-drawer-pills{display:flex;flex-wrap:wrap;gap:6px;}
.ta-drawer-pill{flex:1 1 calc(50% - 3px);min-width:0;background:#FDFAF1;border:1px solid #EBDDB8;border-radius:10px;padding:8px 10px;}
.ta-drawer-pill span{display:block;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--gold-700);}
.ta-drawer-pill b{display:block;font-size:11px;font-weight:800;color:var(--ink-900);margin-top:2px;}
.ta-drawer-desc{font-size:12.5px;font-weight:500;color:var(--ink-500);line-height:1.6;margin:0;}

/* ── Filter dropdown ── */
.ta-filter-wrap{position:relative;}
.ta-dropdown{display:none;position:absolute;top:calc(100% + 6px);right:0;width:230px;background:#fff;border:1px solid var(--line-200);border-radius:var(--r-md);box-shadow:0 8px 26px rgba(0,0,0,.1);z-index:60;padding:5px 0;font-size:13px;}
.ta-filter-wrap.open .ta-dropdown{display:block;}
.ta-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 13px;cursor:pointer;color:var(--ink-900);}
.ta-dropdown-item:hover{background:rgba(0,0,0,.03);}
.ta-dropdown-item .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;}

/* ── Modals ── */
.ta-modal-overlay{display:none;position:fixed;inset:0;background:rgba(20,16,12,.5);z-index:1200;align-items:center;justify-content:center;padding:16px;}
.ta-modal-overlay.open{display:flex;}
.ta-modal{background:#fff;border-radius:var(--r-lg);max-width:440px;width:100%;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.2);}
.ta-modal-title{font-size:18px;font-weight:800;color:var(--ink-900);margin-bottom:6px;}
.ta-modal-desc{font-size:13.5px;color:var(--ink-500);line-height:1.55;margin-bottom:16px;}
.ta-modal-desc strong{color:var(--ink-900);}
.ta-field-label{font-size:11px;font-weight:700;color:var(--ink-500);margin-bottom:5px;display:block;}
.ta-textarea,.ta-input{width:100%;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--line-200);font-size:13px;font-family:inherit;outline:none;color:var(--ink-900);resize:none;}
.ta-textarea:focus,.ta-input:focus{border-color:var(--gold-main);}
.ta-neg-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
/* Audit 07/08 — erreur de contre-proposition, rendue sous les champs concernes. */
.ta-field-error{margin-top:8px;font-size:12px;font-weight:600;color:var(--red);}
@media(max-width:520px){.ta-neg-grid{grid-template-columns:1fr;}}
.ta-modal-footer{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:20px;}
.ta-mbtn{padding:9px 16px;border-radius:var(--r-sm);font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;border:none;transition:.15s;}
.ta-mbtn-outline{border:1px solid var(--line-200);background:#fff;color:var(--ink-900);}
.ta-mbtn-outline:hover{border-color:#d8d2c8;}
.page-talent-applications .ta-mbtn-confirm,
.ta-mbtn-confirm{background:var(--gold-btn);color:var(--on-gold);text-shadow:var(--on-gold-shadow);font-weight:800;}
.ta-mbtn-confirm:hover{filter:brightness(1.03);}
.ta-mbtn-danger{background:var(--red);color:#fff;}
.ta-mbtn-danger:hover{opacity:.9;}

/* ── Toast ── */
.ta-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);opacity:0;background:var(--ink-900);color:#fff;padding:12px 20px;border-radius:var(--r-md);font-size:13px;font-weight:600;box-shadow:0 12px 34px rgba(0,0,0,.25);transition:.28s;pointer-events:none;z-index:1300;}
.ta-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ══════════════════════════════
   BRIQUES ULTÉRIEURES
   Ce que la maquette montre et que la brique 2 ne sert pas encore reste
   affiché, grisé, avec sa pastille : score de match (Brique 3) et créneaux
   d'entretien (Brique 4).
══════════════════════════════ */
.ta .ta-future-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 100px; background: #F6F1E4; border: 1px solid #E4DECF; color: var(--gold-600); font-size: 10px; font-weight: 700; white-space: nowrap; opacity: .65; }
.ta .b-tag { display: inline-flex; align-items: center; padding: 2px 6px; border-radius: 100px; background: #fff; border: 1px solid #E4DECF; color: var(--gold-600); font-size: 8.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.ta .is-future { opacity: .55; pointer-events: none; }
.ta .ta-slot-row { display: flex; align-items: center; gap: 8px; margin-top: 7px; padding: 8px 10px; border: 1px dashed #E4DECF; border-radius: 10px; background: #FCFAF5; }
.ta .ta-slot-when { font-size: 11.5px; color: #8A857A; }
/* Les boutons de proposition vivent dans des <form> : ils doivent rester côte à côte. */
.ta .ta-pbtn-form { display: inline-flex; margin: 0; }
.ta .ta-pcard-actions form + form { margin-left: 8px; }

/* Les boutons « Décliner » et « Accepter » perdaient leur fond : la feuille de
   référence lovable/talent-applications.css pose un reset
   `.page-talent-applications button` (0,1,1) qui bat `.ta-btn-gold` (0,1,0),
   et le layout charge toutes les feuilles sur toutes les pages. On remonte la
   spécificité sous .ta plutôt que de toucher à la feuille de référence. */
.ta .ta-btn { border-radius: 10px; font-weight: 800; font-size: 12px; padding: 10px 6px; cursor: pointer; font-family: inherit; border: none; display: inline-flex; align-items: center; justify-content: center; }
.ta .ta-btn-gold { flex: 1; background: linear-gradient(135deg,var(--gold-400) 0%,var(--gold-500) 50%,var(--gold-600) 100%); color: #fff; }
.ta .ta-btn-gold:hover { filter: brightness(1.03); }
.ta .ta-btn-ghost { flex: 1; background: #fff; border: 1px solid var(--line-200); color: var(--ink-500); font-weight: 700; }
.ta .ta-btn-ghost:hover { border-color: #d8d2c8; color: var(--ink-900); }
.ta .ta-pcard-actions { display: flex; gap: 8px; }
.ta .ta-pcard-actions .ta-pbtn-form { flex: 1; }
.ta .ta-pcard-actions .ta-pbtn-form .ta-btn { width: 100%; }

/* État vide du bandeau « Propositions reçues » (retour Loïc 10/08). La section
   reste affichée même sans proposition : le chapeau de la page annonce que les
   Maisons qui contactent le talent apparaissent ici, l'endroit doit donc
   exister avant d'être rempli. */
.ta-propos-empty{margin:0;padding:18px;font-size:13px;line-height:1.55;color:var(--ink-soft,#6b6459);}
.ta-propos-empty + .ta-propos-grid:empty{display:none;}
