/* Espace chauffeur mobile — composition dédiée, données et actions réelles. */
body.drv-body {
  --drv-ink: #08111f;
  --drv-paper: #f7f3eb;
  --drv-card: #fffdf8;
  --drv-line: #d8d1c4;
  --drv-gold: #b8862f;
  --drv-green: #28705a;
  --drv-red: #a23f35;
  min-width: 0;
  overflow-x: hidden;
  background: var(--drv-paper);
  color: var(--drv-ink);
  padding: 0;
}
.drv-body ::selection { background: #dfc895; color: var(--drv-ink); }
.drv-body :is(a,button,summary):focus-visible { outline: 3px solid var(--drv-gold); outline-offset: 3px; }
.drv-body :is(button,a,summary) { -webkit-tap-highlight-color: rgba(184,134,47,.18); }
.drv-body .tcs-icon { width: 22px; height: 22px; }
.drv-body .sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

.drv-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 80;
  display: grid;
  grid-template-columns: minmax(48px,1fr) auto minmax(48px,1fr);
  align-items: center;
  min-height: calc(72px + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));
  background: var(--drv-ink);
  color: #fff;
  box-shadow: 0 8px 22px rgba(8,17,31,.16);
}
.drv-header a { color: inherit; }
.drv-header-menu { display:flex;align-items:center;justify-content:flex-start;width:48px;height:48px; }
.drv-header-menu .tcs-icon { width:28px;height:28px; }
.drv-brand { font:400 clamp(38px,12vw,52px)/1 Forum,Georgia,serif;color:#d2a34e!important;letter-spacing:-.03em;text-align:center; }
.drv-account { position:relative;justify-self:end;min-width:0; }
.drv-account summary { display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:48px;cursor:pointer;list-style:none;color:#fff;font-size:15px; }
.drv-account summary::-webkit-details-marker { display:none; }
.drv-account summary .tcs-icon { width:16px;height:16px;transition:transform .15s ease; }
.drv-account[open] summary .tcs-icon { transform:rotate(180deg); }
.drv-service-dot { width:11px;height:11px;border-radius:50%;background:#56cda6;box-shadow:0 2px 8px rgba(86,205,166,.35);flex:none; }
.drv-account-menu { position:absolute;right:0;top:calc(100% + 7px);width:min(250px,calc(100vw - 32px));padding:14px;background:var(--drv-card);color:var(--drv-ink);box-shadow:0 16px 36px rgba(8,17,31,.22); }
.drv-account-menu p { margin:0 0 10px;overflow-wrap:anywhere; }
.drv-account-menu a,.drv-account-menu button { display:flex;align-items:center;width:100%;min-height:48px;padding:0 12px;border:0;border-top:1px solid var(--drv-line);background:transparent;color:var(--drv-ink);font:600 13px Montserrat,Arial,sans-serif;text-align:left;cursor:pointer; }

.drv-main { width:min(100%,700px);min-width:0;margin:0 auto;padding:30px max(18px,env(safe-area-inset-right)) calc(108px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)); }
.drv-day,.drv-missions,.drv-next,.drv-next>* { min-width:0; }
.drv-day-head h1 { margin:0;font:400 clamp(42px,13vw,58px)/.98 Forum,Georgia,serif;letter-spacing:-.03em;text-wrap:balance; }
.drv-day-head p { margin:10px 0 0;color:#465066;font-size:clamp(16px,5vw,22px);text-transform:capitalize; }
.drv-tabs { display:grid;grid-template-columns:1fr 1fr;margin-top:24px;border-bottom:1px solid var(--drv-line); }
.drv-tabs button { min-width:0;min-height:52px;padding-inline:4px;border:0;border-bottom:3px solid transparent;background:transparent;color:#465066;font:600 17px Montserrat,Arial,sans-serif;overflow-wrap:anywhere;cursor:pointer; }
.drv-tabs button.active { border-color:var(--drv-gold);color:var(--drv-ink); }

.drv-next { margin-top:26px;padding:24px 22px 0;background:var(--drv-card);border:1px solid var(--drv-line);border-radius:14px; }
.drv-next-top { display:flex;align-items:flex-end;justify-content:space-between;gap:14px; }
.drv-next-top p { margin:0 0 6px;color:#465066;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
.drv-next time { display:block;font:400 clamp(38px,12vw,50px)/.95 Forum,Georgia,serif;font-variant-numeric:tabular-nums; }
.drv-status { display:inline-flex;flex:none;align-items:center;justify-content:center;max-width:100%;padding:7px 10px;border-radius:999px;background:#e9eef4;color:#24415e;font-size:10px;font-weight:700;line-height:1.2;letter-spacing:.03em;text-align:center;text-transform:uppercase;white-space:nowrap; }
.drv-status.status-confirmed,.drv-status.status-completed { background:#d9f1e8;color:#155440; }
.drv-status.status-pending { background:#faebc8;color:#795511; }
.drv-status.status-cancelled,.drv-status.status-rejected { background:#f5dfdc;color:#7b2d27; }
.drv-status.status-in_progress { background:#dbe9f6;color:#164c78; }
.drv-next h2 { margin:18px 0 20px;font:400 clamp(25px,8vw,34px)/1.14 Forum,Georgia,serif;letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:balance; }
.drv-mission-facts { display:grid;gap:11px;margin:0 0 22px; }
.drv-mission-facts div { display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px; }
.drv-mission-facts dt,.drv-mission-facts dd { margin:0; }
.drv-mission-facts dt { color:var(--drv-ink); }
.drv-mission-facts dt .tcs-icon { width:20px;height:20px; }
.drv-mission-facts dd { color:#354057;font-size:14px;line-height:1.45;overflow-wrap:anywhere; }
.drv-contact-actions { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:9px; }
.drv-contact-actions :is(a,button),.drv-nav-btn,.drv-trip-action { display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px;padding:10px;border:1px solid var(--drv-ink);border-radius:3px;background:transparent;color:var(--drv-ink);font:600 13px Montserrat,Arial,sans-serif;text-align:center;text-decoration:none;cursor:pointer; }
.drv-contact-actions :disabled,.drv-next button:disabled { opacity:.56;cursor:not-allowed; }
.drv-contact-actions .tcs-icon,.drv-nav-btn .tcs-icon { width:20px;height:20px; }
.drv-nav-btn { margin-bottom:9px;border-color:var(--drv-gold);background:var(--drv-gold); }
.drv-trip-action { margin-bottom:7px;background:var(--drv-ink);color:#fff; }
.drv-toggle-detail { display:flex;align-items:center;justify-content:center;gap:7px;width:calc(100% + 44px);min-height:56px;margin:18px -22px 0;padding:8px 16px;border:0;border-top:1px solid var(--drv-line);border-radius:0 0 14px 14px;background:transparent;color:var(--drv-ink);font:600 12px Montserrat,Arial,sans-serif;cursor:pointer; }
.drv-toggle-detail .tcs-icon { width:16px;height:16px; }
.drv-detail { margin:0 -22px;padding:16px 22px;border-top:1px dashed var(--drv-line);font-size:13px;overflow-wrap:anywhere; }
.drv-detail[hidden] { display:none; }
.drv-detail dl { display:grid;gap:9px;margin:0; }
.drv-detail dl div { display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px; }
.drv-detail dt { color:#667085; }.drv-detail dd { margin:0;overflow-wrap:anywhere; }
.trip-action-msg { margin:10px 0;color:#8a3029;font-size:12px;line-height:1.5;overflow-wrap:anywhere; }

.drv-following { margin-top:36px; }
.drv-following>h2 { margin:0 0 16px;color:#465066;font:700 12px Montserrat,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase; }
.drv-timeline { position:relative; }
.drv-timeline::before { content:"";position:absolute;top:18px;bottom:24px;left:13px;width:1px;background:var(--drv-gold); }
.drv-compact { position:relative;display:grid;grid-template-columns:48px 20px minmax(0,1fr);gap:0;margin-bottom:18px;min-width:0; }
.drv-compact>time { padding-top:1px;font:400 20px/1 Forum,Georgia,serif;font-variant-numeric:tabular-nums; }
.drv-pin { position:relative;z-index:1;width:13px;height:13px;margin:3px 0 0 0;border-radius:50%;background:var(--drv-gold);outline:5px solid var(--drv-paper); }
.entry-cancelled .drv-pin,.entry-rejected .drv-pin { background:var(--drv-red); }
.drv-compact-body { min-width:0;padding-bottom:16px;border-bottom:1px solid var(--drv-line); }
.drv-compact-body h3 { margin:0 0 8px;font:400 19px/1.18 Forum,Georgia,serif;overflow-wrap:anywhere; }
.drv-compact-body p { display:flex;align-items:flex-start;gap:7px;margin:10px 0 0;color:#465066;font-size:12px;overflow-wrap:anywhere; }
.drv-compact-body p .tcs-icon { width:15px;height:15px; }
.drv-compact .drv-toggle-detail { justify-content:flex-start;width:auto;min-height:44px;margin:7px 0 -12px;padding:0;border:0;border-radius:0;font-size:11px; }
.drv-compact .drv-toggle-detail[aria-expanded="true"] .tcs-icon { transform:rotate(180deg); }
.drv-compact .drv-detail { margin:10px 0 0;padding:12px 0;border-top:1px dashed var(--drv-line); }
.drv-completed { margin-top:26px; }
.drv-empty { padding:56px 16px;text-align:center;color:#667085; }
.drv-empty strong { display:block;color:var(--drv-ink);font:400 25px Forum,Georgia,serif; }
.drv-empty p { margin:6px 0 0; }
.drv-pagination { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:24px 0; }
.drv-pagination button { min-height:48px;border:1px solid var(--drv-line);background:var(--drv-card);color:var(--drv-ink);font:600 11px Montserrat,Arial,sans-serif; }
.drv-pagination span { text-align:center;font-size:11px; }.drv-pagination small { display:block;color:#667085; }

.drv-panel { margin-top:22px;border-top:1px solid var(--drv-line);border-bottom:1px solid var(--drv-line);background:rgba(255,253,248,.55);scroll-margin-top:88px; }
.drv-panel>summary { display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:58px;padding:0 4px;cursor:pointer;list-style:none;color:var(--drv-ink);font-weight:700; }
.drv-panel>summary::-webkit-details-marker { display:none; }
.drv-panel>summary .tcs-icon { width:17px;height:17px;transition:transform .15s ease; }
.drv-panel[open]>summary .tcs-icon { transform:rotate(180deg); }
.drv-panel-body { padding:5px 4px 20px; }
.drv-date-nav { display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:7px; }
.drv-date-nav button,.drv-date-nav strong { display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;border:1px solid var(--drv-line);background:var(--drv-card);color:var(--drv-ink);font-size:12px;text-align:center; }
.drv-date-nav button { cursor:pointer;font-size:16px; }.drv-date-nav #drv-day-today { grid-column:1/-1; }
.drv-duty-state { color:var(--drv-red);font-size:11px;font-weight:700; }.drv-duty-state.on { color:var(--drv-green); }
.drv-service-actions { display:grid;grid-template-columns:1fr;gap:8px; }
.drv-duty-btn { min-height:48px;border:1px solid var(--drv-ink);border-radius:3px;background:var(--drv-ink);color:#fff;font:600 13px Montserrat,Arial,sans-serif;cursor:pointer; }
.drv-duty-stop { border-color:var(--drv-red);background:var(--drv-red); }
.drv-duty-btn:disabled { opacity:.55;cursor:not-allowed; }
.drv-gps-line { margin:18px 0 0;font-size:13px;overflow-wrap:anywhere; }.drv-gps-detail { margin:8px 0 0;color:#596174;font-size:11px;line-height:1.55;overflow-wrap:anywhere; }
.drv-gps-fresh { color:var(--drv-green);font-weight:700; }.drv-gps-stale,.drv-gps-unknown { color:#9b5e05;font-weight:700; }

.drv-bottom-nav { position:fixed;z-index:70;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:calc(72px + env(safe-area-inset-bottom));padding:5px max(5px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(5px,env(safe-area-inset-left));background:var(--drv-ink);box-shadow:0 -10px 30px rgba(8,17,31,.2); }
.drv-bottom-nav :is(a,button) { position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:58px;padding:4px;border:0;background:transparent;color:#c7cfda;font:500 10px Montserrat,Arial,sans-serif;text-align:center;text-decoration:none;cursor:pointer; }
.drv-bottom-nav :is(a,button).active { color:#d2a34e; }.drv-bottom-nav .active::after { content:"";position:absolute;bottom:0;width:56%;height:3px;border-radius:999px;background:#d2a34e; }
.drv-bottom-nav .tcs-icon { width:24px;height:24px; }

@media (min-width: 701px) {
  .drv-main { padding-top:42px; }
  .drv-next { padding:28px 30px 0; }
  .drv-toggle-detail { width:calc(100% + 60px);margin-left:-30px;margin-right:-30px; }
  .drv-detail { margin-left:-30px;margin-right:-30px;padding-left:30px;padding-right:30px; }
}
@media (max-width: 360px) {
  .drv-header-role { font-size:13px; }
  .drv-main { padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right)); }
  .drv-next { padding-left:18px;padding-right:18px; }
  .drv-toggle-detail { width:calc(100% + 36px);margin-left:-18px;margin-right:-18px; }
  .drv-detail { margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px; }
  .drv-compact { grid-template-columns:44px 18px minmax(0,1fr); }
}
@media (max-width: 280px) {
  .drv-header-role { display:none; }
  .drv-contact-actions { grid-template-columns:1fr; }
  .drv-next-top { align-items:flex-start;flex-direction:column; }
  .drv-compact .drv-status { white-space:normal;overflow-wrap:anywhere; }
  .drv-detail dl div { grid-template-columns:1fr;gap:2px; }
  .drv-service>summary { grid-template-columns:minmax(0,1fr) auto;row-gap:2px;padding-block:8px; }
  .drv-service>summary .drv-duty-state { grid-column:1/-1;grid-row:2; }
  .drv-service>summary .tcs-icon { grid-column:2;grid-row:1; }
  .drv-bottom-nav span { max-width:100%;font-size:9px;overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .drv-body * { scroll-behavior:auto!important;transition-duration:.01ms!important; }
}
