/* PROCOM Forum 2027 — suivi du projet.
   Palette, typographie et formes reprises de la maquette de référence
   (sources/PROCOM2027 Point equipe.html) : police Archivo, fond marine/or/sarcelle,
   rayons asymétriques signature, trois thèmes (dark/dim/light) pilotés par [data-theme]. */

:root,[data-theme="dark"]{
  --pagebg:linear-gradient(180deg,#0B2329 0,#061215 560px) #061215;
  --band:#111414;--bandline:#1C2528;--bandink:#FFFFFF;--bandmut:#B7C6CA;
  --navbg:rgba(7,21,24,.94);
  --surf:#0D1F24;--surf2:#0B1A1E;
  --line:#1C363D;--line2:#24434B;
  --ink:#EEF3F4;--mut:#93ABB1;--mut2:#B7C6CA;
  --gold:#E3A33E;--goldt:#E3A33E;
  --acc:#5FD0DE;--teal:#13808F;--late:#FF8A7D;
  --hero:linear-gradient(160deg,#0F2A31 0%,#081619 100%);--herobd:#E3A33E;
  --onbg:#E3A33E;--onfg:#061215;--track:#24434B;--scrim:rgba(2,8,10,.66);
  --s-afaire-fg:#B7C6CA;--s-afaire-bg:#132A30;--s-afaire-solid:#2A4047;
  --s-encours-fg:#5FD0DE;--s-encours-bg:#0E3A42;--s-encours-solid:#13808F;
  --s-remis-fg:#7DDBA6;--s-remis-bg:#123627;--s-remis-solid:#2E9E66;
  --s-bloque-fg:#C9A6F0;--s-bloque-bg:#2B2140;--s-bloque-solid:#8E5BC2;
  --s-late-fg:#FF9B8F;--s-late-bg:#3E1D1A;--s-late-solid:#D04A3F;
  --s-proposee-fg:#E3A33E;--s-proposee-bg:#2C2210;--s-proposee-solid:#8A6A24;
  color-scheme:dark;
}
[data-theme="dim"]{
  --pagebg:#1E3139;
  --band:linear-gradient(118deg,#0B2A3A 0%,#0D4152 58%,#0F6B7C 100%);--bandline:rgba(255,255,255,.18);--bandink:#FFFFFF;--bandmut:#D2DEE1;
  --navbg:rgba(26,44,51,.95);
  --surf:#263C45;--surf2:#223740;
  --line:#36505A;--line2:#43606B;
  --ink:#EDF2F3;--mut:#B0C2C7;--mut2:#C8D5D9;
  --gold:#E8AE52;--goldt:#F0BE6A;
  --acc:#7FDCE8;--teal:#13808F;--late:#FFA79E;
  --hero:linear-gradient(118deg,#0B2A3A 0%,#0D4152 58%,#0F6B7C 100%);--herobd:transparent;
  --onbg:#E8AE52;--onfg:#0B1A1E;--track:#43606B;--scrim:rgba(5,15,20,.6);
  --s-afaire-fg:#C6D4D9;--s-afaire-bg:#33505A;--s-afaire-solid:#4A6670;
  --s-encours-fg:#7FDCE8;--s-encours-bg:#1C5561;--s-encours-solid:#13808F;
  --s-remis-fg:#8FE0B2;--s-remis-bg:#1F4D37;--s-remis-solid:#2E9E66;
  --s-bloque-fg:#D9BDF5;--s-bloque-bg:#45325F;--s-bloque-solid:#8E5BC2;
  --s-late-fg:#FFA79E;--s-late-bg:#5A2A27;--s-late-solid:#D04A3F;
  --s-proposee-fg:#F0BE6A;--s-proposee-bg:#4A3A1C;--s-proposee-solid:#8A6A24;
  color-scheme:dark;
}
[data-theme="light"]{
  --pagebg:#F2F5F5;
  --band:#FFFFFF;--bandline:#D5E0E2;--bandink:#0B2A3A;--bandmut:#4F6774;
  --navbg:rgba(255,255,255,.95);
  --surf:#FFFFFF;--surf2:#F6F9F9;
  --line:#D5E0E2;--line2:#C3D2D5;
  --ink:#0B2A3A;--mut:#4F6774;--mut2:#3E5664;
  --gold:#E3A33E;--goldt:#8F5A00;
  --acc:#0F6B7C;--teal:#0F6B7C;--late:#B3261E;
  --hero:linear-gradient(118deg,#0B2A3A 0%,#0D4152 58%,#0F6B7C 100%);--herobd:transparent;
  --onbg:#0B2A3A;--onfg:#FFFFFF;--track:#DDE6E8;--scrim:rgba(11,42,58,.45);
  --s-afaire-fg:#4A5560;--s-afaire-bg:#ECEFF0;--s-afaire-solid:#C9D1D4;
  --s-encours-fg:#0B6E7C;--s-encours-bg:#D7EDEF;--s-encours-solid:#1A8FA0;
  --s-remis-fg:#1B7549;--s-remis-bg:#DCF0E3;--s-remis-solid:#2E9E66;
  --s-bloque-fg:#6B3FA0;--s-bloque-bg:#ECE3F6;--s-bloque-solid:#8A5CC4;
  --s-late-fg:#B3261E;--s-late-bg:#FBE3E0;--s-late-solid:#D9443A;
  --s-proposee-fg:#8F5A00;--s-proposee-bg:#FBF1DD;--s-proposee-solid:#C98A1F;
  color-scheme:light;
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--pagebg);color:var(--ink);
  font-family:Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;
  font-size:15px;line-height:1.5;
}
button{font:inherit;color:inherit}
a{color:var(--acc);text-decoration:none}
a:hover{color:var(--ink)}

.aller-au-contenu{position:absolute;left:-999px;top:0}
.aller-au-contenu:focus{left:1rem;top:1rem;z-index:100;background:var(--surf);color:var(--ink);padding:.5rem 1rem;border-radius:2px}

.conteneur{max-width:1280px;margin:0 auto;padding:0 clamp(14px,3vw,40px)}

.entete{background:var(--band);border-bottom:1px solid var(--bandline);color:var(--bandink);padding-top:env(safe-area-inset-top,0px)}
.entete__ligne{display:flex;align-items:center;gap:28px;padding:16px clamp(14px,3vw,40px);flex-wrap:wrap}
.entete .logo{color:var(--bandink);font-weight:800;text-decoration:none;letter-spacing:0.02em;font-size:15px;text-transform:uppercase;font-stretch:102%}

.sous-nav{position:sticky;top:0;z-index:20;background:var(--navbg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.sous-nav__bouton{display:none;align-items:center;gap:10px;cursor:pointer;list-style:none;background:none;border:none;border-radius:0;color:var(--mut);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:14px clamp(14px,3vw,40px);width:100%;text-align:left}
.sous-nav__bouton:hover{color:var(--goldt)}
.sous-nav__bouton::-webkit-details-marker{display:none}
.sous-nav__bouton-barres{width:18px;height:2px;background:currentColor;position:relative;flex:none}
.sous-nav__bouton-barres::before,.sous-nav__bouton-barres::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
.sous-nav__bouton-barres::before{top:-6px}
.sous-nav__bouton-barres::after{top:6px}
.sous-nav__ligne{display:flex;gap:28px;align-items:center;flex-wrap:wrap;padding:0 clamp(14px,3vw,40px)}
.sous-nav__ligne a{color:var(--mut);text-decoration:none;font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:16px 0 14px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .2s,border-color .2s}
.sous-nav__ligne a[aria-current="page"]{color:var(--goldt);border-color:var(--gold)}
.sous-nav__ligne a:hover{color:var(--goldt)}

/* menus déroulants « Gestion »/« Administration » : regroupent les pages moins fréquentes
   plutôt que de les étaler à plat (voir décision du 2026-10-19). */
.sous-nav__menu{position:relative}
.sous-nav__menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--mut);font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:16px 0 14px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .2s,border-color .2s}
.sous-nav__menu>summary::-webkit-details-marker{display:none}
.sous-nav__menu>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.sous-nav__menu[open]>summary::after{transform:rotate(225deg) translateY(2px)}
.sous-nav__menu>summary:hover,.sous-nav__menu[data-actif]>summary{color:var(--goldt)}
.sous-nav__menu[data-actif]>summary{border-color:var(--gold)}
.sous-nav__menu-panneau{display:flex;flex-direction:column;gap:2px;position:absolute;top:100%;left:0;min-width:200px;padding:8px;margin-top:-4px;background:var(--surf);border:1px solid var(--line);border-radius:4px 16px 4px 16px;box-shadow:0 16px 32px var(--scrim);z-index:30}
.sous-nav__menu-panneau a{padding:9px 12px;border-radius:3px 10px 3px 10px;border-bottom:none!important}
.sous-nav__menu-panneau a:hover,.sous-nav__menu-panneau a[aria-current="page"]{background:var(--surf2)}

.entete__compte{display:flex;align-items:center;flex-wrap:wrap;row-gap:10px;gap:18px;font-size:11px;font-weight:700;letter-spacing:0.06em;color:var(--bandmut);margin-left:auto}
.entete__compte>*{white-space:nowrap}
.entete__compte a{color:var(--bandmut)}
.entete__compte a:hover{color:var(--goldt)}
.lien-bouton{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-decoration:underline}

.theme-switch{display:flex;gap:2px;border:1px solid var(--bandline);border-radius:2px;padding:2px;flex:none}
.theme-switch button{display:flex;align-items:center;gap:6px;border:0;border-radius:1px;padding:6px 8px;min-height:32px;min-width:32px;justify-content:center;cursor:pointer;font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;background:transparent;color:var(--bandmut)}
.theme-switch button[aria-pressed="true"]{background:var(--gold);color:var(--onfg)}
.theme-switch button .dot{width:11px;height:11px;border-radius:50%;border:1.5px solid currentColor;flex:none}

.messages{list-style:none;padding:0;margin:.9rem 0 0}
.messages li{padding:.6rem .9rem;border-radius:2px 14px 2px 14px;margin-bottom:.4rem;background:var(--s-remis-bg);color:var(--s-remis-fg);font-size:.9rem}
.messages li.error{background:var(--s-late-bg);color:var(--s-late-fg)}
.messages li.info{background:var(--s-encours-bg);color:var(--s-encours-fg)}

main{padding:1.75rem 0 4rem}

h1,h2,h3{line-height:1.15;font-weight:800;font-stretch:102%;text-transform:uppercase}
.sur-titre{text-transform:uppercase;letter-spacing:0.16em;font-size:11px;font-weight:700;color:var(--goldt);margin:0 0 .4rem}
.titre{margin:0 0 1.4rem;font-size:clamp(22px,3vw,34px);line-height:1.1}

.carte{background:var(--surf);border:1px solid var(--line);border-radius:4px 28px 4px 28px;padding:18px 20px;margin-bottom:1.25rem}

.journal__ligne{display:grid;grid-template-columns:110px 1fr;gap:4px 18px;padding:14px 0;border-bottom:1px solid var(--line)}
.journal__ligne:last-child{border-bottom:none;padding-bottom:0}
.journal__ligne:first-child{padding-top:0}
.journal__date{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--goldt);padding-top:3px}
.journal__texte{font-size:15px;line-height:1.55}
.grille-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:1.5rem}
.stat{display:block;background:var(--surf);border:1px solid var(--line);border-radius:4px 24px 4px 24px;padding:16px 18px;text-decoration:none;color:inherit;transition:transform .2s,border-color .2s}
.stat:hover{border-color:var(--gold);transform:translateY(-2px);color:inherit}
.stat__valeur{font-size:1.9rem;font-weight:800;font-stretch:102%;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.stat__valeur--retard{color:var(--late)}
.stat__valeur--remis{color:var(--s-remis-solid)}
.stat__valeur--ajour{color:var(--acc)}
.stat__libelle{color:var(--mut);font-size:.82rem;margin-top:6px;font-weight:600}
.stat__sous{color:var(--mut);font-size:.78rem;margin-top:2px}
.stat__cta{display:block;font-size:.75rem;font-weight:700;color:var(--goldt);margin-top:10px}

table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:.72rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--mut);font-weight:700}
.table-vide{color:var(--mut);padding:1.2rem 0;text-align:center}

.badge{display:inline-block;border:1px solid;border-radius:2px;padding:5px 10px;font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;white-space:nowrap}
.badge--proposee{border-color:var(--s-proposee-solid);background:var(--s-proposee-bg);color:var(--s-proposee-fg)}
.badge--a_faire{border-color:var(--s-afaire-solid);background:var(--s-afaire-bg);color:var(--s-afaire-fg)}
.badge--en_cours{border-color:var(--s-encours-solid);background:var(--s-encours-bg);color:var(--s-encours-fg)}
.badge--terminee,.badge--valide{border-color:var(--s-remis-solid);background:var(--s-remis-bg);color:var(--s-remis-fg)}
.badge--retard,.badge--a_reprendre{border-color:var(--s-late-solid);background:var(--s-late-bg);color:var(--s-late-fg)}
.badge--bloque{border-color:var(--s-bloque-solid);background:var(--s-bloque-bg);color:var(--s-bloque-fg)}
.badge--remis{border-color:var(--s-encours-solid);background:var(--s-encours-bg);color:var(--s-encours-fg)}
.badge--annule{border-color:var(--s-afaire-solid);background:var(--s-afaire-bg);color:var(--s-afaire-fg);text-decoration:line-through}
.badge--a_appliquer{border-color:var(--s-proposee-solid);background:var(--s-proposee-bg);color:var(--s-proposee-fg)}
.badge--appliquee{border-color:var(--s-remis-solid);background:var(--s-remis-bg);color:var(--s-remis-fg)}
.badge--remplacee{border-color:var(--s-afaire-solid);background:var(--s-afaire-bg);color:var(--s-afaire-fg)}

.bouton{display:inline-flex;align-items:center;gap:6px;background:var(--gold);color:var(--onfg);border:1px solid var(--gold);border-radius:2px 16px 2px 16px;padding:.6rem 1.15rem;font-size:.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:transform .2s,opacity .2s}
.bouton:hover{opacity:.9;transform:translateY(-1px);color:var(--onfg)}
.bouton--discret{background:transparent;color:var(--ink);border-color:var(--line2)}
.bouton--discret:hover{border-color:var(--gold);color:var(--goldt)}
.bouton--danger{background:var(--s-late-solid);border-color:var(--s-late-solid);color:#fff}
.bouton--petit{padding:.35rem .7rem;font-size:.66rem;border-radius:2px 12px 2px 12px}
.bouton[aria-pressed="true"]{border-color:var(--s-remis-solid);color:var(--s-remis-fg)}
.lien-secondaire{margin-top:1rem;font-size:.85rem;color:var(--mut)}

.barre-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.1rem;flex-wrap:wrap}
.filtres{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1.1rem}
.filtres a{padding:6px 13px;border-radius:2px;border:1px solid var(--line2);color:var(--ink);text-decoration:none;font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;transition:background .2s,color .2s}
.filtres a[aria-current="page"]{background:var(--gold);color:var(--onfg);border-color:var(--gold)}
.filtres a:hover:not([aria-current="page"]){border-color:var(--gold);color:var(--goldt)}

form .champ{margin-bottom:1rem}
form .champ label{display:block;font-weight:700;font-size:.78rem;letter-spacing:0.04em;margin-bottom:.35rem;color:var(--mut2)}
form .champ input[type=text],form .champ input[type=email],form .champ input[type=password],
form .champ input[type=date],form .champ input[type=file],form .champ select,form .champ textarea{
  width:100%;padding:.6rem .65rem;border:1px solid var(--line2);border-radius:2px;
  font:inherit;background:var(--surf2);color:var(--ink);
}
form .champ input:focus,form .champ select:focus,form .champ textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
form .champ--case{display:flex;align-items:center;gap:.5rem}
form .champ--case label{font-weight:400;margin:0}
.champ__aide{color:var(--mut);font-size:.78rem;margin-top:.3rem}
.champ__erreur{color:var(--s-late-fg);font-size:.8rem;margin:.3rem 0 0}
.champ--erreur input,.champ--erreur select,.champ--erreur textarea{border-color:var(--s-late-solid)}

.alerte{padding:.75rem 1rem;border-radius:2px 14px 2px 14px;margin-bottom:1rem;font-size:.88rem}
.alerte--erreur{background:var(--s-late-bg);color:var(--s-late-fg)}
.alerte--attente{background:var(--s-proposee-bg);color:var(--s-proposee-fg)}

.page-compte{display:flex;justify-content:center;padding:3rem 1rem}
.carte-compte{background:var(--surf);border:1px solid var(--line);border-radius:4px 32px 4px 32px;padding:2rem;max-width:380px;width:100%}
.carte-compte form .bouton{width:100%;margin-top:.5rem;justify-content:center}
.carte-compte__logo{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:1.6rem;text-decoration:none;color:var(--ink);font-weight:800;font-size:14px;letter-spacing:.02em;text-transform:uppercase;text-align:center}
.carte-compte__logo img{width:72px;height:72px;flex:none}

.htmx-indicator{opacity:0;transition:opacity 150ms ease-in;margin-left:.6rem;color:var(--mut)}
.htmx-request.htmx-indicator,.htmx-request .htmx-indicator{opacity:1}

/* --- Bannière héro (tableau de bord) ---------------------------------------------------- */
.hero{background:var(--hero);border:1px solid var(--herobd);border-radius:6px 40px 6px 40px;padding:clamp(20px,3vw,36px);color:#FFFFFF;display:flex;flex-wrap:wrap;gap:20px 28px;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.hero__corps{flex:1 1 440px;min-width:0}
.hero__suptitre{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#E3A33E}
.hero__titre{margin:10px 0 0;font-size:clamp(24px,4vw,40px);line-height:1.05;font-weight:800;font-stretch:104%;text-transform:uppercase;color:#fff}
.hero__resume{margin:14px 0 0;font-size:15px;line-height:1.55;color:#D2DEE1;max-width:54ch}
.hero__compte{flex:0 1 240px;min-width:180px;text-decoration:none;color:#fff;border:1px solid rgba(227,163,62,.7);border-radius:4px 28px 4px 28px;padding:16px 18px;text-align:center;transition:border-color .2s,background .2s}
.hero__compte:hover{border-color:#E3A33E;background:rgba(227,163,62,.08);color:#fff}
.hero__jours{font-weight:800;font-stretch:102%;font-size:clamp(30px,4vw,42px);line-height:1;color:#E3A33E}
.hero__jours-libelle{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#D2DEE1;margin-top:6px}
.hero__date{font-size:13px;color:#D2DEE1;margin-top:6px}
.hero__cta{font-size:12px;font-weight:700;color:#E3A33E;margin-top:10px}

/* --- Mise en page deux colonnes (ex. Cette semaine + barre latérale) --------------------- */
.deux-colonnes{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;margin-bottom:1.25rem}
.deux-colonnes__principal{flex:1 1 560px;min-width:0}
.deux-colonnes__lateral{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:18px}
.deux-colonnes__principal .carte,.deux-colonnes__lateral .carte{margin-bottom:0}

/* --- Avancement par pôle : barres de progression ---------------------------------------- */
.poles{display:flex;flex-direction:column}
.pole-ligne{padding:11px 0;border-bottom:1px solid var(--line);display:block;text-decoration:none;color:inherit}
.pole-ligne:hover .pole-ligne__nom{color:var(--goldt)}
.pole-ligne__entete{display:flex;align-items:baseline;gap:10px}
.pole-ligne__nom{flex:1;min-width:0;font-size:14px;font-weight:700}
.pole-ligne__pct{font-weight:800;font-size:16px;color:var(--goldt);font-variant-numeric:tabular-nums}
.barre{display:flex;height:6px;border-radius:2px;overflow:hidden;background:var(--track);margin-top:7px}
.barre__remis{background:var(--s-remis-solid)}
.barre__retard{background:var(--s-late-solid)}
.pole-ligne__legende{font-size:11px;color:var(--mut);margin-top:5px}

/* --- Page « Par pôle » : onglets + en-tête du pôle sélectionné --------------------------- */
.pole-onglets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1.1rem}
.pole-onglets a{padding:6px 13px;min-height:40px;display:flex;align-items:center;border-radius:2px;border:1px solid var(--line2);color:var(--ink);text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s}
.pole-onglets a[aria-current="page"]{background:var(--onbg);border-color:var(--onbg);color:var(--onfg)}
.pole-onglets a:hover:not([aria-current="page"]){border-color:var(--gold);color:var(--goldt)}

.pole-entete{background:var(--hero);border:1px solid var(--herobd);border-radius:4px 32px;padding:clamp(16px,2.6vw,26px);color:#fff;display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-bottom:1.1rem}
.pole-entete__avatar{width:54px;height:54px;border-radius:50%;border:1.5px solid #E3A33E;color:#E3A33E;display:grid;place-items:center;font-weight:800;font-size:17px;flex:0 0 auto}
.pole-entete__corps{flex:1 1 220px;min-width:0}
.pole-entete__nom{font-size:clamp(19px,2.4vw,26px);font-weight:800;font-stretch:102%;text-transform:uppercase;line-height:1.1}
.pole-entete__role{font-size:14px;color:#D2DEE1;margin-top:4px}
.pole-entete__membres{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:8px;font-size:13px;color:#D2DEE1}
.pole-entete__membres .tache-ligne__pole{color:#fff}
.pole-entete__stats{display:flex;gap:22px;flex-wrap:wrap}
.pole-entete__chiffre{font-weight:800;font-size:24px;line-height:1;font-variant-numeric:tabular-nums}
.pole-entete__chiffre--accent{color:#E3A33E}
.pole-entete__chiffre--retard{color:#FFA79E}
.pole-entete__libelle{font-size:11px;color:#D2DEE1;margin-top:4px}
.pole-entete__barre{flex:1 1 100%;display:flex;height:6px;border-radius:2px;overflow:hidden;background:rgba(255,255,255,.16)}

.pole-mois{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--goldt);margin:20px 0 8px}
.pole-mois:first-child{margin-top:0}

/* --- Légende de statuts (calendrier, listes) --------------------------------------------- */
.legende{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--mut);margin-bottom:.5rem}
.legende__puce{display:inline-flex;align-items:center;gap:6px}
.legende__pastille{width:9px;height:9px;border-radius:2px;display:inline-block}

/* --- Calendrier : frise hebdomadaire ------------------------------------------------------ */
.frise{overflow-x:auto;scrollbar-width:thin}
.frise__corps{min-width:700px}
.frise__mois{display:flex}
.frise__mois-label{flex:1;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);white-space:nowrap;height:16px}
.frise__barres{position:relative;height:140px;display:flex;align-items:flex-end;border-bottom:2px solid var(--gold)}
.frise__semaine{flex:1;display:flex;flex-direction:column-reverse;padding:0 1px;min-width:4px}
.frise__semaine--courante{outline:1px dashed var(--ink);outline-offset:-1px}
.frise__segment{width:100%}
.frise__segment--remis{background:var(--s-remis-solid)}
.frise__segment--retard{background:var(--s-late-solid)}
.frise__segment--avenir{background:var(--track)}
.frise__pointdujour{position:absolute;top:-4px;bottom:-8px;width:2px;background:var(--ink);pointer-events:none}
.frise__pointdujour-label{position:absolute;top:8px;transform:translateX(-50%);background:var(--ink);color:var(--surf);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;padding:2px 6px;white-space:nowrap}
.frise__jalons{position:relative;height:34px;margin-top:4px}
.frise__jalons::before{content:'';position:absolute;left:0;right:0;top:14px;height:2px;background:var(--line)}
.frise__jalon{position:absolute;top:0;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;background:var(--surf);color:var(--goldt);border:2px solid var(--gold);text-decoration:none}
.frise__jalon--passe{opacity:.55}
.jalons-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:8px 20px;margin-top:1rem}
.jalons-liste__item{display:flex;gap:10px;align-items:baseline}
.jalons-liste__num{font-weight:800;font-size:13px;color:var(--goldt);flex:none;width:18px}

/* --- Carte d'appel : prochaine réunion (dashboard) ---------------------------------------- */
.reunion-cta{display:block;text-decoration:none;background:var(--gold);color:var(--onfg);border-radius:4px 28px 4px 28px;padding:18px 20px;transition:transform .2s}
.reunion-cta:hover{transform:translateY(-2px);color:var(--onfg)}
.reunion-cta__entete{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.reunion-cta__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em}
.reunion-cta__delai{font-size:13px;font-weight:700;text-transform:uppercase}
.reunion-cta__titre{font-size:20px;font-weight:800;font-stretch:102%;text-transform:uppercase;margin-top:8px;line-height:1.15}
.reunion-cta__date{font-size:14px;font-weight:600;margin-top:4px}
.reunion-cta__corps{margin-top:10px;padding-top:10px;border-top:1px solid rgba(6,18,21,.3);font-size:14px;white-space:pre-line;line-height:1.45}
.reunion-cta__plus{font-size:12px;font-weight:700;margin-top:10px}

/* --- Qui a remis quoi : lignes avec coche (pas de tableau) ------------------------------- */
.remis-ligne{display:grid;grid-template-columns:110px 1fr auto;gap:4px 16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:opacity .2s}
.remis-ligne:hover{opacity:.8;color:inherit}
.remis-ligne:last-child{border-bottom:none}
.remis-ligne__date{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--s-remis-fg)}
.remis-ligne__corps{min-width:0;display:flex;flex-direction:column}
.remis-ligne__titre{font-size:15px;font-weight:600;line-height:1.3;color:var(--ink)}
.remis-ligne__note{font-size:12px;color:var(--mut);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.remis-ligne__qui{font-size:12px;font-weight:600;color:var(--mut2)}

/* --- Tâches en retard : grille de cartes --------------------------------------------------- */
.retard-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:10px;margin-bottom:1.25rem}
.retard-carte{background:var(--surf);border:1px solid var(--line);border-radius:4px 20px 4px 20px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.retard-carte:hover{border-color:var(--late);transform:translateY(-2px);color:inherit}
.retard-carte__entete{display:flex;justify-content:space-between;gap:8px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.retard-carte__jours{color:var(--late)}
.retard-carte__prevu{color:var(--mut)}
.retard-carte__titre{font-size:15px;font-weight:600;line-height:1.35;flex:1;color:var(--ink)}
.retard-carte__pole{font-size:12px;font-weight:600;color:var(--mut2)}

/* --- Calendrier : phases du rétroplanning -------------------------------------------------- */
.phases-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:10px;margin-bottom:1.25rem}
.phase-carte{background:var(--surf);border:1px solid var(--line);border-radius:4px 22px 4px 22px;padding:14px 16px;display:flex;flex-direction:column;gap:7px}
.phase-carte--courante{border-color:var(--gold)}
.phase-carte__entete{display:flex;justify-content:space-between;align-items:center;gap:8px}
.phase-carte__num{width:30px;height:30px;border-radius:50%;background:var(--track);color:var(--ink);border:1.5px solid var(--gold);display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
.phase-carte--courante .phase-carte__num{background:var(--gold);color:var(--onfg)}
.phase-carte__badge{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--gold);color:var(--onfg);border-radius:2px;padding:3px 7px;white-space:nowrap}
.phase-carte__nom{font-size:15px;font-weight:800;font-stretch:102%;text-transform:uppercase;line-height:1.15}
.phase-carte__range{font-size:12px;color:var(--mut)}
.phase-carte__caption{font-size:12px;color:var(--mut2)}

/* --- Calendrier : semaines passées (repli natif, sans JS) ---------------------------------- */
.semaines-passees{margin-bottom:1rem}
.semaines-passees summary{cursor:pointer;min-height:40px;display:inline-flex;align-items:center;border:1px solid var(--line2);background:transparent;color:var(--ink);border-radius:2px;padding:8px 14px;font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;list-style:none}
.semaines-passees summary::-webkit-details-marker{display:none}
.semaines-passees[open] summary{margin-bottom:10px}

/* --- Calendrier : carte de semaine ---------------------------------------------------------- */
.semaine-carte{background:var(--surf);border:1px solid var(--line);border-radius:4px 20px 4px 20px;padding:12px clamp(12px,2vw,18px);margin-bottom:8px;opacity:.9}
.semaine-carte--courante{border-color:var(--gold);opacity:1}
.semaine-carte__entete{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.semaine-carte__titre{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.semaine-carte__jalon{font-size:12px;font-weight:700;color:var(--goldt)}
.semaine-carte__compte{margin-left:auto;font-size:11px;color:var(--mut)}
.semaine-carte__liste{margin-top:6px}
.semaine-item{display:grid;grid-template-columns:minmax(70px,90px) 1fr auto;gap:4px 12px;align-items:center;padding:8px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit;transition:opacity .2s}
.semaine-item:hover{opacity:.75;color:inherit}
.semaine-item__date{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.semaine-item__titre{font-size:14px;font-weight:600;line-height:1.3}
.semaine-item__meta{font-size:12px;color:var(--mut2);margin-top:2px}

/* --- Réunions (repliables, <details>/<summary> natif) -------------------------------------- */
.reunion{background:var(--surf);border:1px solid var(--line);border-radius:4px 26px 4px 26px;padding:0 clamp(14px,2.4vw,24px);margin-bottom:10px}
.reunion__resume{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:center;flex-wrap:wrap;width:100%;padding:16px 0}
.reunion__resume::-webkit-details-marker{display:none}
.reunion__date{text-align:center;flex:none;width:50px}
.reunion__jour{font-weight:800;font-size:22px;line-height:1;color:var(--goldt)}
.reunion__mois{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.08em}
.reunion__titre-bloc{flex:1 1 200px;min-width:0}
.reunion__titre{font-size:16px;font-weight:800;font-stretch:102%;text-transform:uppercase}
.reunion__meta{font-size:12px;color:var(--mut2);margin-top:3px}
.reunion__tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);color:var(--mut2);border-radius:2px;padding:4px 9px;white-space:nowrap}
.reunion__tag--avenir{border-color:var(--gold);color:var(--goldt)}
.reunion__chevron{font-size:18px;color:var(--mut);transition:transform .2s;flex:none}
.reunion[open] .reunion__chevron{transform:rotate(90deg)}
.reunion__corps{padding-bottom:16px;display:flex;flex-direction:column;gap:12px}
.reunion__bloc-titre{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:4px}
.reunion__texte{white-space:pre-line;font-size:14px;line-height:1.55}

/* --- Lignes de tâche (cette semaine, liste des tâches) -------------------------------------- */
.tache-ligne{display:grid;grid-template-columns:52px 1fr auto;gap:10px 14px;align-items:center;background:var(--surf);border:1px solid var(--line);border-left:3px solid var(--line2);border-radius:4px 20px 4px 20px;padding:10px 14px;margin-bottom:8px;transition:border-color .2s}
.tache-ligne:hover{border-color:var(--gold)}
.tache-ligne--proposee{border-left-color:var(--s-proposee-solid)}
.tache-ligne--a_faire{border-left-color:var(--s-afaire-solid)}
.tache-ligne--en_cours{border-left-color:var(--s-encours-solid)}
.tache-ligne--terminee,.tache-ligne--valide{border-left-color:var(--s-remis-solid)}
.tache-ligne--bloque{border-left-color:var(--s-bloque-solid)}
.tache-ligne--remis{border-left-color:var(--s-encours-solid)}
.tache-ligne--a_reprendre{border-left-color:var(--s-late-solid)}
.tache-ligne--annule{border-left-color:var(--s-afaire-solid);opacity:.6}
.tache-ligne__date{text-align:center;border-right:1px solid var(--line);padding-right:10px}
.tache-ligne__dow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}
.tache-ligne__jour{font-weight:800;font-size:18px;line-height:1.15;color:var(--goldt)}
.tache-ligne__mois{font-size:10px;color:var(--mut)}
.tache-ligne__corps{min-width:0}
.tache-ligne__titre{font-size:14px;font-weight:600;line-height:1.3;color:var(--ink);text-decoration:none}
.tache-ligne__titre:hover{color:var(--goldt)}
.tache-ligne__meta{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin-top:5px;font-size:12px;color:var(--mut2)}
.tache-ligne__pole{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink)}
.tache-ligne__avatar{width:20px;height:20px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:8px;font-weight:700;flex:none}
.tache-ligne__retard{color:var(--late);font-weight:600}
.tache-ligne__action{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.tache-ligne__action form{margin:0}

@media (max-width:640px){
  .entete__ligne{flex-direction:column;align-items:flex-start;gap:14px;padding:14px clamp(14px,3vw,40px)}
  .entete__compte{margin-left:0;width:100%;row-gap:8px}
  .sous-nav__bouton{padding:12px clamp(14px,3vw,40px)}
  table,thead,tbody,th,td,tr{display:block}
  thead{display:none}
  td{border:none;padding:.3rem .2rem}
  tr{border-bottom:1px solid var(--line);padding:.6rem 0}

  .sous-nav__bouton{display:flex}
  .sous-nav__ligne{display:none}
  .sous-nav__ligne.est-ouvert{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-bottom:8px}
  .sous-nav__ligne a{padding:10px clamp(14px,3vw,40px);border-bottom:none;border-left:2px solid transparent}
  .sous-nav__ligne a[aria-current="page"]{border-color:var(--gold)}

  .sous-nav__menu>summary{padding:10px clamp(14px,3vw,40px);border-bottom:none;border-left:2px solid transparent}
  .sous-nav__menu[data-actif]>summary{border-color:var(--gold)}
  .sous-nav__menu-panneau{position:static;margin-top:0;padding:0 0 4px clamp(26px,3vw,52px);background:none;border:none;box-shadow:none;border-radius:0}
  .sous-nav__menu-panneau a{padding:9px 0;border-radius:0}
  .sous-nav__menu-panneau a:hover,.sous-nav__menu-panneau a[aria-current="page"]{background:none;color:var(--goldt)}
}
