/* Kouroussa Dispatch — couche mobile (v540-test).
   Tout est préfixé html.kdm : la classe n'est posée par mobile.js que sous 760 px de large.
   Au-dessus, ce fichier n'a aucun effet (affichage desktop v539 inchangé). Seul le style du bouton SAVE « Enregistrement… » est commun. */

/* ---------- commun (mobile + desktop) : état du SAVE pendant l'envoi ---------- */
#saveBtn.kd-saving{position:relative;pointer-events:none;opacity:.78}
#saveBtn.kd-saving::after{content:"Enregistrement…";position:absolute;inset:0;display:grid;place-items:center;background:inherit;border-radius:inherit;font-weight:800}

/* ---------- jetons ---------- */
html.kdm{--kdm-bar:52px;--kdm-nav:64px;--kdm-safe-b:env(safe-area-inset-bottom,0px);--kdm-safe-t:env(safe-area-inset-top,0px);
  --kdm-bg:var(--bg,#EEF1F4);--kdm-card:var(--surface,#fff);--kdm-ink:var(--ink,#0F1A22);--kdm-mut:var(--muted,#5A6873);--kdm-line:var(--line,#D9E0E5);
  --kdm-acc:#F26221;--kdm-dark:#0F1A22;-webkit-text-size-adjust:100%}
html.kdm body{padding:calc(var(--kdm-bar) + var(--kdm-safe-t)) 0 calc(var(--kdm-nav) + var(--kdm-safe-b) + 12px)!important;overflow-x:hidden}
html.kdm .app{display:block!important}
html.kdm .wrap{padding:0 12px!important;max-width:100vw!important;gap:10px!important}

/* ---------- chrome v539 masqué sur téléphone (fonctions reprises par la barre du bas et l'Accueil) ---------- */
html.kdm .rail{display:none!important}
html.kdm header.top{display:none!important}
html.kdm.kdm-team header.top{display:flex!important;position:fixed;z-index:1200;left:0;right:0;bottom:0;top:auto;max-height:82vh;overflow:auto;flex-direction:column;align-items:stretch;gap:12px;
  padding:18px 16px calc(18px + var(--kdm-safe-b));background:var(--kdm-card);border-radius:22px 22px 0 0;box-shadow:0 -14px 40px rgba(0,0,0,.28);border:0}
html.kdm.kdm-team header.top>*{width:100%!important;max-width:none!important}
html.kdm.kdm-team header.top .clock,html.kdm.kdm-team header.top .dispbtns,html.kdm.kdm-team header.top #bellBtn,html.kdm.kdm-team header.top .simbtn{display:none!important}
html.kdm.kdm-team header.top .hdr-sup-row{flex-direction:column;gap:12px}
html.kdm.kdm-team header.top::before{content:"Équipe du shift";font:800 18px var(--f-ui,system-ui)}
html.kdm .kdm-scrim{position:fixed;inset:0;z-index:1150;background:rgba(10,16,22,.45);display:none}
html.kdm.kdm-team .kdm-scrim,html.kdm.kdm-sheet .kdm-scrim{display:block}

/* ---------- barre du haut ---------- */
#kdmBar,#kdmNav,.kdm-ov,.kdm-scrim{display:none}
html.kdm #kdmBar{display:flex;position:fixed;z-index:1100;top:0;left:0;right:0;height:calc(var(--kdm-bar) + var(--kdm-safe-t));padding:var(--kdm-safe-t) 14px 0;align-items:center;gap:10px;
  background:color-mix(in srgb,var(--kdm-card) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--kdm-line)}
#kdmBar .t{flex:1;min-width:0;font:800 18px/1.1 var(--f-ui,system-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--kdm-ink)}
#kdmBar .t small{display:block;font:600 11px var(--f-mono,ui-monospace,monospace);color:var(--kdm-mut);letter-spacing:.02em}
.kdm-pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:99px;font:700 11.5px var(--f-ui,system-ui);white-space:nowrap;background:#E0F2E7;color:#13643A;border:0}
.kdm-pill i{width:8px;height:8px;border-radius:50%;background:#1E8A4C}
.kdm-pill.pending{background:#FCEFC7;color:#7A5A00}.kdm-pill.pending i{background:#B8860B;animation:kdmPulse 1s infinite}
.kdm-pill.off{background:#FBE0DE;color:#A3231B}.kdm-pill.off i{background:#C0392B}
.kdm-pill.unconf{background:#FBE0DE;color:#A3231B}.kdm-pill.unconf i{background:#C0392B}
@keyframes kdmPulse{50%{opacity:.35}}
.kdm-icon{width:40px;height:40px;border-radius:12px;border:0;background:var(--kdm-bg);display:grid;place-items:center;position:relative;color:var(--kdm-ink);font-size:18px;flex:none}
.kdm-icon b{position:absolute;top:2px;right:2px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#C0392B;color:#fff;font:800 10px/17px system-ui;text-align:center}
.kdm-test{position:fixed;z-index:1300;top:calc(var(--kdm-safe-t) + 2px);left:50%;transform:translateX(-50%);padding:1px 10px;border-radius:0 0 8px 8px;background:#7446A8;color:#fff;font:800 10px/16px system-ui;letter-spacing:.12em;pointer-events:none}

/* ---------- barre du bas ---------- */
html.kdm #kdmNav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:1100;left:0;right:0;bottom:0;height:calc(var(--kdm-nav) + var(--kdm-safe-b));padding-bottom:var(--kdm-safe-b);
  background:color-mix(in srgb,var(--kdm-card) 96%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--kdm-line)}
#kdmNav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:700 10.5px var(--f-ui,system-ui);color:var(--kdm-mut);position:relative;min-height:48px;-webkit-tap-highlight-color:transparent}
#kdmNav button svg{width:23px;height:23px}
#kdmNav button[aria-current="page"]{color:var(--kdm-acc)}
#kdmNav button[aria-current="page"]::before{content:"";position:absolute;top:0;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--kdm-acc)}
#kdmNav button b{position:absolute;top:6px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#C0392B;color:#fff;font:800 10px/18px system-ui}
#kdmNav button b:empty{display:none}

/* ---------- panneaux propres (Accueil, Down, Rapports, Plus) ---------- */
html.kdm .kdm-ov{position:fixed;z-index:1000;left:0;right:0;top:calc(var(--kdm-bar) + var(--kdm-safe-t));bottom:calc(var(--kdm-nav) + var(--kdm-safe-b));overflow-y:auto;overscroll-behavior:contain;
  background:var(--kdm-bg);padding:12px 12px 24px;-webkit-overflow-scrolling:touch}
html.kdm .kdm-ov.on{display:block}
.kdm-h{margin:14px 2px 8px;font:800 11px var(--f-mono,ui-monospace,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--kdm-mut)}
.kdm-card{background:var(--kdm-card);border-radius:16px;padding:12px 14px;box-shadow:0 1px 2px rgba(0,0,0,.06);margin-bottom:10px}
.kdm-shift{background:var(--kdm-dark);color:#fff;border-radius:18px;padding:14px;display:flex;align-items:center;gap:12px}
.kdm-shift .n{flex:1;min-width:0}
.kdm-shift .n b{display:block;font:800 18px var(--f-ui,system-ui)}
.kdm-shift .n small{display:block;font:600 12px var(--f-mono,ui-monospace,monospace);opacity:.75;margin-top:2px}
.kdm-shift .n em{font-style:normal;color:#FFB547;font-weight:700}
.kdm-seg{display:flex;background:rgba(255,255,255,.12);border-radius:11px;padding:3px;flex:none}
.kdm-seg button{border:0;background:none;color:#fff;opacity:.7;font:800 13px system-ui;padding:8px 13px;border-radius:9px;min-height:40px}
.kdm-seg button[aria-pressed="true"]{background:var(--kdm-acc);opacity:1}
.kdm-tiles{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}
.kdm-tile{border:0;text-align:left;background:var(--kdm-card);border-radius:16px;padding:12px 14px;box-shadow:0 1px 2px rgba(0,0,0,.06);min-height:78px;color:var(--kdm-ink)}
.kdm-tile b{display:block;font:800 28px/1.05 var(--f-mono,ui-monospace,monospace)}
.kdm-tile span{font:700 11px var(--f-ui,system-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--kdm-mut)}
.kdm-tile.op b{color:#1E8A4C}.kdm-tile.bd b{color:#C0392B}.kdm-tile.mt b{color:#2767A8}.kdm-tile.pd b{color:#B8860B}
.kdm-tile.wide{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;background:#FFF8E3;border:1.5px solid #E9C96A}
.kdm-tile.wide.zero{background:var(--kdm-card);border-color:transparent}
.kdm-tile.wide i{font-style:normal;font:800 13px system-ui;color:#7A5A00}
.kdm-al{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid var(--kdm-line);font-size:14px;color:var(--kdm-ink);background:none;border-left:0;border-right:0;border-top:0;width:100%;text-align:left;min-height:46px}
.kdm-al:last-child{border-bottom:0}
.kdm-al i{width:9px;height:9px;border-radius:50%;flex:none;background:#C0392B}
.kdm-al.w i{background:#B8860B}
.kdm-al em{margin-left:auto;font:700 12px var(--f-mono,ui-monospace,monospace);font-style:normal;color:var(--kdm-mut);white-space:nowrap}
.kdm-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px}
.kdm-kv span{color:var(--kdm-mut)}
.kdm-kv b{text-align:right;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kdm-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border-radius:14px;border:1px solid var(--kdm-line);background:var(--kdm-card);font:800 15px var(--f-ui,system-ui);color:var(--kdm-ink);margin-top:10px}
.kdm-btn.pri{background:var(--kdm-acc);border-color:var(--kdm-acc);color:#fff}
.kdm-empty{padding:26px 10px;text-align:center;color:var(--kdm-mut)}

/* listes d'engins (Down, PENDING) */
.kdm-search{position:sticky;top:-12px;z-index:3;margin:-12px -12px 8px;padding:12px 12px 8px;background:var(--kdm-bg)}
.kdm-search input{width:100%;height:48px;border-radius:14px;border:1px solid var(--kdm-line);background:var(--kdm-card);padding:0 14px;font-size:16px!important;color:var(--kdm-ink)}
.kdm-chips{display:flex;gap:7px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:none}
.kdm-chips::-webkit-scrollbar{display:none}
.kdm-chips button{flex:none;min-height:44px;padding:0 14px;border-radius:99px;border:1px solid var(--kdm-line);background:var(--kdm-card);font:700 13px var(--f-ui,system-ui);color:var(--kdm-ink)}
.kdm-chips button[aria-pressed="true"]{background:var(--kdm-dark);color:#fff;border-color:var(--kdm-dark)}
.kdm-row{position:relative;display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:var(--kdm-card);border-radius:14px;padding:11px 12px 11px 16px;margin-bottom:7px;min-height:60px;box-shadow:0 1px 2px rgba(0,0,0,.05);overflow:hidden;color:var(--kdm-ink)}
.kdm-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--c,#999)}
.kdm-row .id{font:800 15px var(--f-mono,ui-monospace,monospace);width:76px;flex:none}
.kdm-row .id small{display:block;font:600 10px var(--f-ui,system-ui);color:var(--kdm-mut)}
.kdm-row .s{flex:1;min-width:0}
.kdm-row .s b{display:block;font:800 12.5px var(--f-ui,system-ui);color:var(--c);text-transform:uppercase;letter-spacing:.02em}
.kdm-row .s small{display:block;font-size:12.5px;color:var(--kdm-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kdm-row .d{font:800 14px var(--f-mono,ui-monospace,monospace);color:var(--kdm-mut);white-space:nowrap}
.kdm-row .d.long{color:#C0392B}.kdm-row .d.mid{color:#B8860B}
.kc-op{--c:#1E8A4C}.kc-bd{--c:#C0392B}.kc-sb{--c:#B8860B}.kc-dl{--c:#7446A8}.kc-mt{--c:#2767A8}.kc-os{--c:#5E6966}.kc-id{--c:#C4631C}.kc-nd{--c:#9AA5AE}

/* grille de modules (Plus, Rapports) */
.kdm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.kdm-mod{border:0;background:var(--kdm-card);border-radius:16px;padding:14px 6px 12px;display:flex;flex-direction:column;align-items:center;gap:7px;min-height:88px;font:700 12px/1.2 var(--f-ui,system-ui);color:var(--kdm-ink);text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.kdm-mod svg{width:26px;height:26px;color:var(--kdm-acc)}
.kdm-list .kdm-mod{flex-direction:row;justify-content:flex-start;gap:14px;padding:14px;min-height:60px;font-size:15px;width:100%;margin-bottom:8px;text-align:left}
.kdm-list .kdm-mod small{display:block;font:500 12px var(--f-ui,system-ui);color:var(--kdm-mut)}

/* ---------- vues v539 sur téléphone : lisibilité tactile ---------- */
html.kdm input:not([type=checkbox]):not([type=radio]),html.kdm select,html.kdm textarea{font-size:16px!important;min-height:44px}
html.kdm .btn,html.kdm button.chip,html.kdm .chip,html.kdm .sumbox{min-height:40px}
html.kdm .card-block,html.kdm section[id^="v-"]{min-width:0!important;max-width:100%!important}
html.kdm .tbl-wrap,html.kdm .etable-wrap,html.kdm .plan-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
html.kdm table th:first-child,html.kdm table td:first-child{position:sticky;left:0;z-index:1;background:var(--surface,#fff)}
html.kdm .hx-grid{grid-template-columns:minmax(0,1fr)!important}            /* Production Record : colonnes de 680 px min sur desktop */
html.kdm .qe-grid,html.kdm :has(>.rp-tc){grid-template-columns:minmax(0,1fr)!important}   /* Qualité, Rapport : cartes de 330 px min */
html.kdm .qe,html.kdm .rp-tc{min-width:0!important;max-width:100%!important}
html.kdm .fu-2col{grid-template-columns:minmax(0,1fr)!important}            /* Fuel : colonne de 360 px */
html.kdm .ops-assist{flex-wrap:wrap}html.kdm .ops-assist input{min-width:0;flex:1 1 140px}   /* Opérateurs : assistant */
html.kdm .set-hero>*{min-width:0;max-width:100%}html.kdm .set-stats{width:100%}             /* Réglages : en-tête */
html.kdm .hx-card{max-width:100%!important;min-width:0!important;overflow-x:auto}
html.kdm :has(>.pr-sub){display:flex;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;max-width:100%}
html.kdm .pr-sub{flex:none;min-height:44px}
html.kdm #toasts .toast{width:auto!important;max-width:100%!important;box-sizing:border-box}
html.kdm #toasts>*:nth-child(n+2){display:none!important}
html.kdm #toasts{left:10px!important;right:10px!important;bottom:calc(var(--kdm-nav) + var(--kdm-safe-b) + 8px)!important;top:auto!important;max-width:none!important}
html.kdm #alertPanel{z-index:1250!important;position:fixed!important;inset:calc(var(--kdm-bar) + var(--kdm-safe-t)) 0 calc(var(--kdm-nav) + var(--kdm-safe-b)) 0!important;max-height:none!important;overflow:auto!important;border-radius:0!important}
html.kdm #banner{position:sticky;top:calc(var(--kdm-bar) + var(--kdm-safe-t));z-index:20}

/* ---------- Pit Control ---------- */
html.kdm #v-saisie:not([hidden]){display:block!important}   /* la v539 masque les vues inactives par l'attribut hidden : ne pas l'écraser */
html.kdm #v-saisie>div:first-child{display:flex;flex-direction:column}
html.kdm #v-saisie .filters{order:-3;position:sticky;top:calc(var(--kdm-bar) + var(--kdm-safe-t));z-index:30;margin:0 -12px;padding:10px 12px 6px;background:var(--kdm-bg);display:flex;gap:8px;flex-wrap:nowrap}
html.kdm #v-saisie #q{flex:1;height:48px;border-radius:14px;font-size:17px!important;padding:0 14px}
html.kdm #v-saisie .filters label.chip{display:none}
html.kdm #v-saisie #clearSel{display:none}
html.kdm #v-saisie .summary{order:-2;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:7px;margin:0 -12px 8px;padding:2px 12px 6px;scrollbar-width:none}
html.kdm #v-saisie .summary::-webkit-scrollbar{display:none}
html.kdm #v-saisie .summary .sumbox,html.kdm #v-saisie .summary .sumbox:not(.clear){flex:none!important;min-width:auto!important;width:auto!important;border-radius:99px;padding:0 14px 0 24px!important;
  font-size:13px!important;display:inline-flex!important;align-items:center;gap:8px;white-space:nowrap;min-height:40px}
html.kdm #v-saisie .summary .sumbox:not(.nd):not(.clear){padding:0 14px!important}
/* avertissements (sans opérateur, sans localisation…) : sous la liste, compacts — ils sont aussi sur l'Accueil */
html.kdm #v-saisie .opwarn,html.kdm #v-saisie .overrun{order:6;margin:8px 0 0!important;padding:10px 12px!important;font-size:13px;gap:6px 10px!important}
html.kdm #v-saisie .opwarn .ids{flex-basis:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}
html.kdm #v-saisie .opwarn .btn{min-height:40px}
html.kdm #v-saisie #typeChips{order:-1;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -12px 8px!important;padding:0 12px}
html.kdm #v-saisie #typeChips .chip{flex:none}
html.kdm #v-saisie .quick-top{order:5;margin-top:12px}
html.kdm #v-saisie .fleet{display:flex!important;flex-direction:column;gap:7px}
html.kdm #v-saisie .fleet .fgrp{margin-top:8px}
html.kdm #v-saisie .fleet .fmini{display:flex!important;flex-direction:column;gap:7px}
html.kdm #v-saisie .fleet .card{display:grid!important;grid-template-columns:80px minmax(0,1fr) auto;grid-template-areas:"id st du" "id cd du" "id ft ft";align-items:center;column-gap:10px;row-gap:1px;
  min-height:62px!important;width:100%!important;padding:9px 12px 9px 16px!important;border-radius:14px!important}
html.kdm #v-saisie .fleet .card .t-top{display:contents}
html.kdm #v-saisie .fleet .card .id{grid-area:id;font-size:15.5px!important}
html.kdm #v-saisie .fleet .card .el{grid-area:du;font:800 14px var(--f-mono,ui-monospace,monospace)!important;align-self:center}
html.kdm #v-saisie .fleet .card .pmb{display:none}
html.kdm #v-saisie .fleet .card .t-st{grid-area:st;font-weight:800;text-transform:uppercase;font-size:12.5px;letter-spacing:.02em;margin:0!important}
html.kdm #v-saisie .fleet .card .t-code{grid-area:cd;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0!important}
html.kdm #v-saisie .fleet .card .t-foot{grid-area:ft;display:flex;gap:10px;font-size:11.5px;margin:0!important}
html.kdm #v-saisie .fleet .card .t-foot:empty{display:none}

/* fiche de saisie : panneau plein écran (bottom sheet) */
html.kdm #v-saisie #panel{display:none!important}
html.kdm.kdm-sheet #v-saisie #panel{display:flex!important;flex-direction:column;position:fixed!important;z-index:1200;left:0;right:0;top:calc(var(--kdm-safe-t) + 44px);bottom:var(--kdm-kb,0px);max-height:none!important;
  margin:0!important;padding:0 16px!important;border-radius:22px 22px 0 0!important;overflow-y:auto!important;overscroll-behavior:contain;box-shadow:0 -14px 40px rgba(0,0,0,.3)!important;gap:12px;animation:kdmUp .2s ease-out}
@keyframes kdmUp{from{opacity:.4}}   /* fondu seul : aucun décalage de position, même si l'animation est suspendue */
@media (prefers-reduced-motion:reduce){html.kdm.kdm-sheet #v-saisie #panel{animation:none}}
html.kdm #panel .kdm-sheethead{position:sticky;top:0;z-index:5;margin:0 -16px;padding:8px 16px 8px;background:var(--surface,#fff);display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--kdm-line)}
html.kdm #panel .kdm-sheethead::before{content:"";position:absolute;top:6px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:var(--kdm-line)}
html.kdm #panel .kdm-sheethead .t{flex:1;padding-top:10px;font:800 17px var(--f-ui,system-ui)}
html.kdm #panel .kdm-sheethead button{margin-top:8px}
html.kdm #panel .stepn,html.kdm #panel .phint{display:none}
html.kdm #panel .stbtns{grid-template-columns:1fr 1fr!important;gap:8px}
html.kdm #panel .stbtn{min-height:50px;font-size:15px;border-radius:13px}
html.kdm #panel .stbtn kbd{display:none}
html.kdm #panel .row2{grid-template-columns:1fr 1fr!important;gap:8px}
html.kdm #panel #timeIn,html.kdm #panel #endIn{font-size:20px!important;width:100%!important}
html.kdm #panel .timewrap .btn{min-height:44px}
html.kdm #panel .codesug{max-height:45vh}
html.kdm #panel .panel-recent{display:none}
html.kdm #panel #saveBtn{position:sticky;bottom:0;z-index:6;min-height:56px;font-size:18px!important;border-radius:16px;margin:4px 0 0;box-shadow:0 -10px 18px var(--surface,#fff)}
html.kdm #panel #formMsg{position:sticky;bottom:64px;z-index:6}
html.kdm #panel .kdm-next{display:none}
html.kdm #panel.kdm-done .kdm-next{display:flex}
/* mode confirmation (sélection vidée par la v539 après SAVE) : seuls l'en-tête, le message et « Engin suivant » restent */
html.kdm #panel.kdm-nosel>:not(.kdm-sheethead):not(#formMsg):not(.kdm-next){display:none!important}
html.kdm #panel.kdm-nosel #formMsg{display:block!important;position:static;margin-top:14px;font-size:15px}   /* la v539 masque le message quand .panel.empty */
html.kdm #panel.kdm-nosel #formMsg .actions{display:flex!important}
html.kdm.kdm-sheet #v-saisie #panel.kdm-nosel{top:auto;max-height:60vh!important}
html.kdm #panel #closeBtn{min-height:48px}
html.kdm #panel>*:last-child{margin-bottom:calc(14px + var(--kdm-safe-b))}

/* ---------- Journal › Événements : une carte par événement (même tableau v539, mis en forme) ----------
   colonnes v539 : 1 # · 2 Équipement · 3 Type · 4 Statut · 5 Code · 6 Catégorie · 7 Description · 8 Off · 9 On · 10 Heures · 11 Lieu · 12 Opérateur · 13 Chargement · 14 Commentaire · 15 Dispatcher · 16 Actions */
html.kdm #v-journal .tbl-wrap:has(>#jTbl){max-height:none!important;overflow:visible!important;border:0!important;background:none!important;box-shadow:none!important}
html.kdm #jTbl{display:block;width:100%!important;min-width:0!important;border:0;font-size:14px}
html.kdm #jTbl thead{display:none}
html.kdm #jTbl tbody{display:flex;flex-direction:column;gap:8px}
html.kdm #jTbl tr{--c:#9AA5AE;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;position:relative;background:var(--kdm-card);border:0;border-radius:16px;padding:12px 14px 12px 18px;box-shadow:0 1px 2px rgba(0,0,0,.07);overflow:hidden}
html.kdm #jTbl tr::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--c)}
html.kdm #jTbl tr:has(.pill.s-op){--c:#1E8A4C}html.kdm #jTbl tr:has(.pill.s-bd){--c:#C0392B}html.kdm #jTbl tr:has(.pill.s-sb){--c:#B8860B}html.kdm #jTbl tr:has(.pill.s-dl){--c:#7446A8}
html.kdm #jTbl tr:has(.pill.s-mt){--c:#2767A8}html.kdm #jTbl tr:has(.pill.s-id){--c:#C4631C}html.kdm #jTbl tr:has(.pill.s-os){--c:#5E6966}
html.kdm #jTbl tr.auto{background:color-mix(in srgb,var(--kdm-card) 88%,var(--kdm-line))}
html.kdm #jTbl tr.openrow{box-shadow:0 0 0 2px var(--c),0 1px 2px rgba(0,0,0,.07)}
html.kdm #jTbl td{display:block;border:0!important;padding:0!important;background:none!important;position:static!important;white-space:normal!important;text-align:left!important;min-width:0;color:var(--kdm-ink)}
html.kdm #jTbl td:empty{display:none}
html.kdm #jTbl td:nth-child(1),html.kdm #jTbl td:nth-child(2),html.kdm #jTbl td:nth-child(3){display:none}
html.kdm #jTbl td:nth-child(4){order:1}
html.kdm #jTbl td:nth-child(4) .pill{font-size:12.5px;padding:3px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.03em}
html.kdm #jTbl td:nth-child(5){order:2;font:800 15px var(--f-mono,ui-monospace,monospace)}
html.kdm #jTbl td:nth-child(8){order:3;margin-left:auto;font:700 15px var(--f-mono,ui-monospace,monospace)}
html.kdm #jTbl td:nth-child(9){order:4;font:700 15px var(--f-mono,ui-monospace,monospace)}
html.kdm #jTbl td:nth-child(9)::before{content:"→ ";color:var(--kdm-mut);font-weight:500}
html.kdm #jTbl td:nth-child(9) .encours{font:800 11px var(--f-ui,system-ui)!important;letter-spacing:.06em;padding:3px 8px;border-radius:6px;vertical-align:2px}
html.kdm #jTbl td:nth-child(7){order:6;flex-basis:100%;font-size:14.5px;font-weight:600}
html.kdm #jTbl td:nth-child(10){order:7;font:800 13px var(--f-mono,ui-monospace,monospace);background:var(--kdm-bg)!important;border-radius:8px;padding:2px 8px!important}
html.kdm #jTbl td:nth-child(10)::after{content:" h";font-weight:600}
html.kdm #jTbl td:nth-child(6){order:8;font:700 11px var(--f-mono,ui-monospace,monospace);color:var(--kdm-mut);border:1px solid var(--kdm-line)!important;border-radius:6px;padding:1px 6px!important}
html.kdm #jTbl td:nth-child(11),html.kdm #jTbl td:nth-child(12),html.kdm #jTbl td:nth-child(13),html.kdm #jTbl td:nth-child(15){order:9;font:500 12.5px var(--f-ui,system-ui)!important;color:var(--kdm-mut)}
html.kdm #jTbl td:nth-child(11)::before{content:"Lieu ";font-weight:700}
html.kdm #jTbl td:nth-child(12)::before{content:"Op. ";font-weight:700}
html.kdm #jTbl td:nth-child(13)::before{content:"Chargeur ";font-weight:700}
html.kdm #jTbl td:nth-child(15)::before{content:"Par ";font-weight:700}
html.kdm #jTbl td:nth-child(14){order:10;flex-basis:100%;font-size:13.5px;font-style:italic;color:var(--kdm-mut);border-top:1px dashed var(--kdm-line)!important;padding-top:6px!important}
html.kdm #jTbl td:nth-child(16){order:11;flex-basis:100%;display:flex;gap:8px}
html.kdm #jTbl td:nth-child(16) .btn{flex:1;margin:0!important;min-height:42px;font-size:14px!important;padding:0 8px!important;border-radius:11px}
html.kdm #jTbl td:nth-child(16) .btn.danger{background:transparent!important;color:#C0392B!important;border:1.5px solid color-mix(in srgb,#C0392B 45%,transparent)!important;box-shadow:none!important}
html.kdm #jTbl tr.editrow,html.kdm #jTbl tr:has(>td[colspan]){display:block;padding:0;background:none;box-shadow:none}
html.kdm #jTbl tr.editrow::before,html.kdm #jTbl tr:has(>td[colspan])::before{display:none}
html.kdm #jTbl tr>td[colspan]{display:block!important;width:100%}
html.kdm #jTbl tr:not(.editrow)>td[colspan]{padding:22px 10px!important;text-align:center!important;color:var(--kdm-mut);background:var(--kdm-card)!important;border-radius:16px}
html.kdm #jTbl .jedit{border-radius:16px;background:var(--kdm-card)}
html.kdm #jTbl .jedit-g{grid-template-columns:1fr 1fr!important}
html.kdm #jTbl .jedit-code,html.kdm #jTbl .jedit-com{grid-column:1/-1}

/* ---------- paysage téléphone ---------- */
@media (orientation:landscape){
  html.kdm{--kdm-nav:54px}
  html.kdm.kdm-sheet #v-saisie #panel{top:calc(var(--kdm-safe-t) + 8px)}
  html.kdm .kdm-tiles{grid-template-columns:repeat(4,1fr)}
  html.kdm .kdm-grid{grid-template-columns:repeat(5,1fr)}
}
@media (max-width:340px){html.kdm .kdm-tile b{font-size:23px}html.kdm .kdm-grid{grid-template-columns:repeat(2,1fr)}html.kdm #v-saisie .fleet .card{grid-template-columns:68px minmax(0,1fr) auto}}

/* ---------- mode sombre (suit les variables v539) ---------- */
@media (prefers-color-scheme:dark){
  html.kdm .kdm-pill{background:#173A27;color:#7BD9A1}
  html.kdm .kdm-pill.pending{background:#3D3314;color:#F2CF6B}
  html.kdm .kdm-pill.off,html.kdm .kdm-pill.unconf{background:#45201E;color:#FF9C92}
  html.kdm .kdm-tile.wide{background:#3D3314;border-color:#6B5A1E}
  html.kdm .kdm-tile.wide i{color:#F2CF6B}
}
