.pv-heading,.pv-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.pv-heading{justify-content:space-between}.pv-heading-main,.pv-heading-controls{display:flex;align-items:flex-end;gap:10px}.pv-heading-main{min-width:0;flex-wrap:wrap}.pv-heading-controls{flex-wrap:nowrap}.pv-heading-controls .field{margin:0}.pv-heading h2{margin:0}.pv-heading .eyebrow{margin:0 0 6px}.pv-unpublished{background:#fff3db;border:1px solid #dfc38a;color:#775818;padding:7px 12px;border-radius:20px;font-size:12px}.pv-controls{margin:22px 0 14px}.pv-controls .field{max-width:175px}.pv-toggle{display:flex;gap:8px;align-items:center;font-size:13px}.pv-toggle input{width:16px}.pv-demo,.pv-footnote{font-size:12px;color:#68756d}.pv-legend{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.pv-legend span{padding:5px 10px;border-radius:6px;font-size:12px}.pv-unassigned{padding:14px;background:#faf9f5;border:1px dashed #cbcfc7;border-radius:10px;margin-bottom:24px}.pv-unassigned h3{font-size:14px;margin:0 0 10px}.pv-unassigned h3 span{margin-left:6px;color:#68756d}.pv-unassigned>div{display:flex;gap:10px}.pv-unassigned .pv-trip{max-width:300px;text-align:left}.pv-trip{display:flex;flex-direction:column;gap:5px;border:1px solid #ccd9d0;border-radius:8px;padding:9px;cursor:pointer;color:#21392e;font-family:inherit;font-size:12px;overflow:hidden;text-align:left}.pv-trip strong{font-size:12px;white-space:nowrap}.pv-trip small{font-size:10px;font-weight:400}.pv-trip:hover{filter:brightness(.97);outline:2px solid #607d6a;outline-offset:1px}.pv-trip span{overflow-wrap:anywhere}.prive{background:#eaf3fc}.conventionne{background:#faeaf0}.contrat{background:#e6f2e8}.assistance{background:#fff0da}.pv-scroll{overflow-x:auto;border:1px solid #dce3da;border-radius:10px}.pv-grid{min-width:1080px}.pv-axis,.pv-row{display:grid;grid-template-columns:155px 1fr}.pv-axis{height:42px;background:#f5f7f2;font-size:11px}.pv-axis>strong{padding:14px 10px}.pv-axis>div{position:relative;margin-right:24px}.pv-axis span{position:absolute;top:14px;transform:translateX(-50%)}.pv-row{border-top:1px solid #dce3da;min-height:157px}.pv-driver{padding:18px 12px;background:#fcfcf9;display:flex;flex-direction:column;gap:9px}.pv-driver strong{font-size:13px}.pv-driver small,.pv-driver span{font-size:11px;color:#67766c}.pv-lane{position:relative;margin-right:24px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 11 - 1px),#e7ebe4 calc(100% / 11 - 1px),#e7ebe4 calc(100% / 11))}.pv-lane .pv-trip{position:absolute;top:10px;bottom:10px;width:auto}.pv-wait{border-top:1px dashed #88a9c5;padding-top:5px;font-size:10px}.pv-footnote{line-height:1.6;margin:14px 0 0}#pv-detail{max-width:620px}#pv-detail-content p{line-height:1.6}.compact-transport>.compact-actions{display:none!important}.compact-transport{grid-template-columns:5px minmax(0,1fr)!important}@media(max-width:700px){.pv-demo{width:100%}.pv-scroll{margin:0 -8px}.pv-unassigned>div{flex-wrap:wrap}}

.pv-row{min-height:122px}.pv-lane .pv-trip{padding:6px;gap:5px}.pv-lane .pv-trip strong{font-size:10px}.pv-lane .pv-trip span,.pv-lane .pv-trip small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.pv-unassigned{padding:10px}.pv-unassigned .pv-trip{display:grid;grid-template-columns:auto auto;gap:5px 15px;max-width:none}.pv-unassigned .pv-trip small{grid-column:2}.pv-heading .eyebrow{display:none}body:has(#nav-planning[aria-current="true"]) .intro{display:none}body:has(#nav-planning[aria-current="true"]) main{padding-top:20px}

.pv-filters{display:flex;gap:20px;align-items:end;flex-wrap:wrap;margin:16px 0 22px}.pv-filters>div>strong{display:block;font-size:12px;margin-bottom:8px}.pv-filter-options{display:flex;gap:7px;flex-wrap:wrap}.pv-filter-options label{display:flex;align-items:center;gap:6px;font-size:12px;border:1px solid #d1dcd3;border-radius:7px;padding:8px;cursor:pointer}.pv-filter-options input{width:15px;height:15px;margin:0;accent-color:#315547}.pv-filter-options label:has(input:not(:checked)){background:#f4f4f0;color:#7b817b}.pv-readable{border:1px solid #dce3da;border-radius:10px;overflow:hidden}.pv-readable-row{display:grid;grid-template-columns:155px minmax(0,1fr);border-bottom:1px solid #dce3da}.pv-readable-row:last-child{border-bottom:0}.pv-readable-cards{display:flex;flex-wrap:wrap;gap:12px;padding:14px;align-items:flex-start}.pv-card-wrap{flex:1 1 265px;max-width:420px;min-width:0}.pv-card-wrap .pv-trip{width:100%;min-height:125px;padding:12px;gap:8px}.pv-card-wrap .pv-trip strong{font-size:15px}.pv-card-wrap .pv-trip span{font-size:13px;white-space:normal;overflow-wrap:anywhere}.pv-card-wrap .pv-trip small{font-size:11px}.pv-conflict{color:#9c2930;background:#ffe9e9;border:1px solid #d8a5a5;padding:7px;font-size:12px;margin:0 0 6px;border-radius:6px}.pv-empty-row{font-size:13px;color:#647167}.pv-unassigned .pv-trip{min-width:260px}@media(max-width:650px){.pv-readable-row{grid-template-columns:1fr}.pv-driver{flex-direction:row;flex-wrap:wrap;align-items:center}.pv-card-wrap{max-width:none}.pv-unassigned .pv-trip{min-width:0;width:100%}}

/* Grille compacte, avec pistes supplémentaires lorsque les cartes se croisent. */
body:has(#nav-planning[aria-current="true"]) main{max-width:none;width:100%;padding:16px 20px}.pv-controls{margin:12px 0}.pv-filters{margin:10px 0 14px;gap:12px}.pv-grid{min-width:1050px}.pv-axis,.pv-row{grid-template-columns:125px minmax(0,1fr)}.pv-axis>div,.pv-lane{margin-right:30px}.pv-row{min-height:110px}.pv-driver{padding:14px 10px}.pv-lane{background-size:auto;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / var(--hours) - 1px),#e7ebe4 calc(100% / var(--hours) - 1px),#e7ebe4 calc(100% / var(--hours)))}.pv-lane .pv-trip{bottom:auto;height:86px;padding:7px;gap:4px;min-width:0}.pv-lane .pv-trip strong{font-size:12px}.pv-lane .pv-trip span{font-size:12px}.pv-lane .pv-trip small{font-size:10px}.vtc{background:#eee5f8}.pv-controls>strong{font-size:12px;color:#637168}.pv-axis{position:sticky;top:0;z-index:1}

/* Neuf chauffeurs : une ligne compacte, affectation directe. */
.pv-row{min-height:48px}.pv-driver{padding:5px 10px;gap:2px;justify-content:center}.pv-driver strong{font-size:12px}.pv-driver small{font-size:10px}.pv-item{display:flex;align-items:center;gap:2px;cursor:grab;min-width:0}.pv-lane .pv-item{position:absolute;height:29px;z-index:2}.pv-lane .pv-trip,.pv-item .pv-trip{position:static;height:29px;display:flex;flex-direction:row;align-items:center;padding:4px 6px;gap:5px;flex:1;min-width:0;white-space:nowrap}.pv-item .pv-trip span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px}.pv-item .pv-trip strong{font-size:11px}.pv-move{border:1px solid #c8d4cb;border-radius:5px;background:white;padding:2px 5px;cursor:pointer;height:27px;color:#315547}.pv-duration{position:absolute;height:5px;border:1px solid #6a8274;border-radius:2px;box-sizing:border-box}.pv-pending{border:1px dashed #c3cec6;border-radius:8px;margin:10px 0;padding:8px;display:flex;flex-direction:column;gap:4px}.pv-pending h3{font-size:12px;margin:0 0 3px}.pv-list-item .pv-trip{justify-content:flex-start}.pv-pending p{margin:0;font-size:12px;color:#657467}.pv-drop-over{outline:2px solid #477561;outline-offset:-2px;background:#edf6ee}.pv-controls{margin:8px 0}.pv-filters{gap:7px;margin:8px 0}.pv-filter-options label{padding:5px;font-size:11px}.pv-footnote{margin-top:8px}.pv-heading h2{font-size:20px}

.pv-driver-name{border:0;background:none;padding:3px 0;text-align:left;font:600 12px inherit;color:#244d3c;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.pv-replacement{color:#8a611e!important;background:#fff0d5;border-radius:4px;padding:2px 3px}#pv-busy p{font-size:12px;margin:5px 0}#pv-vehicle-warning{font-size:13px;color:#745720}#pv-detail-content .field{margin:12px 0}

.pv-controls .field:has(#pv-period){max-width:230px;min-width:220px}.pv-controls{align-items:end}.pv-controls .pv-toggle{padding-bottom:12px}

#pv-hover{position:fixed;z-index:1000;width:min(430px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;background:#fffefb;border:1px solid #b8cbbf;border-radius:12px;box-shadow:0 10px 35px #18372a30;padding:16px;color:#203e30;font:13px/1.45 system-ui;pointer-events:none}#pv-hover[hidden]{display:none}.pv-hover-name{font-size:16px}#pv-hover dl{margin:10px 0}#pv-hover dl>div{display:grid;grid-template-columns:90px 1fr;gap:8px;margin:7px 0}#pv-hover dt{color:#63776c;font-size:12px}#pv-hover dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}#pv-hover small{color:#718075}

#pv-hover{pointer-events:auto}

.pv-driver{display:grid;grid-template-columns:18px minmax(0,1fr);align-content:center;align-items:center;gap:2px}.pv-collapse{border:0;background:transparent;color:#315547;padding:0;cursor:pointer;font-size:16px;width:18px;height:24px}.pv-driver .pv-replacement{grid-column:2}.pv-row.pv-collapsed{min-height:30px;background:#f5f5f1}.pv-collapsed .pv-driver{padding-top:2px;padding-bottom:2px}.pv-collapsed .pv-driver-name{color:#6c776f}.pv-axis,.pv-row{grid-template-columns:145px minmax(0,1fr)}

.pv-reorder{border:0;background:transparent;color:#668173;padding:0;font-size:22px;cursor:grab;touch-action:none;user-select:none;width:20px;height:30px}.pv-reorder:active{cursor:grabbing}.pv-order-target{box-shadow:inset 0 -3px #477b63;background:#f0f6ef}

.pv-heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

#pv-courses-dialog{width:min(1120px,96vw);max-width:1120px;max-height:92vh}#pv-courses-dialog>.dialog-inner{padding:20px}#pv-courses-dialog #courses-panel{padding:0;border:0;box-shadow:none}#pv-courses-dialog .dialog-head{margin-bottom:16px}
#pv-courses-dialog #courses-panel>.toolbar h2{display:none}#pv-courses-dialog>.dialog-inner>.dialog-head{justify-content:space-between}

.pv-heading .pv-published{background:#e3f3e8;border-color:#9bc7a8;color:#24623b;font-weight:600}

#pv-publish.pv-publish-pending{background:#b93636;color:white;border:1px solid #a72b2b;font-weight:700}#pv-publish.pv-publish-pending:hover{background:#a72b2b}#pv-publish.pv-publish-done{background:#e3f3e8;color:#24623b;border:1px solid #9bc7a8;opacity:1;cursor:default}

/* Vue semaine : mêmes données et charte, sans lignes de chauffeurs. */
.pv-week-scroll{overflow-x:auto;border:1px solid #dce3da;border-radius:10px}.pv-week-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));min-width:1085px}.pv-week-day{padding:8px;border-right:1px solid #dce3da;min-width:0;min-height:300px}.pv-week-day:last-child{border-right:0}.pv-week-heading{display:flex;flex-direction:column;gap:5px;padding:4px 0 12px;font-size:13px}.pv-week-heading small,.pv-week-empty{font-size:12px;color:#68756d}.pv-week-trip{width:100%;margin:0 0 7px;gap:5px}.pv-week-trip strong{white-space:normal;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.pv-week-trip small{font-size:11px}.pv-week-unassigned{color:#805322}.pv-controls .pv-week-picker{max-width:260px;min-width:220px}

/* Semaine compacte : noms seuls, détails au survol et dans la fiche. */
.pv-week-day{padding:5px}.pv-week-trip{padding:4px 6px;margin:0 0 3px;gap:0;border-radius:5px;font-size:11px;line-height:1.25}.pv-week-trip span{display:block;overflow-wrap:anywhere}.pv-week-heading{padding:3px 0 8px;gap:2px}

.pv-week-trip span strong{font-size:inherit;line-height:inherit;white-space:nowrap}

/* Les courses à affecter partagent exactement l’axe des chauffeurs. */
.pv-row[data-drop-driver=""]{background:#fffdf5;border-bottom:2px solid #cbd7cb}
.pv-row[data-drop-driver=""] .pv-driver{display:flex;align-items:flex-start}
.pv-row[data-drop-driver=""] .pv-driver-name{opacity:1;text-decoration:none;cursor:default;color:#765923}

/* Une ligne de besoins par chevauchement réel, et non par largeur du texte. */
.pv-row[data-drop-driver=""]{border:2px solid #b6c8b9;border-left:5px solid #68846d;border-radius:9px;background:#f5f8ef;box-shadow:0 3px 8px #254f3510}
.pv-row[data-drop-driver=""] .pv-driver{background:#edf3e5;gap:5px;padding:12px 8px}
.pv-row[data-drop-driver=""] .pv-driver-name{color:#365b3c;font-weight:700}
.pv-row[data-drop-driver=""] .pv-needed{font-weight:700;color:#365b3c}
.pv-row[data-drop-driver=""] .pv-item{padding-right:3px;box-sizing:border-box}
.pv-row[data-drop-driver=""] .pv-trip{gap:4px}
.pv-row[data-drop-driver=""] .pv-trip strong{flex-shrink:0}
.pv-state{display:inline-flex!important;align-items:center;width:max-content;max-width:100%;padding:2px 5px;border-radius:6px;font-size:9px!important;font-style:normal;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-reparti{background:#dff1e5;color:#165c35;border:1px solid #8bc6a0}.pv-termine{background:#e8edf0;color:#4a5961;border:1px solid #bbc6cc}
.pv-row[data-drop-driver=""] .pv-move{flex-shrink:0;padding:2px 3px}
.pv-pending-gap{height:22px;background:#fff;border-bottom:1px solid #dce3da}
.pv-row[data-drop-driver=""]{border:0;box-shadow:inset 0 0 0 2px #b6c8b9,inset 5px 0 #68846d}
.pv-row[data-drop-driver=""] .pv-driver{background:transparent}
