/* ═══════════════════════════════════════════════════════════════════════════
   Module « Présences » (2.107.0) — planning hebdomadaire des collaborateurs.
   Toutes les classes sont préfixées pr- : aucune règle existante n'est touchée.
   Les couleurs de statut sont des tons pastel (comme le fichier Excel) : le texte qui
   s'y pose reste toujours foncé, en clair comme en sombre.
   ═══════════════════════════════════════════════════════════════════════════ */
.pr-wrap{display:flex;flex-direction:column;gap:14px;}
.pr-intro{margin:0;color:var(--text-muted);font-size:13.5px;line-height:1.55;max-width:980px;}
.pr-tabs{margin-bottom:2px;}

/* Navigation de semaine */
.pr-weeknav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.pr-weektitle{display:flex;flex-direction:column;min-width:200px;}
.pr-weektitle span{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:700;}
.pr-weektitle b{font-family:var(--font-display);font-size:17px;}
.pr-weekquick{display:flex;gap:6px;flex-wrap:wrap;}
.pr-chip{border:1px solid var(--border);background:var(--card);color:var(--text-muted);border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;cursor:pointer;}
.pr-chip:hover{border-color:var(--emerald);color:var(--text);}
.pr-chip.on{background:var(--emerald);border-color:var(--emerald);color:#fff;font-weight:600;}
.pr-chip.hol{border-style:dashed;}
.pr-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;}
.pr-who{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);margin-left:auto;}
.pr-who select{max-width:260px;}

/* Avancement des confirmations */
.pr-status-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin-bottom:12px;}
.pr-progress{flex:1 1 320px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:7px;justify-content:center;}
.pr-progress-txt{font-size:13px;color:var(--text-muted);}
.pr-progress-txt b{color:var(--text);font-family:var(--font-display);}
.pr-dl.soon{color:#B8790F;font-weight:600;}
.pr-dl.passed{color:var(--brick);font-weight:600;}
.pr-bar{height:6px;border-radius:99px;background:var(--grey-light,#E9EBE6);overflow:hidden;}
.pr-bar span{display:block;height:100%;background:var(--emerald);border-radius:99px;transition:width .4s;}
.pr-callout{flex:1 1 320px;display:flex;align-items:center;gap:12px;justify-content:space-between;background:#FFF6E0;border:1px solid #F1D9A0;color:#6B4B00;border-radius:12px;padding:10px 14px;font-size:13px;}
.pr-callout.ok{background:color-mix(in srgb,var(--emerald) 9%,var(--card));border-color:color-mix(in srgb,var(--emerald) 30%,transparent);color:var(--emerald);}
.pr-callout.info{background:color-mix(in srgb,var(--blue) 8%,var(--card));border-color:color-mix(in srgb,var(--blue) 25%,transparent);color:var(--text);margin-bottom:12px;}
[data-theme="dark"] .pr-callout:not(.ok):not(.info){background:rgba(184,121,15,.16);border-color:rgba(184,121,15,.4);color:#F3D18A;}

/* Barre d'outils + légende */
.pr-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px;}
.pr-toolbar select{padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);font:inherit;font-size:13px;}
.pr-search{min-width:220px;flex:0 1 300px;padding:7px 11px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);font:inherit;font-size:13px;}
.pr-check{display:inline-flex;align-items:center;gap:6px;font-size:12.8px;color:var(--text-muted);cursor:pointer;}
.pr-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--text-muted);margin-bottom:10px;}
.pr-lg{display:inline-flex;align-items:center;gap:6px;}
.pr-lg i{display:inline-block;width:14px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.12);}
.pr-lg i.off{background:repeating-linear-gradient(135deg,#ECEDEA 0 3px,#D9DBD5 3px 5px);}
.pr-lg.pre i{display:none;}
.pr-lg.pre em{font-style:italic;opacity:.75;}

/* Tableau de la semaine */
.pr-table-wrap{overflow:auto;max-height:calc(100vh - 250px);border:1px solid var(--border);border-radius:12px;background:var(--card);}
.pr-table{border-collapse:separate;border-spacing:0;width:100%;min-width:960px;font-size:12px;table-layout:fixed;}
.pr-table th,.pr-table td{border-bottom:1px solid var(--border);}
.pr-table thead th{position:sticky;background:var(--paper);z-index:3;font-weight:700;color:var(--text-muted);}
.pr-table thead tr:first-child th{top:0;height:34px;}
.pr-table thead tr:nth-child(2) th{top:34px;}
.pr-dayh{font-size:12.5px;color:var(--text)!important;border-left:2px solid var(--border);text-align:center;}
.pr-dayh small{display:block;font-size:10px;font-weight:600;color:var(--brick);}
.pr-dayh.today{color:var(--emerald)!important;box-shadow:inset 0 -3px 0 var(--emerald);}
.pr-hh{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding:4px 2px;border-left:2px solid var(--border);}
.pr-hh.pm{border-left:1px dashed var(--border);}
.pr-name-h{left:0;z-index:5!important;text-align:left;padding:0 12px;width:190px;}
.pr-name-h small{font-weight:600;color:var(--text-faint);margin-left:4px;}
.pr-name{position:sticky;left:0;z-index:2;background:var(--card);text-align:left;padding:6px 10px 6px 12px;border-right:1px solid var(--border);font-weight:400;overflow:hidden;}
.pr-name > div{display:flex;align-items:center;gap:7px;}
.pr-nm{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pr-name small{display:block;font-size:10.5px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pr-ok{color:var(--emerald);font-weight:800;font-size:12px;}
.pr-todo{color:#D29A2A;font-size:20px;line-height:0;}
tr.me .pr-name{background:color-mix(in srgb,var(--emerald) 7%,var(--card));box-shadow:inset 3px 0 0 var(--emerald);}
.pr-half{position:relative;padding:3px 2px;height:36px;text-align:center;vertical-align:middle;border-left:1px dashed var(--border);}
.pr-half.am{border-left:2px solid var(--border);}
.pr-half-in{display:flex;align-items:center;justify-content:center;height:100%;border-radius:7px;font-size:11.2px;font-variant-numeric:tabular-nums;color:#26313B;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 3px;}
.pr-half.has .pr-half-in{background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);}
.pr-half.pre .pr-half-in{opacity:.5;font-style:italic;}
.pr-half.off .pr-half-in{background:repeating-linear-gradient(135deg,rgba(150,155,145,.13) 0 4px,rgba(150,155,145,.26) 4px 7px);color:var(--text-faint);}
.pr-half.empty .pr-half-in{border:1px dashed var(--border);}
td[data-edit]{cursor:pointer;}
td[data-edit]:hover .pr-half-in{outline:2px solid var(--emerald);outline-offset:-1px;}
td[data-u]:not([data-edit]){cursor:help;}
.pr-com{position:absolute;top:0;right:1px;font-size:10px;line-height:1;}
.pr-hol{text-align:center;color:var(--text-faint);font-size:11px;background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(127,127,127,.07) 6px 12px);border-left:2px solid var(--border);}
.pr-table tfoot th,.pr-table tfoot td{position:sticky;bottom:0;background:var(--paper);font-size:11px;color:var(--text-muted);border-top:1px solid var(--border);}
.pr-table tfoot tr:nth-last-child(4) th,.pr-table tfoot tr:nth-last-child(4) td{bottom:72px;}
.pr-table tfoot tr:nth-last-child(3) th,.pr-table tfoot tr:nth-last-child(3) td{bottom:48px;}
.pr-table tfoot tr:nth-last-child(2) th,.pr-table tfoot tr:nth-last-child(2) td{bottom:24px;}
.pr-table tfoot th{left:0;z-index:4;text-align:right;padding:0 12px;height:24px;font-weight:600;}
.pr-table tfoot td{text-align:center;font-family:var(--font-mono);font-weight:700;color:var(--text);}
.pr-table tfoot td.am{border-left:2px solid var(--border);}
.pr-table tfoot tr:first-child th,.pr-table tfoot tr:first-child td{border-top:2px solid var(--border);}

/* Éditeur d'une journée */
.pr-editor{display:flex;flex-direction:column;gap:12px;}
.pr-note{font-size:12.5px;color:var(--text-muted);background:var(--paper);border-radius:8px;padding:8px 10px;}
.pr-quick{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;color:var(--text-muted);}
.pr-quick > span{margin-right:2px;font-weight:600;}
.pr-he-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:700px){.pr-he-grid{grid-template-columns:1fr;}}
.pr-he{border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--card);}
.pr-he-t{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);}
.pr-st-chips{display:flex;flex-wrap:wrap;gap:5px;}
.pr-st{border:1px solid color-mix(in srgb,var(--c,#ccc) 70%,#000 12%);background:color-mix(in srgb,var(--c,#eee) 40%,var(--card));color:var(--text);border-radius:999px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer;line-height:1.3;}
.pr-st:hover{background:var(--c);color:#26313B;}
.pr-st.on{background:var(--c);color:#1E2A33;font-weight:700;box-shadow:0 0 0 2px var(--text);border-color:transparent;}
.pr-st.off{--c:#E3E5E0;}
.pr-st.sm{padding:3px 9px;font-size:11.5px;}
.pr-st:disabled{opacity:.6;cursor:default;}
.pr-he-times{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--text-muted);}
.pr-he-times label{display:inline-flex;align-items:center;gap:5px;}
.pr-he-times input{width:auto;padding:5px 7px;font-size:13px;}
.pr-he-hint{font-size:11px;color:var(--text-faint);}
.pr-also{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:12.5px;color:var(--text-muted);border-top:1px dashed var(--border);padding-top:10px;}
.pr-also > span{font-weight:600;}
.pr-meta{font-size:11.5px;color:var(--text-faint);}
.pr-view-row{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px;}
.pr-view-h{width:90px;font-weight:700;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
.pr-view-s{background:var(--c,var(--paper));color:#26313B;border-radius:999px;padding:3px 10px;font-weight:600;font-size:12.5px;}
.pr-view-com{margin:10px 0 6px;font-size:13px;}

/* Ma semaine / horaire habituel : cartes par jour */
.pr-mine-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px;}
.pr-mine-state{font-size:13.5px;color:#6B4B00;background:#FFF6E0;border:1px solid #F1D9A0;border-radius:10px;padding:9px 13px;}
.pr-mine-state.ok{color:var(--emerald);background:color-mix(in srgb,var(--emerald) 9%,var(--card));border-color:color-mix(in srgb,var(--emerald) 30%,transparent);}
.pr-mine-state.late{color:var(--brick);background:var(--brick-light);border-color:color-mix(in srgb,var(--brick) 30%,transparent);}
[data-theme="dark"] .pr-mine-state:not(.ok):not(.late){background:rgba(184,121,15,.16);border-color:rgba(184,121,15,.4);color:#F3D18A;}
.pr-mine-tools{display:flex;gap:6px;flex-wrap:wrap;}
.pr-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
@media (max-width:1280px){.pr-cards{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:860px){.pr-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.pr-cards{grid-template-columns:1fr;}}
.pr-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:11px;display:flex;flex-direction:column;gap:9px;transition:border-color .2s,box-shadow .2s;}
.pr-card.dirty{border-color:color-mix(in srgb,var(--emerald) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--emerald) 12%,transparent);}
.pr-card .pr-he{padding:8px;}
.pr-card-h{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);flex-wrap:wrap;}
.pr-card-h b{font-family:var(--font-display);font-size:15px;color:var(--text);}
.pr-badge{margin-left:auto;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--paper);color:var(--text-faint);}
.pr-badge.pre{background:#FFF6E0;color:#8A6200;}
.pr-badge.ok{background:color-mix(in srgb,var(--emerald) 12%,var(--card));color:var(--emerald);}
.pr-card-q{display:flex;flex-wrap:wrap;gap:4px;}
.pr-dot{border:none;background:color-mix(in srgb,var(--c) 75%,var(--card));color:#26313B;border-radius:6px;padding:3px 7px;font:inherit;font-size:10.8px;cursor:pointer;}
.pr-dot:hover{background:var(--c);box-shadow:0 0 0 1px rgba(0,0,0,.15);}
.pr-card-com{padding:6px 9px;font-size:12.5px;border-radius:8px;}
.pr-card.hol{align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,var(--card) 0 8px,var(--paper) 8px 16px);min-height:120px;}
.pr-card-hol{font-size:13px;color:var(--text-muted);font-weight:600;}
.pr-cards.tpl .pr-badge{display:none;}
.pr-sticky-foot{position:sticky;bottom:0;z-index:5;display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:14px;padding:12px 14px;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:12px;box-shadow:0 -6px 18px rgba(0,0,0,.05);}
.pr-foot-hint{margin-right:auto;font-size:12px;color:var(--text-faint);max-width:560px;}

.pr-allday{font-size:12px;padding:5px 8px;border-radius:8px;color:var(--text-muted);}
.pr-hrow{gap:6px;}
.pr-hrow-top{display:flex;flex-direction:column;align-items:stretch;gap:5px;}
.pr-sel{width:100%;min-width:0;font:inherit;font-size:12.5px;font-weight:600;padding:5px 8px;border-radius:8px;border:1px solid color-mix(in srgb,var(--c,#ccc) 70%,#000 15%);background:var(--c,var(--card));color:#1E2A33;}
.pr-sel.empty{background:var(--card);color:var(--text-muted);border-style:dashed;font-weight:500;}
.pr-sel option{background:var(--card);color:var(--text);font-weight:400;}
.pr-hrow .pr-he-times{gap:5px;flex-wrap:nowrap;}
.pr-hrow .pr-he-times input{flex:1 1 0;min-width:0;width:0;padding:4px 6px;font-size:12.5px;font-variant-numeric:tabular-nums;}
.pr-hrow .pr-he-times input::-webkit-calendar-picker-indicator{display:none;}
.pr-hrow .pr-he-hint{display:none;}
.pr-card-d{color:var(--text-muted);}

/* Qui est où ? */
.pr-daypick{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
.pr-who-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:800px){.pr-who-grid{grid-template-columns:1fr;}}
.pr-who-col h4{margin:0 0 10px;font-family:var(--font-display);font-size:15px;}
.pr-grp{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden;}
.pr-grp-h{display:flex;align-items:center;gap:8px;padding:8px 12px;font-weight:700;font-size:13px;background:color-mix(in srgb,var(--c,#eee) 55%,var(--card));color:var(--text);}
.pr-grp-h i{width:11px;height:11px;border-radius:3px;background:var(--c,#ccc);box-shadow:0 0 0 1px rgba(0,0,0,.15);}
.pr-grp-h span{margin-left:auto;font-family:var(--font-mono);font-size:12px;background:var(--card);border-radius:99px;padding:1px 9px;}
.pr-grp.muted .pr-grp-h{background:var(--paper);color:var(--text-muted);}
.pr-grp.muted .pr-grp-h i{background:repeating-linear-gradient(135deg,#ECEDEA 0 3px,#D9DBD5 3px 5px);}
.pr-grp ul{list-style:none;margin:0;padding:4px 0;}
.pr-grp li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:5px 12px;font-size:13px;}
.pr-grp li + li{border-top:1px solid var(--border);}
.pr-grp li small{color:var(--text-faint);font-family:var(--font-mono);font-size:11px;}
.pr-grp li em{flex-basis:100%;font-size:11.5px;color:var(--text-muted);font-style:normal;}

/* Réglages */
.pr-set-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;}
@media (max-width:1100px){.pr-set-grid{grid-template-columns:1fr;}}
.pr-set h3{margin:0 0 6px;font-family:var(--font-display);font-size:16px;}
.pr-set h3 small{font-weight:600;color:var(--text-faint);font-size:12px;margin-left:6px;}
.pr-set .field-hint{margin:0 0 12px;}
.pr-set-foot{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin-top:12px;}
.pr-set-foot select{margin-right:auto;max-width:260px;}
.pr-acc-list{display:flex;flex-direction:column;gap:8px;}
.pr-acc{position:relative;border:1px solid var(--border);border-radius:10px;padding:10px 38px 10px 12px;display:flex;flex-direction:column;gap:7px;}
.pr-acc-scope{display:flex;gap:14px;flex-wrap:wrap;}
.pr-acc-targets{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.pr-acc-targets select{max-width:240px;font-size:12.5px;}
.pr-acc-del{position:absolute;top:8px;right:8px;}
.pr-tag{display:inline-flex;align-items:center;gap:5px;background:var(--paper);border-radius:99px;padding:3px 4px 3px 10px;font-size:12px;}
.pr-tag button{border:none;background:none;cursor:pointer;color:var(--text-faint);font-size:11px;padding:0 4px;}
.pr-st-list{display:flex;flex-direction:column;gap:6px;}
.pr-st-row{display:grid;grid-template-columns:38px minmax(0,1fr) 150px auto auto;gap:8px;align-items:center;}
.pr-st-row.inactive{opacity:.55;}
.pr-st-row input[type="color"]{width:38px;height:32px;padding:2px;border-radius:8px;border:1px solid var(--border);background:var(--card);}
.pr-st-row input[type="text"]{padding:6px 9px;font-size:13px;}
.pr-st-move{display:inline-flex;gap:2px;}
@media (max-width:640px){.pr-st-row{grid-template-columns:38px 1fr;}.pr-st-row select,.pr-st-row .pr-check,.pr-st-move{grid-column:2;}}
.pr-mem-list{max-height:340px;overflow:auto;border:1px solid var(--border);border-radius:10px;margin-top:8px;}
.pr-mem{display:flex;align-items:center;gap:9px;padding:7px 11px;font-size:13px;cursor:pointer;}
.pr-mem + .pr-mem{border-top:1px solid var(--border);}
.pr-mem small{margin-left:auto;color:var(--text-faint);font-size:11px;text-align:right;}
.pr-file{display:inline-flex;align-items:center;gap:8px;border:1px dashed var(--border);border-radius:10px;padding:12px 16px;cursor:pointer;font-size:13px;color:var(--text-muted);width:100%;}
.pr-file:hover{border-color:var(--emerald);color:var(--text);}
.pr-file input{display:none;}
.pr-file span::before{content:"📄 ";}
#pr-imp-out{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.pr-imp-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.pr-imp-sum div{background:var(--paper);border-radius:10px;padding:9px 12px;display:flex;flex-direction:column;}
.pr-imp-sum b{font-family:var(--font-display);font-size:18px;}
.pr-imp-sum span{font-size:11.5px;color:var(--text-muted);}
.pr-imp-sum .warn b{color:#B8790F;}
.pr-imp-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;}
.pr-imp-legend em{color:var(--emerald);font-style:normal;font-weight:600;}
.pr-imp-un summary{cursor:pointer;font-size:12.5px;color:#8A6200;font-weight:600;}
.pr-imp-un p{font-size:12px;color:var(--text-muted);margin:6px 0;line-height:1.6;}

/* Téléphone */
@media (max-width:640px){
  .pr-intro{font-size:12.5px;}
  .pr-weektitle{min-width:0;flex:1;text-align:center;}
  .pr-weektitle b{font-size:15px;}
  .pr-weekquick{width:100%;}
  .pr-weekquick .pr-chip{flex:1;}
  .pr-mine-tools{width:100%;}
  .pr-mine-tools .btn{flex:1;}
  .pr-sticky-foot{padding-right:76px;}
  .pr-actions{margin-left:0;width:100%;}
  .pr-search{min-width:0;flex:1 1 100%;}
  .pr-table-wrap{max-height:none;}
  .pr-name,.pr-name-h{min-width:130px;max-width:150px;}
  .pr-sticky-foot{bottom:8px;}
  .pr-foot-hint{display:none;}
  .pr-sticky-foot .btn{flex:1;}
  .pr-who{margin-left:0;width:100%;}
}
.pr-set select,.pr-who select{padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font:inherit;font-size:13px;}
.pr-st-row select{width:100%;min-width:0;}

/* ═══ 2.107.1 — Planning : en-tête, aujourd'hui, fiche personne, suivi, personnes ═══ */
.pr-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;}
.pr-head-txt{flex:1 1 520px;}
.pr-find{flex:0 1 320px;min-width:240px;}
.pr-find input{width:100%;padding:9px 13px;border:1px solid var(--border);border-radius:11px;background:var(--card);color:var(--text);font:inherit;font-size:13.5px;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.pr-find input:focus{outline:none;border-color:var(--emerald);box-shadow:0 0 0 3px color-mix(in srgb,var(--emerald) 15%,transparent);}
.pr-today{display:flex;align-items:stretch;gap:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--emerald) 10%,var(--card)) 0%,var(--card) 70%);border:1px solid var(--border);border-radius:14px;padding:12px 14px;flex-wrap:wrap;}
.pr-today-t{display:flex;flex-direction:column;justify-content:center;min-width:110px;}
.pr-today-t b{font-family:var(--font-display);font-size:17px;}
.pr-today-t span{font-size:12px;color:var(--text-muted);}
.pr-today-k{display:flex;gap:10px;flex:1;flex-wrap:wrap;align-items:stretch;}
.pr-kpi-main{flex:1;}
.pr-today-hol{font-weight:600;color:var(--text-muted);}
.pr-kpi{flex:1 1 170px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-left:4px solid var(--k);border-radius:10px;overflow:hidden;transition:box-shadow .15s;}
.pr-kpi:hover{box-shadow:0 4px 12px rgba(0,0,0,.06);}
.pr-kpi-main{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 12px 6px;background:none;border:0;cursor:pointer;font:inherit;color:var(--text);text-align:left;}
.pr-kpi-main:hover b{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;}
.pr-kpi b{font-family:var(--font-display);font-size:22px;color:var(--k);line-height:1.1;}
.pr-kpi span{font-size:12px;color:var(--text-muted);font-weight:600;}
.pr-kpi-week{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);background:color-mix(in srgb,var(--k) 4%,var(--card));}
.pr-kpi-week i{font-style:normal;display:flex;flex-direction:column;align-items:center;padding:4px 2px 5px;font-size:10px;color:var(--text-faint);font-weight:700;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border-right:1px solid color-mix(in srgb,var(--border) 60%,transparent);}
.pr-kpi-week i:last-child{border-right:0;}
.pr-kpi-week i:hover{background:color-mix(in srgb,var(--k) 12%,var(--card));}
.pr-kpi-week i.now{background:color-mix(in srgb,var(--k) 14%,var(--card));color:var(--k);}
.pr-kpi-week i.hol{cursor:default;opacity:.6;}
.pr-kpi-week em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--text);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;}
.pr-kpi-week em span{font-size:10px;color:var(--text-faint);margin:0 1px;font-weight:600;}
.pr-kpi small{font-size:10.5px;color:var(--text-faint);}
button.pr-nm{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--text);cursor:pointer;text-align:left;max-width:100%;}
button.pr-nm:hover{color:var(--emerald);text-decoration:underline;}
.pr-chg{position:absolute;bottom:3px;right:3px;width:7px;height:7px;border-radius:50%;background:#E07B24;box-shadow:0 0 0 2px var(--card);}
.pr-chg.in{position:static;display:inline-block;vertical-align:middle;margin-left:4px;}
.pr-lg i.chg{width:8px;height:8px;border-radius:50%;background:#E07B24;border:none;}
.pr-menu-wrap{position:relative;display:inline-flex;}
.pr-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:30;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:4px;display:flex;flex-direction:column;min-width:230px;}
.pr-menu.hidden{display:none;}
.pr-menu button{background:none;border:none;text-align:left;padding:8px 10px;border-radius:7px;font:inherit;font-size:13px;color:var(--text);cursor:pointer;}
.pr-menu button:hover{background:var(--paper);}
/* fiche personne */
.pr-ph-team{font-size:12px;color:var(--text-faint);font-weight:500;margin-left:6px;}
.pr-pnav{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.pr-pnav b{font-family:var(--font-display);}
.pr-pnav .pr-badge{margin-left:auto;}
.pr-ptable{width:100%;border-collapse:separate;border-spacing:0 5px;font-size:13px;}
.pr-ptable th{text-align:left;font-weight:700;color:var(--text-muted);padding:0 10px 0 0;white-space:nowrap;width:110px;font-size:12.5px;}
.pr-ptable thead th{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);}
.pr-ptable td{padding:0 4px;}
.pr-ptable tr.today th{color:var(--emerald);}
.pr-ptable td.pre .pr-pchip{opacity:.55;font-style:italic;}
.pr-ptable.sm{font-size:12px;}
.pr-pcom td{font-size:12px;color:var(--text-muted);padding-top:0!important;}
.pr-pchip{display:flex;flex-direction:column;background:var(--c,var(--paper));color:#1E2A33;border-radius:9px;padding:6px 10px;font-weight:600;font-size:12.5px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);}
.pr-pchip small{font-weight:500;font-size:11.5px;opacity:.85;font-variant-numeric:tabular-nums;}
.pr-pchip.off{background:repeating-linear-gradient(135deg,rgba(150,155,145,.13) 0 4px,rgba(150,155,145,.26) 4px 7px);color:var(--text-faint);}
.pr-pchip.none{background:var(--paper);color:var(--text-faint);font-weight:500;}
.pr-ptpl{margin-top:12px;}
.pr-ptpl summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--text-muted);}
/* suivi */
.pr-stats-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.pr-stats-head h3{margin:0;font-family:var(--font-display);}
.pr-stats-head select{padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font:inherit;font-size:13px;}
.pr-scards{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4fr);gap:14px;margin:12px 0 14px;}
@media (max-width:1000px){.pr-scards{grid-template-columns:1fr;}}
.pr-sgroup{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px;}
.pr-sgroup-t{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:8px;}
.pr-sgroup-c{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;}
.pr-scard{background:var(--paper);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;}
.pr-scard b{font-family:var(--font-display);font-size:24px;line-height:1.1;}
.pr-scard b i{font-style:normal;font-size:14px;color:var(--text-faint);}
.pr-scard span{font-size:12px;color:var(--text-muted);font-weight:600;}
.pr-scard small{font-size:11px;color:var(--text-faint);}
.pr-scard.ok b{color:var(--emerald);} .pr-scard.warn b{color:#C27C0E;} .pr-scard.bad b{color:var(--brick);}
.pr-stats-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:14px;}
@media (max-width:1000px){.pr-stats-grid{grid-template-columns:1fr;}}
.pr-stats-grid h4,.pr-remset h4,.pr-pt-head h4{margin:0 0 10px;font-family:var(--font-display);font-size:15px;}
.pr-stats-grid h4 small,.pr-pt-head h4 small{font-weight:500;color:var(--text-faint);font-size:12px;}
.pr-changes{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto;}
.pr-change{display:grid;grid-template-columns:auto 1fr;gap:1px 10px;text-align:left;background:var(--paper);border:none;border-left:3px solid #E07B24;border-radius:8px;padding:7px 10px;font:inherit;font-size:12.5px;color:var(--text);cursor:pointer;}
.pr-change span{color:var(--text-muted);}
.pr-change small,.pr-change em{grid-column:1/-1;font-size:11.5px;color:var(--text-muted);font-style:normal;}
.pr-change em{color:var(--text-faint);}
.pr-pt-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.pr-table-wrap.plain{max-height:none;border:none;background:none;}
.pr-stable td{font-variant-numeric:tabular-nums;}
.pr-st-team{display:block;font-size:10.5px;color:var(--text-faint);font-weight:500;}
.pr-w{color:#C27C0E;font-weight:700;} .pr-b{color:var(--brick);font-weight:700;}
.pr-rate{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12px;}
.pr-rate i{display:inline-block;width:46px;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--emerald) calc(var(--r)*1%),var(--grey-light,#E9EBE6) 0);}
.pr-remset{margin-top:14px;display:flex;flex-direction:column;gap:8px;}
.pr-remset .field-hint{margin:0;}
.pr-remset-l{display:flex;flex-direction:column;gap:6px;padding-left:22px;}
.pr-remset-l.off{opacity:.45;pointer-events:none;}
/* personnes */
.pr-newp{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.pr-newp input,.pr-newp select{flex:1 1 150px;min-width:0;padding:7px 10px;font-size:13px;border-radius:8px;}
.pr-newp .btn{flex:0 0 auto;}
#pr-np-out{margin-top:10px;}
.pr-created{background:color-mix(in srgb,var(--emerald) 8%,var(--card));border:1px solid color-mix(in srgb,var(--emerald) 28%,transparent);border-radius:10px;padding:9px 12px;font-size:12.5px;display:flex;flex-direction:column;gap:3px;}
.pr-created code{background:var(--card);padding:1px 6px;border-radius:5px;font-size:12px;}
.pr-sugg{margin-top:14px;border-top:1px dashed var(--border);padding-top:12px;}
.pr-sugg-h{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:8px;}
.pr-sugg-l{max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:10px;}
.pr-sg{display:grid;grid-template-columns:auto 1fr 200px;gap:10px;align-items:center;padding:7px 11px;font-size:13px;}
.pr-sg + .pr-sg{border-top:1px solid var(--border);}
.pr-sg span{display:flex;flex-direction:column;}
.pr-sg small{font-size:11px;color:var(--text-faint);}
.pr-sg input[type="email"]{padding:5px 8px;font-size:12px;border-radius:7px;}
@media (max-width:640px){.pr-sg{grid-template-columns:auto 1fr;}.pr-sg input[type="email"]{grid-column:2;}}
.pr-presets{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px;font-size:12px;color:var(--text-muted);}
.pr-presets > span{font-weight:600;margin-right:2px;}
.pr-imp-un{border:1px solid #F1D9A0;background:#FFF9EA;border-radius:10px;padding:10px 12px;font-size:12.5px;}
[data-theme="dark"] .pr-imp-un{background:rgba(184,121,15,.12);border-color:rgba(184,121,15,.35);}
.pr-imp-un-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 12px;margin:8px 0;max-height:220px;overflow:auto;}
@media (max-width:640px){.pr-find{flex:1 1 100%;}.pr-today{padding:10px;}.pr-today{flex-direction:column;gap:8px;}.pr-today-t{flex-direction:row;gap:8px;align-items:baseline;}.pr-kpi{flex:1 1 100%;}.pr-kpi-main{flex-direction:row;align-items:baseline;gap:8px;flex-wrap:wrap;padding:6px 12px;}.pr-kpi small{flex-basis:100%;}}

/* ═══ 2.107.2 — impression directement depuis AsMa ═══ */
#pr-print-root{display:none;}
@media print{
  @page{size:A4 landscape;margin:8mm;}
  body.pr-printing > *:not(#pr-print-root){display:none!important;}
  body.pr-printing{background:#fff!important;}
  body.pr-printing #pr-print-root{display:block;color:#222;font:9px/1.25 Arial,Helvetica,sans-serif;}
  #pr-print-root *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  #pr-print-root .pp-page{page-break-after:always;break-after:page;}
  #pr-print-root .pp-page:last-child{page-break-after:auto;break-after:auto;}
  #pr-print-root h1{font-size:15px;margin:0 0 2px;text-align:center;letter-spacing:.04em;}
  #pr-print-root h2{font-size:11px;margin:0 0 6px;text-align:center;font-weight:600;}
  #pr-print-root .pp-lg{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;margin:0 0 6px;}
  #pr-print-root .pp-lg span{display:inline-flex;align-items:center;gap:4px;}
  #pr-print-root .pp-lg i{width:12px;height:10px;border:1px solid #bbb;display:inline-block;}
  #pr-print-root table{border-collapse:collapse;width:100%;table-layout:fixed;}
  #pr-print-root th,#pr-print-root td{border:1px solid #bdbdbd;padding:2px 3px;text-align:center;vertical-align:middle;overflow:hidden;}
  #pr-print-root thead th{background:#1F3A5F;color:#fff;font-size:9px;}
  #pr-print-root th.n{text-align:left;width:15%;}
  #pr-print-root td.n{text-align:left;font-weight:700;}
  #pr-print-root td.c{font-size:8px;text-align:left;color:#444;}
  #pr-print-root td.hol{background:#eee;color:#666;}
  #pr-print-root td.pre{font-style:italic;color:#666;}
  #pr-print-root tr{page-break-inside:avoid;break-inside:avoid;}
  #pr-print-root thead{display:table-header-group;}
  #pr-print-root .pp-foot{margin-top:4px;font-size:8px;color:#666;text-align:right;}
}

/* ═══ 2.107.2 — ma semaine en un clic, répétition automatique ═══ */
.pr-rep{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:14px;overflow:hidden;}
.pr-rep-state{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:13.5px;color:#6B4B00;background:#FFF6E0;border-bottom:1px solid var(--border);}
.pr-rep-state > span:nth-child(2){flex:1;min-width:0;}
.pr-rep-state small{display:block;font-size:11.5px;opacity:.8;}
.pr-rep-state.ok,.pr-rep-state.auto{color:var(--emerald);background:color-mix(in srgb,var(--emerald) 8%,var(--card));}
.pr-rep-state.late{color:var(--brick);background:var(--brick-light);}
[data-theme="dark"] .pr-rep-state:not(.ok):not(.auto):not(.late){background:rgba(184,121,15,.16);color:#F3D18A;}
.pr-rep-ic{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:800;background:color-mix(in srgb,currentColor 15%,transparent);}
.pr-rep-help{flex:none;background:none;border:0;font:inherit;font-size:12px;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;opacity:.85;}
.pr-rep-help:hover{opacity:1;}
.pr-rep-row{display:flex;flex-wrap:wrap;gap:10px 26px;padding:10px 14px;align-items:flex-end;}
.pr-rep-grp{display:flex;flex-direction:column;gap:5px;min-width:0;}
.pr-rep-lbl{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);}
.pr-rep-btns{display:flex;gap:6px;flex-wrap:wrap;}
.pr-qbtn{font:inherit;font-size:13px;font-weight:600;color:var(--emerald);background:color-mix(in srgb,var(--emerald) 7%,var(--card));border:1px solid color-mix(in srgb,var(--emerald) 35%,var(--border));border-radius:999px;padding:6px 14px;cursor:pointer;transition:background .15s;}
.pr-qbtn:hover:not(:disabled){background:color-mix(in srgb,var(--emerald) 15%,var(--card));}
.pr-qbtn:disabled{opacity:.5;cursor:not-allowed;}
.pr-seg{display:inline-flex;flex-wrap:wrap;background:var(--paper);border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px;}
.pr-seg button{font:inherit;font-size:12.5px;font-weight:600;color:var(--text-muted);background:none;border:0;border-radius:999px;padding:5px 12px;cursor:pointer;transition:background .15s,color .15s;}
.pr-seg button:hover{color:var(--text);}
.pr-seg button.on{background:var(--card);color:var(--emerald);box-shadow:0 1px 3px rgba(0,0,0,.12);}
.pr-rep-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 14px 12px;}
.pr-rep-how.hidden{display:none;}
.pr-rep-how > div{background:color-mix(in srgb,var(--emerald) 5%,var(--card));border:1px solid var(--border);border-radius:10px;padding:8px 11px;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text-muted);}
.pr-rep-how b{font-size:12.5px;color:var(--text);}
@media (max-width:760px){.pr-rep-how{grid-template-columns:1fr;}.pr-rep-state{flex-wrap:wrap;}.pr-seg{border-radius:12px;}.pr-seg button{border-radius:9px;}}
.pr-mine-state.auto{color:var(--emerald);background:color-mix(in srgb,var(--emerald) 9%,var(--card));border-color:color-mix(in srgb,var(--emerald) 30%,transparent);}
.pr-auto{color:#7AA897;font-weight:800;font-size:12px;}
.pr-mtag{font-size:11px;font-weight:700;color:var(--emerald);background:color-mix(in srgb,var(--emerald) 10%,var(--card));border-radius:99px;padding:2px 8px;white-space:nowrap;}
.pr-mtag.man{color:var(--text-muted);background:var(--paper);}
.pr-remset select{padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font:inherit;font-size:13px;margin-left:6px;}
@media (max-width:640px){.pr-sticky-foot{position:static;padding-right:14px;box-shadow:none;}}
/* 2.107.3 — suggestions : déjà dans AsMa / sans compte */
.pr-sugg-sub{font-size:12.5px;margin:10px 0 6px;}
.pr-sugg-sub small{color:var(--text-faint);font-weight:500;}
.pr-sg.twin{grid-template-columns:auto 1fr minmax(0,1.1fr);}
.pr-sg-ok{color:var(--emerald);font-weight:800;}
.pr-sg-acc{display:flex;flex-direction:column;font-size:12.5px;font-weight:600;color:var(--emerald);}
.pr-sg-acc small{font-weight:500;color:var(--text-faint);}
.pr-sg-mail{display:flex;flex-direction:column;gap:2px;}
.pr-sg-mail small{font-size:10.5px;color:var(--text-faint);}
/* 2.107.4 — Qui est où ? : filtres par catégorie et demi-journée */
.pr-dayfilters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.pr-seg{display:inline-flex;background:var(--paper);border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap;}
.pr-seg button{border:none;background:none;border-radius:8px;padding:6px 12px;font:inherit;font-size:12.5px;color:var(--text-muted);cursor:pointer;}
.pr-seg button.on{background:var(--card);color:var(--text);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.pr-who-grid.one{grid-template-columns:minmax(0,720px);}
.pr-who-col h4 small{font-family:var(--font-body,inherit);font-size:12px;font-weight:600;color:var(--text-faint);margin-left:6px;}
.pr-tester{font-style:normal;font-size:10.5px;font-weight:700;color:#8A6200;background:#FFF6E0;border-radius:99px;padding:1px 7px;margin-left:4px;}
.pr-from{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-muted);}
.pr-from select{font:inherit;font-weight:600;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:5px 8px;background:var(--card);}
.pr-half.wait .pr-half-in{color:var(--text-faint);font-style:italic;font-size:11px;background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--border) 45%,transparent) 6px 7px);border:1px dashed var(--border);}
.pr-lg i.wait{background:repeating-linear-gradient(135deg,transparent 0 3px,var(--border) 3px 4px);border:1px dashed var(--border);}
.pr-gate{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#FFF6E0;color:#6B4B00;border:1px solid #F1D9A0;border-radius:12px;padding:10px 14px;font-size:13.5px;margin-bottom:12px;}
.pr-gate.open{background:color-mix(in srgb,var(--emerald) 8%,var(--card));color:var(--emerald);border-color:color-mix(in srgb,var(--emerald) 30%,transparent);}
[data-theme="dark"] .pr-gate:not(.open){background:rgba(184,121,15,.16);border-color:rgba(184,121,15,.4);color:#F3D18A;}

/* 2.108.10 — Qui est où ? : recherche d'une personne */
.pr-dsearch{margin:4px 0 12px;}
.pr-dsearch input{width:100%;max-width:520px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card);font:inherit;font-size:14px;color:var(--text);box-sizing:border-box;}
.pr-dsearch input:focus{outline:none;border-color:var(--emerald);box-shadow:0 0 0 3px color-mix(in srgb,var(--emerald) 15%,transparent);}
.pr-ds-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-top:10px;}
.pr-ds-item{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--border);border-left:4px solid var(--emerald);border-radius:12px;background:var(--card);box-shadow:var(--shadow-sm);}
.pr-ds-name{font-weight:700;font-size:14.5px;color:var(--text);}
.pr-ds-half{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:13px;}
.pr-ds-half small{width:74px;flex-shrink:0;color:var(--text-muted);font-size:12px;}
.pr-ds-half b{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text);}
.pr-ds-half b i{width:9px;height:9px;border-radius:50%;background:var(--c,var(--text-faint));display:inline-block;}
.pr-ds-half em{font-style:normal;font-family:var(--font-mono,monospace);font-size:12px;color:var(--text-muted);}
.pr-ds-com{font-size:12.5px;color:var(--text-muted);}
.pr-who-col li.pr-hit{background:color-mix(in srgb,var(--emerald) 9%,transparent);}
@media (max-width:760px){.pr-ds-list{grid-template-columns:1fr;}.pr-dsearch input{max-width:none;}}
