/* ===== Playbook SAYCO — lot 1 (consultation) ============================== */
.pb-wrap{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:980px){.pb-wrap{grid-template-columns:1fr}}

.pb-ic{width:16px;height:16px;flex:none;vertical-align:-3px}
.pb-ic-sm{width:13px;height:13px;flex:none;vertical-align:-2px}
.pb-ic-lg{width:20px;height:20px;flex:none;vertical-align:-3px}

/* --- rail --- */
.pb-rail{background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);border-radius:12px;padding:14px 12px;position:sticky;top:12px}
.pb-rail-h{display:block;width:100%;text-align:left;border:0;background:transparent;padding:0;
  font-family:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.07em;
  color:var(--ink3,#8A93A3);font-weight:700;margin-bottom:4px;cursor:pointer}
.pb-rail-h:hover{color:var(--ink2,#5B6474)}
.pb-rail-hint{font-size:11.5px;color:var(--ink3,#8A93A3);margin:0 0 12px;line-height:1.45}
.pb-bloc{border:1px solid var(--line,#E5E7EB);border-radius:10px;margin-bottom:8px;overflow:hidden;background:var(--surface,#fff)}
.pb-bloc-h{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;cursor:pointer;border-left:3px solid transparent}
.pb-bloc-h:hover{background:var(--surface2,#F7F8FA)}
.pb-bloc-ic{display:flex;padding-top:1px}
.pb-bloc-b{flex:1;min-width:0}
.pb-bloc-t{font-size:12.5px;font-weight:700;color:var(--ink,#1F2533)}
.pb-bloc-m{font-size:10.5px;color:var(--ink3,#8A93A3);margin-top:2px}
.pb-exp{border:0;background:transparent;color:var(--ink3,#8A93A3);cursor:pointer;font-size:11px;padding:1px 5px;border-radius:6px;line-height:1.4}
.pb-exp:hover{background:var(--line,#E5E7EB)}
.pb-bloc.open .pb-exp{transform:rotate(180deg)}
.pb-gestes{display:none;border-top:1px dashed var(--line,#E5E7EB);padding:5px 8px 7px}
.pb-bloc.open .pb-gestes{display:block}
.pb-geste{display:flex;gap:7px;align-items:flex-start;padding:5px 6px;border-radius:7px;cursor:pointer}
.pb-geste:hover{background:var(--surface2,#F7F8FA)}
.pb-geste-ic{color:var(--ink3,#8A93A3);padding-top:2px;display:flex}
.pb-geste-b{flex:1;min-width:0}
.pb-geste-t{font-size:11.5px;font-weight:600;color:var(--ink,#1F2533);line-height:1.3}
.pb-geste-m{font-size:10px;color:var(--ink3,#8A93A3);margin-top:2px;display:flex;gap:5px;flex-wrap:wrap;align-items:center}

/* --- badges --- */
.pb-badge{display:inline-block;font-size:9.5px;font-weight:700;padding:0 5px;border-radius:5px;white-space:nowrap;line-height:1.55}
.pb-ok{background:rgba(0,131,0,.12);color:#0B6B2E;border:1px solid rgba(0,131,0,.35)}
.pb-part{background:rgba(235,104,52,.13);color:#9A4014;border:1px solid rgba(235,104,52,.38)}
.pb-todo{background:rgba(237,161,0,.16);color:#8A5B00;border:1px solid rgba(237,161,0,.4)}
.pb-new{background:rgba(42,120,214,.12);color:#1B4E8C;border:1px dashed rgba(42,120,214,.5)}
.pb-fmt{background:var(--surface2,#F7F8FA);color:var(--ink2,#5B6474);border:1px solid var(--line,#E5E7EB)}

/* --- panneau --- */
.pb-panel{background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);border-radius:12px;min-height:420px}
.pb-head{padding:16px 20px 14px;border-bottom:1px solid var(--line,#E5E7EB)}
.pb-crumb{font-size:11px;color:var(--ink3,#8A93A3);margin-bottom:6px}
.pb-back{border:0;background:transparent;color:var(--ink2,#5B6474);text-decoration:underline;font-size:11px;cursor:pointer;padding:0}
.pb-home{border:0;background:transparent;color:var(--ink2,#5B6474);font-family:inherit;font-size:11px;
  font-weight:600;cursor:pointer;padding:0}
.pb-home:hover{color:var(--ink,#1F2533);text-decoration:underline}
.pb-cat{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3,#8A93A3)}
.pb-dot{width:9px;height:9px;border-radius:3px;flex:none}
.pb-head h2{font-size:19px;font-weight:700;letter-spacing:-.015em;margin:7px 0 9px;color:var(--ink,#1F2533)}
.pb-pills{display:flex;gap:7px;flex-wrap:wrap}
.pb-pill{font-size:11px;padding:2px 9px;border-radius:20px;background:var(--surface2,#F7F8FA);color:var(--ink2,#5B6474);border:1px solid var(--line,#E5E7EB)}
.pb-pill.pb-ok{border-color:rgba(0,131,0,.45)}
.pb-pill.pb-part{border-color:rgba(235,104,52,.5)}
.pb-pill.pb-todo{border-color:rgba(237,161,0,.5)}
/* Le responsable est l'information qu'on cherche en premier sur une fiche :
   « c'est a qui, ce geste ? ». Il passe en tete et se distingue des autres. */
.pb-badge.pb-resp{background:var(--accent-soft,#E3FFF8);border:1px solid var(--accent,#00FFC9);
  color:var(--accent-ink,#067A5E)}
.pb-pill.pb-resp{background:var(--accent-soft,#E3FFF8);border-color:var(--accent,#00FFC9);
  color:var(--accent-ink,#067A5E);font-weight:600}
.pb-body{padding:16px 20px 28px}
.pb-sec{margin-bottom:18px}
.pb-sec h4{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3,#8A93A3);font-weight:700;margin:0 0 6px}
.pb-sec p{font-size:13px;color:var(--ink,#1F2533);margin:0;line-height:1.5}
/* Une ligne vide dans le texte ouvre un vrai paragraphe : l'ecart devient le
   meme partout, au lieu de dependre du nombre de <br> saisis. */
.pb-sec p + p{margin-top:9px}
.pb-encadre p{margin:0}
.pb-encadre p + p{margin-top:8px}
.pb-sec ul,.pb-sec ol{padding-left:19px;font-size:12.5px;color:var(--ink,#1F2533);margin:0;line-height:1.5}
.pb-sec li{margin-bottom:3px}
.pb-grp{font-size:12px;font-weight:700;margin:9px 0 3px;color:var(--ink,#1F2533)}
/* Liste sans marqueur : ni puce ni numero. On garde la balise de liste — c'est
   bien une liste pour qui la lit à la voix — on retire seulement la marque. */
.pb-sec ul.pb-nomark,.pb-sec ol.pb-nomark{list-style:none;padding-left:0}
/* Sous-titre au milieu d'une liste : ni puce ni numero, et il ne consomme pas
   de numero. Moins fort que le titre de groupe, plus fort qu'une etape. */
.pb-lih{font-size:12.5px;font-weight:600;color:var(--ink,#1F2533);margin:9px 0 4px}
.pb-lih:first-child{margin-top:0}
.pb-vide{font-size:12.5px;color:var(--ink2,#5B6474);background:rgba(237,161,0,.09);border:1px dashed rgba(237,161,0,.45);border-radius:8px;padding:9px 11px}
.pb-encadre{font-size:12.5px;color:var(--ink,#1F2533);background:rgba(42,120,214,.07);border:1px solid rgba(42,120,214,.35);border-left-width:3px;border-radius:8px;padding:10px 12px;line-height:1.5;width:fit-content;max-width:100%}
.pb-kpis{display:flex;flex-direction:column;gap:5px}
.pb-kpi{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink,#1F2533)}
.pb-rk{flex:none;font-size:10px;font-weight:800;padding:1px 6px;border-radius:5px;background:var(--surface2,#F7F8FA);border:1px solid var(--line,#E5E7EB);color:var(--ink2,#5B6474);margin-top:1px}

/* --- liste des gestes dans la fiche bloc --- */
.pb-gl{border:1px solid var(--line,#E5E7EB);border-radius:10px;overflow:hidden}
.pb-gl-row{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--line,#E5E7EB)}
.pb-gl-row:last-child{border-bottom:0}
.pb-gl-row:hover{background:var(--surface2,#F7F8FA)}
.pb-gl-n{font-size:10.5px;font-weight:800;color:var(--ink3,#8A93A3);padding-top:2px;font-variant-numeric:tabular-nums}
.pb-gl-b{flex:1;min-width:0}
.pb-gl-h{font-size:12.5px;font-weight:700;color:var(--ink,#1F2533)}
.pb-gl-s{font-size:11.5px;color:var(--ink2,#5B6474);margin-top:2px;line-height:1.45}
.pb-gl-badges{margin-top:5px;display:flex;gap:5px;flex-wrap:wrap}
.pb-gl-go{color:var(--ink3,#8A93A3);font-size:15px;padding-top:1px}

/* --- écran d'accueil du panneau --- */
.pb-ph{padding:34px 28px;max-width:560px}
.pb-ph h3{font-size:17px;font-weight:700;margin:0 0 10px;color:var(--ink,#1F2533)}
.pb-ph p{font-size:13px;color:var(--ink2,#5B6474);margin:0 0 9px;line-height:1.55}
.pb-ph-hint{color:var(--ink3,#8A93A3) !important;font-size:12px !important;margin-top:16px !important}
.pb-empty{padding:34px 24px;color:var(--ink3,#8A93A3);font-size:13px;text-align:center}

/* ===== Éditeur (lot 2) =================================================== */
/* En-tête d'édition : le titre à gauche, Enregistrer à droite, collé en haut au défilement */
.pb-ehead{position:sticky;top:0;z-index:20;display:flex;align-items:flex-end;gap:14px;
  background:var(--surface,#fff);border-radius:12px 12px 0 0}
.pb-ehead-t{flex:1;min-width:0}
.pb-ehead-t h2{margin-bottom:0}
.pb-ehead-a{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-bottom:2px}
@media (max-width:720px){.pb-ehead{flex-wrap:wrap;align-items:flex-start}.pb-ehead-a{width:100%}}
.pb-head-act{margin-top:11px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pb-maj{font-size:11px;color:var(--ink3,#8A93A3)}
.pb-btn{border:0;background:var(--ink,#1F2533);color:#fff;font-size:12.5px;font-weight:700;padding:8px 15px;border-radius:8px;cursor:pointer}
.pb-btn:disabled{opacity:.55;cursor:default}
.pb-btn2{border:1px solid var(--line,#E5E7EB);background:var(--surface,#fff);color:var(--ink,#1F2533);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:8px;cursor:pointer}
.pb-btn2:hover{background:var(--surface2,#F7F8FA)}
.pb-mini{border:1px solid var(--line,#E5E7EB);background:var(--surface,#fff);color:var(--ink2,#5B6474);font-size:12px;width:26px;height:26px;border-radius:7px;cursor:pointer;flex:none;line-height:1}
.pb-mini:hover{background:var(--surface2,#F7F8FA)}
.pb-del:hover{background:#FDECEC;color:#C12B33;border-color:#F0B9B9}
.pb-hint{font-size:11.5px;color:var(--ink3,#8A93A3)}

/* Aide a la mise en forme : repliee par defaut, elle ne prend la place que quand
   on la demande. Une seule reference, au lieu d'une ligne differente par type. */
.pb-aide{margin:0 0 14px;border:1px solid var(--line,#E5E7EB);border-radius:10px;
  background:var(--surface2,#F7F8FA);overflow:hidden}
.pb-aide summary{cursor:pointer;padding:9px 13px;font-size:12px;font-weight:600;
  color:var(--ink2,#5B6474);list-style:none}
.pb-aide summary::-webkit-details-marker{display:none}
.pb-aide summary::before{content:"▸";display:inline-block;width:14px;color:var(--ink3,#8A93A3)}
.pb-aide[open] summary::before{content:"▾"}
.pb-aide summary:hover{color:var(--ink,#1F2533)}
.pb-aide-p{margin:0;padding:0 13px 9px;font-size:12px;line-height:1.5;color:var(--ink2,#5B6474)}
.pb-aide-t{width:100%;border-collapse:collapse;font-size:12px}
.pb-aide-t th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--ink3,#8A93A3);font-weight:700;padding:6px 13px;border-top:1px solid var(--line,#E5E7EB)}
.pb-aide-t td{padding:6px 13px;border-top:1px solid var(--line2,#EEF0F3);
  color:var(--ink,#1F2533);vertical-align:top;line-height:1.45}
.pb-aide-t code{background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);
  border-radius:5px;padding:1px 5px;font-size:11.5px;white-space:nowrap}
.pb-aide-o{color:var(--ink3,#8A93A3);white-space:nowrap}

/* Ligne libre sous les trois maillons de la chaine KPI. */
.pb-kpi-x{font-size:12.5px;color:var(--ink,#1F2533);line-height:1.5;padding-left:2px}
.pb-err{background:#FDECEC;border:1px solid #F0B9B9;color:#8E1F26;font-size:12.5px;border-radius:8px;padding:9px 12px;margin-bottom:14px}

.pb-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-bottom:18px}
.pb-f{display:flex;flex-direction:column;gap:4px}
.pb-f>span{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3,#8A93A3);font-weight:700}
.pb-f input,.pb-f select{border:1px solid var(--line,#E5E7EB);border-radius:8px;padding:7px 9px;font-size:12.5px;font-family:inherit;color:var(--ink,#1F2533);background:var(--surface,#fff)}
.pb-f input:focus,.pb-f select:focus{outline:2px solid var(--accent,#00FFC9);outline-offset:-1px}

.pb-sec-list{display:flex;flex-direction:column;gap:11px}
.pb-esec{border:1px solid var(--line,#E5E7EB);border-radius:10px;padding:10px;background:var(--surface2,#F7F8FA)}
.pb-esec-h{display:flex;gap:7px;align-items:center;margin-bottom:8px}
.pb-esec-t{flex:1;min-width:0;border:1px solid var(--line,#E5E7EB);border-radius:7px;padding:6px 9px;font-size:12.5px;font-weight:700;font-family:inherit;color:var(--ink,#1F2533);background:var(--surface,#fff)}
.pb-esec-y{border:1px solid var(--line,#E5E7EB);border-radius:7px;padding:6px 7px;font-size:11.5px;font-family:inherit;background:var(--surface,#fff);color:var(--ink2,#5B6474)}
.pb-esec-m{border:1px solid var(--line,#E5E7EB);border-radius:7px;padding:6px 7px;font-size:11.5px;font-family:inherit;background:var(--surface,#fff);color:var(--ink2,#5B6474)}
.pb-esec-x{width:100%;box-sizing:border-box;border:1px solid var(--line,#E5E7EB);border-radius:8px;padding:9px 11px;font-size:12.5px;line-height:1.55;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink,#1F2533);background:var(--surface,#fff);resize:vertical}
.pb-esec-x:focus{outline:2px solid var(--accent,#00FFC9);outline-offset:-1px}
.pb-esec-a{font-size:11px;color:var(--ink3,#8A93A3);margin-top:5px}
.pb-add-wrap{display:flex;gap:8px;align-items:center;margin:14px 0 20px;flex-wrap:wrap}
#pbAddSel{border:1px solid var(--line,#E5E7EB);border-radius:8px;padding:7px 9px;font-size:12.5px;font-family:inherit;background:var(--surface,#fff);color:var(--ink,#1F2533)}
.pb-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line,#E5E7EB);padding-top:14px}

.pb-hist{margin-top:26px;border-top:1px dashed var(--line,#E5E7EB);padding-top:12px}
.pb-hist-t{border:0;background:transparent;color:var(--ink3,#8A93A3);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;cursor:pointer;padding:0}
.pb-hist-t:hover{color:var(--ink2,#5B6474)}
.pb-hist-b{margin-top:9px;font-size:12px;color:var(--ink2,#5B6474)}
.pb-hist-e{border-bottom:1px solid var(--line,#E5E7EB)}
.pb-hist-e:last-child{border-bottom:0}
.pb-hist-l{display:grid;grid-template-columns:16px 135px 110px minmax(0,1fr);gap:8px;align-items:center;
  width:100%;text-align:left;padding:7px 0;border:0;background:transparent;cursor:pointer;
  font:inherit;color:var(--ink2,#5B6474)}
.pb-hist-l:hover{color:var(--ink,#1B2130)}
.pb-hist-c{color:var(--ink3,#8A93A3)}
.pb-hist-w{font-weight:600}
.pb-hist-x{color:var(--ink3,#8A93A3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-hist-e.open .pb-hist-x{color:var(--ink2,#5B6474)}
.pb-hist-d{padding:2px 0 12px 24px}
.pb-hist-none{color:var(--ink3,#8A93A3);font-style:italic;padding:4px 0}
.pb-diff{margin:8px 0 0;border:1px solid var(--line,#E5E7EB);border-radius:8px;overflow:hidden}
.pb-diff-h{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface2,#F6F7F9);
  border-bottom:1px solid var(--line,#E5E7EB)}
.pb-diff-h b{font-size:12px;color:var(--ink,#1B2130)}
.pb-tag{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;
  padding:2px 6px;border-radius:999px}
.pb-tag-add{background:#E4F7EE;color:#0F7A52}
.pb-tag-del{background:#FDEAEA;color:#A32222}
.pb-tag-mod{background:#E8F0FD;color:#1D5FBF}
.pb-tag-move{background:#F1EEFB;color:#5B45A8}
.pb-diff-x{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.55;
  padding:6px 0;max-height:340px;overflow:auto}
.pb-diff-x>div{padding:1px 10px 1px 0;white-space:pre-wrap;word-break:break-word}
.pb-diff-x i{display:inline-block;width:16px;padding-left:8px;font-style:normal;opacity:.6}
.pb-dl-a{background:#EAF8F1;color:#0F7A52}
.pb-dl-d{background:#FDEEEE;color:#A32222}
.pb-dl-s{color:var(--ink3,#8A93A3)}

/* ===== Playbook — lot 3 : onglets + semaine type ========================== */
.pb-tabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--line,#E5E7EB)}
.pb-tabs button{border:0;background:transparent;font-family:inherit;font-size:12.5px;font-weight:600;
  color:var(--ink3,#8A93A3);padding:8px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.pb-tabs button:hover{color:var(--ink2,#5B6474)}
.pb-tabs button.on{color:var(--ink,#1F2533);border-bottom-color:var(--ink,#1F2533)}

.pb-cal{background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);border-radius:12px;padding:14px 16px 18px}
.pb-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.pb-lg{font-size:11px;color:var(--ink2,#5B6474);display:inline-flex;align-items:center;gap:5px}
.pb-lg i{width:15px;height:10px;border-radius:3px;border:1.5px dashed;display:inline-block;flex:none}

.pb-cal-head{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr))}
.pb-d{text-align:center;padding:2px 2px 7px;border-bottom:1px solid var(--line,#E5E7EB)}
.pb-dn{display:block;font-size:11px;font-weight:700;color:var(--ink,#1F2533);text-transform:uppercase;letter-spacing:.05em}
.pb-dl{display:none}
.pb-d.we .pb-dn{color:var(--ink3,#8A93A3);font-weight:600}
@media(min-width:1100px){.pb-dn{display:none}.pb-dl{display:block;font-size:11.5px;font-weight:700;
  color:var(--ink,#1F2533);text-transform:uppercase;letter-spacing:.05em}
  .pb-d.we .pb-dl{color:var(--ink3,#8A93A3);font-weight:600}}

.pb-cal-body{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));position:relative}
.pb-gutter{position:relative;padding-top:6px}
.pb-gutter .pb-h{height:52px;font-size:10px;color:var(--ink3,#8A93A3);text-align:right;padding-right:7px;
  transform:translateY(-6px);font-variant-numeric:tabular-nums}
.pb-day{position:relative;border-left:1px solid var(--line,#E5E7EB)}
.pb-day:last-child{border-right:1px solid var(--line,#E5E7EB)}
.pb-day.we{background:rgba(138,147,163,.055)}
.pb-slot{height:52px;border-bottom:1px solid var(--line,#E5E7EB)}

.pb-blk{position:absolute;border-radius:7px;padding:3px 6px;overflow:hidden;cursor:pointer;text-align:left;
  border:1.5px dashed;font-family:inherit;font-size:11px;line-height:1.25;color:var(--ink,#1F2533);
  transition:transform .08s ease,box-shadow .08s ease}
.pb-blk:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(16,24,40,.13);z-index:12}
.pb-bt{font-weight:650;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-bh{display:block;font-size:10px;color:var(--ink2,#5B6474);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;font-variant-numeric:tabular-nums}
.pb-blk.tiny{padding:0 5px;display:flex;align-items:center}
.pb-blk.tiny .pb-bt{font-size:10px}

.pb-vol{margin-top:20px;border-top:1px solid var(--line,#E5E7EB);padding-top:14px}
.pb-vol h4{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3,#8A93A3);
  font-weight:700;margin:0 0 10px}
.pb-vol-r{display:grid;grid-template-columns:150px minmax(0,1fr) 70px;gap:12px;align-items:center;margin-bottom:7px}
.pb-vol-l{font-size:12px;color:var(--ink2,#5B6474);display:flex;align-items:center;gap:7px}
.pb-vol-t{height:8px;border-radius:20px;background:var(--surface2,#F7F8FA);border:1px solid var(--line,#E5E7EB);overflow:hidden}
.pb-vol-t>span{display:block;height:100%;border-radius:20px}
.pb-vol-v{font-size:12px;font-weight:650;color:var(--ink,#1F2533);text-align:right;font-variant-numeric:tabular-nums}
.pb-vol-f{font-size:11.5px;color:var(--ink3,#8A93A3);margin:12px 0 0;line-height:1.5}
@media(max-width:760px){.pb-vol-r{grid-template-columns:110px minmax(0,1fr) 60px}}

/* ===== Playbook lot 3b : semaine type editable ============================ */
.pb-lg-hint{font-size:11px;color:var(--ink3,#8A93A3);margin-left:auto;font-style:italic}
.pb-legend{align-items:center}

.pb-blk{user-select:none}
.pb-blk.moving{z-index:30;box-shadow:0 6px 18px rgba(16,24,40,.2);opacity:.94;cursor:grabbing}
.pb-rz{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize}
.pb-rz::after{content:"";position:absolute;left:50%;bottom:2px;width:22px;height:2px;margin-left:-11px;
  border-radius:2px;background:currentColor;opacity:0;transition:opacity .1s}
.pb-blk:hover .pb-rz::after{opacity:.35}

/* La plage qu'on est en train de tracer. Elle ne recoit aucun evenement :
   le suivi du curseur se fait sur document, pas sur ce rectangle. */
.pb-draw{position:absolute;left:2px;right:2px;z-index:3;pointer-events:none;
  border:1.5px dashed var(--accent-ink,#067A5E);border-radius:7px;
  background:var(--accent-soft,#E3FFF8);opacity:.9;
  font-size:11px;font-weight:600;color:var(--accent-ink,#067A5E);
  padding:2px 6px;overflow:hidden;white-space:nowrap}
/* Une fois le trace fini, la plage attend la reponse du menu : trait plein,
   elle n'est plus en train d'etre dessinee, elle est posee. */
.pb-draw.pose{border-style:solid;opacity:1}

.pb-menu{position:fixed;z-index:9999;min-width:230px;max-height:60vh;overflow:auto;padding:5px;
  background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);border-radius:10px;
  box-shadow:0 12px 34px rgba(16,24,40,.2)}
.pb-menu-h{font-size:11px;font-weight:700;color:var(--ink,#1F2533);padding:6px 9px 7px;
  border-bottom:1px solid var(--line,#E5E7EB);margin-bottom:4px}
.pb-menu-s{display:flex;align-items:center;gap:7px;font-size:10px;text-transform:uppercase;
  letter-spacing:.06em;font-weight:700;color:var(--ink3,#8A93A3);padding:8px 9px 3px}
.pb-mi{display:inline-flex;width:15px;flex:none;justify-content:center}
.pb-menu button{display:flex;align-items:center;gap:7px;width:100%;text-align:left;border:0;background:transparent;
  font-family:inherit;font-size:12.5px;color:var(--ink,#1F2533);padding:6px 9px;border-radius:7px;cursor:pointer}
.pb-menu button:hover{background:var(--surface2,#F7F8FA)}
.pb-menu button.pb-menu-d{color:#A32222}
.pb-menu button.pb-menu-d:hover{background:#FDEEEE}

/* Boite SAYCO : la suite du menu contextuel, pas une fenetre du navigateur.
   Elle s'ouvre sous le curseur — l'utilisateur confirme la ou il vient de cliquer. */
.pb-boite{position:fixed;z-index:10000;width:308px;max-width:calc(100vw - 16px);padding:14px 15px 12px;
  background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);border-radius:12px;
  box-shadow:0 16px 44px rgba(16,24,40,.24);
  animation:pb-boite-in .12s ease-out}
@keyframes pb-boite-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.pb-boite-t{font-size:13.5px;font-weight:700;color:var(--ink,#1F2533);line-height:1.3}
.pb-boite-c{margin-top:5px;font-size:12px;line-height:1.5;color:var(--ink2,#5B6474)}
.pb-boite-i{width:100%;margin-top:10px;padding:7px 10px;font-family:inherit;font-size:13px;
  color:var(--ink,#1F2533);background:var(--surface,#fff);
  border:1px solid var(--line,#E5E7EB);border-radius:8px;box-sizing:border-box}
.pb-boite-i:focus{outline:0;border-color:var(--accent,#00FFC9);
  box-shadow:0 0 0 3px var(--accent-soft,#E3FFF8)}
.pb-boite-b{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}
.pb-boite-b button{font-family:inherit;font-size:12.5px;font-weight:600;
  padding:7px 14px;border-radius:8px;cursor:pointer;border:1px solid transparent}
.pb-boite-b .pb-b2{background:transparent;border-color:var(--line,#E5E7EB);color:var(--ink2,#5B6474)}
.pb-boite-b .pb-b2:hover{background:var(--surface2,#F7F8FA);color:var(--ink,#1F2533)}
.pb-boite-b .pb-b1{background:var(--accent,#00FFC9);color:var(--accent-on,#0A2A23)}
.pb-boite-b .pb-b1:hover{filter:brightness(.95)}
.pb-boite-b .pb-b1.danger{background:#A32222;color:#fff}
.pb-boite-b .pb-b1.danger:hover{background:#8C1D1D}
.pb-boite-b button:focus-visible{outline:2px solid var(--accent,#00FFC9);outline-offset:2px}

/* Un refus du serveur n'a pas de position de clic : bandeau en bas a droite,
   qui s'efface tout seul. Rien a fermer, rien qui bloque la page. */
.pb-souffle{position:fixed;z-index:10001;right:18px;bottom:18px;max-width:360px;
  padding:11px 14px;border-radius:10px;font-size:12.5px;line-height:1.45;
  background:var(--ink,#1F2533);color:#fff;box-shadow:0 12px 34px rgba(16,24,40,.28);
  animation:pb-souffle-in .16s ease-out}
.pb-souffle.err{background:#A32222}
@keyframes pb-souffle-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.pb-gc-warn{background:#FFF7E6;border-color:#F0D9A8}
.pb-gc-s{display:inline-block;margin-top:4px;font-size:11px;color:var(--ink3,#8A93A3);font-family:ui-monospace,Menlo,Consolas,monospace}
.pb-gc code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;background:rgba(0,0,0,.05);padding:1px 4px;border-radius:4px}

.pb-btn-a{display:inline-flex;align-items:center;text-decoration:none}

/* Bande « toute la journee », sous les jours : un evenement sans heure ne peut pas
   etre pose sur la grille horaire sans manger la journee entiere. */
.pb-alld{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));gap:2px;
  padding:4px 0 5px;border-bottom:1px solid var(--line,#E5E7EB)}
.pb-ev-a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:10.5px;line-height:1.5;padding:1px 7px;border-radius:5px;
  border:1px solid rgba(90,99,115,.4);background:rgba(90,99,115,.14);color:var(--ink,#1F2533)}
.pb-ev-a.libre{background:transparent;border-style:dotted}

.pb-majf{font-size:11px;color:var(--ink3,#8A93A3);font-style:italic;padding:0 4px}

/* ===== Playbook lot 5 : agenda reel (lecture seule) ======================= */
.pb-vues{display:flex;align-items:center;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.pb-vues button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line,#E5E7EB);
  background:var(--surface,#fff);font-family:inherit;font-size:12px;font-weight:600;
  color:var(--ink2,#5B6474);padding:5px 13px;border-radius:999px;cursor:pointer}
.pb-vues button:hover{color:var(--ink,#1F2533);border-color:var(--ink3,#8A93A3)}
.pb-vues button.on{background:var(--ink,#1F2533);border-color:var(--ink,#1F2533);color:#fff}

/* Les deux sous-vues qui lisent l'agenda Google sont encore en chantier. Le
   contour en pointille le dit sans texte : on voit tout de suite que ces deux
   pastilles-la ne sont pas au meme stade que « Semaine type ». */
.pb-vues button.pb-vue-beta{border-style:dashed}
.pb-vues button.pb-vue-beta.on{border-style:dashed;border-color:var(--ink3,#8A93A3)}

/* Pastille « bêta » : une petite bulle vert SAYCO dans la bulle, le mot en gris.
   Assez visible pour signaler le chantier, assez petite pour ne pas voler la
   vedette au libelle. */
.pb-beta{display:inline-flex;align-items:center;font-size:9px;font-weight:700;
  letter-spacing:.04em;text-transform:lowercase;line-height:1;
  padding:3px 6px;border-radius:999px;
  background:var(--accent,#00FFC9);color:var(--ink2,#5B6474)}
.pb-vues button.on .pb-beta{background:var(--accent,#00FFC9);color:var(--ink2,#5B6474)}

.pb-sem{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:12px;color:var(--ink2,#5B6474)}
.pb-sem b{font-weight:600;min-width:150px;text-align:center}
.pb-sem button{border:1px solid var(--line,#E5E7EB);background:var(--surface,#fff);border-radius:8px;
  padding:3px 9px;font-size:13px;line-height:1.2;cursor:pointer;color:var(--ink2,#5B6474);font-family:inherit}
.pb-sem button:hover{color:var(--ink,#1F2533)}
.pb-sem-now{font-size:11px !important;font-weight:600}

.pb-gc{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px;padding:12px 14px;
  border:1px solid var(--line,#E5E7EB);border-radius:10px;background:var(--surface2,#F7F8FA);
  font-size:12.5px;color:var(--ink2,#5B6474);line-height:1.5}
.pb-gc>div{flex:1;min-width:240px}
.pb-gc b{color:var(--ink,#1F2533)}
.pb-gc-err{background:#FDEEEE;border-color:#F3C9C9}
.pb-cal-load{padding:10px 2px 0;font-size:12px;color:var(--ink3,#8A93A3)}

.pb-lg-ev{border:1px solid rgba(90,99,115,.55) !important;background:rgba(90,99,115,.16) !important;
  border-style:solid !important}

.pb-dd{display:block;font-size:11px;color:var(--ink3,#8A93A3);font-variant-numeric:tabular-nums;margin-top:1px}
.pb-d.auj .pb-dn,.pb-d.auj .pb-dl{color:var(--accent-ink,#0F7A52)}
.pb-d.auj .pb-dd{color:var(--accent-ink,#0F7A52);font-weight:700}

/* Evenement reel : plein et neutre. Il n'est pas rattache a un bloc de la methode —
   ce rapprochement, c'est un autre sujet, volontairement pas traite ici. */
.pb-ev{position:absolute;border-radius:7px;padding:3px 6px;overflow:hidden;
  border:1px solid rgba(90,99,115,.4);background:rgba(90,99,115,.14);
  font-size:11px;line-height:1.25;color:var(--ink,#1F2533);pointer-events:auto}
.pb-ev .pb-bt{font-weight:600}
.pb-ev.libre{background:transparent;border-style:dotted}
.pb-ev.tiny{padding:0 5px;display:flex;align-items:center}
.pb-ev.tiny .pb-bt{font-size:10px}

/* ===== Playbook : parcours d'une mission ================================= */
.pb-mission{background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);border-radius:12px;padding:20px 22px 24px}
.pb-mis-intro{font-size:13px;color:var(--ink2,#5B6474);line-height:1.6;margin:0 0 20px;max-width:70ch}
.pb-etapes{list-style:none;margin:0;padding:0;position:relative}
/* Le trait qui relie les etapes : c'est lui qui fait lire l'ensemble comme un parcours. */
.pb-etapes::before{content:"";position:absolute;left:15px;top:14px;bottom:26px;width:2px;
  background:var(--line,#E5E7EB)}
.pb-etape{display:flex;gap:16px;padding-bottom:22px;position:relative}
.pb-et-n{flex:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:13px;font-weight:700;color:#fff;background:var(--ink,#1F2533);
  position:relative;z-index:1;box-shadow:0 0 0 4px var(--surface,#fff)}
.pb-et-b{flex:1;min-width:0;padding-top:4px}
.pb-et-b h4{font-size:14.5px;font-weight:700;color:var(--ink,#1F2533);margin:0 0 3px}
.pb-et-s{font-size:12.5px;color:var(--ink3,#8A93A3);margin:0 0 10px;line-height:1.5;max-width:70ch}
/* Les gestes d'une phase sont des renvois, pas la suite du recit : on les
   annonce, comme n'importe quelle section de fiche. */
.pb-et-res{margin:16px 0 6px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;
  color:var(--ink3,#8A93A3);font-weight:700}
.pb-et-g{display:flex;flex-wrap:wrap;gap:7px}
.pb-et-item{display:inline-flex;align-items:stretch;gap:7px;border:1px solid var(--line,#E5E7EB);
  background:var(--surface,#fff);border-radius:9px;padding:6px 11px 6px 8px;cursor:pointer;
  font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink,#1F2533);text-align:left}
.pb-et-item:hover{border-color:var(--ink3,#8A93A3);box-shadow:0 2px 8px rgba(16,24,40,.08)}
.pb-et-p{width:3px;border-radius:2px;flex:none;align-self:stretch;min-height:15px}
/* Titre sur la premiere ligne, reperes (qui, frequence, duree) sur la seconde. */
.pb-et-c{display:flex;flex-direction:column;gap:3px;min-width:0}
.pb-et-h{display:flex;align-items:center;gap:7px}
.pb-et-m{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.pb-hors{margin-top:6px;padding-top:18px;border-top:1px dashed var(--line,#E5E7EB)}
.pb-hors h4{font-size:14.5px;font-weight:700;color:var(--ink,#1F2533);margin:0 0 3px}
@media(max-width:700px){.pb-etapes::before{display:none}.pb-etape{gap:11px}}


/* --- le recit du parcours ------------------------------------------------
   Chaque etape porte le texte de Marie, replie par defaut : la frise reste
   survolable en dix secondes, et le recit s'ouvre sur demande. */
/* Ce que la phase contient, en clair, a la place d'un resume ecrit apres coup.
   Les sous-etapes sont celles de Marie, dans son ordre. */
/* Les temps d'une phase : un sous-titre en capitales, pas une liste. */
.pb-et-sous{margin:5px 0 0;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--ink3,#8A93A3);line-height:1.6}
.pb-et-pt{font-style:normal;margin:0 7px;opacity:.6}

/* L'introduction du document de Marie, avant la frise. */
.pb-mis-tete{margin:0 0 22px;padding:16px 18px 6px;border-radius:12px;
  background:var(--surface2,#F7F8FA);border:1px solid var(--line,#E5E7EB)}
.pb-mis-tete h2{margin:0 0 12px;font-size:19px;font-weight:700;letter-spacing:-.015em;color:var(--ink,#1F2533)}
.pb-mis-tete .pb-sec h4{display:none}
.pb-mis-tete .pb-sec p{font-size:13px;line-height:1.6}

.pb-et-d{margin-top:10px}
.pb-et-d .pb-sec{margin-bottom:14px}
/* Les titres de section sont des etiquettes courtes sur une fiche (OBJECTIF,
   PIEGES A EVITER) : les capitales leur vont. Ici ce sont les phrases de Marie
   (« Je peux identifier une mission grace a ») : en capitales elles ecrasent le
   texte qu'elles introduisent. On les rend a la casse normale. */
.pb-et-d .pb-sec h4{text-transform:none;letter-spacing:0;font-size:12.5px;
  font-weight:700;color:var(--ink,#1F2533);margin-bottom:4px}
.pb-et-d .pb-sec:last-child{margin-bottom:2px}

/* La signature : c'est un texte de quelqu'un, on le dit en toutes lettres. */
.pb-mis-sig{margin:22px 0 0;padding-top:14px;border-top:1px solid var(--line,#E5E7EB);
  font-size:11.5px;color:var(--ink3,#8A93A3)}
.pb-mis-sig b{color:var(--ink2,#5B6474)}
/* L'auteur suit le titre du parcours, en gris et sans gras. */
.pb-mis-par{font-weight:500;color:var(--ink3,#8A93A3)}

/* ---------- Documentation : le rail des gestes, applique a des documents ---------- */
.pb-doc-list{display:flex;flex-direction:column;gap:6px}
.pb-doc-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;
  border:1px solid transparent;border-radius:9px;background:transparent;padding:9px 10px;
  font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s}
.pb-doc-item:hover{background:var(--surface-alt,#F6F7F9)}
.pb-doc-item.on{background:var(--surface-alt,#F6F7F9);border-color:var(--line,#E5E7EB)}
.pb-doc-t{font-size:13px;font-weight:650;color:var(--ink,#1F2533)}
.pb-doc-s{font-size:11px;color:var(--ink3,#8A93A3);line-height:1.4}
.pb-doc-panel{padding:22px 26px 26px}
.pb-doc-hd{border-bottom:1px solid var(--line2,#EEF0F4);padding-bottom:14px;margin-bottom:20px}
.pb-doc-hd h3{font-size:17px;font-weight:700;color:var(--ink,#1F2533);margin:0}
.pb-doc-sous{font-size:12.5px;color:var(--ink3,#8A93A3);margin:4px 0 0}
.pb-doc-vide{padding:44px 24px;text-align:center;color:var(--ink3,#8A93A3)}
.pb-doc-vide h3{font-size:15px;font-weight:700;color:var(--ink2,#5B6474);margin:0 0 8px}
.pb-doc-vide p{font-size:13px;margin:0;line-height:1.55;max-width:420px;margin-inline:auto}
.pb-doc-corps{max-width:620px}
.pb-doc-grille{margin-bottom:10px}
.pb-doc-pal{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:12.5px}
.pb-doc-pal .k{width:96px;flex:0 0 96px;color:var(--ink2,#5B6474);font-variant-numeric:tabular-nums}
.pb-doc-pal .bar{flex:1;height:14px;background:var(--surface-alt,#F6F7F9);border-radius:5px;overflow:hidden;min-width:40px}
.pb-doc-pal .bar i{display:block;height:100%;background:var(--accent,#00FFC9);border-radius:5px}
.pb-doc-pal .v{width:58px;flex:0 0 58px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink,#1F2533)}
.pb-doc-note{font-size:12px;color:var(--ink2,#5B6474);background:var(--surface-alt,#F6F7F9);
  border-radius:9px;padding:10px 12px;margin:0;line-height:1.55}
.pb-doc-etapes{padding-left:19px;font-size:12.5px;color:var(--ink,#1F2533);margin:0;line-height:1.6}
.pb-doc-etapes li{margin-bottom:7px}
.pb-doc-p{font-size:12.5px;color:var(--ink,#1F2533);margin:0;line-height:1.55}

/* ===== Playbook — lot 4 : onglet Newsletters (veille du lundi) ====================== */
/* Maquette A validée le 18/09/2026. Codes de l'app : cartes, pastilles, en-têtes de colonnes. */
.pb-tabs .pb-sep{width:1px;height:16px;background:var(--line,#E5E7EB);align-self:center;margin:0 6px 1px}
.pb-tabs button .pb-tab-beta{display:inline-block;font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1;padding:3px 6px;border-radius:8px;background:#F59E0B;color:#2B1A02;margin-left:6px;vertical-align:1px;font-style:normal}
.pb-nl-panel{padding:22px 26px 26px}
/* rail */
.pb-nl-run{margin:0 0 14px;font-size:12px;color:var(--ink2,#5B6474);line-height:1.5}
.pb-nl-run b{color:var(--ink,#1F2533);font-weight:700}
.pb-nl-next{margin-top:2px;font-size:11px;color:var(--ink3,#8A93A3)}
.pb-nl-rail-h{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3,#8A93A3);padding:12px 0 6px}
.pb-nl-rail-h0{padding-top:0}
.pb-nl-ax{display:flex;align-items:center;gap:9px;width:100%;height:32px;border:0;background:transparent;font-family:inherit;font-size:12.5px;font-weight:500;color:var(--ink2,#5B6474);padding:0 8px;border-radius:9px;cursor:pointer;text-align:left;white-space:nowrap}
.pb-nl-ax:hover{background:var(--surface-alt,#F6F7F9);color:var(--ink,#1F2533)}
.pb-nl-ax.on{background:var(--accent-soft,#E3FFF8);color:var(--accent-ink,#067A5E)}
.pb-nl-lab{overflow:hidden;text-overflow:ellipsis}
.pb-nl-n{margin-left:auto;font-size:11px;color:var(--ink3,#8A93A3);font-variant-numeric:tabular-nums}
.pb-nl-ax.on .pb-nl-n{color:inherit}
.pb-nl-key{display:inline-flex;width:20px;height:20px;border-radius:6px;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);color:var(--ink2,#5B6474);flex:none}
.pb-nl-todo{margin-left:auto;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--accent-soft,#E3FFF8);color:var(--accent-ink,#067A5E)}
/* barre d'outils */
.pb-nl-bar{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:12.5px;color:var(--ink2,#5B6474);flex-wrap:wrap}
.pb-nl-bar b{color:var(--ink,#1F2533)}
.pb-nl-q{font-family:inherit;font-size:12.5px;padding:7px 11px;border:1px solid var(--line,#E5E7EB);border-radius:10px;background:var(--surface,#fff);color:var(--ink,#1F2533);width:200px}
.pb-nl-right{margin-left:auto;font-size:11.5px;color:var(--ink3,#8A93A3)}
.pb-nl-chip{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:999px;border:1px solid var(--line,#E5E7EB);background:var(--surface,#fff);color:var(--ink2,#5B6474);cursor:pointer;white-space:nowrap}
.pb-nl-chip:hover{border-color:var(--ink3,#8A93A3)}
.pb-nl-chip.on{background:var(--ink,#1F2533);color:#fff;border-color:var(--ink,#1F2533)}
.pb-nl-chip i{font-style:normal;opacity:.65;font-variant-numeric:tabular-nums}
/* sections et cartes */
.pb-nl-sec{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3,#8A93A3);margin:22px 0 8px;display:flex;align-items:baseline;gap:8px}
.pb-nl-sec.first{margin-top:0}
.pb-nl-hint{font-weight:500;letter-spacing:0;text-transform:none}
.pb-nl-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:1100px){.pb-nl-cards{grid-template-columns:1fr}}
.pb-nl-card{background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);border-radius:14px;padding:13px 14px 12px;cursor:pointer;display:flex;flex-direction:column;gap:7px;min-height:138px}
.pb-nl-card:hover{border-color:var(--ink3,#8A93A3)}
.pb-nl-card.open{border-color:var(--ink,#1F2533)}
.pb-nl-card.lu h4{color:var(--ink3,#8A93A3)}
.pb-nl-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pb-nl-card h4{margin:0;font-size:13.5px;font-weight:700;color:var(--ink,#1F2533);line-height:1.3}
.pb-nl-meta{font-size:11.5px;color:var(--ink3,#8A93A3)}
.pb-nl-exp{margin-left:auto}
.pb-nl-why{font-size:12.5px;color:var(--ink2,#5B6474);line-height:1.45}
.pb-nl-card .pb-nl-det{padding:10px 0 0;border-top:1px dashed var(--line,#E5E7EB);background:transparent;margin-top:2px}
/* pastilles */
.pb-nl-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap;line-height:1.5;border:1px solid transparent}
.pb-nl-p5{background:var(--green-soft,#D1FAE5);color:var(--green,#15803D)}
.pb-nl-p4{background:#E8F0FE;color:#1c47b0}
.pb-nl-p3{background:var(--surface-alt,#F6F7F9);color:var(--ink2,#5B6474);border-color:var(--line,#E5E7EB)}
.pb-nl-pt{background:var(--surface-alt,#F6F7F9);color:var(--ink2,#5B6474);border-color:var(--line,#E5E7EB);font-weight:600}
.pb-nl-plu{background:var(--surface-alt,#F6F7F9);color:var(--ink3,#8A93A3);border-color:var(--line2,#EEF0F4);font-weight:600}
.pb-nl-parc{background:var(--surface-alt,#F6F7F9);color:var(--ink3,#8A93A3);font-weight:600}
.pb-nl-pdate{background:var(--accent-soft,#E3FFF8);color:var(--accent-ink,#067A5E);font-variant-numeric:tabular-nums}
/* listes */
.pb-nl-list{background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);border-radius:14px;overflow:hidden}
.pb-nl-th,.pb-nl-tr{display:grid;grid-template-columns:34px minmax(0,1fr) 138px 52px 56px 110px;gap:10px;align-items:center;padding:0 14px}
.pb-nl-th{height:30px;font-size:10.5px;font-weight:600;color:var(--ink3,#8A93A3);text-transform:uppercase;letter-spacing:.6px;background:var(--surface-alt,#F6F7F9);border-bottom:1px solid var(--line,#E5E7EB)}
.pb-nl-th span:last-child,.pb-nl-st{justify-self:end;text-align:right}
.pb-nl-tr{height:36px;border-top:1px solid var(--line2,#EEF0F4);cursor:pointer;font-size:13px}
.pb-nl-th + .pb-nl-tr{border-top:0}
.pb-nl-tr:hover,.pb-nl-tr.open{background:var(--surface-alt,#F6F7F9)}
.pb-nl-t{font-weight:600;color:var(--ink,#1F2533);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-nl-tr.lu .pb-nl-t{font-weight:500;color:var(--ink3,#8A93A3)}
.pb-nl-s{font-size:12px;color:var(--ink2,#5B6474);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-nl-d{font-size:11.5px;color:var(--ink3,#8A93A3);font-variant-numeric:tabular-nums}
.pb-nl-st{display:flex;gap:4px;justify-content:flex-end}
.pb-nl-det{padding:12px 16px 14px 58px;border-top:1px solid var(--line2,#EEF0F4);background:var(--surface-alt,#F6F7F9);font-size:13px;line-height:1.55;color:var(--ink,#1F2533)}
.pb-nl-det .pb-encadre{margin-top:8px}
.pb-nl-why2{margin-top:6px;color:var(--ink2,#5B6474)}
.pb-nl-links{margin-top:10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pb-nl-src2{margin-left:auto;font-size:11.5px;color:var(--ink3,#8A93A3)}
.pb-nl-btn{display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:9px;border:1px solid var(--line,#E5E7EB);background:var(--surface,#fff);color:var(--ink,#1F2533);text-decoration:none;cursor:pointer;white-space:nowrap}
.pb-nl-btn:hover{border-color:var(--ink3,#8A93A3)}
.pb-nl-empty{padding:16px;font-size:12.5px;color:var(--ink3,#8A93A3)}
/* menu du clic droit */
.pb-nl-menu{position:fixed;z-index:9999;background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);border-radius:12px;box-shadow:0 10px 30px rgba(20,25,37,.14);padding:5px;min-width:200px;font-size:12.5px}
.pb-nl-menu button{display:block;width:100%;border:0;background:transparent;font-family:inherit;font-size:12.5px;text-align:left;padding:7px 10px;border-radius:8px;cursor:pointer;color:var(--ink,#1F2533)}
.pb-nl-menu button:hover{background:var(--surface-alt,#F6F7F9)}
.pb-nl-menu hr{border:0;border-top:1px solid var(--line2,#EEF0F4);margin:4px 0}
/* sources (admin) */
.pb-nl-sth,.pb-nl-srow{display:grid;grid-template-columns:minmax(0,1fr) 220px 90px 48px 100px;gap:10px;align-items:center;padding:0 14px}
.pb-nl-sth{height:30px;font-size:10.5px;font-weight:600;color:var(--ink3,#8A93A3);text-transform:uppercase;letter-spacing:.6px;background:var(--surface-alt,#F6F7F9);border-bottom:1px solid var(--line,#E5E7EB)}
.pb-nl-sth span:nth-child(4),.pb-nl-sth span:last-child,.pb-nl-n2{text-align:right}
.pb-nl-srow{height:36px;border-top:1px solid var(--line2,#EEF0F4);font-size:13px}
.pb-nl-sth + .pb-nl-srow{border-top:0}
.pb-nl-srow b{font-weight:600;color:var(--ink,#1F2533);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-nl-mail{font-size:11.5px;color:var(--ink3,#8A93A3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-nl-axes{display:flex;gap:3px}
.pb-nl-n2{font-size:12px;color:var(--ink2,#5B6474);font-variant-numeric:tabular-nums}
.pb-nl-sel{font-family:inherit;font-size:11.5px;border:1px solid var(--line,#E5E7EB);border-radius:8px;padding:4px 6px;background:var(--surface,#fff);color:var(--ink,#1F2533);width:100px;justify-self:end}
/* profil de veille */
.pb-nl-prof{font-size:13px;line-height:1.55;color:var(--ink2,#5B6474);margin:0}
.pb-nl-prof dt{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3,#8A93A3);margin:16px 0 6px}
.pb-nl-prof dt:first-child{margin-top:0}
.pb-nl-prof dd{margin:0 0 3px}
.pb-nl-prof code{font-size:11.5px;background:var(--surface-alt,#F6F7F9);border:1px solid var(--line2,#EEF0F4);border-radius:5px;padding:1px 5px}
/* bulle info → mode d'emploi (18/09/2026) : le ⓘ de la barre porte une infobulle (title → #gtip) et ouvre
   la page « Mode d'emploi » du rail — tout ce qu'il faut pour retrouver le fonctionnement sans personne. */
.pb-nl-info{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--line,#E5E7EB);border-radius:50%;background:var(--surface,#fff);color:var(--ink3,#8A93A3);cursor:pointer;padding:0;flex:none}
.pb-nl-info:hover{color:var(--accent-ink,#067A5E);border-color:var(--accent-ink,#067A5E)}
.pb-nl-info svg{width:13px;height:13px}
/* Deux colonnes qui se remplissent en continu (pas une grille) : une carte courte ne laisse pas de trou. */
.pb-nl-aide{column-count:2;column-gap:12px}
@media(max-width:1100px){.pb-nl-aide{column-count:1}}
.pb-nl-aide-c{break-inside:avoid;margin:0 0 12px;background:var(--surface,#fff);border:1px solid var(--line,#E5E7EB);border-radius:14px;padding:12px 16px 13px}
.pb-nl-aide-c h4{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3,#8A93A3)}
.pb-nl-aide-c ul{margin:0;padding:0;list-style:none}
.pb-nl-aide-c li{position:relative;padding:4px 0 4px 12px;font-size:12.5px;line-height:1.45;color:var(--ink2,#5B6474)}
.pb-nl-aide-c li::before{content:"·";position:absolute;left:1px;top:3px;font-weight:700;color:var(--ink3,#8A93A3)}
.pb-nl-aide-c li+li{border-top:1px solid var(--line2,#EEF0F4)}
.pb-nl-aide-c b{color:var(--ink,#1F2533);font-weight:600}
.pb-nl-aide-c code,.pb-nl-bar code{font-size:11.5px;background:var(--surface-alt,#F6F7F9);border:1px solid var(--line2,#EEF0F4);border-radius:5px;padding:1px 5px}
.pb-nl-root{min-width:0}
