/* SD ONE · lot 115 v2 (25/10/2026, Hassan) : les trois boutons de la bannière de l'Accueil toujours visibles (v2-lot115-raccourcis.js).
   Même habillage que la barre de suivi (lot 71) : bleu nuit quadrillé, liseré argent, « Planning du jour » en bleu. Jamais de doré.
   Fichier NOUVEAU : rien d'existant n'est masqué ni déplacé. Sous les fenêtres (.ed-voile 85, .fen-voile 90) et sous l'en-tête (50). */
.sd115-bar { --sd115-nuit: #0b1b33; --sd115-nuit2: #102846; --sd115-bleu: #1e5aa8; --sd115-bleu2: #3b7dd8; --sd115-argent: #c9d1dc; --sd115-rouge: #c62828;
  position: fixed; z-index: 49; display: flex; align-items: center; gap: 6px; box-sizing: border-box; margin: 0; }
.sd115-bar[hidden], body.cx-ouvert .sd115-bar { display: none !important; }
/* v2 : jamais de doublon à l'écran : « Demandes » et « À affecter » masqués quand la barre de suivi (lot 71) les montre déjà */
.sd115-bar .sd115-b[data-sd-ancien] { display: none !important; }
.sd115-bar:not([data-sd115-mode]) { visibility: hidden; } /* tant que la place n'est pas choisie */

/* ---------- les boutons ---------- */
.sd115-bar .sd115-b { position: relative; flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  height: 36px; padding: 0 11px 0 10px; box-sizing: border-box; border-radius: 11px; border: 1px solid rgba(201, 209, 220, .45);
  color: #fff; text-decoration: none; white-space: nowrap; cursor: pointer; font: 700 12.5px/1 Manrope, system-ui, sans-serif; letter-spacing: .01em;
  background-color: rgba(16, 40, 70, .92);
  background-image: linear-gradient(rgba(201, 209, 220, .10) 1px, transparent 1px), linear-gradient(90deg, rgba(201, 209, 220, .10) 1px, transparent 1px),
    linear-gradient(180deg, rgba(59, 125, 216, .22), rgba(11, 27, 51, .2));
  background-size: 10px 10px, 10px 10px, 100% 100%;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 3px 10px rgba(3, 10, 22, .30);
  transition: box-shadow .16s ease, border-color .16s ease, filter .16s ease; -webkit-tap-highlight-color: transparent; }
.sd115-bar .sd115-b svg { flex: none; width: 16px; height: 16px; color: var(--sd115-argent); }
.sd115-bar .sd115-b:hover, .sd115-bar .sd115-b:focus-visible { border-color: var(--sd115-argent); filter: brightness(1.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 8px 18px rgba(30, 90, 168, .38); outline: none; }
.sd115-bar .sd115-b:focus-visible { box-shadow: 0 0 0 2px var(--sd115-argent), 0 8px 18px rgba(30, 90, 168, .38); }
.sd115-bar .sd115-b:active { filter: brightness(.95); }
.sd115-bar .sd115-l, .sd115-bar .sd115-c { line-height: 1.35; } /* l'accent de « À » n'est pas coupé */
.sd115-bar .sd115-c { display: none; }

/* « Planning du jour » : le bouton principal, en bleu (comme sur l'Accueil) */
.sd115-bar .sd115-b[data-sd115="planning"] { border-color: rgba(201, 209, 220, .7); background-color: var(--sd115-bleu);
  background-image: linear-gradient(rgba(255, 255, 255, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .14) 1px, transparent 1px),
    linear-gradient(180deg, var(--sd115-bleu2) 0%, var(--sd115-bleu) 55%, #163f78 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 4px 14px rgba(30, 90, 168, .45); }
.sd115-bar .sd115-b[data-sd115="planning"] svg { color: #fff; }

/* chiffres recopiés (demandes, missions sans chauffeur) ; vides = pas de pastille */
.sd115-bar .sd115-n { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: 10px;
  font: 800 11px/1 Manrope, system-ui, sans-serif; font-style: normal; font-variant-numeric: tabular-nums; background: rgba(201, 209, 220, .25); color: #fff; }
.sd115-bar .sd115-n:empty { display: none; }
.sd115-bar .sd115-b[data-sd115="demandes"] .sd115-n:not(:empty) { background: var(--sd115-bleu2); }
.sd115-bar .sd115-b[data-sd115-rouge] { border-color: rgba(198, 40, 40, .8); }
.sd115-bar .sd115-b[data-sd115-rouge] .sd115-n { background: var(--sd115-rouge); }

/* page en cours : liseré argent plein + soulignement argent */
.sd115-bar .sd115-b[aria-current="page"] { border-color: #eef2f7; box-shadow: 0 0 0 2px var(--sd115-argent), inset 0 1px 0 rgba(255, 255, 255, .2), 0 6px 16px rgba(30, 90, 168, .45); }
.sd115-bar .sd115-b[aria-current="page"]::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 3px; height: 2px; border-radius: 2px; background: #eef2f7; }

/* ---------- ordinateur : dans la rangée du menu, à droite, avant « Paramétrage » ---------- */
.sd115-bar[data-sd115-mode^="menu"] { top: var(--sd115-top, 56px); right: var(--sd115-droite, 60px); height: var(--sd115-h, 50px); pointer-events: none; }
.sd115-bar[data-sd115-mode^="menu"] .sd115-b { pointer-events: auto; } /* relecture : le vide autour des boutons ne capte pas les clics (liste de la roue) */
.sd115-bar[data-sd115-mode="menu-court"] .sd115-l { display: none; }
.sd115-bar[data-sd115-mode="menu-court"] .sd115-c { display: inline; }
.sd115-bar[data-sd115-mode="menu-court"] { gap: 4px; }
.sd115-bar[data-sd115-mode="menu-court"] .sd115-b { padding: 0 9px; gap: 6px; font-size: 12px; }
.sd115-bar[data-sd115-mode="menu-court"] .sd115-b:not([data-sd115="planning"]) svg { display: none; } /* comme la barre de suivi entre 761 et 1400 px */

/* ---------- téléphone / rangée trop courte / planning visuel : groupe fixe en bas à droite ---------- */
.sd115-bar[data-sd115-mode="bas"] { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); left: auto; top: auto;
  width: min(282px, calc(100vw - 124px)); /* le coin gauche (aide, retour) reste libre */
  padding: 5px; gap: 5px; border-radius: 15px; border: 1px solid rgba(201, 209, 220, .35);
  background-color: var(--sd115-nuit);
  background-image: linear-gradient(rgba(201, 209, 220, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(201, 209, 220, .06) 1px, transparent 1px),
    linear-gradient(180deg, var(--sd115-nuit2), var(--sd115-nuit));
  background-size: 14px 14px, 14px 14px, 100% 100%; box-shadow: 0 10px 26px rgba(3, 10, 22, .45); }
.sd115-bar[data-sd115-mode="bas"] .sd115-b { flex: 1 1 0; min-width: 44px; height: 48px; padding: 0 4px; flex-direction: column; gap: 3px; font-size: 11.5px; }
.sd115-bar[data-sd115-mode="bas"] .sd115-l { display: none; }
.sd115-bar[data-sd115-mode="bas"] .sd115-c { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.sd115-bar[data-sd115-mode="bas"] .sd115-n { position: absolute; top: -6px; right: -4px; box-shadow: 0 0 0 2px var(--sd115-nuit); }
.sd115-bar[data-sd115-mode="bas"] .sd115-b[aria-current="page"]::after { bottom: 2px; left: 14px; right: 14px; }
/* ordinateur en mode bas (planning visuel, fenêtre étroite) : au-dessus du pied de page fixe (32 px) */
@media (min-width: 761px) { .sd115-bar[data-sd115-mode="bas"] { bottom: 44px; } }
/* fin de page : place gardée sous le contenu pour que le groupe du bas ne cache jamais la dernière ligne */
html.sd115-bas body:not(.cx-ouvert) #v2-contenu::after { content: ""; display: block; height: 72px; }

@media (prefers-reduced-motion: reduce) { .sd115-bar .sd115-b { transition: none; } }
@media print { .sd115-bar { display: none !important; } }
