/* fonctions/equipe/impression.css — imprimer un planning (equipe/impression.js)
   La fenêtre (#impressionOverlay) avec son aperçu, et les pages A4 paysage (styles A « Calendrier » et
   B « Tableau de service »). Chargée juste après equipe.css. Pas de <style> en ligne (CSP) : l'orientation passe
   par la page nommée « planningPaysage ». */

/* ---- Fenêtre : style commun des fenêtres (interface/fenetres-communes.css) ----
   Tête, corps, pied, libellés (.field-label), listes (.field select) et boutons du pied viennent du style commun ;
   ici seulement la largeur, la disposition en deux colonnes et le contenu propre (puces, styles, aperçu). */
.ip-modal{--u:calc(1px * var(--ui-scale-factor));max-width:none;width:min(calc(760 * var(--u)),calc(100vw - calc(18 * var(--u))));max-height:calc(100vh - 32px);display:flex;flex-direction:column;}
.ip-corps{display:grid;grid-template-columns:calc(220 * var(--u)) minmax(0,1fr);max-height:none;overflow:auto;}
.ip-reglages{display:flex;flex-direction:column;gap:calc(8 * var(--u));min-width:0;}
.ip-rangee{display:flex;gap:calc(4 * var(--u));}
.ip-rangee + .ip-rangee{margin-top:calc(4 * var(--u));}
.ip-rangee select{flex:1;min-width:0;}
.ip-choix{flex:1;background:var(--surface-2);color:var(--text-dim);border:calc(1 * var(--u)) solid var(--border-soft);border-radius:calc(5 * var(--u));font:inherit;font-size:calc(9 * var(--u));font-weight:600;padding:calc(4 * var(--u)) calc(8 * var(--u));cursor:pointer;}
.ip-choix[aria-pressed="true"],.ip-style[aria-pressed="true"]{color:var(--text);border-color:var(--accent);box-shadow:0 0 0 calc(1 * var(--u)) var(--accent);}
.ip-styles{display:grid;grid-template-columns:1fr 1fr;gap:calc(5 * var(--u));}
.ip-style{display:flex;flex-direction:column;align-items:flex-start;gap:calc(2 * var(--u));text-align:left;background:var(--surface-2);color:var(--text);border:calc(1 * var(--u)) solid var(--border-soft);border-radius:calc(5 * var(--u));padding:calc(5 * var(--u));font:inherit;cursor:pointer;}
.ip-style b{font-size:calc(9 * var(--u));font-weight:600;}
.ip-style small{font-size:calc(8.5 * var(--u));color:var(--text-faint);line-height:1.3;}
.ip-vignette{display:grid;width:100%;height:calc(32 * var(--u));padding:calc(3 * var(--u));gap:calc(1.5 * var(--u));background:#fff;border-radius:calc(3 * var(--u));margin-bottom:calc(2 * var(--u));}
.ip-vignette.a{grid-template-columns:repeat(7,1fr);}
.ip-vignette.a i{border-radius:1px;background:#4c9a6a;} .ip-vignette.a i:nth-child(7n),.ip-vignette.a i:nth-child(7n-1){background:#e4e6ec;} .ip-vignette.a i:nth-child(10){background:#f0c48a;}
.ip-vignette.b{grid-template-rows:repeat(5,1fr);}
.ip-vignette.b i{border-radius:1px;background:repeating-linear-gradient(90deg,#4c9a6a 0 9%,#e4e6ec 9% 13%);} .ip-vignette.b i:nth-child(2){background:repeating-linear-gradient(90deg,#e4e6ec 0 4%,#4c9a6a 4% 13%);}
.ip-apercu-zone{min-width:0;}
.ip-apercu{position:relative;overflow:hidden;border-radius:calc(3 * var(--u));box-shadow:0 calc(2 * var(--u)) calc(10 * var(--u)) rgba(0,0,0,.4);background:#fff;}
.ip-vide{margin:0;padding:calc(24 * var(--u));text-align:center;color:#6b7280;}
.ip-modal .modal-foot .ip-resume{margin-right:auto;font-size:calc(8.5 * var(--u));line-height:1.35;color:var(--text-faint);}
.ip-actions{display:flex;gap:calc(6 * var(--u));}
.ip-imprimer{background:var(--accent);color:#0e1512;border-color:var(--accent);}
.ip-imprimer:disabled{opacity:.45;cursor:default;}
@media (max-width:760px){ .ip-corps{grid-template-columns:1fr;} }

/* ---- Pages (aperçu réduit et impression) ---- */
.ip-feuilles{display:none;}
.ip-feuilles.ip-reduit{display:block;}
.ip-reduit .ip-page{transform:scale(var(--k,1));transform-origin:0 0;}
.ip-feuilles,.ip-feuilles *{box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.ip-page{page:planningPaysage;width:297mm;height:210mm;padding:10mm 11mm 8mm;display:flex;flex-direction:column;gap:4mm;background:#fff;color:#1d2230;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow:hidden;break-after:page;page-break-after:always;}
.ip-page:last-child{break-after:auto;page-break-after:auto;}
.ip-entete{display:flex;align-items:baseline;gap:6mm;border-bottom:0.5mm solid #1d2230;padding-bottom:2mm;}
.ip-entete h1{margin:0;font-size:18pt;font-weight:800;letter-spacing:-.01em;}
.ip-entete span{margin-left:auto;font-size:12pt;font-weight:650;color:#4b5263;}
.ip-pied{display:flex;align-items:center;gap:3mm 6mm;flex-wrap:wrap;font-size:8pt;color:#374151;margin-top:auto;}
.ip-legende{display:flex;flex-wrap:wrap;gap:1.5mm 4mm;}
.ip-legende span{display:inline-flex;align-items:center;gap:1.2mm;white-space:nowrap;}
.ip-legende i{width:3mm;height:3mm;border-radius:0.7mm;box-shadow:inset 0 0 0 0.2mm rgba(0,0,0,.12);}
.ip-total b{font-weight:800;}
.ip-note{color:#8a90a0;}
.ip-date{margin-left:auto;color:#8a90a0;}
/* A : mois en calendrier */
.ip-cal{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:1.2mm;min-height:0;}
.ip-cal .ip-dow{display:flex;align-items:flex-end;justify-content:center;font-size:8.5pt;font-weight:700;color:#6b7280;}
.ip-cal .ip-dow.we{color:#a5aab6;}
.ip-cal{grid-template-rows:6mm;}
.ip-j{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:1.4mm 1.8mm;border-radius:1.6mm;min-height:0;overflow:hidden;}
.ip-j.vide{background:none !important;}
.ip-j b{font-size:12pt;font-weight:800;line-height:1;}
.ip-j i{font-style:normal;font-size:6.5pt;font-weight:700;opacity:.8;}
.ip-j span{font-size:9pt;font-weight:650;line-height:1.15;}
/* A : année en 12 mini-mois */
.ip-an{flex:1;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:4mm 6mm;min-height:0;}
.ip-mm b{display:block;font-size:9.5pt;font-weight:800;margin-bottom:1mm;}
.ip-mm-g{display:grid;grid-template-columns:repeat(7,1fr);gap:0.6mm;}
.ip-mm-g span{font-size:6pt;font-weight:700;color:#8a90a0;text-align:center;}
.ip-mm-g i{font-style:normal;height:5.6mm;display:flex;align-items:center;justify-content:center;border-radius:0.8mm;font-size:6.5pt;font-weight:700;}
.ip-mm-g i.vide{background:none;}
/* B : tableau de service (mois) et ruban (année) */
.ip-service,.ip-ruban{width:100%;border-collapse:separate;border-spacing:0.5mm;table-layout:fixed;font-size:8pt;}
.ip-service th,.ip-ruban th{font-weight:700;color:#4b5263;font-size:7.5pt;padding:0 0 0.8mm;}
.ip-service th small{display:block;font-size:6pt;color:#8a90a0;}
.ip-service th.we{color:#a5aab6;} .ip-service th.ferie{color:#c2410c;}
.ip-service th.nom,.ip-ruban th.nom,.ip-service td.nom,.ip-ruban td.nom{width:38mm;text-align:left;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ip-service th.tot,.ip-ruban th.tot,.ip-service td.tot,.ip-ruban td.tot{width:20mm;text-align:right;font-weight:750;white-space:nowrap;}
.ip-ruban th.tot,.ip-ruban td.tot{width:30mm;}
.ip-service td,.ip-ruban td{padding:0;height:clamp(6mm,calc(120mm / var(--lignes,5)),14mm);}
.ip-service td span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:0.8mm;font-size:6.5pt;font-weight:800;}
.ip-service td.we{background:#f7f8fa;}
.ip-service tr.grp td,.ip-ruban tr.grp td{padding-top:2mm;height:auto;font-size:8pt;font-weight:800;color:#4b5263;border-bottom:0.3mm solid #d9dce3;}
.ip-service td.nom,.ip-ruban td.nom,.ip-service td.tot,.ip-ruban td.tot{font-size:10pt;}
.ip-r{display:flex;height:100%;gap:0.15mm;}
.ip-r i{flex:1;border-radius:0.3mm;}

/* ---- Impression : seules les pages ---- */
@page planningPaysage{size:A4 landscape;margin:0;}
@media print{
 body.impression-planning > *:not(#impressionFeuilles){display:none !important;}
 body.impression-planning #impressionFeuilles{display:block !important;}
 body.impression-planning{background:#fff !important;margin:0;}
}
