:root{--g-arrow-color:#1f2937;--g-bar-color:#fff;--g-bar-border:#fff;--g-tick-color-thick:#ededed;--g-tick-color:#f3f3f3;--g-actions-background:#f3f3f3;--g-border-color:#ebeff2;--g-text-muted:#7c7c7c;--g-text-light:#fff;--g-text-dark:#171717;--g-progress-color:#dbdbdb;--g-handle-color:#37352f;--g-weekend-label-color:#dcdce4;--g-expected-progress:#c4c4e9;--g-header-background:#fff;--g-row-color:#fdfdfd;--g-row-border-color:#c7c7c7;--g-today-highlight:#37352f;--g-popup-actions:#ebeff2;--g-weekend-highlight-color:#f7f7f7}html[data-theme=dark]{--g-arrow-color:#e5e5e5;--g-bar-color:#2a2a2a;--g-bar-border:#3a3a3a;--g-tick-color-thick:#1a1a1a;--g-tick-color:#0a0a0a;--g-actions-background:#1a1a1a;--g-border-color:#2a2a2a;--g-text-muted:#999;--g-text-light:#fff;--g-text-dark:#f5f5f5;--g-progress-color:#4a4a4a;--g-handle-color:#d0d0d0;--g-weekend-label-color:#3a3a3a;--g-expected-progress:#5a5a5a;--g-header-background:#0a0a0a;--g-row-color:#141414;--g-row-border-color:#2a2a2a;--g-today-highlight:#999;--g-popup-actions:#1a1a1a;--g-weekend-highlight-color:#0f0f0f}.gantt-container{height:var(--gv-grid-height);isolation:isolate;border-radius:8px;width:100%;font-size:12px;line-height:14.5px;position:relative;overflow:auto}.gantt-container .popup-wrapper{background:var(--g-header-background);z-index:1000;border-radius:5px;width:max-content;padding:10px;position:absolute;top:0;left:0;box-shadow:0 10px 24px -3px #0003}.gantt-container .popup-wrapper .title{color:var(--g-text-dark);margin-bottom:2px;font-size:.85rem;font-weight:650;line-height:15px}.gantt-container .popup-wrapper .subtitle{color:var(--g-text-dark);margin-bottom:5px;font-size:.8rem}.gantt-container .popup-wrapper .details{color:var(--g-text-muted);font-size:.7rem}.gantt-container .popup-wrapper .actions{margin-top:10px;margin-left:3px}.gantt-container .popup-wrapper .action-btn{background-color:var(--g-popup-actions);border:none;border-right:1px solid var(--g-border-color);padding:5px 8px}.gantt-container .popup-wrapper .action-btn:hover{filter:brightness(97%)}.gantt-container .popup-wrapper .action-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt-container .popup-wrapper .action-btn:last-child{border-right:none;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt-container .grid-header{height:calc(var(--gv-lower-header-height) + var(--gv-upper-header-height) + 10px);background-color:var(--g-header-background);border-bottom:1px solid var(--g-row-border-color);z-index:1000;position:sticky;top:0;left:0}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height)}.gantt-container .lower-header{height:var(--gv-lower-header-height)}.gantt-container .lower-text{width:calc(var(--gv-column-width) * .8);height:calc(var(--gv-lower-header-height) * .8);margin:0 calc(var(--gv-column-width) * .1);text-align:center;color:var(--g-text-muted);align-content:center;font-size:12px;position:absolute}.gantt-container .upper-text{width:fit-content;color:var(--g-text-dark);height:calc(var(--gv-lower-header-height) * .66);font-size:14px;font-weight:500;position:absolute}.gantt-container .current-upper{background:var(--g-header-background);padding-left:17px;position:sticky;left:0!important}.gantt-container .side-header{float:right;z-index:1000;background:var(--g-header-background);width:max-content;margin-left:auto;padding-top:10px;padding-right:10px;font-weight:400;line-height:20px;display:flex;position:sticky;top:0;right:0}.gantt-container .side-header *{background-color:var(--g-actions-background);color:var(--g-text-dark);letter-spacing:.02em;box-sizing:content-box;border:none;border-radius:.5rem;margin-right:5px;padding:5px 8px;font-size:14px;font-weight:420;transition-property:background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.gantt-container .side-header :last-child{margin-right:0}.gantt-container .side-header :hover{filter:brightness(97.5%)}.gantt-container .side-header select{width:60px;padding-top:2px;padding-bottom:2px}.gantt-container .side-header select:focus{outline:none}.gantt-container .date-range-highlight{background-color:var(--g-progress-color);height:calc(var(--gv-lower-header-height) - 6px);top:calc(var(--gv-upper-header-height) + 5px);border-radius:12px;position:absolute}.gantt-container .current-highlight{background:var(--g-today-highlight);z-index:999;width:1px;position:absolute}.gantt-container .current-ball-highlight{background:var(--g-today-highlight);z-index:1001;border-radius:50%;position:absolute}.gantt-container .current-date-highlight{background:var(--g-today-highlight);color:var(--g-text-light);border-radius:5px}.gantt-container .holiday-label{opacity:0;z-index:1000;background:var(--g-weekend-label-color);border-radius:5px;padding:2px 5px;position:absolute;top:0;left:0}.gantt-container .holiday-label.show{opacity:100}.gantt-container .extras{position:sticky;left:0}.gantt-container .extras .adjust{left:8px;top:calc(var(--gv-grid-height) - 60px);background-color:var(--g-actions-background);color:var(--g-text-light);border:none;border-radius:3px;padding:8px;position:absolute}.gantt-container .hide{display:none}.gantt{-webkit-user-select:none;user-select:none;position:absolute}.gantt .grid-background{fill:none}.gantt .grid-row{fill:var(--g-row-color)}.gantt .tick{stroke:var(--g-tick-color);stroke-width:.4px}.gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:.7px}.gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5px}.gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:0;transition:stroke-width .3s}.gantt .bar-progress{fill:var(--g-progress-color);border-radius:4px}.gantt .bar-expected-progress{fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:#0000;stroke:var(--g-bar-border);stroke-width:1px;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:var(--g-text-light)}.gantt .bar-label{fill:var(--g-text-dark);dominant-baseline:central;font-family:Helvetica;font-size:13px;font-weight:400}.gantt .bar-label.big{fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .3s}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:1}.gantt .handle.progress{fill:var(--g-text-muted)}.gantt .bar-wrapper .bar{outline:1px solid var(--g-row-border-color);border-radius:3px}.gantt .bar-wrapper:hover .bar{transition:transform .3s}.gantt .bar-wrapper:hover .date-range-highlight{display:block}.gantt .grid-column{fill:#0000;pointer-events:all}.gantt .grid-column:hover{fill:var(--g-weekend-highlight-color);transition:fill .1s}:root{--creme:#efe7dd;--creme-cartes:#f7f2ea;--creme-fonce:#e4d9ca;--encre:#211b1f;--encre-60:#211b1f99;--encre-30:#211b1f4d;--encre-12:#211b1f1f;--rouge:#d81e3c;--vert:#009640;--jaune:#f0d800;--bleu:#0096c8;--font-titres:"EB Garamond", Georgia, serif;--font-labels:"Courier Prime", "Courier New", monospace;--font-data:"Inter", system-ui, sans-serif}*{box-sizing:border-box}body{background:var(--creme);color:var(--encre);font-family:var(--font-data);margin:0;font-size:14px;overflow:hidden}#root{min-height:100vh}.app{max-width:1600px;margin:0 auto;padding:14px 20px 16px}.app.pleine-page{flex-direction:column;height:100vh;display:flex}.header.compact h1{font-size:26px}.header.compact .o-mark{width:42px;height:42px;font-size:30px}.header.compact .periode{font-size:12px;line-height:1.6}.header{border-bottom:2px solid var(--encre);flex-wrap:wrap;align-items:baseline;gap:16px;padding-bottom:14px;display:flex}.header .o-mark{font-family:var(--font-titres);background:var(--encre);color:var(--creme);border-radius:10px;justify-content:center;align-self:center;align-items:center;width:52px;height:52px;font-size:40px;line-height:1;display:inline-flex}.header h1{font-family:var(--font-titres);letter-spacing:.01em;margin:0;font-size:34px;font-weight:600}.header .tagline{font-family:var(--font-labels);color:var(--encre-60);letter-spacing:.06em;font-size:12.5px}.header .periode{font-family:var(--font-labels);text-align:right;margin-left:auto;font-size:13px;line-height:1.5}.header .periode strong{color:var(--rouge)}.toolbar{flex-wrap:wrap;align-items:center;gap:14px;padding:14px 0;display:flex}.toolbar .groupe{align-items:center;gap:6px;display:flex}.toolbar .groupe-label{font-family:var(--font-labels);text-transform:uppercase;letter-spacing:.1em;color:var(--encre-60);margin-right:2px;font-size:11px}.bouton{font-family:var(--font-labels);border:1.5px solid var(--encre);color:var(--encre);cursor:pointer;background:0 0;border-radius:8px;padding:5px 14px;font-size:13px;transition:background .15s,color .15s}.bouton:hover{background:var(--encre-12)}.bouton.actif{background:var(--encre);color:var(--creme)}.filtre-axe{border:1.5px solid var(--encre-30);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:500;transition:opacity .15s,border-color .15s;display:inline-flex}.filtre-axe .pastille{border-radius:3px;width:10px;height:10px;display:inline-block}.filtre-axe.desactive{opacity:.35}.filtre-axe.desactive .pastille{background:var(--encre-30)!important}.menu{display:inline-block;position:relative}.menu-bouton .chevre{margin-left:4px;font-size:10px}.menu-liste{background:var(--creme-cartes);border:1.5px solid var(--encre);min-width:210px;box-shadow:4px 4px 0 var(--encre-12);z-index:50;border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);left:0}.menu-liste.large{width:260px}.menu-option{width:100%;color:var(--encre);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.menu-option:hover{background:var(--encre-12)}.menu-option input{accent-color:var(--encre)}.menu-option .pastille{border-radius:3px;width:10px;height:10px}.menu-titre{font-family:var(--font-labels);text-transform:uppercase;letter-spacing:.1em;color:var(--encre-60);border-top:1px solid var(--encre-12);margin-top:4px;padding:7px 10px 3px;font-size:10.5px}.menu-titre:first-child{border-top:none;margin-top:0}.menu-scroll{max-height:240px;overflow-y:auto}.bouton-ligne{font-family:var(--font-data)}.legende-inline{font-family:var(--font-labels);color:var(--encre-60);flex-wrap:wrap;align-items:center;gap:14px;margin-left:auto;font-size:11px;display:flex}.legende-inline .losange{background:var(--encre);border-radius:1px;width:8px;height:8px;margin-right:4px;display:inline-block;transform:rotate(45deg)}.legende-inline .swatch{border-radius:4px;width:16px;height:8px;margin-right:4px;display:inline-block}.legende-inline .bande-rouge{border:1px dashed var(--rouge);background:#d81e3c40;width:16px;height:10px;margin-right:4px;display:inline-block}.legende-inline .trait-encre,.legende-inline .trait-rouge{vertical-align:middle;width:2px;height:12px;margin-right:4px;display:inline-block}.legende-inline .trait-encre{background:repeating-linear-gradient(var(--encre) 0 3px, transparent 3px 6px)}.legende-inline .trait-rouge{background:var(--rouge)}.chip-charge{font-family:var(--font-data);background:var(--creme-cartes);border:1px solid var(--encre-30);border-radius:999px;margin-left:auto;padding:5px 14px;font-size:12.5px}.chip-charge strong{font-weight:600}.planning-split{border:1.5px solid var(--encre);background:var(--creme-cartes);min-height:0;box-shadow:4px 4px 0 var(--encre-12);border-radius:14px;flex:1;align-items:stretch;gap:0;display:flex;overflow:hidden}.col-taches-cadre{border-right:2px solid var(--encre);background:var(--creme-cartes);z-index:5;flex-direction:column;flex:0 0 300px;width:300px;display:flex}.col-taches-entete{height:85px;font-family:var(--font-labels);text-transform:uppercase;letter-spacing:.1em;color:var(--encre-60);border-bottom:1px solid var(--encre-30);flex:0 0 85px;align-items:flex-end;padding:0 14px 10px;font-size:11px;display:flex}.col-taches-scroll{flex:1;overflow:hidden}.col-taches{will-change:transform;padding-top:8px}.col-section{font-family:var(--font-titres);background:var(--creme-fonce);border-top:1px solid var(--encre-30);border-bottom:1px solid var(--encre-30);align-items:center;gap:8px;padding:0 14px;font-size:17px;font-weight:600;display:flex}.col-section:first-child{border-top:none}.col-section .pastille{border-radius:3px;width:12px;height:12px}.col-section-nb{font-family:var(--font-labels);color:var(--encre-60);margin-left:auto;font-size:11px}.col-tache{border-bottom:1px solid var(--encre-12);cursor:pointer;align-items:center;gap:8px;padding:0 12px;display:flex}.col-tache:hover{background:var(--encre-12)}.col-tache-nom{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;line-height:1.25;overflow:hidden}.col-tache-nom.type-jalon{font-family:var(--font-labels);font-weight:700}.losange-mini{background:var(--encre);border-radius:1px;width:8px;height:8px;margin-right:5px;display:inline-block;transform:rotate(45deg)}.badge-statut.mini{color:var(--encre-60);flex:none;margin-left:auto;padding:1px 6px;font-size:10px}.carte-gantt{background:var(--creme-cartes);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.carte-gantt .gantt-container{width:100%}.zoom-pill{background:var(--creme-cartes);border:1.5px solid var(--encre);box-shadow:3px 3px 0 var(--encre-12);z-index:10;border-radius:999px;display:flex;position:absolute;bottom:14px;right:18px;overflow:hidden}.zoom-pill button{font-family:var(--font-labels);cursor:pointer;color:var(--encre);background:0 0;border:none;padding:6px 16px;font-size:12.5px}.zoom-pill button.actif{background:var(--encre);color:var(--creme)}.panneau-fond{z-index:40;background:#211b1f59;position:fixed;inset:0}.panneau{background:var(--creme-cartes);border-left:2px solid var(--encre);z-index:41;width:min(430px,92vw);padding:26px 26px 30px;animation:.22s ease-out glisse;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}@keyframes glisse{0%{opacity:.4;transform:translate(30px)}to{opacity:1;transform:none}}.panneau .fermer{cursor:pointer;color:var(--encre-60);background:0 0;border:none;font-size:22px;position:absolute;top:14px;right:16px}.panneau .f-axe{font-family:var(--font-labels);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:7px;font-size:11.5px;display:inline-flex}.panneau .f-axe .pastille{border-radius:3px;width:10px;height:10px}.panneau h2{font-family:var(--font-titres);margin:10px 0 4px;font-size:26px;font-weight:600;line-height:1.2}.panneau .f-type{font-family:var(--font-labels);color:var(--encre-60);margin-bottom:14px;font-size:12px}.panneau dl{margin:0}.panneau dt{font-family:var(--font-labels);text-transform:uppercase;letter-spacing:.1em;color:var(--encre-60);margin-top:14px;font-size:11px}.panneau dd{margin:3px 0 0;font-size:14px;line-height:1.5}.panneau .f-desc{white-space:pre-line}.badge-statut{font-family:var(--font-labels);border:1.5px solid;border-radius:6px;padding:2px 10px;font-size:12px;display:inline-block}.badge-statut.a_faire{color:var(--encre-60)}.badge-statut.en_cours{color:var(--bleu)}.badge-statut.fait{color:var(--vert)}.badge-statut.en_retard{color:var(--rouge)}.gantt-container{font-family:var(--font-data);background:0 0}.gantt-container .upper-header,.gantt-container .lower-header{background:var(--creme-cartes)}.gantt-container .upper-text{font-family:var(--font-titres);fill:var(--encre);text-transform:capitalize;font-size:15px;font-weight:600}.gantt-container .lower-text{font-family:var(--font-labels);fill:var(--encre-60);font-size:10.5px}.gantt .grid-header{fill:var(--creme-cartes);stroke:none}.gantt .row-line{stroke:var(--encre-12)}.gantt .tick{stroke:var(--encre-12);stroke-dasharray:2 4}.gantt .thick.tick{stroke:var(--encre-30);stroke-dasharray:none}.gantt-container{--g-weekend-highlight-color:#d2c3aa73}.gantt .holiday-highlight{opacity:1}.gantt .bar-wrapper{cursor:pointer}.gantt .bar{fill:var(--encre);stroke:none}.gantt .bar-progress{fill:#0000}.gantt .bar-label{fill:#fff;font-family:var(--font-data);font-size:11.5px;font-weight:500}.gantt .bar-wrapper[class*=ax-acquisition] .bar{fill:var(--vert)}.gantt .bar-wrapper[class*=ax-retention] .bar{fill:var(--jaune)}.gantt .bar-wrapper[class*=ax-retention] .bar-label{fill:var(--encre)}.gantt .bar-wrapper[class*=ax-gestion] .bar{fill:var(--bleu)}.gantt .bar-wrapper[class*=ax-calendrier] .bar{fill:var(--encre-12)}.gantt .bar-wrapper[class*=ax-calendrier] .bar-label{fill:var(--encre-60);font-family:var(--font-labels);font-size:10px}.gantt .bar-wrapper[class*=ax-alerte] .bar{fill:var(--rouge)}.gantt .bar-wrapper[class*=t-jalon] .bar{fill:var(--encre);transform-box:fill-box;transform-origin:50%;transform:rotate(45deg)}.gantt .bar-wrapper[class*=t-jalon] .bar-label{fill:var(--encre);font-family:var(--font-labels);font-weight:700}.gantt .bar-wrapper[class*=t-perpetuel] .bar{fill:#0096c81f;stroke:var(--bleu);stroke-width:1.5px;stroke-dasharray:7 5}.gantt .bar-wrapper[class*=t-perpetuel] .bar-label{fill:var(--bleu);font-style:italic}.gantt .bar-wrapper[class*=s-en_retard] .bar{fill:var(--rouge)!important}.today-line{stroke:var(--encre);stroke-width:1.5px;stroke-dasharray:6 5}.today-label{font-family:var(--font-labels);fill:var(--encre-60);font-size:10px}.deadline-line{stroke:var(--rouge);stroke-width:2px}.deadline-label{font-family:var(--font-labels);fill:var(--rouge);font-size:10px;font-weight:700}.bandeau-bloque{fill:#d81e3c2e}.bandeau-bloque-label{font-family:var(--font-labels);fill:var(--rouge);font-size:10.5px;font-weight:700}.gantt .bar-wrapper[class*=t-recurrent] .bar{fill:#211b1f1a;stroke:var(--encre-30);stroke-width:1px;stroke-dasharray:5 4}.gantt .point-recurrent{fill:var(--encre);pointer-events:none}.gantt .dep-arrow{fill:none;stroke:var(--encre-60);stroke-width:1.2px}.gantt .dep-arrow-tete{fill:var(--encre-60);stroke:none}.gantt .bar-label{display:none}.gantt .bar-wrapper.spacer{pointer-events:none}.gantt .bar-wrapper.spacer .bar{display:none}.gantt-container .lower-text{cursor:pointer}.gantt-container .lower-text:hover{color:var(--encre);text-decoration:underline}.gantt-container .popup-wrapper .popup{background:var(--encre);color:var(--creme);font-family:var(--font-data);border-radius:10px;font-size:12.5px;box-shadow:3px 3px #211b1f40}.popup .title{font-family:var(--font-titres);border-bottom:1px solid #efe7dd40;font-size:16px}.popup .subtitle{color:#efe7ddbf}.popup .details{color:#efe7dde6}.gantt-container .today-button,.gantt-container .viewmode-select{display:none}.gantt-container .popup-wrapper{display:none!important}.badge-statut.en_risque{color:#b8860b}.pastille-risque{color:#b8860b;font-weight:600}.pastille-alerte{color:var(--rouge);font-weight:600}.gantt .bar-wrapper[class*=__tension] .bar{box-shadow:none}.gantt .bar-wrapper[class*=__tension]:before{content:none}.gantt .bar-wrapper[class*=__tension] .bar{stroke:var(--rouge);stroke-width:2px}.bouton-editer{background:var(--encre);width:100%;color:var(--creme);margin-top:18px}.bouton-editer:hover{background:var(--encre);filter:brightness(1.2)}.form-edition{flex-direction:column;gap:10px;margin-top:6px;display:flex}.form-edition label{font-family:var(--font-labels);text-transform:uppercase;letter-spacing:.1em;color:var(--encre-60);flex-direction:column;gap:4px;font-size:11px;display:flex}.form-edition input,.form-edition select{border:1.5px solid var(--encre-30);font-family:var(--font-data);color:var(--encre);background:#fff;border-radius:8px;padding:7px 10px;font-size:13.5px}.edition-tag{color:var(--vert);letter-spacing:.12em;margin-left:auto;font-size:10px;font-weight:700}.modale-login{background:var(--creme-cartes);border:2px solid var(--encre);width:min(360px,92vw);box-shadow:6px 6px 0 var(--encre-12);z-index:50;border-radius:14px;padding:26px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modale-login h2{font-family:var(--font-titres);margin:0 0 6px;font-size:24px}.login-aide{color:var(--encre-60);margin:0 0 14px;font-size:12.5px}.modale-login input{border:1.5px solid var(--encre);background:#fff;border-radius:8px;width:100%;padding:9px 12px;font-size:14px}.login-erreur{color:var(--rouge);margin-top:8px;font-size:12.5px}.login-boutons{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.item-periode{align-items:center;gap:8px;width:100%;display:flex}.item-periode-clic{cursor:pointer;text-align:left;min-width:0;color:var(--encre);background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.item-periode-clic:hover{background:var(--encre-12)}.fait-rapide{border:1.5px solid var(--encre-30);cursor:pointer;width:26px;height:26px;color:var(--encre-60);background:0 0;border-radius:6px;flex:none;font-size:13px}.fait-rapide:hover{border-color:var(--vert);color:var(--vert)}.fait-rapide.deja{background:var(--vert);border-color:var(--vert);color:#fff}.statut-rapide{border:1px solid var(--encre-30);color:var(--encre);background:#fff;border-radius:6px;margin-left:auto;padding:2px 4px;font-size:11.5px}.mise-en-avant{font-weight:600}.export-overlay{color:#1a1a1a;z-index:300;background:#fff;padding:28px;position:fixed;inset:0;overflow:auto}.export-actions{z-index:301;gap:8px;display:flex;position:fixed;top:16px;right:16px}.export-actions .bouton{background:#fff}.export-page{max-width:820px;margin:0 auto;font-family:Inter,system-ui,sans-serif}.exp-tete{border-bottom:2px solid #1a1a1a;align-items:center;gap:14px;margin-bottom:14px;padding-bottom:12px;display:flex}.exp-o{color:#efe7dd;background:#211b1f;border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;font-family:EB Garamond,serif;font-size:30px;display:inline-flex}.exp-titre{font-family:EB Garamond,serif;font-size:26px;font-weight:600}.exp-sous{color:#666;margin-top:2px;font-family:Courier Prime,monospace;font-size:12px}.exp-sous strong{color:#d81e3c}.exp-ligne-synthese{background:#f5f0e8;border:1px solid #ddd;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13.5px}.exp-section{text-transform:uppercase;letter-spacing:.12em;color:#888;border-bottom:1px solid #eee;margin:16px 0 6px;padding-bottom:3px;font-family:Courier Prime,monospace;font-size:11px}.exp-ligne{flex-wrap:wrap;align-items:baseline;gap:7px;margin:4px 0;font-size:13.5px;line-height:1.55;display:flex}.exp-pastille{border-radius:3px;flex:none;align-self:center;width:10px;height:10px}.exp-ligne em{color:#666;font-style:normal}.exp-rouge{color:#d81e3c;font-weight:600}.exp-orange{color:#b8860b;font-weight:600}.exp-pied{color:#999;border-top:1px solid #eee;margin-top:22px;padding-top:8px;font-family:Courier Prime,monospace;font-size:11px}@media print{@page{size:A4 landscape;margin:8mm}body{background:#fff!important;margin:0!important;overflow:visible!important}#root{min-height:0!important}.app,.export-actions{display:none!important}.export-overlay{padding:0;position:static;overflow:visible}.export-page{max-width:none}.rap-champ,.rap-kpi-ligne input{background:#fff;border:1px solid #ccc}}@page{size:A4 landscape;margin:9mm}.rap-page{max-width:1050px}.rap-semaine-tag{background:var(--creme-fonce);border-radius:999px;align-self:center;padding:5px 12px;font-family:Courier Prime,monospace;font-size:12px}.rap-tete{border-bottom:2px solid #1a1a1a;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;padding-bottom:10px;display:flex}.rap-tete-titre{flex:1;min-width:220px}.rap-rag{border:1.5px solid;border-radius:999px;align-items:center;gap:7px;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.rap-rag-point{background:currentColor;border-radius:50%;width:10px;height:10px}.rap-rag.vert{color:#0a7a33;background:#e8f5ec}.rap-rag.orange{color:#a06a00;background:#fdf3e0}.rap-rag.rouge{color:#d81e3c;background:#fdeaed}.rap-kpis{color:#777;text-align:right;flex-direction:column;gap:2px;font-size:11.5px;display:flex}.rap-kpis strong{color:#1a1a1a;font-size:13px}.rap-colonnes{grid-template-columns:1fr 1fr;gap:0 26px;display:grid}.rap-col{min-width:0}.rap-item{border-bottom:1px dotted #e5e0d8;align-items:center;gap:7px;padding:2.5px 0;font-size:12.5px;line-height:1.4;display:flex}.rap-item:last-child{border-bottom:none}.rap-item-nom{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rap-item-meta{color:#888;flex:none;font-family:Courier Prime,monospace;font-size:10.5px}.rap-vide{color:#999;padding:3px 0;font-size:12px;font-style:italic}.rap-alerte{border-left:3px solid;border-radius:4px;margin:4px 0;padding:5px 10px;font-size:12.5px;line-height:1.45}.rap-alerte.rouge{background:#fdeaed;border-color:#d81e3c}.rap-alerte.orange{background:#fdf6e3;border-color:#e0a000}.rap-champ{resize:vertical;box-sizing:border-box;background:#fcfaf6;border:1px dashed #bbb;border-radius:6px;width:100%;margin-top:5px;padding:7px 9px;font-family:Inter,system-ui,sans-serif;font-size:12.5px}.rap-kpi-table{border:1px solid #e2ddd3;border-radius:8px;overflow:hidden}.rap-kpi-ligne{border-bottom:1px solid #f0ece4;grid-template-columns:1fr 90px 110px;align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;display:grid}.rap-kpi-ligne:last-child{border-bottom:none}.rap-kpi-ligne input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;padding:4px 8px;font-size:12.5px}.rap-cible{color:#999;text-align:right;font-family:Courier Prime,monospace;font-size:10.5px}.rap-jalons{flex-wrap:wrap;gap:8px;display:flex}.rap-jalon{border:1.5px solid #1a1a1a;border-radius:8px;flex-direction:column;flex:1;gap:2px;min-width:150px;padding:6px 10px;font-size:11.5px;line-height:1.35;display:flex}.rap-jalon.passe{opacity:.55}.rap-jalon.passe .rap-jalon-date{text-decoration:line-through}.rap-jalon-date{font-family:Courier Prime,monospace;font-size:11px;font-weight:700}@media (width<=1100px){.app{padding:12px 14px}.legende-inline{display:none}}@media (width<=900px){.header.compact{gap:10px}.header.compact h1{font-size:20px}.header.compact .o-mark{width:36px;height:36px;font-size:24px}.header.compact .periode{font-size:10.5px}.chip-charge{padding:4px 10px;font-size:11px}.toolbar{gap:8px}.bouton{padding:5px 10px;font-size:12px}.filtre-axe{padding:3px 9px;font-size:12px}.planning-split{border-radius:10px}.col-taches-cadre{flex:0 0 140px;width:140px}.col-taches-entete{padding:0 8px 8px;font-size:9.5px}.col-section{gap:5px;padding:0 8px;font-size:13px}.col-section-nb{font-size:9.5px}.col-tache{gap:5px;padding:0 8px}.col-tache-nom{font-size:10.5px}.badge-statut.mini{padding:1px 5px;font-size:9px}.carte-gantt .gantt-container{min-width:640px}.zoom-pill button{padding:5px 12px;font-size:11.5px}.panneau{border-left:none;width:100vw}}@media (width<=600px){.app{padding:8px}.header.compact .tagline{display:none}.col-taches-cadre{flex:0 0 108px;width:108px}.col-tache-nom{font-size:9.5px}.badge-statut.mini{display:none}.carte-gantt .gantt-container{min-width:560px}}
