/* ===========================================================
   WatiTaxi — Composants desktop (wt-*)  v1
   Scopés body.is-desktop → s'appliquent uniquement aux pages pro
   desktop. Le mobile n'utilise jamais ces classes.
   =========================================================== */

/* ── Badge de statut de course ── */
body.is-desktop .wt-badge { display:inline-block; font:800 10.5px/1 var(--wt-font); padding:4px 9px;
  border-radius:var(--wt-r-pill); text-transform:uppercase; letter-spacing:.3px; white-space:nowrap; }
body.is-desktop .wt-badge--urgent   { background:var(--wt-urgent-bg);   color:var(--wt-urgent-text); }
body.is-desktop .wt-badge--todo     { background:var(--wt-todo-bg);     color:var(--wt-todo-text); }
body.is-desktop .wt-badge--active   { background:var(--wt-active-bg);   color:var(--wt-active-text); }
body.is-desktop .wt-badge--assigned { background:var(--wt-assigned-bg); color:var(--wt-assigned-text); }
body.is-desktop .wt-badge--done     { background:var(--wt-done-bg);     color:var(--wt-done-text); }

/* ── Badge de disponibilité chauffeur ── */
body.is-desktop .wt-dbadge { display:inline-flex; align-items:center; gap:5px; font:700 11.5px/1 var(--wt-font);
  padding:3px 9px; border-radius:var(--wt-r-pill); background:var(--wt-hover); color:var(--wt-text-2); }
body.is-desktop .wt-dbadge-dot { width:7px; height:7px; border-radius:50%; background:currentColor; }
body.is-desktop .wt-dbadge--on   { color:#16A34A; background:#F0FDF4; }
body.is-desktop .wt-dbadge--busy { color:#2563EB; background:#EFF6FF; }
body.is-desktop .wt-dbadge--res  { color:#B45309; background:#FEF3C7; }
body.is-desktop .wt-dbadge--off  { color:#64748B; background:#F1F5F9; }

/* ── Bouton d'action ── */
body.is-desktop .wt-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; height:34px;
  padding:0 14px; border:1px solid var(--wt-border); border-radius:10px; background:#fff;
  font:700 12.5px/1 var(--wt-font); color:var(--wt-text-2); cursor:pointer; white-space:nowrap;
  transition:background .15s, border-color .15s; }
body.is-desktop .wt-btn:hover { background:var(--wt-hover); }
body.is-desktop .wt-btn--primary { background:var(--wt-green); border-color:var(--wt-green); color:#fff;
  box-shadow:0 3px 10px rgba(0,168,107,.22); }
body.is-desktop .wt-btn--primary:hover { background:var(--wt-green-hover); }
body.is-desktop .wt-btn--ghost { border-color:transparent; background:transparent; color:var(--wt-text-2); }
body.is-desktop .wt-btn--ghost:hover { background:var(--wt-hover); }
body.is-desktop .wt-btn--danger { background:#EF4444; border-color:#EF4444; color:#fff; }
body.is-desktop .wt-btn--danger:hover { background:#DC2626; }
body.is-desktop .wt-btn--sm { height:30px; padding:0 11px; font-size:12px; border-radius:9px; }
body.is-desktop .wt-btn--lg { height:44px; padding:0 18px; font-size:13.5px; }
body.is-desktop .wt-btn:disabled { opacity:.5; cursor:not-allowed; box-shadow:none; }

/* ── Carte KPI ── */
body.is-desktop .wt-kpi { display:flex; align-items:center; gap:10px; background:#fff;
  border:1px solid var(--wt-border-soft); border-radius:14px; padding:12px; box-shadow:var(--wt-e1); }
body.is-desktop .wt-kpi-ic { width:38px; height:38px; border-radius:11px; display:grid; place-items:center;
  flex-shrink:0; background:var(--wt-green-soft); }
body.is-desktop .wt-kpi-val { font:800 22px/1 var(--wt-font); color:var(--wt-text); font-variant-numeric:tabular-nums; }
body.is-desktop .wt-kpi-lbl { display:block; font:600 11.5px/1.2 var(--wt-font); color:var(--wt-text-2); margin-top:3px; }
body.is-desktop .wt-kpi-sub { display:block; font:700 10.5px/1 var(--wt-font); color:var(--wt-muted); margin-top:3px; }
body.is-desktop .wt-kpi--orange .wt-kpi-ic { background:var(--wt-todo-bg); }
body.is-desktop .wt-kpi--blue   .wt-kpi-ic { background:var(--wt-active-bg); }
body.is-desktop .wt-kpi--teal   .wt-kpi-ic { background:#CCFBF1; }

/* ── État vide ── */
body.is-desktop .wt-empty { text-align:center; padding:34px 16px; }
body.is-desktop .wt-empty-ic { width:48px; height:48px; border-radius:50%; background:var(--wt-green-soft);
  display:grid; place-items:center; margin:0 auto 10px; }
body.is-desktop .wt-empty-t { font:800 15px/1.3 var(--wt-font); color:var(--wt-text); }
body.is-desktop .wt-empty-s { font:500 13px/1.5 var(--wt-font); color:var(--wt-muted); margin-top:4px; }

/* ── DriverCard ── */
body.is-desktop .wt-driver { display:flex; flex-direction:column; gap:10px; background:#fff; border:1px solid var(--wt-border-soft);
  border-radius:14px; padding:12px 14px; box-shadow:var(--wt-e1); }
body.is-desktop .wt-driver--blocked { opacity:.62; }
body.is-desktop .wt-driver-top { display:flex; align-items:center; gap:12px; }
body.is-desktop .wt-driver-av { width:42px; height:42px; flex-shrink:0; border-radius:50%; background:var(--wt-green);
  color:#fff; font:800 14px/1 var(--wt-font); display:grid; place-items:center; }
body.is-desktop .wt-driver-main { flex:1; min-width:0; }
body.is-desktop .wt-driver-name { font:700 14.5px/1.2 var(--wt-font); color:var(--wt-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .wt-driver-sub { font:500 12.5px/1.3 var(--wt-font); color:var(--wt-text-2); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .wt-driver-phone { font:600 12px/1 var(--wt-font); color:var(--wt-muted); margin-top:3px; }
body.is-desktop .wt-driver-actions { display:flex; gap:8px; border-top:1px solid var(--wt-border-soft); padding-top:10px; }
body.is-desktop .wt-driver-actions .wt-btn { flex:1; }
body.is-desktop .wt-btn--del { color:#DC2626; }
body.is-desktop .wt-btn--del:hover { background:#FEF2F2; border-color:#FECACA; }

/* ════════════════════════════════════════════════════════════
   Page CHAUFFEURS (Espace Pro desktop) — gestion de flotte
   Rendue dans #dpro-page. Scopé body.is-desktop → zéro impact mobile.
   ════════════════════════════════════════════════════════════ */
body.is-desktop .prd-page { padding:22px 26px 40px; height:100%; overflow-y:auto; background:var(--wt-bg); }

/* En-tête */
body.is-desktop .prd-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; flex-wrap:wrap; }
body.is-desktop .prd-title { margin:0; font:800 23px/1 var(--wt-font); color:var(--wt-text); }
body.is-desktop .prd-sub { margin:5px 0 0; font:500 13px/1 var(--wt-font); color:var(--wt-muted); }
body.is-desktop .prd-head-right { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
body.is-desktop .prd-search { display:flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--wt-border); border-radius:11px; padding:0 12px; min-width:300px; }
body.is-desktop .prd-search input { flex:1; border:none; outline:none; height:42px; font:500 14px/1 var(--wt-font); background:transparent; color:var(--wt-text); }
body.is-desktop .prd-kbd { font:700 10.5px/1 var(--wt-font); color:var(--wt-muted); background:var(--wt-hover); border:1px solid var(--wt-border); border-radius:6px; padding:3px 6px; }

/* KPIs (6 cartes) */
body.is-desktop .prd-kpis { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin-bottom:16px; }
@media (max-width:1340px){ body.is-desktop .prd-kpis { grid-template-columns:repeat(3,1fr); } }
body.is-desktop .prd-kpi { display:flex; align-items:flex-start; gap:11px; background:#fff; border:1px solid var(--wt-border-soft); border-radius:14px; padding:14px; box-shadow:var(--wt-e1); }
body.is-desktop .prd-kpi-ic { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; flex-shrink:0; }
body.is-desktop .prd-kpi-v { font:800 22px/1 var(--wt-font); color:var(--wt-text); font-variant-numeric:tabular-nums; }
body.is-desktop .prd-kpi-l { display:block; font:600 11.5px/1.2 var(--wt-font); color:var(--wt-text-2); margin-top:4px; }
body.is-desktop .prd-kpi-s { display:block; font:700 10.5px/1 var(--wt-font); color:var(--wt-muted); margin-top:4px; }
body.is-desktop .prd-kpi-s.is-link { color:var(--wt-green); cursor:pointer; }
body.is-desktop .ic-slate  { background:#F1F5F9; color:#475569; }
body.is-desktop .ic-green  { background:#E7F6EE; color:#16A34A; }
body.is-desktop .ic-blue   { background:#EFF6FF; color:#2563EB; }
body.is-desktop .ic-grey   { background:#F1F5F9; color:#64748B; }
body.is-desktop .ic-violet { background:#F1ECFE; color:#7C3AED; }
body.is-desktop .ic-amber  { background:#FEF3C7; color:#B45309; }

/* Barre de filtres */
body.is-desktop .prd-filters { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; background:#fff; border:1px solid var(--wt-border-soft); border-radius:14px; padding:12px 14px; margin-bottom:14px; box-shadow:var(--wt-e1); }
body.is-desktop .prd-fl { display:flex; flex-direction:column; gap:5px; }
body.is-desktop .prd-fl-l { font:700 10px/1 var(--wt-font); color:var(--wt-muted); text-transform:uppercase; letter-spacing:.4px; }
body.is-desktop .prd-fl select { appearance:none; -webkit-appearance:none; height:36px; min-width:148px; border:1px solid var(--wt-border); border-radius:10px;
  background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 11px center;
  padding:0 30px 0 12px; font:600 13px/1 var(--wt-font); color:var(--wt-text); cursor:pointer; }
body.is-desktop .prd-reset { margin-left:auto; display:inline-flex; align-items:center; gap:7px; height:36px; padding:0 14px; border:1px solid var(--wt-border); border-radius:10px; background:#fff; font:700 12.5px/1 var(--wt-font); color:var(--wt-text-2); cursor:pointer; }
body.is-desktop .prd-reset:hover { background:var(--wt-hover); }

/* Disposition liste + panneau détail */
body.is-desktop .prd-layout { display:flex; gap:16px; align-items:flex-start; }
body.is-desktop .prd-main { flex:1; min-width:0; }
body.is-desktop .prd-panel { width:362px; flex-shrink:0; position:sticky; top:0; max-height:calc(100vh - 40px); overflow-y:auto;
  background:#fff; border:1px solid var(--wt-border-soft); border-radius:16px; box-shadow:var(--wt-e2); }

/* Table */
body.is-desktop .prd-table { background:#fff; border:1px solid var(--wt-border-soft); border-radius:16px; box-shadow:var(--wt-e1); overflow:hidden; }
body.is-desktop .prd-scroll { overflow-x:auto; }
body.is-desktop .prd-thead, body.is-desktop .prd-tr {
  display:grid;
  grid-template-columns:minmax(190px,1.6fr) 118px minmax(150px,1.2fr) minmax(128px,1fr) 86px minmax(132px,1fr) minmax(118px,1fr) 100px;
  gap:12px; align-items:center; padding:0 16px; min-width:1040px; }
/* Variante CLIENTS (7 colonnes) — réutilise toute la table .prd-* */
body.is-desktop .prd-thead.prc-cols, body.is-desktop .prd-tr.prc-cols {
  grid-template-columns:minmax(180px,1.5fr) minmax(150px,1.2fr) minmax(170px,1.4fr) 88px minmax(120px,1fr) 122px 100px; min-width:980px; }
body.is-desktop .prd-thead { height:42px; background:#F8FAFC; border-bottom:1px solid var(--wt-border-soft);
  font:800 10.5px/1 var(--wt-font); color:var(--wt-muted); text-transform:uppercase; letter-spacing:.4px; }
body.is-desktop .prd-tr { min-height:68px; border-bottom:1px solid var(--wt-border-soft); cursor:pointer; transition:background .12s; }
body.is-desktop .prd-tr:last-child { border-bottom:none; }
body.is-desktop .prd-tr:hover { background:#FAFCFB; }
body.is-desktop .prd-tr.is-sel { background:var(--wt-green-soft); box-shadow:inset 3px 0 0 var(--wt-green); }
body.is-desktop .prd-td { font:600 13px/1.35 var(--wt-font); color:var(--wt-text-2); min-width:0; }
body.is-desktop .prd-td-drv { display:flex; align-items:center; gap:11px; }
body.is-desktop .prd-name { font:700 13.5px/1.2 var(--wt-font); color:var(--wt-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .prd-name-sub { font:600 11.5px/1.2 var(--wt-font); color:var(--wt-muted); margin-top:3px; }
body.is-desktop .prd-cell-strong { font:700 13px/1.3 var(--wt-font); color:var(--wt-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .prd-cell-sub { font:600 11.5px/1.2 var(--wt-font); color:var(--wt-muted); margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .prd-plate { display:inline-block; font:800 10px/1 var(--wt-font); letter-spacing:.5px; color:var(--wt-text-2); background:var(--wt-hover); border:1px solid var(--wt-border); border-radius:5px; padding:3px 5px; margin-top:5px; }
body.is-desktop .prd-tel { font:600 12.5px/1 var(--wt-font); color:var(--wt-muted); text-decoration:none; }
body.is-desktop .prd-tel:hover { color:var(--wt-green); }

/* Avatar anneau de statut */
body.is-desktop .prd-av { width:40px; height:40px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; font:800 13px/1 var(--wt-font); border:2px solid currentColor; }

/* Chips zones (départements) */
body.is-desktop .prd-zones { display:flex; flex-wrap:wrap; gap:4px; }
body.is-desktop .prd-zone { display:inline-flex; align-items:center; gap:4px; font:700 11px/1 var(--wt-font); color:var(--wt-text-2); background:var(--wt-hover); border:1px solid var(--wt-border-soft); border-radius:var(--wt-r-pill); padding:3px 8px; white-space:nowrap; }
body.is-desktop .prd-zone b { color:var(--wt-green); }

/* Abonnement (cellule) */
body.is-desktop .prd-subv { font:800 12.5px/1.2 var(--wt-font); }
body.is-desktop .sub-actif  { color:#16A34A; }
body.is-desktop .sub-expire { color:#DC2626; }
body.is-desktop .sub-essai  { color:#B45309; }

/* Dernière activité */
body.is-desktop .prd-act { display:inline-flex; align-items:center; gap:6px; font:600 12px/1.2 var(--wt-font); color:var(--wt-text-2); }
body.is-desktop .prd-act-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }

/* Actions (icônes) */
body.is-desktop .prd-td-act { display:flex; align-items:center; justify-content:flex-end; gap:2px; position:relative; }
body.is-desktop .prd-iact { width:30px; height:30px; border:none; background:none; border-radius:8px; cursor:pointer; display:grid; place-items:center; color:var(--wt-muted); }
body.is-desktop .prd-iact:hover { background:var(--wt-hover); color:var(--wt-text); }
body.is-desktop .prd-menu { position:absolute; right:6px; top:calc(100% - 6px); z-index:30; min-width:172px; background:#fff; border:1px solid var(--wt-border); border-radius:12px; box-shadow:0 12px 30px rgba(15,23,42,.16); padding:5px; }
body.is-desktop .prd-mi { display:block; width:100%; text-align:left; border:none; background:none; padding:9px 11px; border-radius:8px; font:600 13px/1 var(--wt-font); color:var(--wt-text); cursor:pointer; }
body.is-desktop .prd-mi:hover { background:var(--wt-hover); }
body.is-desktop .prd-mi--del { color:#DC2626; }
body.is-desktop .prd-mi--del:hover { background:#FEF2F2; }

/* Badge "Suspendu" (réutilise wt-dbadge) */
body.is-desktop .wt-dbadge--susp { color:#DC2626; background:#FEF2F2; }

/* Pied de table (pagination) */
body.is-desktop .prd-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-top:1px solid var(--wt-border-soft); flex-wrap:wrap; }
body.is-desktop .prd-foot-info { font:600 12.5px/1 var(--wt-font); color:var(--wt-muted); }
body.is-desktop .prd-pages { display:flex; align-items:center; gap:4px; }
body.is-desktop .prd-pg { min-width:32px; height:32px; padding:0 8px; border:1px solid var(--wt-border); border-radius:9px; background:#fff; font:700 12.5px/1 var(--wt-font); color:var(--wt-text-2); cursor:pointer; }
body.is-desktop .prd-pg:hover:not(:disabled) { background:var(--wt-hover); }
body.is-desktop .prd-pg.is-on { background:var(--wt-green); border-color:var(--wt-green); color:#fff; }
body.is-desktop .prd-pg:disabled { opacity:.4; cursor:not-allowed; }
body.is-desktop .prd-empty { padding:48px 16px; }

/* ── Panneau détail ── */
body.is-desktop .prd-p-head { display:flex; align-items:flex-start; gap:12px; padding:18px 18px 6px; }
body.is-desktop .prd-p-head .prd-av { width:48px; height:48px; font-size:15px; }
body.is-desktop .prd-p-name { font:800 17px/1.2 var(--wt-font); color:var(--wt-text); }
body.is-desktop .prd-p-x { margin-left:auto; width:30px; height:30px; border:none; background:none; border-radius:9px; cursor:pointer; font:400 20px/1 var(--wt-font); color:var(--wt-muted); }
body.is-desktop .prd-p-x:hover { background:var(--wt-hover); color:var(--wt-text); }
body.is-desktop .prd-p-rating { display:inline-flex; align-items:center; gap:5px; font:700 12.5px/1 var(--wt-font); color:var(--wt-text-2); margin-top:7px; }
body.is-desktop .prd-p-contact { padding:6px 18px 12px; display:flex; flex-direction:column; gap:8px; }
body.is-desktop .prd-p-cl { display:inline-flex; align-items:center; gap:9px; font:600 13px/1 var(--wt-font); color:var(--wt-text-2); text-decoration:none; }
body.is-desktop .prd-p-cl:hover { color:var(--wt-green); }
body.is-desktop .prd-p-cl svg { flex-shrink:0; color:var(--wt-muted); }
body.is-desktop .prd-tabs { display:flex; gap:2px; padding:0 12px; border-bottom:1px solid var(--wt-border-soft); position:sticky; top:0; background:#fff; z-index:2; }
body.is-desktop .prd-tab { padding:11px 12px; border:none; background:none; font:700 13px/1 var(--wt-font); color:var(--wt-text-2); cursor:pointer; border-bottom:2.5px solid transparent; margin-bottom:-1px; }
body.is-desktop .prd-tab:hover { color:var(--wt-text); }
body.is-desktop .prd-tab.is-on { color:var(--wt-green); border-bottom-color:var(--wt-green); }
body.is-desktop .prd-p-body { padding:16px 18px; }
body.is-desktop .prd-p-sec { font:800 10.5px/1 var(--wt-font); color:var(--wt-muted); text-transform:uppercase; letter-spacing:.4px; margin:0 0 9px; }
body.is-desktop .prd-p-sec.mt { margin-top:20px; }
body.is-desktop .prd-p-row { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid var(--wt-border-soft); font:600 13px/1.4 var(--wt-font); }
body.is-desktop .prd-p-row:last-child { border-bottom:none; }
body.is-desktop .prd-p-lbl { color:var(--wt-muted); }
body.is-desktop .prd-p-vl { color:var(--wt-text); font-weight:700; text-align:right; }
body.is-desktop .prd-p-veh { display:flex; align-items:center; gap:12px; padding:12px; background:var(--wt-hover); border-radius:12px; }
body.is-desktop .prd-p-veh-ic { width:46px; height:46px; border-radius:10px; background:#fff; border:1px solid var(--wt-border-soft); display:grid; place-items:center; flex-shrink:0; }
body.is-desktop .prd-p-veh-t { font:700 13.5px/1.2 var(--wt-font); color:var(--wt-text); }
body.is-desktop .prd-p-veh-s { font:600 12px/1.2 var(--wt-font); color:var(--wt-muted); margin-top:3px; }
body.is-desktop .prd-p-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
body.is-desktop .prd-stat { background:var(--wt-hover); border-radius:12px; padding:11px; }
body.is-desktop .prd-stat-v { font:800 17px/1 var(--wt-font); color:var(--wt-text); }
body.is-desktop .prd-stat-l { font:600 10.5px/1.2 var(--wt-font); color:var(--wt-muted); margin-top:5px; }
body.is-desktop .prd-stat-s { font:700 10px/1 var(--wt-font); color:var(--wt-green); margin-top:4px; }
body.is-desktop .prd-doc { display:flex; align-items:center; gap:11px; padding:11px 0; border-bottom:1px solid var(--wt-border-soft); }
body.is-desktop .prd-doc:last-child { border-bottom:none; }
body.is-desktop .prd-doc-ic { width:32px; height:32px; border-radius:8px; background:var(--wt-hover); display:grid; place-items:center; flex-shrink:0; color:var(--wt-muted); }
body.is-desktop .prd-doc-main { flex:1; min-width:0; }
body.is-desktop .prd-doc-t { font:700 12.5px/1.2 var(--wt-font); color:var(--wt-text); }
body.is-desktop .prd-doc-s { font:600 11px/1.2 var(--wt-font); color:var(--wt-muted); margin-top:3px; }
body.is-desktop .prd-doc-b { font:800 10px/1 var(--wt-font); padding:4px 8px; border-radius:var(--wt-r-pill); white-space:nowrap; }
body.is-desktop .doc-ok   { color:#16A34A; background:#F0FDF4; }
body.is-desktop .doc-soon { color:#B45309; background:#FEF3C7; }
body.is-desktop .doc-late { color:#DC2626; background:#FEF2F2; }
body.is-desktop .prd-p-renew { display:inline-flex; align-items:center; gap:7px; font:600 12px/1.3 var(--wt-font); color:var(--wt-text-2); margin-top:12px; background:var(--wt-green-soft); border-radius:10px; padding:9px 11px; }
body.is-desktop .prd-p-foot { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:14px 18px; border-top:1px solid var(--wt-border-soft); position:sticky; bottom:0; background:#fff; }
body.is-desktop .prd-p-foot .wt-btn { width:100%; }

/* Modale de confirmation (suppression) */
body.is-desktop .prd-confirm { background:#fff; border-radius:16px; box-shadow:0 18px 50px rgba(15,23,42,.22); width:min(420px,92vw); padding:22px; }
body.is-desktop .prd-confirm-t { font:800 16px/1.3 var(--wt-font); color:var(--wt-text); margin:0 0 7px; }
body.is-desktop .prd-confirm-s { font:500 13.5px/1.5 var(--wt-font); color:var(--wt-text-2); margin:0 0 18px; }
body.is-desktop .prd-confirm-a { display:flex; gap:9px; justify-content:flex-end; }

/* ════════════════════════════════════════════════════════════
   Page STATISTIQUES (Espace Pro desktop) — pst-*
   ════════════════════════════════════════════════════════════ */
body.is-desktop .pst-seg { display:inline-flex; gap:3px; background:#fff; border:1px solid var(--wt-border); border-radius:11px; padding:3px; }
body.is-desktop .pst-seg button { border:none; background:none; height:32px; padding:0 14px; border-radius:8px;
  font:700 12.5px/1 var(--wt-font); color:var(--wt-text-2); cursor:pointer; white-space:nowrap; }
body.is-desktop .pst-seg button:hover { background:var(--wt-hover); }
body.is-desktop .pst-seg button.is-on { background:var(--wt-green); color:#fff; box-shadow:0 2px 8px rgba(0,168,107,.25); }

body.is-desktop .pst-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
body.is-desktop .pst-grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:14px; }
@media (max-width:1240px){
  body.is-desktop .pst-grid2 { grid-template-columns:1fr; }
  body.is-desktop .pst-grid3 { grid-template-columns:1fr; }
}
body.is-desktop .pst-card { background:#fff; border:1px solid var(--wt-border-soft); border-radius:16px; padding:16px 18px; box-shadow:var(--wt-e1); }
body.is-desktop .pst-t { margin:0 0 12px; font:800 13.5px/1.2 var(--wt-font); color:var(--wt-text); }
body.is-desktop .pst-ts { font:600 11px/1 var(--wt-font); color:var(--wt-muted); margin-left:8px; }
body.is-desktop .pst-svg { width:100%; height:170px; display:block; }
body.is-desktop .pst-ax { font:600 9.5px var(--wt-font); fill:var(--wt-muted); }
body.is-desktop .pst-none { margin:8px 0; font:500 12.5px/1.5 var(--wt-font); color:var(--wt-muted); }

/* Répartitions (barres horizontales) */
body.is-desktop .pst-hrow { display:flex; align-items:center; gap:10px; padding:7px 0; }
body.is-desktop .pst-hlbl { width:92px; flex-shrink:0; font:700 12px/1.2 var(--wt-font); color:var(--wt-text-2); }
body.is-desktop .pst-hbar { flex:1; height:9px; background:var(--wt-hover); border-radius:99px; overflow:hidden; }
body.is-desktop .pst-hbar span { display:block; height:100%; border-radius:99px; transition:width .3s; }
body.is-desktop .pst-hval { width:62px; flex-shrink:0; text-align:right; font:800 12px/1 var(--wt-font); color:var(--wt-text); }
body.is-desktop .pst-hval i { font:600 10.5px/1 var(--wt-font); color:var(--wt-muted); font-style:normal; margin-left:4px; }

/* Classements (top chauffeurs / clients) */
body.is-desktop .pst-rank { display:flex; align-items:center; gap:11px; padding:9px 0; border-bottom:1px solid var(--wt-border-soft); }
body.is-desktop .pst-rank:last-child { border-bottom:none; }
body.is-desktop .pst-rank-n { width:20px; flex-shrink:0; font:800 12px/1 var(--wt-font); color:var(--wt-muted); text-align:center; }
body.is-desktop .pst-rank-main { flex:1; min-width:0; }
body.is-desktop .pst-rank-t { font:700 13px/1.2 var(--wt-font); color:var(--wt-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .pst-rank-s { display:inline-flex; align-items:center; gap:4px; font:600 11.5px/1.2 var(--wt-font); color:var(--wt-muted); margin-top:3px; }
body.is-desktop .pst-rank-v { font:800 13px/1 var(--wt-font); color:var(--wt-text); white-space:nowrap; }

/* ════════════════════════════════════════════════════════════
   Tableau de bord Centre de dispatch v2 (dcb-*) — orienté action
   ════════════════════════════════════════════════════════════ */
/* Barre résumé fine */
body.is-desktop .dcb-strip { display:flex; align-items:center; gap:8px; margin-bottom:12px; flex-wrap:wrap; }
body.is-desktop .dcb-s { display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 12px;
  border:1px solid var(--wt-border-soft); border-radius:var(--wt-r-pill); background:#fff;
  font:600 12px/1 var(--wt-font); color:var(--wt-text-2); cursor:pointer; }
body.is-desktop .dcb-s b { font:800 14px/1 var(--wt-font); color:var(--wt-text); font-variant-numeric:tabular-nums; }
body.is-desktop .dcb-s:hover:not(:disabled) { border-color:var(--wt-border); background:var(--wt-hover); }
body.is-desktop .dcb-s:disabled { cursor:default; }
body.is-desktop .dcb-s.is-todo b   { color:#C2410C; }
body.is-desktop .dcb-s.is-urgent   { border-color:#FECACA; background:#FEF2F2; }
body.is-desktop .dcb-s.is-urgent b { color:#DC2626; }
body.is-desktop .dcb-s.is-active b { color:#2563EB; }
body.is-desktop .dcb-s.is-online b { color:#067647; }
body.is-desktop .dcb-s-sep { width:1px; height:18px; background:var(--wt-border-soft); margin:0 2px; }

/* Chips filtres secondaires */
body.is-desktop .dcb-chips { display:flex; gap:7px; flex-wrap:wrap; margin:10px 0 12px; }
body.is-desktop .dcb-chip { height:28px; padding:0 12px; border:1.5px solid var(--wt-border); border-radius:var(--wt-r-pill);
  background:#fff; font:600 11.5px/1 var(--wt-font); color:var(--wt-text-2); cursor:pointer; transition:all .12s; }
body.is-desktop .dcb-chip i { font-style:normal; font-weight:800; color:var(--wt-muted); margin-left:2px; }
body.is-desktop .dcb-chip:hover { border-color:var(--wt-green); }
body.is-desktop .dcb-chip.is-on { background:var(--wt-green-soft); border-color:var(--wt-green); color:#067647; }
body.is-desktop .dcb-chip.is-on i { color:#067647; }

/* Liste compacte (élément principal) */
body.is-desktop .dcb-row { display:grid; grid-template-columns:52px minmax(0,1fr) auto auto minmax(96px,auto) 86px;
  gap:10px; align-items:center; min-height:56px; padding:7px 12px; margin-bottom:8px;
  background:#fff; border:1px solid var(--wt-border-soft); border-left-width:3px; border-radius:12px;
  box-shadow:var(--wt-e1); cursor:pointer; transition:border-color .12s, background .12s; }
body.is-desktop .dcb-row:hover { background:#FAFCFB; }
body.is-desktop .dcb-row.selected { border-color:var(--wt-green); box-shadow:0 0 0 1.5px rgba(0,168,107,.25); }
body.is-desktop .dcb-row.st-urgent   { border-left-color:#EF4444; }
body.is-desktop .dcb-row.st-todo     { border-left-color:#F59E0B; }
body.is-desktop .dcb-row.st-active   { border-left-color:#3B82F6; }
body.is-desktop .dcb-row.st-assigned { border-left-color:#00A86B; }
body.is-desktop .dcb-row.st-done     { border-left-color:#CBD5E1; opacity:.8; }
body.is-desktop .dcb-time { font:800 13.5px/1 var(--wt-font); color:var(--wt-text); font-variant-numeric:tabular-nums; }
body.is-desktop .dcb-main { min-width:0; }
body.is-desktop .dcb-route { display:block; font:700 13px/1.25 var(--wt-font); color:var(--wt-text);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .dcb-sub { display:block; font:600 11.5px/1.2 var(--wt-font); color:var(--wt-muted); margin-top:3px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .dcb-tags { display:flex; gap:4px; }
body.is-desktop .dcb-tag { font:700 10px/1 var(--wt-font); color:var(--wt-text-2); background:var(--wt-hover);
  border:1px solid var(--wt-border-soft); border-radius:var(--wt-r-pill); padding:3px 7px; white-space:nowrap; }
body.is-desktop .dcb-drv { display:inline-flex; align-items:center; gap:6px; font:600 12px/1 var(--wt-font);
  color:var(--wt-text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .dcb-drv.none { color:var(--wt-muted); }
body.is-desktop .dcb-drv.is-pending { color:#C2410C; font-weight:700; }
body.is-desktop .dcb-av { width:22px; height:22px; border-radius:50%; background:var(--wt-green); color:#fff;
  font:800 9.5px/22px var(--wt-font); text-align:center; flex-shrink:0; }
body.is-desktop .dcb-act { display:flex; justify-content:flex-end; }
body.is-desktop .dcb-row-btn { height:28px; display:inline-flex; align-items:center; padding:0 12px; font-size:11.5px; }

/* Zone droite contextuelle : carte OU panneau */
body.is-desktop #dpro-root .dpc-right.panel-open .dpc-map { display:none !important; }
body.is-desktop .dcb-panel { flex:1; min-height:0; background:#fff; border:1px solid var(--wt-border-soft);
  border-radius:16px; box-shadow:var(--wt-e1); overflow-y:auto; padding:14px 16px; }
body.is-desktop .dcb-p-head { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
body.is-desktop .dcb-p-time { font:800 17px/1 var(--wt-font); color:var(--wt-text); }
body.is-desktop .dcb-p-urgent { font:800 10px/1 var(--wt-font); color:#DC2626; background:#FEF2F2;
  border-radius:var(--wt-r-pill); padding:4px 8px; text-transform:uppercase; letter-spacing:.3px; }
body.is-desktop .dcb-p-x { margin-left:auto; width:28px; height:28px; border:none; background:none; border-radius:8px;
  cursor:pointer; color:var(--wt-muted); font-size:14px; }
body.is-desktop .dcb-p-x:hover { background:var(--wt-hover); color:var(--wt-text); }
body.is-desktop .dcb-p-route { display:flex; flex-direction:column; gap:7px; margin-bottom:10px; }
body.is-desktop .dcb-p-rrow { display:flex; align-items:center; gap:8px; font:600 12.5px/1.35 var(--wt-font); color:var(--wt-text); }
body.is-desktop #dcb-mini { height:130px; border-radius:11px; overflow:hidden; margin-bottom:12px; border:1px solid var(--wt-border-soft); }
body.is-desktop .dcb-p-meta { display:grid; grid-template-columns:1fr 1fr; gap:7px 12px; margin-bottom:14px; }
body.is-desktop .dcb-p-meta span { font:700 12.5px/1.3 var(--wt-font); color:var(--wt-text); min-width:0; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .dcb-p-meta label { display:block; font:700 9.5px/1 var(--wt-font); color:var(--wt-muted);
  text-transform:uppercase; letter-spacing:.4px; margin-bottom:3px; }
body.is-desktop .dcb-p-meta a { color:var(--wt-text); text-decoration:none; }
body.is-desktop .dcb-p-meta a:hover { color:var(--wt-green); text-decoration:underline; }
body.is-desktop .dcb-p-sec { font:800 10.5px/1 var(--wt-font); color:var(--wt-muted); text-transform:uppercase;
  letter-spacing:.4px; margin:0 0 9px; }
body.is-desktop .dcb-p-none { font:500 12.5px/1.5 var(--wt-font); color:var(--wt-muted); }

/* Cartes chauffeurs recommandés */
body.is-desktop .dcb-reco { display:flex; align-items:center; gap:10px; padding:9px 10px; border:1px solid var(--wt-border-soft);
  border-radius:12px; margin-bottom:8px; }
body.is-desktop .dcb-reco-av { width:34px; height:34px; border-radius:50%; display:grid; place-items:center;
  font:800 11.5px/1 var(--wt-font); flex-shrink:0; border:2px solid currentColor; }
body.is-desktop .dcb-reco-av.av-on   { color:#00A86B; background:#E6F7F0; }
body.is-desktop .dcb-reco-av.av-busy { color:#2563EB; background:#EFF6FF; }
body.is-desktop .dcb-reco-av.av-res  { color:#B45309; background:#FEF3C7; }
body.is-desktop .dcb-reco-av.av-off  { color:#94A3B8; background:#F1F5F9; }
body.is-desktop .dcb-reco-main { flex:1; min-width:0; }
body.is-desktop .dcb-reco-main b { display:block; font:700 13px/1.2 var(--wt-font); color:var(--wt-text);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .dcb-reco-main i { display:block; font-style:normal; font:600 11px/1.2 var(--wt-font); color:var(--wt-muted); margin-top:2px; }
body.is-desktop .dcb-reco-dist { display:block; font-style:normal; font:700 11px/1.2 var(--wt-font); color:#067647; margin-top:3px; }
body.is-desktop .dcb-reco-btn { height:30px; padding:0 12px; font-size:11.5px; flex-shrink:0; }
body.is-desktop .dcb-reco-btn:disabled { opacity:.45; cursor:not-allowed; }
body.is-desktop .dcb-p-actions { display:flex; gap:8px; margin-top:12px; }
body.is-desktop .dcb-p-actions .dpc-btn { flex:1; }

/* ════════════════════════════════════════════════════════════
   Page DISPATCH (Espace Pro desktop) — dpb-* : timeline Gantt
   ════════════════════════════════════════════════════════════ */
body.is-desktop .dpb-state { font:700 12px/1 var(--wt-font); color:var(--wt-muted); background:var(--wt-hover);
  border-radius:var(--wt-r-pill); padding:8px 13px; white-space:nowrap; }
body.is-desktop .dpb-state.is-sim  { color:#B45309; background:#FEF3C7; }
body.is-desktop .dpb-state.is-val  { color:#C2410C; background:#FFEDD5; }
body.is-desktop .dpb-state.is-sent { color:#067647; background:var(--wt-green-soft); }

body.is-desktop .dpb-filters { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
body.is-desktop .dpb-date, body.is-desktop .dpb-sel { height:36px; border:1px solid var(--wt-border); border-radius:10px;
  background:#fff; padding:0 11px; font:600 12.5px/1 var(--wt-font); color:var(--wt-text); cursor:pointer; }
body.is-desktop .dpb-legend { display:flex; gap:13px; flex-wrap:wrap; margin-left:auto; }
body.is-desktop .dpb-legend span { display:inline-flex; align-items:center; gap:6px; font:600 11.5px/1 var(--wt-font); color:var(--wt-text-2); }
body.is-desktop .dpb-legend i { width:14px; height:10px; border-radius:3px; border:1.5px solid; display:inline-block; }
body.is-desktop .dpb-legend i.dpb-lg { width:17px; height:17px; border-radius:5px; border:1px solid; display:grid; place-items:center; }
body.is-desktop .dpb-legend i.dpb-lg svg { width:11px; height:11px; }
body.is-desktop .dpb-lg.k-sim       { background:#FEF3C7; border-color:#F59E0B; color:#92400E; }
body.is-desktop .dpb-lg.k-validated { background:#FFEDD5; border-color:#F97316; color:#9A3412; }
body.is-desktop .dpb-lg.k-sent      { background:#FFEDD5; border-color:#F97316; color:#9A3412; }
body.is-desktop .dpb-lg.k-accepted  { background:#DCFCE7; border-color:#16A34A; color:#14532D; }
body.is-desktop .dpb-lg.k-refused   { background:#FEE2E2; border-color:#DC2626; color:#7F1D1D; }
body.is-desktop .dpb-lg.k-done      { background:#F1F5F9; border-color:#94A3B8; color:#475569; }

body.is-desktop .dpb-layout { display:flex; gap:16px; align-items:flex-start; }
body.is-desktop .dpb-board { flex:1; min-width:0; }
body.is-desktop .dpb-side { width:330px; flex-shrink:0; display:flex; flex-direction:column; gap:14px;
  position:sticky; top:0; max-height:calc(100vh - 40px); overflow-y:auto; }
body.is-desktop .dpb-card { padding:14px 16px; }

body.is-desktop .dpb-grid { background:#fff; border:1px solid var(--wt-border-soft); border-radius:16px; box-shadow:var(--wt-e1); overflow:hidden; }
body.is-desktop .dpb-grid-head { display:flex; align-items:center; gap:12px; padding:13px 16px; border-bottom:1px solid var(--wt-border-soft); }
body.is-desktop .dpb-grid-title { font:800 13.5px/1 var(--wt-font); color:var(--wt-text); }
body.is-desktop .dpb-loading { font:600 11.5px/1 var(--wt-font); color:var(--wt-muted); }

body.is-desktop .dpb-tl-head, body.is-desktop .dpb-row { display:flex; align-items:stretch; }
body.is-desktop .dpb-info { width:188px; flex-shrink:0; display:flex; align-items:center; gap:10px; padding:10px 12px;
  border-right:1px solid var(--wt-border-soft); }
body.is-desktop .dpb-info-main { min-width:0; }
body.is-desktop .dpb-info-name { font:700 13px/1.2 var(--wt-font); color:var(--wt-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.is-desktop .dpb-info-sub { font:600 11px/1.2 var(--wt-font); color:var(--wt-muted); margin-top:2px; }
body.is-desktop .dpb-info-shift { font:700 11px/1.2 var(--wt-font); color:#1D4ED8; margin-top:3px; }
body.is-desktop .dpb-info-alert { font:700 10px/1.25 var(--wt-font); color:#B45309; background:#FEF3C7; border-radius:6px; padding:3px 6px; margin-top:4px; display:inline-block; }

body.is-desktop .dpb-lane { flex:1; position:relative; min-height:58px;
  background:repeating-linear-gradient(90deg, var(--wt-border-soft) 0 1px, transparent 1px calc(100% / 18)); }
body.is-desktop .dpb-tl-head .dpb-lane { min-height:30px; background:none; }
body.is-desktop .dpb-hours { position:relative; height:30px; }
body.is-desktop .dpb-hour { position:absolute; top:8px; transform:translateX(-50%); font:700 10px/1 var(--wt-font); color:var(--wt-muted); }
body.is-desktop .dpb-row { border-top:1px solid var(--wt-border-soft); }
body.is-desktop .dpb-row.is-off { opacity:.62; background:#FAFBFC; }

body.is-desktop .dpb-shift { position:absolute; top:9px; bottom:9px; border:1.5px solid #3B82F6; background:#DBEAFE66; border-radius:9px; }
body.is-desktop .dpb-shift.is-default { border:1.5px dashed #CBD5E1; background:#F8FAFC; }
/* Pause du chauffeur (tranche grisée dans le rectangle bleu) */
body.is-desktop .dpb-break { position:absolute; top:9px; bottom:9px; z-index:2; border-radius:7px;
  background:repeating-linear-gradient(135deg, rgba(100,116,139,.18) 0 5px, rgba(100,116,139,.30) 5px 10px);
  border:1px solid rgba(100,116,139,.4); display:flex; align-items:center; justify-content:center;
  font:800 9px/1 var(--wt-font); color:#475569; text-transform:uppercase; letter-spacing:.4px; }

/* Passé grisé (aujourd'hui : jusqu'à maintenant ; date passée : 100 %) */
body.is-desktop .dpb-past { position:absolute; top:0; bottom:0; z-index:2; pointer-events:none;
  background:repeating-linear-gradient(135deg, rgba(148,163,184,.16) 0 6px, rgba(148,163,184,.26) 6px 12px); }
body.is-desktop .dpb-now-line { position:absolute; top:0; bottom:0; width:2px; background:#00A86B; z-index:3; pointer-events:none;
  box-shadow:0 0 0 1px rgba(0,168,107,.18); }
body.is-desktop .dpb-now-tick { position:absolute; top:-2px; transform:translateX(-50%); font:800 9px/1 var(--wt-font);
  color:#fff; background:#00A86B; border-radius:var(--wt-r-pill); padding:3px 7px; white-space:nowrap; }

/* Toggle « Pré-dispatch auto » */
body.is-desktop .dpb-auto { display:inline-flex; align-items:center; gap:8px; font:700 12px/1 var(--wt-font);
  color:var(--wt-text-2); cursor:pointer; user-select:none; }
body.is-desktop .dpb-auto input { display:none; }
body.is-desktop .dpb-auto-track { width:34px; height:20px; border-radius:999px; background:#E2E8F0; position:relative; transition:background .18s; }
body.is-desktop .dpb-auto-thumb { position:absolute; top:2.5px; left:3px; width:15px; height:15px; border-radius:50%;
  background:#fff; box-shadow:0 1px 4px rgba(15,23,42,.25); transition:left .18s; }
body.is-desktop .dpb-auto input:checked + .dpb-auto-track { background:var(--wt-green); }
body.is-desktop .dpb-auto input:checked + .dpb-auto-track .dpb-auto-thumb { left:16px; }
body.is-desktop .dpb-auto-on { font:800 9.5px/1 var(--wt-font); color:#067647; background:var(--wt-green-soft);
  border-radius:var(--wt-r-pill); padding:3px 8px; margin-left:6px; text-transform:uppercase; letter-spacing:.4px; vertical-align:middle; }

/* Pastille = icône d'état + couleur uniquement (résumé au survol). */
body.is-desktop .dpb-block { position:absolute; top:13px; bottom:13px; border-radius:9px; border:1px solid; border-left-width:3px;
  padding:0; cursor:pointer; overflow:hidden; display:flex; align-items:center; justify-content:center; min-width:22px;
  transition:box-shadow .16s, transform .16s; }
body.is-desktop .dpb-block:hover { box-shadow:0 4px 12px rgba(15,23,42,.16); transform:translateY(-1px); z-index:4; }
body.is-desktop .dpb-block-ic { display:grid; place-items:center; width:15px; height:15px; flex-shrink:0; }
body.is-desktop .dpb-block-ic svg { width:15px; height:15px; }
body.is-desktop .dpb-block.is-sel { box-shadow:0 0 0 2.5px rgba(0,168,107,.5); z-index:5; }
body.is-desktop .dpb-block.k-sim       { background:#FEF3C7; border-color:#F59E0B; color:#92400E; }
body.is-desktop .dpb-block.k-validated { background:#FFEDD5; border-color:#F97316; color:#9A3412; }
body.is-desktop .dpb-block.k-sent      { background:#FFEDD5; border-color:#F97316; color:#9A3412; border-style:dashed; }
body.is-desktop .dpb-block.k-accepted  { background:#DCFCE7; border-color:#16A34A; color:#14532D; }
body.is-desktop .dpb-block.k-refused   { background:#FEE2E2; border-color:#DC2626; color:#7F1D1D; }
body.is-desktop .dpb-block.k-done      { background:#F1F5F9; border-color:#94A3B8; color:#475569; }

/* Aperçu au survol d'une pastille */
body.is-desktop .dpb-tip { position:fixed; z-index:6200; display:none; width:248px; background:#fff;
  border:1px solid var(--wt-border); border-radius:13px; box-shadow:0 14px 38px rgba(15,23,42,.20); padding:11px 13px;
  font:500 12px/1.4 var(--wt-font); color:var(--wt-text); pointer-events:none; }
body.is-desktop .dpb-tip::after { content:""; position:absolute; left:var(--tip-arrow,50%); transform:translateX(-50%);
  bottom:-7px; width:12px; height:12px; background:#fff; border-right:1px solid var(--wt-border); border-bottom:1px solid var(--wt-border); rotate:45deg; }
body.is-desktop .dpb-tip.is-below::after { bottom:auto; top:-7px; rotate:225deg; }
body.is-desktop .dpb-tip-head { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
body.is-desktop .dpb-tip-time { font:800 15px/1 var(--wt-font); color:var(--wt-text); }
body.is-desktop .dpb-tip-badge { font:800 9.5px/1 var(--wt-font); padding:3px 7px; border-radius:var(--wt-r-pill); margin-left:auto; }
body.is-desktop .dpb-tip-badge.k-sim       { background:#FEF3C7; color:#92400E; }
body.is-desktop .dpb-tip-badge.k-validated { background:#FFEDD5; color:#9A3412; }
body.is-desktop .dpb-tip-badge.k-sent      { background:#FFEDD5; color:#9A3412; }
body.is-desktop .dpb-tip-badge.k-accepted  { background:#DCFCE7; color:#14532D; }
body.is-desktop .dpb-tip-badge.k-refused   { background:#FEE2E2; color:#7F1D1D; }
body.is-desktop .dpb-tip-badge.k-done      { background:#F1F5F9; color:#475569; }
body.is-desktop .dpb-tip-route { display:flex; align-items:center; gap:5px; font:700 12.5px/1.3 var(--wt-font);
  color:var(--wt-text); padding-bottom:9px; margin-bottom:8px; border-bottom:1px solid var(--wt-border-soft); flex-wrap:wrap; }
body.is-desktop .dpb-tip-arrow { color:var(--wt-muted); margin:0 2px; }
body.is-desktop .dpb-tip-row { display:flex; justify-content:space-between; gap:10px; padding:2.5px 0; }
body.is-desktop .dpb-tip-row span { color:var(--wt-muted); }
body.is-desktop .dpb-tip-row b { color:var(--wt-text); font-weight:700; text-align:right; min-width:0; }

/* Résumé droite */
body.is-desktop .dpb-sum { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
body.is-desktop .dpb-sum-cell { background:var(--wt-hover); border-radius:10px; padding:9px 11px; }
body.is-desktop .dpb-sum-cell b { display:block; font:800 16px/1 var(--wt-font); color:var(--wt-text); }
body.is-desktop .dpb-sum-cell span { display:block; font:600 10.5px/1.2 var(--wt-font); color:var(--wt-muted); margin-top:3px; }
body.is-desktop .dpb-sum-cell.c-sim b { color:#B45309; }
body.is-desktop .dpb-sum-cell.c-val b { color:#C2410C; }
body.is-desktop .dpb-sum-cell.c-ok  b { color:#067647; }
body.is-desktop .dpb-sum-cell.c-ko  b { color:#DC2626; }
body.is-desktop .dpb-alert { display:block; width:100%; text-align:left; border:none; background:#FEF3C7; color:#92400E;
  border-radius:9px; padding:8px 10px; margin-bottom:6px; font:600 11.5px/1.4 var(--wt-font); cursor:pointer; }
body.is-desktop .dpb-alert.is-err { background:#FEE2E2; color:#991B1B; }
body.is-desktop .dpb-alert-n { font:800 10.5px/1 var(--wt-font); color:#DC2626; background:#FEE2E2; border-radius:var(--wt-r-pill); padding:3px 8px; margin-left:6px; }
body.is-desktop .dpb-detail-route { font:700 13.5px/1.3 var(--wt-font); color:var(--wt-text); margin-bottom:8px; }

/* ════════════════════════════════════════════════════════════
   Apparence & Marque (dbr-*) — éditeur + aperçu
   ════════════════════════════════════════════════════════════ */
body.is-desktop .dbr-promo { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
body.is-desktop .dbr-ov { align-items:stretch; }
body.is-desktop .dbr { display:flex; flex-direction:column; width:min(960px,95vw); max-height:92vh; background:#fff; border-radius:18px; overflow:hidden; box-shadow:var(--wt-e4); }
body.is-desktop .dbr-head { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--wt-border-soft); font:800 16px/1 var(--wt-font); color:var(--wt-text); }
body.is-desktop .dbr-body { display:flex; gap:0; flex:1; min-height:0; }
body.is-desktop .dbr-form { flex:1; min-width:0; overflow-y:auto; padding:18px 20px; }
body.is-desktop .dbr-sec { font:800 11px/1 var(--wt-font); color:var(--wt-muted); text-transform:uppercase; letter-spacing:.5px; margin:20px 0 12px; }
body.is-desktop .dbr-sec:first-child { margin-top:0; }
body.is-desktop .dbr-palettes { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:6px; }
@media (max-width:620px){ body.is-desktop .dbr-palettes { grid-template-columns:repeat(2,1fr); } }
body.is-desktop .dbr-pal { display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:9px; border:1.5px solid var(--wt-border); border-radius:11px; background:#fff; cursor:pointer; transition:border-color .12s, box-shadow .12s; }
body.is-desktop .dbr-pal:hover { border-color:var(--wt-muted); }
body.is-desktop .dbr-pal.is-on { border-color:var(--wt-green); box-shadow:0 0 0 1.5px var(--wt-green); }
body.is-desktop .dbr-pal-dots { display:flex; gap:3px; }
body.is-desktop .dbr-pal-dots i { width:16px; height:16px; border-radius:5px; }
body.is-desktop .dbr-pal-name { font:700 11px/1 var(--wt-font); color:var(--wt-text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
body.is-desktop .dbr-field { margin-bottom:12px; }
body.is-desktop .dbr-lbl { display:block; font:700 11.5px/1 var(--wt-font); color:var(--wt-text-2); margin-bottom:6px; }
body.is-desktop .dbr-in { width:100%; height:40px; border:1px solid var(--wt-border); border-radius:10px; padding:0 12px; font:600 14px/1 var(--wt-font); color:var(--wt-text); }
body.is-desktop .dbr-hint { font:500 11px/1.4 var(--wt-font); color:var(--wt-muted); margin:7px 0 0; }
body.is-desktop .dbr-logo-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
body.is-desktop .dbr-logo-prev { width:46px; height:46px; flex-shrink:0; border:1px solid var(--wt-border); border-radius:11px; display:grid; place-items:center; background:var(--wt-hover); color:var(--wt-muted); overflow:hidden; }
body.is-desktop .dbr-logo-prev img { width:100%; height:100%; object-fit:contain; }
body.is-desktop .dbr-seg { display:inline-flex; gap:3px; background:var(--wt-hover); border-radius:11px; padding:3px; margin-bottom:14px; }
body.is-desktop .dbr-seg button { border:none; background:none; height:32px; padding:0 16px; border-radius:8px; font:700 12.5px/1 var(--wt-font); color:var(--wt-text-2); cursor:pointer; }
body.is-desktop .dbr-seg button.is-on { background:#fff; color:var(--wt-text); box-shadow:var(--wt-e1); }
body.is-desktop .dbr-colors { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
body.is-desktop .dbr-color { display:flex; align-items:center; justify-content:space-between; gap:10px; font:600 12.5px/1.2 var(--wt-font); color:var(--wt-text-2); padding:5px 0; }
body.is-desktop .dbr-color-pick { position:relative; width:34px; height:24px; flex-shrink:0; }
body.is-desktop .dbr-color-pick input { position:absolute; inset:0; opacity:0; cursor:pointer; }
body.is-desktop .dbr-color-pick i { display:block; width:34px; height:24px; border-radius:7px; border:1px solid rgba(15,23,42,.15); }

/* Aperçu live */
body.is-desktop .dbr-preview { width:330px; flex-shrink:0; border-left:1px solid var(--wt-border-soft); background:var(--wt-hover); padding:18px; overflow-y:auto; }
body.is-desktop .dbr-pv-title { font:800 11px/1 var(--wt-font); color:var(--wt-muted); text-transform:uppercase; letter-spacing:.5px; margin-bottom:12px; }
body.is-desktop .dbr-pv-frame { display:flex; gap:0; border-radius:12px; overflow:hidden; box-shadow:var(--wt-e2); height:248px; }
body.is-desktop .dbr-pv-side { width:108px; flex-shrink:0; padding:11px 9px; }
body.is-desktop .dbr-pv-brand { display:flex; align-items:center; gap:7px; margin-bottom:14px; }
body.is-desktop .dbr-pv-logo { width:24px; height:24px; border-radius:7px; background:rgba(255,255,255,.14); display:grid; place-items:center; font-size:13px; flex-shrink:0; overflow:hidden; }
body.is-desktop .dbr-pv-logo img { width:100%; height:100%; object-fit:contain; }
body.is-desktop .dbr-pv-brand b { display:block; font:800 9.5px/1.1 var(--wt-font); color:#fff; }
body.is-desktop .dbr-pv-brand i { display:block; font:600 7.5px/1.1 var(--wt-font); color:rgba(255,255,255,.55); margin-top:2px; }
body.is-desktop .dbr-pv-nav { font:700 8.5px/1 var(--wt-font); color:#fff; padding:7px 8px; border-radius:7px; margin-bottom:5px; }
body.is-desktop .dbr-pv-nav.muted { background:transparent; color:rgba(255,255,255,.5); }
body.is-desktop .dbr-pv-main { flex:1; padding:12px; display:flex; flex-direction:column; gap:9px; }
body.is-desktop .dbr-pv-btn { align-self:flex-start; border:none; color:#fff; font:800 9px/1 var(--wt-font); padding:8px 11px; border-radius:8px; }
body.is-desktop .dbr-pv-card { background:#fff; border:1px solid rgba(15,23,42,.08); border-radius:9px; padding:9px; box-shadow:0 1px 4px rgba(16,24,40,.06); }
body.is-desktop .dbr-pv-c-top { display:flex; align-items:center; gap:7px; font:800 11px/1 var(--wt-font); color:#0F172A; }
body.is-desktop .dbr-pv-route { font:700 9.5px/1.2 var(--wt-font); color:#475569; padding-left:7px; margin-top:7px; }
body.is-desktop .dbr-pv-badge { font:800 7.5px/1 var(--wt-font); padding:3px 6px; border-radius:99px; white-space:nowrap; }
body.is-desktop .dbr-pv-badges { display:flex; flex-wrap:wrap; gap:4px; }
body.is-desktop .dbr-foot { display:flex; align-items:center; gap:9px; padding:14px 20px; border-top:1px solid var(--wt-border-soft); background:var(--wt-hover); }
@media (max-width:760px){ body.is-desktop .dbr-preview { display:none; } }

/* ── Page Paramètres v2 (dst2-*) ── */
body.is-desktop .dst2-sub { margin:0 0 10px; font:500 12.5px/1.5 var(--wt-font); color:var(--wt-text-2); }
body.is-desktop .dst2-hint { margin:8px 0 0; font:500 11.5px/1.4 var(--wt-font); color:var(--wt-muted); }
body.is-desktop .dst2-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
body.is-desktop .dst2-chips { display:flex; flex-wrap:wrap; gap:7px; }
body.is-desktop .dst2-chip { display:inline-flex; align-items:center; gap:5px; height:32px; padding:0 12px;
  border:1.5px solid var(--wt-border); border-radius:var(--wt-r-pill); background:#fff;
  font:600 12px/1 var(--wt-font); color:var(--wt-text-2); cursor:pointer; transition:all .15s; }
body.is-desktop .dst2-chip b { font-weight:800; }
body.is-desktop .dst2-chip:hover { border-color:var(--wt-green); }
body.is-desktop .dst2-chip.is-on { background:var(--wt-green-soft); border-color:var(--wt-green); color:#067647; }
body.is-desktop .dst2-link { display:flex; gap:8px; }
body.is-desktop .dst2-link-in { flex:1; min-width:0; height:36px; border:1px solid var(--wt-border); border-radius:10px;
  padding:0 12px; font:600 12.5px/1 var(--wt-font); color:var(--wt-text-2); background:var(--wt-hover); }
body.is-desktop .dst2-seg button { min-width:60px; }
body.is-desktop .dst2-acc .prd-p-row:first-child { padding-top:0; }
body.is-desktop .dst2-demo { border:1.5px solid #FED7AA; }
body.is-desktop .dst2-demo-tag { font:800 10px/1 var(--wt-font); color:#B45309; background:#FEF3C7;
  border-radius:var(--wt-r-pill); padding:4px 9px; margin-left:8px; text-transform:uppercase; letter-spacing:.4px; vertical-align:middle; }
body.is-desktop .dst2-demo-grid { display:flex; flex-direction:column; }
body.is-desktop .dst2-demo-row { display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:11px 0; border-bottom:1px solid var(--wt-border-soft); }
body.is-desktop .dst2-demo-row:last-child { border-bottom:none; }
body.is-desktop .dst2-demo-row b { font:700 13px/1.2 var(--wt-font); color:var(--wt-text); }
body.is-desktop .dst2-demo-btns { display:flex; gap:8px; flex-shrink:0; }
body.is-desktop .dst2-count { font:700 11px/1 var(--wt-font); color:var(--wt-muted); background:var(--wt-hover);
  border-radius:var(--wt-r-pill); padding:4px 8px; margin-left:8px; }
body.is-desktop .dst2-count.has { color:#067647; background:var(--wt-green-soft); }

/* Heures de pointe */
body.is-desktop .pst-hours { display:flex; align-items:flex-end; gap:5px; height:110px; padding-top:6px; }
body.is-desktop .pst-hour { flex:1; display:flex; flex-direction:column; align-items:center; gap:5px; height:100%; }
body.is-desktop .pst-hour-bar { flex:1; width:100%; display:flex; align-items:flex-end; background:var(--wt-hover); border-radius:6px; overflow:hidden; }
body.is-desktop .pst-hour-bar span { display:block; width:100%; background:var(--wt-green); border-radius:6px 6px 0 0; min-height:2px; }
body.is-desktop .pst-hour-lbl { font:600 9.5px/1 var(--wt-font); color:var(--wt-muted); height:10px; }
