/**
 * AA C-pilot — design tokens (white-label)
 * Personnalisation client : surcharger :root uniquement.
 * Chargé avant theme/cpilot-theme.css dans cockpit.html.
 */
:root {
  /* —— Couleurs sémantiques —— */
  --color-primary: #00a8e8;
  --color-accent: #00a8e8;
  --color-success: #3ddc84;
  --color-warning: #f0a030;
  --color-danger: #ff5c5c;
  --color-gold: #e8c547;

  --bg: #0f1115;
  --text: #e8ecf1;
  --text-dim: #8b96a5;
  --text-muted: #5c6675;
  --card-bg: #222831;
  --header-bg: #1a1f27;
  --border-color: #3a424f;
  --border-bright: #4f5d6f;
  --bg-map: #14171c;
  --btn-primary-text: #0a0c10;
  --header-gradient-top: #1e2430;
  --header-gradient-bottom: #171b22;
  --header-gradient-bottom-alt: #14171c;
  --hover-panel: #252d3a;

  /* —— Dérivés —— */
  --accent-glow: rgba(0, 168, 232, 0.35);
  --orange-dim: rgba(240, 160, 48, 0.15);
  --gold-bright: #ffd858;
  --gold-dim: rgba(232, 197, 71, 0.45);
  --gold-active-bg: rgba(232, 197, 71, 0.1);
  --green-dim: rgba(61, 220, 132, 0.12);
  --msg-ok-bg: rgba(61, 220, 132, 0.12);
  --msg-ok-border: rgba(61, 220, 132, 0.35);
  --msg-err-bg: rgba(255, 92, 92, 0.12);
  --msg-err-border: rgba(255, 92, 92, 0.35);
  --accent-shadow: rgba(0, 168, 232, 0.5);

  /* —— Alias cockpit / centre de contrôle —— */
  --panel: var(--header-bg);
  --panel2: var(--card-bg);
  --border: var(--border-color);
  --dim: var(--text-dim);
  --accent: var(--color-accent);
  --green: var(--color-success);
  --orange: var(--color-warning);
  --red: var(--color-danger);
  --gold: var(--color-gold);
  --bg-deep: var(--bg);
  --bg-panel: var(--header-bg);
  --bg-panel-2: var(--card-bg);

  /* —— Typographie (Google Fonts : Inter + Roboto Mono) —— */
  --font-sans: "Inter", "Segoe UI", system-ui, sans-serif;
  --font-mono: "Roboto Mono", "Source Code Pro", Consolas, monospace;
  --sans: var(--font-sans);
  --mono: var(--font-mono);

  /* —— Layout tactile chauffeur —— */
  --touch: 52px;
  --touch-min: 44px;
  --touch-comfort: 48px;
  --radius-btn: 14px;
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-t: env(safe-area-inset-top, 0px);
  --safe-l: env(safe-area-inset-left, 0px);
  --safe-r: env(safe-area-inset-right, 0px);

  /* —— Retour tactile boutons chauffeur —— */
  --drv-press-scale: 0.97;
  --drv-press-inset: inset 0 3px 8px rgba(0, 0, 0, 0.45);
  --drv-focus-ring: 0 0 0 3px var(--accent-glow);
  --drv-transition-press: 80ms ease-out;
}

/* Grille d'actions chauffeur : feedback immédiat (tablettes bas de gamme) */
.driver-actions .drv-btn {
  transition:
    transform var(--drv-transition-press),
    box-shadow var(--drv-transition-press),
    filter var(--drv-transition-press),
    background-color var(--drv-transition-press),
    border-color var(--drv-transition-press);
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.driver-actions .drv-btn:focus-visible {
  outline: none;
  box-shadow: var(--drv-focus-ring), var(--drv-press-inset);
}

.driver-actions .drv-btn:active:not(:disabled):not(.validated) {
  transform: scale(var(--drv-press-scale));
  box-shadow: var(--drv-press-inset) !important;
  filter: brightness(0.88);
}

.driver-actions .drv-btn.drv-distress:active:not(:disabled):not(.validated) {
  filter: brightness(1.05);
  box-shadow: inset 0 3px 10px rgba(0, 0, 0, 0.55), 0 0 0 2px rgba(200, 32, 32, 0.5) !important;
}

.driver-actions .drv-btn.drv-arrive:active:not(:disabled),
.driver-actions .drv-btn.drv-arrive-phone:active:not(:disabled) {
  filter: brightness(0.92);
  box-shadow: inset 0 3px 10px rgba(0, 0, 0, 0.35) !important;
}

.driver-actions .drv-btn:disabled,
.driver-actions .drv-btn.validated {
  transform: none;
  filter: none;
}

/* —— Toast notifications (non bloquantes) —— */
.cp-toast-container {
  position: fixed;
  top: calc(var(--safe-t, 0px) + 12px);
  left: 50%;
  z-index: 10050;
  width: min(92vw, 420px);
  transform: translateX(-50%);
  pointer-events: none;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.cp-toast {
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  padding: 0.85rem 1.15rem;
  border-radius: 12px;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.42);
  opacity: 0;
  transform: translateY(-14px);
  transition:
    opacity 0.28s ease,
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.cp-toast--visible {
  opacity: 1;
  transform: translateY(0);
}

.cp-toast--info {
  background: rgba(22, 30, 46, 0.94);
  border: 1px solid rgba(0, 168, 232, 0.5);
}

.cp-toast--success {
  background: rgba(20, 48, 36, 0.94);
  border: 1px solid rgba(61, 220, 132, 0.45);
}

.cp-toast--warn {
  background: rgba(48, 36, 18, 0.94);
  border: 1px solid rgba(240, 160, 48, 0.55);
}

.cp-toast--error {
  background: rgba(52, 18, 22, 0.94);
  border: 1px solid rgba(255, 92, 92, 0.55);
}

/* Slot hint Umlauf (vide sur cockpit.html standard) */
#umlaufHintSlot:empty {
  display: none;
  margin: 0;
  padding: 0;
  border: 0;
}
