/* R17/AC17.4 — « Candidature reçue · détail » (espace recruteur).
   Duplication fidele du <style> de /mockups/recruiter/application_received,
   conformement a la regle « zero CSS inline » du projet. */
.par{ --gold:var(--gold-primary); --gold-d:var(--gold-500);
    --cream:var(--gold-50); --cream-line:#EFE2BC;
    --red:#B0432F; --red-50:#FBF4F1; --red-200:#F0D9D1;
    --ink:#1A1A1A; --n700:#4A4640; --n500:#8A857A; --n400:#B4AFA4; --n200:#E5E2DC; --n100:#F4F2EE; --n50:#FAF9F6;
    --gold-grad:linear-gradient(135deg,var(--gold-primary) 0%,var(--gold-500) 55%,var(--gold-600) 100%);
    --gm:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;
    --sh-sm:0 1px 2px rgba(44,44,44,.05); --sh-md:0 4px 14px rgba(44,44,44,.07);
    background:#FFFFFF; min-height:100vh; font-family:'Geist','Inter',system-ui,sans-serif; color:var(--ink); }
  .par *{ box-sizing:border-box; }
  .par button{ cursor:pointer; border:none; background:none; font-family:inherit; color:inherit; }
  .par a{ text-decoration:none; color:inherit; }
  .par .serif{ font-family:'Playfair Display',Georgia,serif; }
  .par .ic{ width:16px; height:16px; flex-shrink:0; }
  .par .ic-sm{ width:13px; height:13px; flex-shrink:0; }
  .par .wrap{ max-width:none; margin:0; padding:2px 0 72px; }

  /* ===== BREADCRUMB ===== */
  .par .crumb{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:var(--gold-deep); margin-bottom:16px; }
  .par .crumb:hover{ color:var(--gold-700); }

  /* ===== HERO ===== */
  .par .hero{ display:flex; align-items:flex-start; gap:20px; flex-wrap:wrap; background:#fff; border:1px solid var(--n200); border-radius:18px; padding:22px 24px; box-shadow:var(--sh-sm); position:relative; }
  .par .hero-ava{ width:64px; height:64px; border-radius:50%; display:grid; place-items:center; font-weight:700; font-size:20px; color:#fff; text-shadow: var(--on-gold-shadow); flex-shrink:0; background:linear-gradient(135deg,var(--gold-600),var(--gold-primary)); border:2px solid var(--n100); }
  .par .hero-main{ flex:1 1 320px; min-width:0; }
  .par .hero-name{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  .par .hero-name h1{ font-family:'Playfair Display',Georgia,serif; font-size:27px; font-weight:600; letter-spacing:-.02em; margin:0; line-height:1.15; }
  /* Retour du 11/08 : acces au profil complet depuis la page candidature, qui
     n'existait que dans le tiroir lateral. */
  .par .hero-profile-link{ display:inline-flex; align-items:center; gap:5px; padding:4px 11px;
    border:1px solid var(--gold-200); border-radius:999px;
    font-size:11.5px; font-weight:600; color:var(--gold-600); text-decoration:none;
    background:#fff; transition:background .15s,border-color .15s; }
  .par .hero-profile-link:hover{ background:var(--gold-50); border-color:var(--gold-400); }
  /* #2648 — la vraie pastille Verified de la marque (cf. .ts-card-vbadge des
     cards talent et .verified des comparateurs) : dégradé doré, marque T
     Tastellers, radius 5px. Cette page portait une variante verte « ✓ VÉRIFIÉ »
     qui n'existait nulle part ailleurs. */
  .par .verified{ display:inline-flex; align-items:center; gap:5px; height:20px; padding:0 8px; border-radius:5px;
    background:var(--gold-metal);
    font-family:'Geist',system-ui,sans-serif; font-size:9.5px; font-weight:700; letter-spacing:.6px;
    text-transform:uppercase; font-style:normal; color:#242424; line-height:1; box-shadow:0 2px 8px rgba(0,0,0,.28); text-shadow:none; }
  .par .verified::before{ content:""; width:9px; height:11px; flex-shrink:0; background:url("/images/verified-t.svg") no-repeat center/contain; }
  .par .hero-role{ font-size:14px; color:var(--gold-deep); font-weight:600; margin-top:4px; }
  .par .hero-head{ font-size:13px; color:var(--n500); margin-top:5px; line-height:1.5; }
  .par .hero-chips{ display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
  .par .chip{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--n700); background:var(--n50); border:1px solid var(--n200); border-radius:999px; padding:5px 11px; }
  .par .chip .dot{ width:7px; height:7px; border-radius:50%; background:var(--green); }
  .par .chip.gold{ color:var(--gold-deep); background:var(--cream); border-color:var(--cream-line); }
  .par .applied-line{ display:flex; align-items:center; gap:9px; margin-top:14px; padding-top:14px; border-top:1px dashed var(--n200); font-size:13px; color:var(--n700); flex-wrap:wrap; }
  .par .applied-line b{ color:var(--ink); font-weight:600; }
  .par .applied-line .sep{ color:var(--n400); }
  /* Marqueur de statut (#1929) : pill encre neutre. Le badge « Vérifié » voisin porte le vert du
     design system ; un pill doré ici entrait en concurrence avec lui et avec les CTA dorés.
     L'encre #2C2C2C est la teinte « neutre forte » du DS (cf. .btn-dark des comparateurs). */
  .par .status-flag{ display:inline-flex; align-items:center; gap:6px; font-family:var(--gm); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:#2C2C2C; border-radius:999px; padding:5px 12px; box-shadow:0 2px 6px rgba(28,26,22,.22); }
  /* #2648 — « Nouvelle candidature » passe en bleu (demande Tatianna 06/08) :
     l'encre neutre ne disait pas qu'il reste quelque chose à faire. Le bleu est
     celui du marqueur de sourcing des comparateurs (.cand-prov.prov-s, #5B7A9B),
     assombri pour tenir le contraste en texte blanc. Les statuts déjà traités
     gardent l'encre neutre. */
  .par .status-flag--sent, .par .status-flag--reviewed{ background:#3E6288; box-shadow:0 2px 6px rgba(62,98,136,.28); }

  /* score card — l'anneau reprend les couleurs du niveau de match (#1928),
     mêmes valeurs que mockups/shared/_match_badge (>=95 vert, 85-94 orange brûlé, 70-84 or). */
  .par .score{ flex:0 0 168px; border:1px solid var(--ring-line); border-radius:14px; padding:16px; text-align:center; background:linear-gradient(168deg,#FFFDF6,var(--cream));
    --ring:var(--gold-500); --ring-track:var(--gold-50); --ring-line:var(--gold-200); }
  .par .score.is-perfect{ --ring:#2D7A4F; --ring-track:#EAF4EE; --ring-line:#BFE0CC; }
  .par .score.is-strong{ --ring:#C0651F; --ring-track:#FBEFE2; --ring-line:#EBC9A6; }
  .par .score.is-match{ --ring:var(--gold-500); --ring-track:var(--gold-50); --ring-line:var(--gold-200); }
  .par .score .ring{ width:64px; height:64px; margin:0 auto 8px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--ring) calc(var(--v) * 1%), var(--ring-track) 0); }
  .par .score .ring i{ width:50px; height:50px; border-radius:50%; background:#fff; display:grid; place-items:center; font-size:16px; font-weight:800; font-style:normal; color:var(--ring); letter-spacing:-.02em; }
  .par .score .ring i .pct{ font-size:10px; font-weight:700; margin-left:1px; }
  .par .score .lbl{ font-size:13px; font-weight:700; color:var(--gold-700); }
  .par .score .sub{ font-family:var(--gm); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--n500); margin-top:2px; }
  .par .score .fiab{ margin-top:10px; padding-top:10px; border-top:1px solid var(--cream-line); font-size:11.5px; color:var(--n700); }
  .par .score .fiab b{ color:var(--gold-deep); }

  /* ===== PIPELINE ===== */
  .par .pipe{ display:flex; align-items:center; gap:0; margin:20px 0 4px; overflow-x:auto; padding:14px 16px; background:#fff; border:1px solid var(--n200); border-radius:14px; box-shadow:var(--sh-sm); }
  .par .pstep{ display:flex; align-items:center; gap:9px; flex:0 0 auto; }
  .par .pstep .pdot{ width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--n100); color:var(--n400); flex-shrink:0; }
  .par .pstep.done .pdot{ background:var(--gold-grad); color:#fff; text-shadow: var(--on-gold-shadow); }
  .par .pstep .pname{ font-size:12.5px; font-weight:600; color:var(--n500); white-space:nowrap; }
  .par .pstep.done .pname{ color:var(--ink); }
  .par .pstep.current .pname{ color:var(--gold-deep); }
  .par .pbar{ flex:1 1 22px; min-width:22px; height:2px; background:var(--n200); margin:0 10px; }

  /* ===== LAYOUT ===== */
  .par .cols{ display:grid; grid-template-columns:1fr 348px; gap:22px; margin-top:22px; align-items:start; }
  /* minmax(0,…) et pas 1fr : la piste prendrait pour minimum le contenu le plus
     large des cartes (379px pour 358px utiles) et pousserait la page a droite. */
  @media(max-width:900px){ .par .cols{ grid-template-columns:minmax(0,1fr); } .par .side{ position:static !important; } }
  .par .card{ background:#fff; border:1px solid var(--n200); border-radius:16px; padding:20px 22px; box-shadow:var(--sh-sm); margin-bottom:18px; }
  .par .blk-lbl{ font-family:var(--gm); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-600); margin:0 0 12px; display:flex; align-items:center; gap:8px; }
  .par .blk-lbl .ic{ color:var(--gold-d); }

  /* motivation */
  .par .motiv{ font-size:14px; line-height:1.65; color:var(--n700); }
  .par .motiv-quote{ border-left:3px solid var(--gold); padding-left:16px; }

  /* pitch video */
  .par .pitch{ display:flex; align-items:center; gap:14px; border:1px solid var(--cream-line); background:var(--cream); border-radius:13px; padding:14px 16px; }
  .par .pitch .play{ width:44px; height:44px; border-radius:50%; background:var(--gold-grad); display:grid; place-items:center; color:#fff; text-shadow: var(--on-gold-shadow); flex-shrink:0; box-shadow:inset 0 1px 0 rgba(255,255,255,.4); }
  .par .pitch .pt{ font-size:14px; font-weight:700; }
  .par .pitch .ps{ font-size:12px; color:var(--n500); margin-top:2px; }
  .par .pitch .pd{ margin-left:auto; font-family:var(--gm); font-size:11px; font-weight:600; color:var(--gold-deep); background:#fff; border:1px solid var(--cream-line); border-radius:999px; padding:4px 10px; }

  /* cv download */
  .par .cvrow{ display:flex; align-items:center; gap:13px; border:1px solid var(--n200); border-radius:12px; padding:13px 15px; }
  .par .cvrow .cvic{ width:38px; height:38px; border-radius:9px; background:var(--red-50); color:var(--red); display:grid; place-items:center; flex-shrink:0; }
  .par .cvrow .cvt{ font-size:13.5px; font-weight:600; }
  .par .cvrow .cvs{ font-family:var(--gm); font-size:10.5px; color:var(--n500); margin-top:1px; }
  .par .cvrow .cvdl{ margin-left:auto; display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--gold-deep); border:1px solid var(--gold-200); border-radius:999px; padding:7px 13px; }
  .par .cvrow .cvdl:hover{ background:var(--cream); }

  /* timeline (#1930) — même filigrane que les cards Talent de la recherche recruteur :
     filet vertical continu + pastilles carrées (cf. .ts-card-tl / .ts-card-tl-d dans
     mockups/shared/_talent_card_styles). Poste actuel = pastille pleine dorée. */
  .par .tl{ position:relative; padding-left:20px; }
  .par .tl::before{ content:""; position:absolute; left:4.75px; top:9px; bottom:9px; width:1.5px; background:var(--n200); }
  .par .tl-step{ position:relative; padding:0 0 16px; }
  .par .tl-step:last-child{ padding-bottom:0; }
  .par .tl-dot{ position:absolute; left:-20px; top:5px; width:11px; height:11px; border-radius:3px; background:#fff; border:1.5px solid var(--gold-200); }
  .par .tl-step.is-current .tl-dot{ background:var(--gold-d); border-color:var(--gold-d); }
  .par .tl-step.edu .tl-dot{ background:#fff; border-color:var(--n200); }
  .par .tl-t{ font-size:13.5px; font-weight:600; }
  .par .tl-p{ font-size:12px; color:var(--n500); margin-top:2px; }

  /* tags */
  .par .taglist{ display:flex; gap:8px; flex-wrap:wrap; }
  .par .tag{ font-size:12.5px; font-weight:600; color:var(--n700); border:1px solid var(--n200); border-radius:8px; padding:6px 12px; background:var(--n50); }
  .par .tag.gold{ color:var(--gold-deep); background:var(--cream); border-color:var(--cream-line); }

  /* AI insight */
  .par .ai{ border:1px solid var(--cream-line); border-radius:14px; padding:18px 20px; background:linear-gradient(168deg,#FFFDF6,var(--cream)); }
  .par .ai-head{ display:flex; align-items:center; gap:9px; margin-bottom:10px; }
  .par .ai-badge{ width:30px; height:30px; border-radius:8px; background:var(--gold-grad); color:#fff; text-shadow: var(--on-gold-shadow); display:grid; place-items:center; flex-shrink:0; box-shadow:inset 0 1px 0 rgba(255,255,255,.4); }
  .par .ai-title{ font-size:13px; font-weight:700; color:var(--gold-700); }
  .par .ai-txt{ font-size:13.5px; line-height:1.6; color:var(--n700); }
  .par .ai-verdict{ display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:700; color:var(--green); background:var(--green-50); border:1px solid var(--green-200); border-radius:999px; padding:6px 13px; margin-top:12px; }
  .par .ai-crit{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:14px; }
  .par .ai-crit .cr{ display:flex; align-items:center; gap:9px; font-size:12.5px; }
  .par .ai-crit .cr .ck{ width:20px; height:20px; border-radius:50%; background:var(--green-50); color:var(--green); display:grid; place-items:center; flex-shrink:0; }
  .par .ai-crit .cr .crl{ color:var(--n500); }
  .par .ai-crit .cr .crv{ font-weight:600; margin-left:auto; }
  /* R10 (retour client 06/08 vague 2) : la Grille de Match du dossier, posée à
     droite du titre du bloc, et la requête d'où vient la décision journalisée. */
  .par .ai-level{ display:flex; margin-top:12px; }
  .par .ai-src{ font-size:12px; line-height:1.5; color:var(--n500); margin-top:8px; }
  /* Aucune décision journalisée pour ce talent : le bloc reste à sa place,
     grisé, sans contenu inventé. */
  .par .ai.is-empty{ background:var(--n50); border-style:dashed; }
  .par .ai.is-empty .ai-badge{ background:none; background-color:var(--n200); color:var(--n500); text-shadow:none; box-shadow:none; }
  .par .ai.is-empty .ai-title{ color:var(--n500); }
  .par .ai.is-empty .ai-txt{ color:var(--n500); }

  /* ===== SIDEBAR ===== */
  .par .side{ position:sticky; top:100px; }
  .par .poste-card{ border:1.5px solid var(--gold); border-radius:15px; overflow:hidden; background:#fff; margin-bottom:18px; }
  .par .poste-top{ background:linear-gradient(168deg,#FFFDF6,var(--cream)); padding:16px 18px; }
  .par .poste-eyebrow{ font-family:var(--gm); font-size:9.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-deep); }
  .par .poste-title{ font-family:'Playfair Display',Georgia,serif; font-size:19px; font-weight:600; margin-top:4px; }
  .par .poste-etab{ font-size:12.5px; color:var(--n500); margin-top:2px; }
  .par .poste-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:11px; }
  .par .poste-tags span{ font-size:10.5px; font-weight:700; padding:4px 10px; border-radius:999px; background:#fff; border:1px solid var(--cream-line); color:var(--gold-deep); }
  .par .poste-facts{ padding:14px 18px; display:flex; flex-direction:column; gap:9px; }
  .par .pf{ display:flex; align-items:center; gap:9px; font-size:12.5px; color:var(--n700); }
  .par .pf .ic{ color:var(--gold-d); }
  .par .pf b{ color:var(--ink); font-weight:600; }

  .par .actions{ background:#fff; border:1px solid var(--n200); border-radius:16px; padding:16px; box-shadow:var(--sh-sm); }
  .par .act-lbl{ font-family:var(--gm); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--n500); margin-bottom:12px; }
  .par .btn{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:46px; border-radius:999px; font-size:13.5px; font-weight:700; transition:all .15s; margin-bottom:9px; }
  .par .btn-gold{ color:#fff; background:var(--gold-grad); text-shadow:0 1px 2px rgba(130,90,25,.4); box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 2px 10px rgba(163,133,67,.3); }
  .par .btn-gold:hover{ transform:translateY(-1px); box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 5px 16px rgba(163,133,67,.42); }
  .par .btn-outline{ color:var(--gold-deep); background:#fff; border:1px solid var(--gold-200); }
  .par .btn-outline:hover{ background:var(--cream); border-color:var(--gold); }
  .par .btn-outline.on{ background:var(--cream); border-color:var(--gold); color:var(--gold-700); }
  .par .btn-ghost{ color:var(--n700); background:#fff; border:1px solid var(--n200); }
  .par .btn-ghost:hover{ border-color:var(--gold-300); background:var(--n50); }
  .par .btn-decline{ color:var(--red); background:#fff; border:1px solid var(--red-200); height:42px; font-weight:600; font-size:13px; }
  .par .btn-decline:hover{ background:var(--red-50); border-color:var(--red); }
  .par .act-note{ font-size:11.5px; color:var(--n500); line-height:1.5; margin-top:6px; text-align:center; }

  /* ===== MODALS ===== */
  .par .mo-back{ position:fixed; inset:0; background:rgba(20,16,12,.5); opacity:0; pointer-events:none; transition:opacity .2s; z-index:300; }
  .par .mo-back.show{ opacity:1; pointer-events:auto; }
  .par .mo{ position:fixed; top:50%; left:50%; transform:translate(-50%,-46%) scale(.97); opacity:0; pointer-events:none; width:480px; max-width:94vw; max-height:88vh; overflow-y:auto; background:#fff; border-radius:18px; box-shadow:0 24px 64px rgba(26,22,20,.3); z-index:301; transition:.22s; padding:24px; }
  .par .mo.show{ opacity:1; pointer-events:auto; transform:translate(-50%,-50%) scale(1); }
  .par .mo-x{ position:absolute; top:16px; right:16px; width:32px; height:32px; border-radius:50%; background:var(--n100); color:var(--n500); display:grid; place-items:center; }
  .par .mo-x:hover{ background:var(--cream); color:var(--gold-deep); }
  .par .mo-eyebrow{ font-family:var(--gm); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-deep); }
  .par .mo-title{ font-family:'Playfair Display',Georgia,serif; font-size:21px; font-weight:600; margin-top:5px; }
  .par .mo-sub{ font-size:13px; color:var(--n500); margin-top:6px; line-height:1.55; }
  .par .slot{ display:flex; align-items:center; gap:11px; width:100%; text-align:left; border:1.5px solid var(--n200); border-radius:12px; padding:13px 15px; margin-top:10px; transition:.15s; }
  .par .slot:hover{ border-color:var(--gold); background:var(--cream); }
  .par .slot .sr{ width:18px; height:18px; border-radius:50%; border:2px solid var(--n300,#C9C5BC); flex-shrink:0; }
  .par .slot.on{ border-color:var(--gold); background:var(--cream); }
  .par .slot.on .sr{ border-color:var(--gold); background:var(--gold-grad); box-shadow:inset 0 0 0 3px #fff; }
  .par .slot .st{ font-size:13.5px; font-weight:600; }
  .par textarea{ width:100%; min-height:96px; border:1px solid var(--n200); border-radius:12px; padding:12px 14px; font-family:inherit; font-size:13.5px; resize:vertical; margin-top:12px; color:var(--ink); }
  .par textarea:focus{ outline:none; border-color:var(--gold); }
  .par .mo-field{ margin-top:14px; }
  .par .mo-field label{ display:block; font-size:12px; font-weight:600; color:var(--n700); margin-bottom:6px; }
  .par .mo-field input{ width:100%; height:42px; border:1px solid var(--n200); border-radius:10px; padding:0 13px; font-family:inherit; font-size:13.5px; color:var(--ink); }
  .par .mo-field input:focus{ outline:none; border-color:var(--gold); }
  .par .mo-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .par .mo-foot{ display:flex; gap:10px; margin-top:20px; }
  /* #2613 — les boutons héritaient de .btn{width:100%} et débordaient de la
     modale : dans le footer ils se partagent la rangée. */
  .par .mo-foot .btn{ margin-bottom:0; width:auto; flex:1 1 0; min-width:0; }
  .par .mo-cancel{ flex:0 0 auto; padding:0 20px; }

  /* success banner */
  .par .banner{ display:none; align-items:center; gap:12px; border-radius:14px; padding:14px 18px; margin-bottom:18px; font-size:13.5px; font-weight:600; }
  .par .banner.show{ display:flex; }
  .par .banner .bic{ width:34px; height:34px; border-radius:50%; display:grid; place-items:center; flex-shrink:0; }
  .par .banner.ok{ background:var(--green-50); border:1px solid var(--green-200); color:#155f3c; }
  .par .banner.ok .bic{ background:#fff; color:var(--green); border:1px solid var(--green-200); }
  .par .banner.ko{ background:var(--red-50); border:1px solid var(--red-200); color:#7a2c1e; }
  .par .banner.ko .bic{ background:#fff; color:var(--red); border:1px solid var(--red-200); }

/* Lecteur du pitch vidéo (retour Loïc 10/08 : le bloc n'était qu'une icône, la
   vidéo n'était jamais lue). */
.par .pitch-player { border-radius: 13px; overflow: hidden; background: #1C1A17; aspect-ratio: 16 / 9; }
.par .pitch-player mux-player { width: 100%; height: 100%; display: block; }
.par .pitch-cap { margin-top: 8px; font-size: 12.5px; color: var(--n-600, #6b6459); }

/* Emplacement du score de correspondance, annoncé en Brique 3 (retour Loïc
   10/08 : l'anneau montrait le score d'une recherche, pas celui du dossier). */
.par .score.is-future { display: flex; flex-direction: column; align-items: center; gap: 6px; opacity: .75; }
