*{box-sizing:border-box}a{color:inherit}.conteneur{max-width:1280px;margin:0 auto;padding:0 var(--s-6) var(--s-8)}.entete{border-bottom:1px solid var(--rule);margin-bottom:var(--s-6)}.entete-int{max-width:1280px;margin:0 auto;padding:var(--s-4) var(--s-6);display:flex;align-items:baseline;gap:var(--s-6)}.marque{font-family:var(--font-display);font-size:15px;letter-spacing:var(--ls-small-caps);text-transform:uppercase;font-weight:600;text-decoration:none}.entete nav{display:flex;gap:var(--s-5);margin-left:auto}.entete nav a{font-size:13px;color:var(--muted);text-decoration:none;padding-bottom:2px}.entete nav a:hover,.entete nav a[data-actif=true]{color:var(--ink);border-bottom:var(--bw-rule) solid var(--violet)}.entete .qui{font-size:12px;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:var(--s-6)}.kpi{padding:var(--s-4) var(--s-4) var(--s-4) 0}.kpi+.kpi{padding-left:var(--s-5);border-left:1px solid var(--rule)}.kpi .valeur{font-family:var(--font-display);font-size:34px;font-weight:500;letter-spacing:var(--ls-h);font-feature-settings:"tnum" 1}.kpi .valeur.neg{color:var(--fg-neg)}.kpi .valeur.pos{color:var(--fg-pos)}.kpi .libelle{font-size:11px;letter-spacing:var(--ls-small-caps);text-transform:uppercase;color:var(--muted);margin-top:2px}.filtres{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:flex-end;margin-bottom:var(--s-5)}.filtres .champ{display:flex;flex-direction:column;gap:4px}.filtres label{font-size:10px;letter-spacing:var(--ls-small-caps);text-transform:uppercase;color:var(--muted)}input,select,textarea{font-family:var(--font-body);font-size:14px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-0);padding:8px 10px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--violet)}textarea{min-height:72px;resize:vertical}.bouton{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.04em;padding:10px 20px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:var(--r-0);cursor:pointer;text-decoration:none;display:inline-block}.bouton:hover{background:var(--navy);border-color:var(--navy)}.bouton.secondaire{background:var(--paper);color:var(--ink);border:1px solid var(--rule)}.bouton.secondaire:hover{border-color:var(--ink)}table.donnees{width:100%;border-collapse:collapse}table.donnees th{text-align:left;font-size:10px;font-weight:600;letter-spacing:var(--ls-small-caps);text-transform:uppercase;color:var(--muted);padding:8px 12px 8px 0;border-bottom:var(--bw-strong) solid var(--ink)}table.donnees td{font-size:13.5px;padding:10px 12px 10px 0;border-bottom:1px solid var(--rule);vertical-align:top}table.donnees tr:hover td{background:var(--paper-2)}table.donnees a.lien-dossier{font-weight:600;text-decoration:none}table.donnees a.lien-dossier:hover{color:var(--violet)}.num{font-feature-settings:"tnum" 1,"tnum";font-variant-numeric:tabular-nums}.mono-petit{font-family:var(--font-mono);font-size:11.5px;letter-spacing:var(--ls-mono)}.badge{display:inline-block;font-size:10px;font-weight:600;letter-spacing:var(--ls-small-caps);text-transform:uppercase;padding:3px 8px;border:1px solid var(--rule);color:var(--muted);white-space:nowrap}.badge[data-statut=EN_COURS],.badge[data-statut=NOUVEAU]{border-color:var(--navy);color:var(--navy)}.badge[data-statut=ATTENTE_ASSUREUR],.badge[data-statut=ATTENTE_CLIENT]{border-color:var(--rule);color:var(--muted)}.badge[data-statut=CLOTURE_MAJ_ATTENTE]{border-color:var(--rouge);color:var(--rouge)}.badge[data-statut=TERMINE]{border-color:var(--vert);color:var(--vert)}.badge.urgent{border-color:var(--rouge);color:var(--rouge)}.retard{color:var(--rouge);font-weight:600}.ok-maj{color:var(--vert)}.pas-maj{color:var(--muted)}.table-scroll{overflow-x:auto}.table-pipeline{table-layout:fixed;min-width:1330px;width:100%}.table-pipeline td,.table-pipeline th{overflow:hidden;padding-right:8px}.table-pipeline td{overflow-wrap:anywhere}.table-pipeline .num{white-space:nowrap}.table-pipeline th{-webkit-hyphens:none;hyphens:none;letter-spacing:.03em;line-height:1.2}.col-statut .badge,.table-pipeline th{overflow-wrap:normal;word-break:keep-all}.col-statut .badge{display:inline-block;font-size:9.5px;padding:3px 7px;white-space:normal;line-height:1.3}.col-suppr{text-align:right}.spin,.spin-grand{display:inline-block;border:2px solid var(--rule);border-top-color:var(--violet);border-radius:50%;animation:tourne .7s linear infinite;vertical-align:middle}.spin{width:13px;height:13px}.spin-grand{width:28px;height:28px;border-width:3px}@keyframes tourne{to{transform:rotate(1turn)}}.chargement-global{display:flex;align-items:center;justify-content:center;gap:var(--s-3);min-height:60vh;color:var(--muted);font-size:14px}.flash{padding:10px 16px;margin:0 0 var(--s-5);font-size:13.5px;font-weight:600;border:1px solid var(--rule);animation:fadeUp .4s ease both}.flash.ok{color:var(--vert);border-color:var(--vert);border-left:var(--bw-accent) solid var(--vert);background:var(--paper-2)}.grille-form{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s-4) var(--s-5);gap:var(--s-4) var(--s-5);margin-bottom:var(--s-5)}.grille-form .champ{display:flex;flex-direction:column;gap:4px}.grille-form .champ.large{grid-column:span 3}.grille-form label{font-size:10px;letter-spacing:var(--ls-small-caps);text-transform:uppercase;color:var(--muted)}.champ-case{display:flex;align-items:center;gap:8px;font-size:14px}.champ-case input{width:16px;height:16px;accent-color:var(--violet)}.encart{border-left:var(--bw-accent) solid var(--violet);background:var(--paper-2);padding:var(--s-4) var(--s-5);font-size:13.5px;line-height:1.55;margin:var(--s-5) 0}.encart.alerte{border-left-color:var(--rouge)}.actions-pied{gap:var(--s-3);border-top:1px solid var(--rule);padding-top:var(--s-5);margin-top:var(--s-5)}.actions-pied,.connexion{display:flex;align-items:center}.connexion{min-height:70vh;justify-content:center}.connexion .carte{border:1px solid var(--rule);padding:var(--s-7) var(--s-8);text-align:center;max-width:420px}@media (max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}.grille-form{grid-template-columns:1fr}.grille-form .champ.large{grid-column:span 1}}.kpis-flux{grid-template-columns:repeat(3,1fr);border-top:0;margin-top:calc(var(--s-6) * -1)}.kpis-flux .kpi .valeur{font-size:26px}.meta-dossier{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:var(--s-5)}.meta-dossier>div{padding:var(--s-3) var(--s-4) var(--s-3) 0}.meta-dossier>div+div{padding-left:var(--s-4);border-left:1px solid var(--rule)}.meta-label{display:block;font-size:10px;letter-spacing:var(--ls-small-caps);text-transform:uppercase;color:var(--muted);margin-bottom:3px}.meta-val{font-size:13.5px;color:var(--ink)}.meta-val.retard{color:var(--rouge);font-weight:600}.bloc{margin:var(--s-6) 0}.bloc-titre{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);border-bottom:var(--bw-strong) solid var(--ink);padding-bottom:6px;margin-bottom:var(--s-4)}.bloc-titre h3{font-size:16px;margin:0}.jauge{height:6px;background:var(--paper-2);border:1px solid var(--rule);margin-bottom:var(--s-4)}.jauge-remplie{height:100%;background:var(--vert)}.etapes{list-style:none;padding:0;margin:0}.etape{display:flex;align-items:flex-start;gap:var(--s-3);padding:10px 0;border-bottom:1px solid var(--rule)}.etape-corps{flex:1 1;display:flex;flex-direction:column;gap:6px}.etape-libelle{font-size:14px}.etape.faite .etape-libelle{color:var(--muted);text-decoration:line-through}.etape-ordre{color:var(--muted);font-feature-settings:"tnum" 1;margin-right:2px}.etape-edit input,.etape-edit select{padding:5px 8px;font-size:12.5px}.etape-edit select{min-width:120px}.case-etape{width:22px;height:22px;flex-shrink:0;border:1px solid var(--rule);background:var(--paper);cursor:pointer;font-size:13px;line-height:1;color:var(--paper);padding:0}.case-etape.cochee{background:var(--vert);border-color:var(--vert);color:var(--paper)}.case-etape:hover{border-color:var(--ink)}.etapes-modele{list-style:none;padding:0;margin:0}.etapes-modele li{display:flex;align-items:center;gap:var(--s-3);padding:7px 0;border-bottom:1px solid var(--rule);font-size:13.5px}.reordre{display:inline-flex;gap:4px}.reordre .bouton-mini{padding:3px 8px;line-height:1}.bouton-mini:disabled{opacity:.35;cursor:default}.ligne-inline{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}.bouton-mini{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.03em;padding:5px 10px;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:var(--r-0);cursor:pointer}.bouton-mini:hover{border-color:var(--ink)}.bouton-mini.danger{color:var(--rouge)}.bouton-mini.danger:hover{border-color:var(--rouge)}.journal{list-style:none;padding:0;margin:0}.journal li{display:flex;gap:var(--s-4);padding:7px 0;border-bottom:1px solid var(--rule);font-size:13px}.journal-date{color:var(--muted);font-feature-settings:"tnum" 1;white-space:nowrap;min-width:84px}.journal-auteur{font-family:var(--font-mono);font-size:11.5px;letter-spacing:var(--ls-mono);color:var(--navy);white-space:nowrap;min-width:56px}.journal-desc{color:var(--ink)}@media (max-width:900px){.meta-dossier{grid-template-columns:repeat(2,1fr)}.meta-dossier>div+div:nth-child(odd){border-left:0}}.jauge.mini{height:5px;margin:0}.avancement{display:flex;align-items:center;gap:6px}.avancement .jauge.mini{flex:1 1;min-width:28px}.avancement .caption{white-space:nowrap}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);grid-gap:var(--s-4);gap:var(--s-4);overflow-x:auto;padding-bottom:var(--s-4)}.kanban-col{border-top:var(--bw-strong) solid var(--ink)}.kanban-col-titre{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--rule);margin-bottom:var(--s-3)}.carte-kanban{display:block;border:1px solid var(--rule);border-left:var(--bw-accent) solid var(--navy);padding:10px 12px;margin-bottom:var(--s-3);text-decoration:none;color:var(--ink)}.carte-kanban:hover{border-left-color:var(--violet);background:var(--paper-2)}.carte-kanban-titre{font-weight:600;font-size:13.5px;margin-bottom:6px}.carte-kanban-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);margin-bottom:6px}.kanban-vide{padding:var(--s-4) 0;text-align:center}.etape.courante{background:var(--paper-2)}.badge.etape-en-cours{margin-left:8px;border-color:var(--navy);color:var(--navy)}.badge.bloquee{margin-left:8px;border-color:var(--rouge);color:var(--rouge)}.commentaires{list-style:none;padding:0;margin:var(--s-4) 0 0}.commentaires li{border-left:var(--bw-accent) solid var(--rule);padding:8px 0 8px 12px;margin-bottom:var(--s-3)}.commentaire-tete{display:flex;align-items:center;gap:var(--s-3);margin-bottom:4px}.commentaire-auteur{font-family:var(--font-mono);font-size:11.5px;letter-spacing:var(--ls-mono);color:var(--navy)}.commentaire-texte{font-size:13.5px;line-height:1.5;white-space:pre-wrap}.emu-tete{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.emu-tete form{gap:8px}.emu-tete form,.equipe-score{display:flex;align-items:center}.equipe-score{gap:var(--s-6)}.equipe-note{font-family:var(--font-display);font-size:64px;font-weight:500;letter-spacing:var(--ls-h);color:var(--navy);line-height:1}.equipe-sur{font-size:24px;color:var(--muted);margin-left:4px}.equipe-detail{flex:1 1}.equipe-briques{display:flex;gap:var(--s-5);margin-top:8px}.jauge.grande{height:12px}.jauge-remplie.anim{width:var(--p);transform-origin:left;animation:growX .8s ease both}@keyframes growX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.mdm{gap:var(--s-5);border:1px solid var(--rule);border-left:var(--bw-accent) solid var(--violet);padding:var(--s-4) var(--s-5);background:var(--paper-2)}.mdm,.mdm-medaille{display:flex;align-items:center}.mdm-medaille{font-size:34px;color:var(--violet);width:56px;height:56px;justify-content:center;border:1px solid var(--violet);flex-shrink:0}.mdm-nom{font-family:var(--font-display);font-size:22px;font-weight:500}.podium{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s-4);gap:var(--s-4)}.podium-item{border-top:var(--bw-strong) solid var(--ink);padding-top:var(--s-3)}.podium-item.rang-1{border-top-color:var(--violet)}.podium-rang{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.podium-nom{font-weight:600;font-size:14px;margin:2px 0 4px}.podium-note{font-family:var(--font-display);font-size:30px;font-weight:500;color:var(--navy);margin-bottom:8px}.legende{display:grid;grid-template-columns:200px 1fr;grid-gap:6px var(--s-4);gap:6px var(--s-4);margin:0}.legende dt{font-weight:600;font-size:12.5px;color:var(--navy)}.legende dd{margin:0;font-size:13px;line-height:1.5}@media (max-width:700px){.legende{grid-template-columns:1fr}.legende dt{margin-top:8px}}.reveal{animation:fadeUp .5s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.pop{animation:pop .5s ease both}@keyframes pop{0%{opacity:0;transform:scale(.97)}60%{transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@media (max-width:900px){.podium{grid-template-columns:1fr}.equipe-score{flex-direction:column;align-items:flex-start;gap:var(--s-4)}}