/* 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;}

/* ══ B3 tâche 077 (AC47.8 / R3-47.18, R3-MOB.33) — bascule kanban / liste ══
   La bascule se pose dans la barre « Mon suivi », à gauche du filtre. Elle
   reprend le vocabulaire de pastille déjà posé par cette page (`.ta-col-pill`)
   plutôt que d'en inventer un troisième. */
.ta-viewswitch{display:inline-flex;align-items:center;gap:2px;margin-left:auto;margin-right:10px;padding:3px;background:#F3F1ED;border-radius:99px;}
.ta-vsw{padding:6px 15px;border-radius:99px;font-size:12px;font-weight:700;color:var(--ink-500);text-decoration:none;transition:.15s;}
.ta-vsw:hover{color:var(--gold-800);}
.ta-vsw.on{background:#fff;color:var(--gold-800);box-shadow:0 1px 3px rgba(26,22,20,.1);}

/* ── La liste ──
   Cinq colonnes en grille. `minmax(0,…)` partout : sans lui, un nom de Maison
   long (« Le San Felice & Cie », « Hôtel & Spa du Castellet ») pousse sa colonne
   hors de la grille et la page déborde en largeur. Sous 720 px la ligne
   s'empile et chaque valeur reprend son libellé, sinon une colonne sans en-tête
   ne veut plus rien dire. */
.ta-list{display:flex;flex-direction:column;gap:6px;}
.ta-lhead,.ta-lrow{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1.6fr) minmax(0,.9fr) minmax(0,1fr) auto;gap:14px;align-items:center;}
.ta-lhead{padding:0 14px 6px;border-bottom:1px solid var(--line-200);}
.ta-lh{font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-400);}
.ta-lrow{padding:11px 14px;background:#FCFBF9;border:1px solid #EDE9E2;border-radius:var(--r-lg);transition:border-color .15s;}
.ta-lrow:hover{border-color:#E7DCC0;}
.ta-lcell{min-width:0;display:flex;align-items:center;gap:8px;}
.ta-lhouse{gap:10px;}
.ta-lmed{width:30px;height:30px;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:10.5px;letter-spacing:.5px;}
.ta-lnm{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ta-lval{font-size:12px;color:var(--ink-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ta-llbl{display:none;font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-400);flex:0 0 auto;min-width:74px;}
.ta-lact{justify-content:flex-end;}
.ta-lact .ta-cbtn{flex:0 0 auto;}
.ta-list-empty{margin:14px 0 0;padding:26px 16px;text-align:center;font-size:12.5px;color:var(--ink-400);background:#FCFBF9;border:1px solid #EDE9E2;border-radius:var(--r-lg);}

@media(max-width:720px){
  /* Trois éléments (titre, bascule, filtre) dans une barre qui ne se coupait
     jamais : à 390 px ils sortaient de l'écran. Ils passent à la ligne. */
  .ta-board-bar{flex-wrap:wrap;}
  .ta-lhead{display:none;}
  .ta-lrow{grid-template-columns:minmax(0,1fr);gap:8px;}
  .ta-llbl{display:block;}
  .ta-lnm,.ta-lval{white-space:normal;}
  .ta-lact{justify-content:stretch;}
  .ta-lact .ta-cbtn{flex:1;}
  .ta-viewswitch{margin-left:0;margin-right:0;}
}
