/* =========================================================================
   ATLANTIS STRENGTH — Carrières · Admin console
   ========================================================================= */

.admin{min-height:100vh;display:grid;grid-template-columns:248px 1fr;background:var(--bg-alt)}

/* ---- sidebar ---- */
.admin-side{background:#000;color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.admin-brand{padding:24px 22px;border-bottom:1px solid #36363B;display:flex;align-items:center;gap:12px}
.admin-brand img{height:26px}
.admin-brand .ab-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:#7A7A80;border-left:1px solid #36363B;padding-left:11px;line-height:1.4}
.admin-nav{padding:18px 12px;display:flex;flex-direction:column;gap:2px;flex:1}
.admin-nav .a-item{display:flex;align-items:center;gap:12px;padding:11px 14px;font-family:var(--font-sans);font-weight:600;font-size:13px;letter-spacing:0.04em;color:#A8A8AD;cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out);border-left:2px solid transparent}
.admin-nav .a-item .ic{width:18px;height:18px;flex:none;display:flex;align-items:center;justify-content:center}
.admin-nav .a-item:hover{background:#161618;color:#fff}
.admin-nav .a-item.on{background:#161618;color:#fff;border-left-color:var(--atl-red)}
.admin-nav .a-item .badge{margin-left:auto;font-family:var(--font-mono);font-size:10px;background:#36363B;color:#fff;padding:2px 7px;min-width:22px;text-align:center}
.admin-nav .a-item.on .badge{background:var(--atl-red)}
.admin-side .a-foot{padding:16px 18px;border-top:1px solid #36363B;font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:#55555B;display:flex;flex-direction:column;gap:10px}
.admin-side .a-foot a{cursor:pointer;color:#A8A8AD;display:inline-flex;align-items:center;gap:8px}
.admin-side .a-foot a:hover{color:#fff}

/* ---- main ---- */
.admin-main{display:flex;flex-direction:column;min-width:0}
.admin-top{background:#fff;border-bottom:1px solid var(--rule-2);padding:0 32px;height:68px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}
.admin-top .at-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:28px;letter-spacing:-0.01em}
.admin-top .at-actions{display:flex;align-items:center;gap:12px}
.admin-content{padding:32px;overflow:auto}

/* ---- KPI cards ---- */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}
.kpi{background:#fff;border:1px solid var(--rule-2);padding:22px 24px}
.kpi .k-lab{font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--fg-3);display:flex;align-items:center;gap:8px}
.kpi .k-lab .dot{width:6px;height:6px;flex:none}
.kpi .k-val{font-family:var(--font-display);font-weight:700;font-size:48px;line-height:1;letter-spacing:-0.02em;margin-top:14px}
.kpi .k-sub{font-family:var(--font-sans);font-size:12px;color:var(--fg-2);margin-top:8px}

/* ---- data table ---- */
.panel{background:#fff;border:1px solid var(--rule-2)}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--rule-2);gap:16px;flex-wrap:wrap}
.panel-head .ph-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:22px;letter-spacing:-0.01em}
.panel-head .ph-tools{display:flex;align-items:center;gap:10px}
.seg{display:flex;border:1px solid var(--rule-2)}
.seg button{font-family:var(--font-sans);font-weight:700;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;padding:9px 14px;color:var(--fg-3);border-right:1px solid var(--rule-2)}
.seg button:last-child{border-right:0}
.seg button.on{background:#000;color:#fff}
.seg button:not(.on):hover{background:var(--bg-alt)}

.dtable{width:100%;border-collapse:collapse}
.dtable th{font-family:var(--font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-3);text-align:left;padding:12px 16px;border-bottom:1px solid var(--rule-2);font-weight:500}
.dtable td{padding:14px 16px;border-bottom:1px solid var(--rule-3);font-family:var(--font-sans);font-size:14px;vertical-align:middle}
.dtable tr:last-child td{border-bottom:0}
.dtable tbody tr{transition:background var(--dur-quick) var(--ease-out)}
.dtable tbody tr:hover{background:var(--bg-alt)}
.dtable .t-ref{font-family:var(--font-mono);font-size:12px;color:var(--fg-3);white-space:nowrap}
.dtable .t-title{font-family:var(--font-sans);font-weight:700;font-size:14px}
.dtable .t-title .fstar{color:var(--atl-red);margin-right:6px}
.dtable .t-sub{font-family:var(--font-mono);font-size:11px;color:var(--fg-4);margin-top:3px}
.dtable .reorder{display:flex;flex-direction:column;gap:2px}
.dtable .reorder button{width:22px;height:18px;border:1px solid var(--rule-2);display:flex;align-items:center;justify-content:center;color:var(--fg-3);font-size:10px;line-height:1}
.dtable .reorder button:hover{border-color:#000;color:#000}
.dtable .reorder button:disabled{opacity:0.3;cursor:default}
.dtable .rowacts{display:flex;gap:6px;justify-content:flex-end}
.iconbtn{width:32px;height:32px;border:1px solid var(--rule-2);display:flex;align-items:center;justify-content:center;color:var(--fg-3);transition:border-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out)}
.iconbtn:hover{border-color:#000;color:#000}
.iconbtn.danger:hover{border-color:var(--atl-red);color:var(--atl-red)}
.iconbtn.on{background:#000;color:#fff;border-color:#000}

/* status pills */
.pill{font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;padding:5px 10px;display:inline-flex;align-items:center;gap:7px;border:1px solid currentColor;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.pill.published{color:var(--ok)}
.pill.draft{color:var(--warn)}
.pill.archived{color:var(--fg-4)}

/* division mini tag in table */
.divcell{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--fg-2)}
.divcell .sq{width:9px;height:9px;flex:none}
.divcell .sq.usine{background:#000}
.divcell .sq.bureaux{background:#fff;border:1px solid #000}

/* =========================================================================
   EDITOR (drawer)
   ========================================================================= */
.drawer-back{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:100;display:flex;justify-content:flex-end}
@keyframes fade{from{opacity:0}to{opacity:1}}
.drawer{background:#fff;width:min(720px,94vw);height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-3)}
@keyframes slidein{from{transform:translateX(40px);opacity:0.4}to{transform:translateX(0);opacity:1}}
.drawer-head{padding:22px 28px;border-bottom:1px solid var(--rule-2);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.drawer-head .dh-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--fg-3)}
.drawer-head h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:30px;letter-spacing:-0.01em;margin:8px 0 0}
.drawer-body{padding:24px 28px;overflow:auto;flex:1}
.drawer-foot{padding:18px 28px;border-top:1px solid var(--rule-2);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-alt)}
.drawer-foot .left{display:flex;gap:10px;align-items:center}

/* lang tabs in editor */
.langtabs{display:flex;border:1px solid var(--rule-2);margin-bottom:22px;width:fit-content}
.langtabs button{font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;padding:9px 18px;color:var(--fg-3);border-right:1px solid var(--rule-2)}
.langtabs button:last-child{border-right:0}
.langtabs button.on{background:var(--atl-red);color:#fff}

.fieldset{margin-bottom:28px}
.fieldset > .fs-title{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--fg-3);padding-bottom:10px;border-bottom:1px solid var(--rule-2);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.fieldset > .fs-title::before{content:"";width:8px;height:8px;background:var(--atl-red);flex:none}
.frow2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.frow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}

/* list editor (responsibilities / requirements / benefits) */
.listedit{display:flex;flex-direction:column;gap:10px}
.listedit .li-row{display:flex;gap:10px;align-items:center}
.listedit .li-row .handle{font-family:var(--font-mono);font-size:11px;color:var(--fg-4);width:22px;flex:none;text-align:center}
.listedit .li-row input{flex:1}
.listedit .li-add{font-family:var(--font-sans);font-weight:700;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--atl-red);display:inline-flex;align-items:center;gap:8px;padding:8px 0;align-self:flex-start}
.listedit .li-add:hover{color:var(--atl-red-deep)}

.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid var(--rule-2);margin-bottom:12px}
.toggle-row .tr-t{font-family:var(--font-sans);font-weight:700;font-size:14px}
.toggle-row .tr-d{font-family:var(--font-sans);font-size:12px;color:var(--fg-2);margin-top:4px;max-width:46ch}
.switch{width:46px;height:26px;border:1px solid var(--rule-2);background:var(--bg-alt);position:relative;flex:none;transition:background var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out)}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border:1px solid var(--rule-2);transition:transform var(--dur-base) var(--ease-out)}
.switch.on{background:var(--atl-red);border-color:var(--atl-red)}
.switch.on::after{transform:translateX(20px);border-color:var(--atl-red)}

/* applications */
.appcard{background:#fff;border:1px solid var(--rule-2);display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:20px 24px;margin-bottom:12px;transition:border-color var(--dur-quick) var(--ease-out)}
.appcard:hover{border-color:#000}
.appcard .av{width:48px;height:48px;background:var(--bg-alt);border:1px solid var(--rule-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--fg-2);flex:none}
.appcard .ac-name{font-family:var(--font-sans);font-weight:700;font-size:15px}
.appcard .ac-meta{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);margin-top:5px;display:flex;gap:14px;flex-wrap:wrap}
.appcard .ac-for{font-family:var(--font-sans);font-size:12px;color:var(--fg-2);margin-top:6px}
.appcard .ac-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.appstage{font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--rule-2);color:var(--fg-2);white-space:nowrap}
.appstage.new{border-color:var(--atl-red);color:var(--atl-red)}

/* dashboard — lignes cliquables + entrevues à venir */
.dtable .row-click{cursor:pointer}
.dtable .row-click:hover{background:var(--bg-alt)}
.rv-row{padding:13px 22px;border-bottom:1px solid var(--rule-2);cursor:pointer;transition:background var(--dur-quick) var(--ease-out)}
.rv-row:last-child{border-bottom:0}
.rv-row:hover{background:var(--bg-alt)}
.rv-when{font-family:var(--font-mono);font-size:11px;letter-spacing:0.04em;color:var(--atl-red);display:flex;align-items:center;gap:6px;text-transform:uppercase}
.rv-who{font-family:var(--font-sans);font-weight:700;font-size:13.5px;margin-top:4px}
.rv-for{font-family:var(--font-sans);font-size:11.5px;color:var(--fg-3);margin-top:1px}

/* applications — barre d'outils (filtres + recherche) */
.apps-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.apps-seg{background:#fff;flex-wrap:wrap}
.apps-seg .seg-n{display:inline-block;margin-left:4px;color:var(--fg-4)}
.apps-seg button.on .seg-n{color:rgba(255,255,255,0.6)}
.apps-search{display:flex;align-items:center;gap:8px;border:1px solid var(--rule-2);background:#fff;padding:0 12px;height:38px;min-width:240px;color:var(--fg-3)}
.apps-search input{border:0;flex:1;font-family:var(--font-sans);font-size:13px;padding:0;background:transparent}
.apps-search input:focus{outline:none}
.apps-search button{display:flex;color:var(--fg-3)}
.apps-search button:hover{color:#000}

/* applications — cartes (liste) */
.appcard.clickable{cursor:pointer}
.appcard .ac-name{display:flex;align-items:center;gap:10px}
.ac-rate{font-family:var(--font-mono);font-size:11px;color:var(--atl-red);display:inline-flex;align-items:center;gap:3px;font-weight:400}
.ac-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ac-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:0.05em;text-transform:uppercase;color:var(--fg-2);border:1px solid var(--rule-2);padding:3px 8px;display:inline-flex;align-items:center;gap:5px}
.ac-tag.ok{color:var(--ok);border-color:rgba(31,122,58,0.4)}
.ac-tag.muted{color:var(--fg-4)}
.ac-tag.ret{color:var(--fg-3)}
.ac-tag.ret.warn{color:var(--atl-red);border-color:rgba(194,32,50,0.45)}
.appcard .ac-right{justify-content:center}
.ac-open{font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-4);display:inline-flex;align-items:center;gap:5px;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}
.appcard.clickable:hover .ac-open{opacity:1;color:var(--atl-red)}

/* candidatures — sélecteur de catégorie (usine / bureaux), repris de l'accueil */
.divsel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:18px}
.divcard{position:relative;text-align:left;background:#fff;border:1px solid var(--rule-2);padding:16px 18px 15px;cursor:pointer;display:flex;flex-direction:column;gap:4px;overflow:hidden;transition:border-color var(--dur-quick) var(--ease-out)}
.divcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;transition:background var(--dur-quick) var(--ease-out)}
.divcard:hover{border-color:#000}
.divcard.on{border-color:#000}
.divcard.usine.on::before{background:#000}
.divcard.bureaux.on::before{background:var(--atl-red)}
.divcard.autre.on::before{background:var(--fg-3)}
.divcard .dc-top{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-2);display:flex;align-items:center;gap:9px}
.divcard.on .dc-top{color:#000}
.divcard .sq{width:10px;height:10px;flex:none}
.divcard .sq.usine{background:#000}
.divcard .sq.bureaux{background:#fff;border:1px solid #000}
.divcard .sq.autre{background:var(--fg-3)}
.dc-badge{background:var(--atl-red);color:#fff;font-size:9px;letter-spacing:0.04em;padding:2px 6px;margin-left:auto}
.dc-n{font-family:var(--font-display);font-weight:700;font-size:38px;line-height:1;letter-spacing:-0.02em;margin-top:2px}
.dc-sub{font-family:var(--font-sans);font-size:12px;color:var(--fg-3)}

/* ============================ FICHE D'ÉTUDE ============================ */
.appdetail{animation:fadein var(--dur-base) var(--ease-out)}
@keyframes fadein{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.ad-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.ad-back{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-2);display:inline-flex;align-items:center;gap:8px;padding:8px 0}
.ad-back:hover{color:var(--atl-red)}
.ad-bar-acts{display:flex;gap:8px;flex-wrap:wrap}
.ad-act{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--fg-1,#1a1a1a);display:inline-flex;align-items:center;gap:7px;border:1px solid var(--rule-2);background:#fff;padding:8px 13px;cursor:pointer}
.ad-act:hover{border-color:#000}
.ad-act.danger{color:var(--atl-red)}
.ad-act.danger:hover{border-color:var(--atl-red);background:var(--atl-red);color:#fff}

.ad-grid{display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:16px;align-items:start}
.ad-main{background:#fff;border:1px solid var(--rule-2)}
.ad-head{display:flex;gap:18px;align-items:center;padding:24px;border-bottom:1px solid var(--rule-2)}
.ad-av{width:60px;height:60px;font-size:22px;flex:none}
.ad-name{font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:-0.01em;display:flex;align-items:center;gap:12px;flex-wrap:wrap;line-height:1.05}
.ad-for{font-family:var(--font-sans);font-size:13px;color:var(--fg-2);margin-top:6px}
.ad-rate{margin-top:8px}

.ad-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--rule-2)}
.fact{padding:14px 24px;border-right:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);display:block}
.fact:nth-child(2n){border-right:0}
.fact[href]:hover .f-v{color:var(--atl-red)}
.f-k{font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-3);display:flex;align-items:center;gap:6px}
.f-v{font-family:var(--font-sans);font-size:14px;color:var(--fg-1,#1a1a1a);margin-top:5px;display:block;word-break:break-word}
.ad-msg{padding:20px 24px;border-bottom:1px solid var(--rule-2)}
.ad-msg p{font-family:var(--font-sans);font-size:14px;line-height:1.6;color:var(--fg-1,#222);margin:8px 0 0;white-space:pre-wrap}

.ad-doc{padding:18px}
.ad-doc-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.ad-doc-name{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}
.cv-frame{width:100%;height:78vh;min-height:460px;border:1px solid var(--rule-2);background:var(--bg-alt)}
.cv-img{border:1px solid var(--rule-2);background:var(--bg-alt);text-align:center;padding:14px;max-height:78vh;overflow:auto}
.cv-img img{max-width:100%;height:auto}
.cv-txt{border:1px solid var(--rule-2);background:var(--bg-alt);padding:20px;max-height:78vh;overflow:auto;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;white-space:pre-wrap;color:var(--fg-1,#222);margin:0}
.cv-docx{border:1px solid var(--rule-2);background:#fff;padding:34px 40px;max-height:78vh;overflow:auto;font-family:Georgia,'Times New Roman',serif;font-size:14.5px;line-height:1.65;color:#222}
.cv-docx h1,.cv-docx h2,.cv-docx h3{font-family:var(--font-display);font-weight:700;line-height:1.2;margin:1.2em 0 .4em}
.cv-docx p{margin:0 0 .7em}
.cv-docx table{border-collapse:collapse;width:100%;margin:1em 0}
.cv-docx td,.cv-docx th{border:1px solid var(--rule-2);padding:6px 9px;font-size:13px}
.cv-docx img{max-width:100%;height:auto}
.cv-empty{border:1px dashed var(--rule-2);background:var(--bg-alt);padding:48px 24px;text-align:center;color:var(--fg-3);display:flex;flex-direction:column;align-items:center;gap:12px;min-height:300px;justify-content:center}
.cv-empty p{font-family:var(--font-sans);font-size:13px;margin:0;max-width:36ch}
.cv-dl-btn{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#fff;background:#000;padding:10px 16px;display:inline-flex;align-items:center;gap:8px;margin-top:6px}
.cv-dl-btn:hover{background:var(--atl-red)}
.cv-spin{width:26px;height:26px;border:2px solid var(--rule-2);border-top-color:var(--atl-red);border-radius:50%;animation:cvspin .8s linear infinite}
@keyframes cvspin{to{transform:rotate(360deg)}}

/* bandeau de conservation Loi 25 (compte à rebours avant destruction) */
.ret-band{display:flex;gap:11px;align-items:flex-start;padding:13px 24px;border-bottom:1px solid var(--rule-2);border-left:3px solid var(--atl-red);background:rgba(194,32,50,0.04);font-family:var(--font-sans);font-size:12.5px;line-height:1.55;color:var(--fg-2)}
.ret-band > svg{color:var(--atl-red);flex:none;margin-top:1px}
.ret-band strong{color:var(--fg-1,#1a1a1a);font-weight:700}
.ret-band.soon{background:rgba(194,32,50,0.09)}

/* compagnon d'entrevue (barre latérale) */
.ad-side{background:#fff;border:1px solid var(--rule-2);position:sticky;top:16px;align-self:start;max-height:calc(100vh - 32px);overflow:auto}
.ad-side-h{font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#fff;background:#000;padding:14px 18px;display:flex;align-items:center;gap:9px}
.ad-int,.fs-int{font-family:var(--font-mono);font-size:9px;letter-spacing:0.1em;text-transform:uppercase;border:1px solid currentColor;padding:2px 6px;opacity:0.7;margin-left:auto}
.fs-int{margin-left:8px;color:var(--fg-4);opacity:1;vertical-align:middle}
.ev-block{padding:18px;border-bottom:1px solid var(--rule-2)}
.ev-lab{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-3);margin-bottom:12px;display:flex;align-items:center;gap:7px}
.ev-count{background:var(--atl-red);color:#fff;font-size:9px;padding:1px 6px;margin-left:4px}
.ev-hint{font-family:var(--font-sans);font-size:11px;color:var(--fg-4);margin-top:10px;line-height:1.5;font-style:italic}
.ev-saved{padding:12px 18px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ok);display:flex;align-items:center;gap:7px}

/* stepper du pipeline */
.stepper{display:flex;gap:0}
.step{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;padding-top:4px;cursor:pointer}
.step::before{content:"";position:absolute;top:16px;left:-50%;width:100%;height:2px;background:var(--rule-2);z-index:0}
.step:first-child::before{display:none}
.step.done::before{background:#000}
.step-dot{width:26px;height:26px;border:2px solid var(--rule-2);border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;color:var(--fg-3);z-index:1;transition:all var(--dur-quick) var(--ease-out)}
.step.done .step-dot{border-color:#000;background:#000;color:#fff}
.step-lab{font-family:var(--font-mono);font-size:9px;letter-spacing:0.04em;text-transform:uppercase;color:var(--fg-3);text-align:center;line-height:1.2}
.step.cur .step-lab{color:#000;font-weight:700}
.ev-reject{margin-top:16px;width:100%;font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--fg-3);border:1px solid var(--rule-2);padding:9px;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}
.ev-reject:hover{border-color:var(--atl-red);color:var(--atl-red)}
.ev-reject.on{color:var(--ok);border-color:rgba(31,122,58,0.4)}
.ev-reject.on:hover{background:var(--ok);color:#fff;border-color:var(--ok)}

.ev-dt{width:100%;font-family:var(--font-sans);font-size:13px;padding:9px 11px;border:1px solid var(--rule-2);background:#fff;color:var(--fg-1,#222)}
.ev-dt:focus{outline:none;border-color:#000}
.ev-notes{width:100%;min-height:120px;font-family:var(--font-sans);font-size:13px;line-height:1.55;padding:11px;border:1px solid var(--rule-2);resize:vertical;background:#fff}
.ev-notes:focus{outline:none;border-color:#000}

/* étoiles d'appréciation */
.stars{display:flex;gap:4px}
.star{color:var(--rule-2);cursor:pointer;display:flex;transition:color var(--dur-quick) var(--ease-out)}
.star:hover,.star.on{color:var(--atl-red)}

/* puces de traits (sidebar + éditeur de poste) */
.ev-traits{display:flex;flex-wrap:wrap;gap:7px}
.tchip{font-family:var(--font-sans);font-weight:600;font-size:12px;padding:6px 11px;border:1px solid var(--rule-2);background:#fff;color:var(--fg-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1.2;transition:all var(--dur-quick) var(--ease-out)}
.tchip:hover{border-color:#000;color:#000}
.tchip.on{background:#000;border-color:#000;color:#fff}
.tchip.on:hover{background:var(--atl-red);border-color:var(--atl-red)}
.tchip.on button{display:flex;color:rgba(255,255,255,0.7);margin:-2px -4px -2px 2px}
.tchip.on button:hover{color:#fff}
.tchip.ghost{border-style:dashed;color:var(--fg-3);font-weight:400}
.tchip.ghost:hover{border-style:solid;color:#000}

/* éditeur de critères (job editor) */
.fs-help{font-family:var(--font-sans);font-size:12.5px;line-height:1.55;color:var(--fg-2);margin:-6px 0 16px;max-width:64ch}
.traitedit .tchips{display:flex;flex-wrap:wrap;gap:8px;min-height:20px;margin-bottom:14px}
.tc-empty{font-family:var(--font-sans);font-size:12.5px;color:var(--fg-4);font-style:italic}
.tc-add{display:flex;gap:8px;margin-bottom:16px}
.tc-add input{flex:1}
.tc-addbtn{font-family:var(--font-sans);font-weight:700;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:#fff;background:#000;padding:0 16px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap}
.tc-addbtn:disabled{background:var(--rule-2);cursor:default}
.tc-addbtn:not(:disabled):hover{background:var(--atl-red)}
.tc-sugg{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:14px;border-top:1px solid var(--rule-2)}
.tc-sugg-lab{font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-4);margin-right:4px;width:100%}

/* showcase editor */
.sc-section{background:#fff;border:1px solid var(--rule-2);margin-bottom:16px}
.sc-section .sc-head{padding:16px 20px;border-bottom:1px solid var(--rule-2);display:flex;align-items:center;justify-content:space-between}
.sc-section .sc-head .sc-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:18px;letter-spacing:-0.005em}
.sc-section .sc-body{padding:20px}
.sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* toast */
.toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);background:#000;color:#fff;padding:14px 22px;display:flex;align-items:center;gap:14px;z-index:200;border-left:4px solid var(--ok);font-family:var(--font-sans);font-size:14px;box-shadow:var(--shadow-3)}
.toast .tx{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:#A8A8AD}
@keyframes toastin{from{transform:translate(-50%,16px);opacity:0}to{transform:translate(-50%,0);opacity:1}}

/* small confirm */
.confirm-back{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:120;display:flex;align-items:center;justify-content:center;padding:24px}
.confirm{background:#fff;max-width:440px;width:100%;border-top:8px solid var(--atl-red);padding:32px}
.confirm h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:26px;letter-spacing:-0.01em;margin:0 0 12px}
.confirm p{font-family:var(--font-sans);font-size:14px;line-height:1.55;color:var(--fg-2);margin:0 0 24px}
.confirm .cf-acts{display:flex;justify-content:flex-end;gap:12px}

@media (max-width:860px){
  .admin{grid-template-columns:1fr}
  .admin-side{position:static;height:auto;flex-direction:row;align-items:center;overflow-x:auto}
  .admin-nav{flex-direction:row;flex:1;padding:8px}
  .admin-nav .a-item{border-left:0;border-bottom:2px solid transparent;white-space:nowrap}
  .admin-nav .a-item.on{border-left:0;border-bottom-color:var(--atl-red)}
  .admin-side .a-foot,.admin-brand .ab-tag{display:none}
  .kpis{grid-template-columns:repeat(2,1fr)}
}

/* fiche d'étude : la barre latérale passe sous le contenu sur écran étroit */
@media (max-width:1080px){
  .ad-grid{grid-template-columns:1fr}
  .ad-side{position:static;max-height:none}
  .cv-frame,.cv-img,.cv-txt,.cv-docx{max-height:none}
  .cv-frame{height:70vh}
}
@media (max-width:560px){
  .apps-search{min-width:0;width:100%}
  .ad-facts{grid-template-columns:1fr}
  .fact{border-right:0}
  .ad-head{flex-direction:column;align-items:flex-start;text-align:left}
}

/* =========================================================================
   AUDIT — dossier de conformité Loi 25 (écran + impression)
   ========================================================================= */
.audit{max-width:1100px}
.audit-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px 24px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:15px;border-bottom:2px solid var(--fg-1,#26241f)}
.audit-head-l{display:flex;gap:14px;align-items:center;min-width:0}
.audit-logo{height:34px;width:auto;flex:none;display:block}
.audit-head-txt{min-width:0}
.audit-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--atl-red);font-weight:600}
.audit-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:26px;line-height:1.04;letter-spacing:-0.01em;margin:3px 0 4px}
.audit-sub{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);letter-spacing:0.03em;line-height:1.4}
.audit-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.audit-note{display:flex;gap:11px;align-items:flex-start;background:#fdf4e6;border:1px solid #f0d9b0;border-left:3px solid var(--warn);color:#7a5b12;padding:13px 16px;font-family:var(--font-sans);font-size:12.5px;line-height:1.55;margin-bottom:22px}
.audit-note svg{color:var(--warn)}

.audit-kpis{margin-bottom:22px}

.audit-scope{margin-bottom:22px}
.audit-dl{display:grid;grid-template-columns:210px 1fr;margin:0;padding:6px 22px 14px}
.audit-dl dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--fg-3);padding:11px 0;border-bottom:1px solid var(--rule-2)}
.audit-dl dd{font-family:var(--font-sans);font-size:13px;color:var(--fg-1,#26241f);margin:0;padding:11px 0;border-bottom:1px solid var(--rule-2)}
.audit-dl dt:last-of-type,.audit-dl dd:last-of-type{border-bottom:none}

/* point ouvert — hébergement hors Québec */
.audit-gap{background:#fff;border:1px solid var(--rule-2);border-left:4px solid var(--atl-red);padding:20px 24px;margin-bottom:22px}
.audit-gap-h{display:flex;align-items:center;gap:10px;color:var(--atl-red);margin-bottom:12px}
.audit-gap-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:19px;letter-spacing:-0.005em}
.audit-gap-tag{margin-left:auto;font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;border:1px solid var(--atl-red);color:var(--atl-red);padding:4px 9px;white-space:nowrap}
.audit-gap p{font-family:var(--font-sans);font-size:13.5px;line-height:1.6;color:var(--fg-2);margin:0 0 14px}
.audit-gap-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.audit-opt{background:var(--bg-alt);border:1px solid var(--rule-2);padding:14px 16px}
.audit-opt-h{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);font-weight:700;font-size:12.5px;color:var(--fg-1,#26241f);margin-bottom:7px}
.audit-opt p{font-size:12.5px;line-height:1.55;margin:0}
.audit-gap p.audit-gap-concl{display:flex;align-items:flex-start;gap:9px;font-weight:600;font-size:13px;color:var(--ok);margin:0;padding-top:6px;border-top:1px solid var(--rule-2)}
.audit-gap-concl svg{color:var(--ok);flex:none;margin-top:1px}

/* matrice de conformité */
.audit-matrix{margin-bottom:22px}
.audit-legend{display:flex;gap:14px;flex-wrap:wrap}
.audit-leg{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.05em;text-transform:uppercase}
.audit-rows{display:block}
.audit-row{display:grid;grid-template-columns:172px 1fr;gap:22px;padding:17px 22px;border-bottom:1px solid var(--rule-2);align-items:start}
.audit-row:last-child{border-bottom:none}
.audit-stcol{display:flex;flex-direction:column;gap:9px}
.audit-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:0.06em;text-transform:uppercase;font-weight:600;padding:5px 9px;border:1px solid currentColor;width:fit-content;border-radius:2px}
.audit-art{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-3);letter-spacing:0.03em}
.audit-t{font-family:var(--font-sans);font-weight:700;font-size:14px;color:var(--fg-1,#26241f);margin-bottom:5px}
.audit-d{font-family:var(--font-sans);font-size:13px;line-height:1.55;color:var(--fg-2)}
.audit-ev{display:flex;align-items:flex-start;gap:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--fg-3);margin-top:9px;line-height:1.45}
.audit-live{display:inline-flex;align-items:center;gap:5px;margin-top:9px;font-family:var(--font-mono);font-size:10.5px;color:var(--ok);border:1px solid var(--rule-2);background:var(--bg-alt);padding:4px 9px}

/* checklist + signatures */
.audit-block{margin-bottom:22px}
.audit-check{list-style:none;margin:0;padding:8px 22px 16px}
.audit-check li{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule-2);font-family:var(--font-sans);font-size:13px;line-height:1.5;color:var(--fg-2)}
.audit-check li:last-child{border-bottom:none}
.audit-box{width:15px;height:15px;border:1.5px solid var(--fg-3);flex:none;margin-top:2px}
.audit-sign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:18px 22px 24px}
.audit-sig-role{font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--atl-red);font-weight:600;margin-bottom:20px}
.audit-sig-line{border-bottom:1px solid var(--fg-3);height:32px;margin-bottom:16px;position:relative}
.audit-sig-line span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--fg-4);position:absolute;bottom:4px;left:0}
.audit-foot{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-4);letter-spacing:0.03em;line-height:1.5;margin:6px 0 0}

@media (max-width:760px){
  .audit-gap-opts{grid-template-columns:1fr}
  .audit-row{grid-template-columns:1fr;gap:10px}
  .audit-stcol{flex-direction:row;align-items:center;gap:12px}
  .audit-dl{grid-template-columns:1fr}
  .audit-dl dt{border-bottom:none;padding-bottom:0}
  .audit-dl dd{padding-top:3px}
  .audit-sign-grid{grid-template-columns:1fr}
}

/* ── Impression : dossier propre pour soumission / PDF ──────────────────── */
@media print{
  @page{margin:14mm}
  html,body{background:#fff !important}
  .admin{display:block !important;background:#fff !important;min-height:0 !important}
  .admin-side,.admin-top,.no-print,.toast,.confirm-back{display:none !important}
  .admin-main{display:block !important}
  .admin-content{padding:0 !important;overflow:visible !important}
  .audit{max-width:none}
  .audit-title{font-size:25px}
  .kpis{gap:10px}
  /* fidélité des couleurs (badges, KPI, encadrés) */
  .kpi,.panel,.audit-gap,.audit-opt,.audit-badge,.audit-note,.audit-leg,.audit-live,.audit-gap-tag,.dot,.audit-kicker,.audit-sig-role{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  /* pas de coupure au milieu d'un bloc */
  .kpi,.audit-row,.audit-opt,.audit-sig,.audit-gap,.audit-scope,.audit-note,.audit-check li{break-inside:avoid;page-break-inside:avoid}
  .panel,.kpi,.audit-gap{box-shadow:none !important}
  a[href]{color:inherit;text-decoration:none}
}
