/* Challenge du mois (crm.nbtjob.com) : la maquette v2 approuvée, recopiée telle quelle, toutes les classes en nbt-chl-.
   tasks/nbt-crm/plans/challenge-agents/challenge-maquette-v2.html. La puce d'agent reste celle du CRM (nbt-ag, nbt-agents.css). */
.nbt-chl{--red:#C8102E;--red-d:#A50D26;--wash:#FDEEF1;--ink:#14121A;--muted:#6B6875;--line:#E7E5EA;--mist:#FAF9FA;color:var(--ink);font-size:14px;line-height:normal;position:relative}
.nbt-chl,.nbt-chl *{box-sizing:border-box}
.nbt-chl [hidden]{display:none!important}
:where(.nbt-chl) a{color:inherit;text-decoration:none;cursor:pointer}
:where(.nbt-chl) :is(button,input,textarea,select){font:inherit;color:inherit}
:where(.nbt-chl) svg{display:block}
:where(.nbt-chl) :is(h1,h2,h3,h4){line-height:normal;font-weight:700}
:where(.nbt-chl) table{width:100%}
.nbt-chl .nbt-ag.nbt-chl-lg{font-size:15px;gap:8px;padding:3px 12px 3px 4px}.nbt-chl .nbt-ag.nbt-chl-lg i{width:26px;height:26px;font-size:11px}
/* ── Éléments de page (nbt-mtb-*) ── */
.nbt-chl-crumbs{color:var(--muted);font-size:13px}
.nbt-chl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:6px 0 14px;flex-wrap:wrap}
.nbt-chl-head h1{font-size:28px;font-weight:700;margin:0 0 4px;letter-spacing:-.01em}
.nbt-chl-sub{color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.nbt-chl-card{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:16px;min-width:0;overflow:hidden}
.nbt-chl-card h3{margin:0;padding:14px 18px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.nbt-chl-card h3 .nbt-chl-hint{font-weight:400}
.nbt-chl-body{padding:14px 18px}
.nbt-chl-hint{color:var(--muted);font-size:12.5px}
.nbt-chl-pill{display:inline-block;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;white-space:nowrap}
.nbt-chl-pill.nbt-chl-trial{background:#FFF7E6;color:#B45309}
.nbt-chl-pill.nbt-chl-grey{background:#F2F4F7;color:#344054}
.nbt-chl-pill.nbt-chl-new{background:#EFF4FF;color:#1D4ED8;margin-left:6px}
.nbt-chl-lnk{color:var(--red);font-weight:600}.nbt-chl-lnk:hover{text-decoration:underline}
.nbt-chl-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 12px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.nbt-chl-btn.nbt-chl-primary{background:var(--red);border-color:var(--red);color:#fff}.nbt-chl-btn.nbt-chl-primary:hover{background:var(--red-d)}
.nbt-chl-btn.nbt-chl-sm{padding:4px 10px;font-size:12.5px;border-radius:8px}
.nbt-chl-btn:disabled{opacity:.45;cursor:not-allowed}
table.nbt-chl-st2{width:100%;border-collapse:collapse;font-size:13.5px}
.nbt-chl-st2 th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.nbt-chl-st2 td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;vertical-align:middle}
.nbt-chl-st2 th:first-child,.nbt-chl-st2 td:first-child{padding-left:18px}
.nbt-chl-st2 th:last-child,.nbt-chl-st2 td:last-child{padding-right:18px}
.nbt-chl-st2 tr:last-child td{border-bottom:0}
.nbt-chl-st2 .nbt-chl-r,.nbt-chl-st2 .nbt-chl-num{text-align:right}
.nbt-chl-st2 .nbt-chl-num{font-weight:600;white-space:nowrap}
.nbt-chl-s{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.nbt-chl-dash{color:#B0ADB8}
.nbt-chl-tw{overflow-x:auto}
.nbt-chl-bar{height:12px;border-radius:999px;background:#F2F4F7;overflow:hidden;margin:8px 0 6px}
.nbt-chl-bar span{display:block;height:100%;background:var(--red);border-radius:999px}
.nbt-chl-ok{color:#067647;font-weight:700}

/* ── Challenge (préfixe futur : nbt-chl-) ── */
.nbt-chl-win{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 18px;margin-bottom:16px}
.nbt-chl-win-t{font-weight:700}
.nbt-chl-win .nbt-chl-sep{width:1px;height:20px;background:var(--line);margin:0 6px}
.nbt-chl-grow{flex:1}
.nbt-chl-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:start}
.nbt-chl-mp{padding-bottom:16px}
.nbt-chl-big{font-size:44px;font-weight:700;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.nbt-chl-big small{font-size:16px;font-weight:500;color:var(--muted);margin-left:6px;letter-spacing:0}
.nbt-chl-pos{font-size:17px;font-weight:600;margin:12px 0 2px}
.nbt-chl-pos-s{font-size:14px;margin-bottom:8px}
.nbt-chl-mp .nbt-chl-hint{display:block;margin-top:6px}
.nbt-chl-det{border-top:1px solid var(--line)}
.nbt-chl-det .nbt-chl-tot td{font-weight:700;background:#FBFAFB}
.nbt-chl-pod{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;padding:18px 18px 0}
.nbt-chl-pc{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.nbt-chl-pc .nbt-ag{overflow:hidden;text-overflow:ellipsis}
.nbt-chl-pc b{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.nbt-chl-pc small{color:var(--muted);font-size:12px;margin-top:-4px}
.nbt-chl-step{width:100%;border-radius:10px 10px 0 0;background:#F4F3F6;display:flex;justify-content:center;padding-top:8px;font-size:30px;line-height:1}
.nbt-chl-pc.nbt-chl-p1 .nbt-chl-step{height:92px}.nbt-chl-pc.nbt-chl-p2 .nbt-chl-step{height:68px}.nbt-chl-pc.nbt-chl-p3 .nbt-chl-step{height:50px}
.nbt-chl-pc.nbt-chl-me .nbt-chl-step{background:var(--wash)}
.nbt-chl-you{font-size:11px;font-weight:700;color:var(--red-d);background:var(--wash);border-radius:999px;padding:1px 8px}
.nbt-chl-podfoot{border-top:1px solid var(--line);padding:12px 18px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.nbt-chl-gs{border-bottom:1px solid var(--line)}
.nbt-chl-gs:last-child{border-bottom:0}
.nbt-chl-gh{padding:14px 18px 4px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.nbt-chl-gh b{font-size:14.5px}
.nbt-chl-rules{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:16px}
.nbt-chl-rules summary{padding:14px 18px;font-weight:700;font-size:15px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px}
.nbt-chl-rules summary::-webkit-details-marker{display:none}
.nbt-chl-rules summary::after{content:"Afficher";font-weight:600;font-size:13px;color:var(--red)}
.nbt-chl-rules[open] summary::after{content:"Masquer"}
.nbt-chl-rules[open] summary{border-bottom:1px solid var(--line)}
.nbt-chl-rules .nbt-chl-rb{padding:6px 18px 14px;font-size:13.5px;line-height:1.5}
.nbt-chl-rules h4{margin:12px 0 4px;font-size:13.5px}
.nbt-chl-rules ul{margin:0;padding-left:18px}
.nbt-chl-rules li{margin:3px 0}
.nbt-chl-rules p{margin:10px 0 0}
.nbt-chl-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.nbt-chl-rank tbody tr{cursor:pointer}
.nbt-chl-rank tbody tr:hover td{background:#FBFAFB}
.nbt-chl-rank .nbt-chl-rk{font-size:18px;width:56px}
.nbt-chl-rank .nbt-chl-rk.nbt-chl-n{font-size:14px;color:var(--muted);padding-left:24px}
.nbt-chl-flag{display:inline-block;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;background:#FFF7E6;color:#B45309;white-space:nowrap}
.nbt-chl-det-btn{border:0;background:none;padding:0;color:var(--red);font-weight:600;cursor:pointer;white-space:nowrap}
.nbt-chl-det-btn:hover{text-decoration:underline}
.nbt-chl-cl-row{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:8px 0}
.nbt-chl-cl-row .nbt-chl-t{font-weight:600;min-width:170px}
.nbt-chl-cl-note{display:block;margin:-4px 0 4px}
.nbt-chl-cl-ok{background:#ECFDF3;border:1px solid #ABEFC6;color:#067647;border-radius:10px;padding:10px 12px;font-size:13.5px;margin-top:12px}
.nbt-chl-cl-no{background:#F4F3F6;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13.5px;margin-top:12px;line-height:1.45}
.nbt-chl-cl-act{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.nbt-chl-cl-sig{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;background:#FFFBF2;border:1px solid #FEDF89;border-radius:10px;padding:8px 12px;margin-top:8px;font-size:13.5px}
.nbt-chl-rl{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:-4px 0 16px;font-size:13.5px}

/* v2 : message de la direction, minimum (une pastille par RDV), trait du minimum d'équipe */
.nbt-chl-msg{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:14px;padding:14px 18px;margin-bottom:16px}
.nbt-chl-msg-t{display:flex;gap:10px;font-size:15.5px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.nbt-chl-msg-by{margin:2px 0 0 30px}
.nbt-chl-msg-f{display:flex;flex-wrap:wrap;gap:6px 24px;border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:13.5px}
.nbt-chl-msg-f:first-child{border-top:0;margin-top:0;padding-top:0}
.nbt-chl-min{border-top:1px solid var(--line);margin:14px 0 4px;padding-top:12px}
.nbt-chl-min-t{font-weight:600}
.nbt-chl-pips{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.nbt-chl-pips i{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink);flex:none}
.nbt-chl-pips i.nbt-chl-on{background:var(--ink)}
.nbt-chl-pips b{margin-left:6px;font-variant-numeric:tabular-nums}
.nbt-chl-tbar{position:relative;margin:24px 0 6px}
.nbt-chl-tbar .nbt-chl-bar{margin:0}
.nbt-chl-tick{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--ink);font-style:normal}
.nbt-chl-tick b{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:11.5px;line-height:1;padding-bottom:3px}
.nbt-chl-goal-l{margin:6px 0 4px;font-size:13.5px}
.nbt-chl-sig{background:#FFFBF2;border:1px solid #FEDF89;border-radius:12px;padding:12px 14px;margin:16px 0 6px}
.nbt-chl-sig h4{margin:0 0 2px;font-size:14px}
.nbt-chl-sig-i{padding-top:10px;border-top:1px solid #FEF0C7;margin-top:10px;font-size:13.5px;line-height:1.45}
.nbt-chl-sig-i b{display:block;margin-bottom:2px}
.nbt-chl-sig-a{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:4px}
.nbt-chl-seen{color:#067647;font-size:12.5px;font-weight:600;white-space:nowrap}
.nbt-chl-cc-min{margin:6px 0 0;font-size:13.5px}

/* Tableau de bord + carte + bandeau */
.nbt-chl-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.nbt-chl-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.nbt-chl-kpi small{display:block;color:var(--muted);font-size:12.5px}
.nbt-chl-kpi b{display:block;font-size:26px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}
.nbt-chl-kpi.nbt-chl-bad b{color:#B42318}
.nbt-chl-goal{padding:16px 18px}
.nbt-chl-goal .nbt-chl-tr{height:12px;border-radius:999px;background:#F2F4F7;overflow:hidden;margin:8px 0 4px}
.nbt-chl-goal .nbt-chl-tr span{display:block;height:100%;background:#0E9384}
.nbt-chl-cc-l1{font-size:15px;line-height:1.4}
.nbt-chl-cc-l1 b{font-size:22px;font-weight:700}
.nbt-chl-cc-pod{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:12px 0}
.nbt-chl-cc-next{border-top:1px solid var(--line);padding-top:12px;margin-bottom:10px}
.nbt-chl-banner{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;background:var(--wash);color:var(--red-d);border:1px solid #F5C2CC;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:14px}
.nbt-chl-banner .nbt-chl-bt{flex:1;min-width:240px;line-height:1.45}
.nbt-chl-banner.nbt-chl-calm{background:#fff;color:var(--ink);border-color:var(--line)}
.nbt-chl-bx{border:0;background:none;color:var(--red-d);cursor:pointer;font-size:15px;padding:2px 4px}
.nbt-chl-banner.nbt-chl-calm .nbt-chl-bx{color:var(--muted)}

/* Tiroir — nbt-rdv-drawer */
.nbt-chl-ov{position:fixed;inset:0;background:rgba(20,18,26,.28);z-index:70}
.nbt-chl-drawer{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:92vw;background:#fff;z-index:71;box-shadow:-20px 0 50px rgba(20,18,26,.15);display:flex;flex-direction:column}
.nbt-chl-dw-h{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.nbt-chl-dw-h h2{margin:0 0 8px;font-size:19px;font-weight:700}
.nbt-chl-dw-h .nbt-chl-l2{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.nbt-chl-dw-h .nbt-chl-l3{margin-top:8px}
.nbt-chl-x{border:1px solid var(--line);background:#fff;border-radius:8px;width:32px;height:32px;cursor:pointer;flex:0 0 32px}
.nbt-chl-dw-b{padding:0 20px 24px;overflow:auto;flex:1}
.nbt-chl-ev{list-style:none;margin:0;padding:0}
.nbt-chl-ev li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.nbt-chl-ev .nbt-chl-d{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums;line-height:1.35}
.nbt-chl-ev .nbt-chl-nm{display:flex;align-items:center;gap:6px;font-weight:600}
.nbt-chl-ev .nbt-chl-lk{color:#98A2B3;display:inline-flex}.nbt-chl-ev .nbt-chl-lk:hover{color:var(--red)}
.nbt-chl-ev .nbt-chl-lk svg{width:15px;height:15px}
.nbt-chl-ev .nbt-chl-what{color:#3b3843;margin-top:2px}
.nbt-chl-ev .nbt-chl-pt{font-weight:700;font-variant-numeric:tabular-nums}
.nbt-chl-ev li.nbt-chl-fl{background:#FFFBF2;margin:0 -20px;padding-left:20px;padding-right:20px}
.nbt-chl-ev .nbt-chl-why{margin-top:6px;color:#78350f;font-size:12.5px;display:flex;gap:6px;align-items:flex-start}
.nbt-chl-ev .nbt-chl-why .nbt-chl-flag{flex:none}
.nbt-chl-dw-f{padding:12px 20px;border-top:1px solid var(--line)}

/* ── Paramètres › Challenge (nbt-param-*, nbt-ptabs, nbt-rule, nbt-tgl du CRM) ── */
.nbt-chl-ptabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 16px;overflow-x:auto;scrollbar-width:none}
.nbt-chl-ptabs button{border:0;background:none;padding:10px 12px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;font-size:14px;white-space:nowrap}
.nbt-chl-ptabs button.nbt-chl-on{color:var(--red);border-bottom-color:var(--red);font-weight:600}
.nbt-chl-lock{background:#fff;border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:14px;padding:14px 18px;margin-bottom:10px;line-height:1.55}
.nbt-chl-lock div{margin-top:4px}
.nbt-chl-perm{margin:0 0 16px 2px}
.nbt-chl-p-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.nbt-chl-rule{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.nbt-chl-rule:first-child,.nbt-chl-sec+.nbt-chl-rule{border-top:0}
.nbt-chl-rule .nbt-chl-hint{display:block;margin-top:2px}
.nbt-chl-rule .nbt-chl-hint.nbt-chl-il{display:inline;margin:0 0 0 6px}
.nbt-chl-rule input[type=number]{width:74px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;text-align:right;background:#fff;font:inherit}
.nbt-chl-u{display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
.nbt-chl-sec{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:16px 0 0;border-top:1px solid var(--line)}
.nbt-chl-sec:first-child{border-top:0;padding-top:0}
.nbt-chl-nc{display:block;padding:0 0 12px}
.nbt-chl-tgl{position:relative;width:38px;height:22px;border-radius:999px;background:#D0D5DD;border:0;cursor:pointer;flex:none;padding:0}
.nbt-chl-tgl::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.nbt-chl-tgl.nbt-chl-on{background:#15803D}
.nbt-chl-tgl.nbt-chl-on::after{transform:translateX(16px)}
.nbt-chl-tgl:disabled{opacity:.5;cursor:not-allowed}
@media (prefers-reduced-motion:reduce){.nbt-chl-tgl::after{transition:none}}
.nbt-chl-now{display:inline-block;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:600;background:#EFF4FF;color:#1D4ED8;white-space:nowrap;vertical-align:1px}
.nbt-chl-was{display:block;color:#B45309;font-size:12px;font-weight:500;margin-top:2px}
.nbt-chl-save{display:flex;justify-content:flex-end;padding-top:12px;margin-top:4px;border-top:1px solid var(--line)}
.nbt-chl-fld{display:block;width:100%;border:1px solid #D0D5DD;border-radius:8px;padding:8px 10px;font:inherit;background:#fff;color:inherit}
textarea.nbt-chl-fld{min-height:84px;resize:vertical;line-height:1.45}
.nbt-chl-lbl{display:flex;justify-content:space-between;gap:8px;align-items:center;font-weight:600;margin:14px 0 6px}
.nbt-chl-lbl:first-child{margin-top:0}
.nbt-chl-sb{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px}
.nbt-chl-prev{background:var(--mist);border:1px dashed #C4C2CB;border-radius:12px;padding:12px;margin-top:16px}
.nbt-chl-prev-h{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.nbt-chl-prev .nbt-chl-msg{margin:0}
.nbt-chl-radio{display:flex;gap:8px;align-items:flex-start;margin-top:8px;cursor:pointer;font-weight:400}
.nbt-chl-radio input{margin:2px 0 0;accent-color:var(--red)}
.nbt-chl-helper{background:#F4F3F6;border-radius:10px;padding:10px 12px;margin:4px 0 12px;font-size:13.5px;line-height:1.5}
.nbt-chl-sw3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nbt-chl-swc .nbt-chl-hint{display:block;margin-top:6px;line-height:1.45}
.nbt-chl-swc .nbt-chl-st{display:block;margin-top:6px;font-size:12.5px;font-weight:600;color:#B45309}
.nbt-chl-hist td{vertical-align:top;line-height:1.45}
.nbt-chl-dlg-ov{position:fixed;inset:0;background:rgba(20,18,26,.42);z-index:80;display:flex;justify-content:center;align-items:flex-start;padding:72px 16px;overflow:auto}
.nbt-chl-dlg{width:500px;max-width:100%;background:#fff;border-radius:16px;box-shadow:0 30px 70px rgba(20,18,26,.3)}
.nbt-chl-dlg-h{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center}
.nbt-chl-dlg-h h2{margin:0;font-size:17px}
.nbt-chl-dlg-b{padding:14px 20px 16px;font-size:13.5px;line-height:1.5}
.nbt-chl-dlg-b p{margin:0}
.nbt-chl-dlg-b > .nbt-chl-hint{display:block;margin-top:10px}
.nbt-chl-dlg-f{padding:12px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

/* ── v3 : modes, groupes, objectifs perso (challenge-maquette-v3.html) ── */
.nbt-chl-bar.nbt-chl-bar-blue span{background:#1D4ED8}
.nbt-chl-solo{display:flex;gap:10px;align-items:flex-start;background:#EFF4FF;border:1px solid #C7D7FE;color:#1E3A8A;border-radius:12px;padding:12px 16px;margin-bottom:16px;line-height:1.45}
.nbt-chl-hero{padding:20px 18px}
.nbt-chl-hero .nbt-chl-bigt{font-size:52px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.nbt-chl-hero .nbt-chl-bigt small{font-size:20px;font-weight:500;color:var(--muted)}
.nbt-chl-hero .nbt-chl-bar{height:16px;margin:14px 0 8px}
.nbt-chl-reward{display:flex;gap:10px;align-items:center;background:#ECFDF3;border:1px solid #ABEFC6;color:#067647;border-radius:12px;padding:10px 14px;margin-top:12px;font-weight:600}
.nbt-chl-reward.nbt-chl-todo{background:#F4F3F6;border-color:var(--line);color:#3b3843;font-weight:500}
.nbt-chl-hist3{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.nbt-chl-hist3 span{background:#F4F3F6;border-radius:8px;padding:4px 8px;font-size:12.5px}
.nbt-chl-hist3 span.nbt-chl-ok{background:#ECFDF3;color:#067647}
.nbt-chl-vs{padding:16px 18px}
.nbt-chl-vs-row{display:grid;grid-template-columns:130px minmax(0,1fr) 90px;gap:10px;align-items:center;margin:8px 0}
.nbt-chl-vs-row .nbt-chl-bar{margin:0}
.nbt-chl-vs-row .nbt-chl-bar span{background:var(--ink)}
.nbt-chl-vs-row.nbt-chl-lead .nbt-chl-bar span{background:var(--red)}
.nbt-chl-vs-row b{text-align:right;font-variant-numeric:tabular-nums}
.nbt-chl-flt{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.nbt-chl-flt button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font-size:13px}
.nbt-chl-flt button.nbt-chl-on{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}
.nbt-chl-mybox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid #1D4ED8;border-radius:14px;padding:14px 18px;margin-bottom:16px}
.nbt-chl-mybox .nbt-chl-bar{margin:6px 0 0}
.nbt-chl-minibar{width:140px;height:8px;border-radius:999px;background:#F2F4F7;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:8px}
.nbt-chl-minibar span{display:block;height:100%;background:#1D4ED8}
.nbt-chl-minibar.nbt-chl-done span{background:#067647}
.nbt-chl-rank .nbt-chl-minibar{width:64px;margin-right:6px}
.nbt-chl-rank td{white-space:nowrap}
.nbt-chl-rank th{white-space:normal;vertical-align:bottom}
.nbt-chl-mode{display:inline-block;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:600;white-space:nowrap}
.nbt-chl-mode.nbt-chl-chl-m{background:#FDEEF1;color:var(--red-d)}.nbt-chl-mode.nbt-chl-solo-m{background:#EFF4FF;color:#1D4ED8}
.nbt-chl-sig.nbt-chl-sig-blue{background:#EFF4FF;border-color:#C7D7FE}
@media (max-width:640px){.nbt-chl-vs-row{grid-template-columns:96px minmax(0,1fr) 64px}.nbt-chl-hero .nbt-chl-bigt{font-size:42px}.nbt-chl-mybox{grid-template-columns:minmax(0,1fr)}.nbt-chl-minibar{width:80px}}

@media (max-width:1100px){
  .nbt-chl-grid,.nbt-chl-two,.nbt-chl-p-grid,.nbt-chl-sw3{grid-template-columns:minmax(0,1fr)}
  .nbt-chl-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .nbt-chl-head h1{font-size:24px}
  .nbt-chl-big{font-size:38px}
  .nbt-chl-pod{padding:16px 12px 0;gap:6px}
  .nbt-chl-pc .nbt-ag{font-size:11.5px;padding-right:6px}
  .nbt-chl-tw > table{min-width:720px}
  .nbt-chl-ev li{grid-template-columns:52px minmax(0,1fr) auto}
  .nbt-chl-cl-row .nbt-chl-t{min-width:0}
}

/* Annonce « Agente du mois » (fenêtre, maquette v2) */
.nbt-chl-mod-ov{position:fixed;inset:0;background:rgba(20,18,26,.42);z-index:80;display:flex;justify-content:center;align-items:flex-start;padding:70px 16px;overflow:auto}
.nbt-chl-mod{width:480px;max-width:100%;background:#fff;border-radius:16px;box-shadow:0 30px 70px rgba(20,18,26,.3);padding:26px 24px 20px;text-align:center}
.nbt-chl-mod .nbt-chl-tro{font-size:44px;line-height:1}
.nbt-chl-mod h2{margin:10px 0 2px;font-size:22px;font-weight:700}
.nbt-chl-mod .nbt-chl-who{margin:12px 0 6px;display:flex;justify-content:center}
.nbt-chl-mod .nbt-chl-num{font-weight:600}
.nbt-chl-mod .nbt-chl-hr{border-top:1px solid var(--line);margin:18px 0}
.nbt-chl-mod p{margin:16px 0 0;line-height:1.5}
.nbt-chl-mod p.nbt-chl-why{margin-top:10px;color:#3b3843}
.nbt-chl-mod .nbt-chl-acts{display:flex;gap:8px;justify-content:center;margin-top:20px;flex-wrap:wrap}

/* Mode sombre : les cartes prennent la teinte des autres écrans (nbt-agents.css). */
.dark .nbt-chl{--ink:var(--gray-100);--muted:var(--gray-400);--line:rgb(255 255 255 / .1);--mist:var(--gray-900);--wash:rgb(200 16 46 / .18)}
.dark .nbt-chl-card,.dark .nbt-chl-win,.dark .nbt-chl-msg,.dark .nbt-chl-rules,.dark .nbt-chl-lock,.dark .nbt-chl-kpi,.dark .nbt-chl-dlg,.dark .nbt-chl-drawer,.dark .nbt-chl-mod{background:var(--gray-900);color:var(--gray-100)}
.dark .nbt-chl-btn,.dark .nbt-chl-fld,.dark .nbt-chl-rule input[type=number]{background:var(--gray-800);color:var(--gray-100)}
.dark .nbt-chl-btn.nbt-chl-primary{background:var(--red);color:#fff}
.dark .nbt-chl-st2 .nbt-chl-tot td,.dark .nbt-chl-rank tbody tr:hover td{background:rgb(255 255 255 / .04)}
.dark .nbt-chl-step{background:rgb(255 255 255 / .08)}
.dark .nbt-chl-pips i{border-color:var(--gray-100)}.dark .nbt-chl-pips i.nbt-chl-on{background:var(--gray-100)}
.dark .nbt-chl-tick{background:var(--gray-100)}
.dark .nbt-chl-bar{background:rgb(255 255 255 / .12)}
.dark .nbt-chl-sig,.dark .nbt-chl-cl-sig,.dark .nbt-chl-ev li.nbt-chl-fl{background:rgb(254 223 137 / .08);border-color:rgb(254 223 137 / .3)}
/* ── Paramètres › Challenge v3 : qui fait quoi, format, personnes ── */
.nbt-chl-acc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}
.nbt-chl-who{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.nbt-chl-lockline{display:flex;gap:8px;align-items:center;background:#F4F3F6;border-radius:10px;padding:10px 12px;margin-top:8px}
.nbt-chl-fmt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nbt-chl-fmt label{border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;display:block}
.nbt-chl-fmt label.nbt-chl-on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.nbt-chl-fmt input{margin:0 6px 0 0}
.nbt-chl-ill{font-size:22px;letter-spacing:2px;margin:8px 0 4px}
.nbt-chl-fmt .nbt-chl-hint{display:block;line-height:1.4}
.nbt-chl-gnames{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center}
.nbt-chl-gnames label{display:flex;gap:6px;align-items:center;font-weight:600}
.nbt-chl-gnames input,.nbt-chl-ptab select,.nbt-chl-ptab input{border:1px solid #D0D5DD;border-radius:8px;padding:5px 8px;font:inherit;font-size:13px;background:#fff}
.nbt-chl-gnames input{width:150px}
.nbt-chl-ptab td{vertical-align:top}
.nbt-chl-ptab input.nbt-chl-n{width:70px;text-align:right}
.nbt-chl-ptab input.nbt-chl-rw{width:170px}
.nbt-chl-tg{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.nbt-chl-s{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.nbt-chl-dash{color:#B0ADB8}
.nbt-chl-seg3{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.nbt-chl-seg3 button{border:0;border-left:1px solid var(--line);background:#fff;padding:6px 10px;font-size:12.5px;cursor:pointer;white-space:nowrap}
.nbt-chl-seg3 button:first-child{border-left:0}
.nbt-chl-seg3 button.nbt-chl-on{background:var(--ink);color:#fff;font-weight:600}
.nbt-chl-seg3 button:disabled{opacity:.45;cursor:not-allowed}
.nbt-chl-warn{display:block;background:#FFFBF2;border:1px solid #FEDF89;border-radius:8px;padding:6px 9px;margin-top:6px;font-size:12.5px;color:#78350f;line-height:1.4;max-width:420px}
@media (max-width:1100px){.nbt-chl-fmt,.nbt-chl-acc{grid-template-columns:minmax(0,1fr)}}
.dark .nbt-chl-seg3,.dark .nbt-chl-seg3 button,.dark .nbt-chl-ptab select,.dark .nbt-chl-ptab input,.dark .nbt-chl-gnames input{background:var(--gray-800);color:var(--gray-100)}
.dark .nbt-chl-lockline{background:var(--gray-800)}
