/* ==========================================================================
   GLOBAL: paleta Pizarra + lima para toda la SPA (se sobreescriben las variables
   de Tailwind y los tokens de la app; así cambian todas las pantallas a la vez).
   ========================================================================== */
:root {
  /* verdes -> lima de la marca */
  --color-green-50: #f5fbe6; --color-green-100: #e9f8c6; --color-green-200: #d9f29a; --color-green-300: #c8ed6e;
  --color-green-400: #b7ef4c; --color-green-500: #a8e436; --color-green-600: #8fcc27; --color-green-700: #6f9f1d;
  --color-green-800: #55791a; --color-green-900: #3f5a16;
  --color-emerald-50: #f5fbe6; --color-emerald-100: #e9f8c6; --color-emerald-200: #d9f29a; --color-emerald-300: #c8ed6e;
  --color-emerald-400: #b7ef4c; --color-emerald-500: #a8e436; --color-emerald-600: #8fcc27; --color-emerald-700: #6f9f1d;
  --color-emerald-800: #55791a; --color-emerald-900: #3f5a16; --color-emerald-950: #1f3009;
  --color-teal-100: #e9f8c6; --color-teal-700: #6f9f1d;
  /* azul y morado -> azul pizarra */
  --color-blue-50: #eef3f8; --color-blue-100: #dde8f1; --color-blue-200: #c2d3e2; --color-blue-300: #9db6cd;
  --color-blue-400: #7d9ab7; --color-blue-500: #5f7f9f; --color-blue-600: #4d6b8a; --color-blue-700: #3d566f;
  --color-blue-800: #2f4357; --color-blue-900: #26364a;
  --color-purple-50: #eef3f8; --color-purple-100: #dde8f1; --color-purple-200: #c2d3e2; --color-purple-400: #7d9ab7;
  --color-purple-500: #5f7f9f; --color-purple-600: #4d6b8a; --color-purple-700: #3d566f; --color-purple-800: #2f4357;
  /* grises -> pizarra azulada */
  --color-slate-50: #f3f6f9; --color-slate-100: #e8edf2; --color-slate-200: #d6dee6; --color-slate-300: #b8c4d0;
  --color-slate-400: #93a4b5; --color-slate-500: #6f8294; --color-slate-600: #4f6173; --color-slate-700: #2f4154;
  --color-slate-800: #1f2f40; --color-slate-900: #17232f; --color-slate-950: #111b26;
  --color-gray-400: #93a4b5; --color-gray-500: #6f8294; --color-gray-600: #4f6173; --color-gray-700: #2f4154;
  --color-gray-800: #1f2f40; --color-gray-900: #17232f; --color-gray-950: #111b26;
  --color-zinc-800: #1f2f40; --color-zinc-900: #17232f; --color-zinc-950: #111b26;
  --color-neutral-800: #1f2f40; --color-neutral-900: #17232f; --color-neutral-950: #111b26;

  /* tokens de la app móvil (seguimiento, chofer, invitado) */
  --brand: #b7ef4c; --brand-dark: #8fcc27; --brand-light: #d3f78a; --accent: #b7ef4c;
  --surface: #1f2f40; --surface-2: #111b26; --surface-3: #2a3c4f;
  --border: rgba(238, 242, 246, 0.14); --border-light: rgba(238, 242, 246, 0.22);
  --text: #eef2f6; --text-primary: #eef2f6; --text-secondary: #b8c4d0; --text-muted: #93a4b5; --text-dim: #6f8294;
  --glass-bg: rgba(17, 27, 38, 0.62); --glass-bg-strong: rgba(31, 47, 64, 0.78);
  --glass-border: rgba(238, 242, 246, 0.1); --glass-border-strong: rgba(238, 242, 246, 0.18);

  /* tokens de componentes (botones, enfoque) */
  --primary: #b7ef4c; --primary-foreground: #10200f; --ring: #b7ef4c;
  --brand-green: #b7ef4c; --brand-dark-green: #8fcc27;
}
html, body { background-color: #111b26; }
body { font-family: ui-rounded, "SF Pro Rounded", "Nunito", "Avenir Next Rounded", "Quicksand", "Segoe UI", system-ui, sans-serif; }
:focus-visible { outline-color: #b7ef4c !important; }
/* Botones sólidos de acento en cualquier pantalla: lima con tinta oscura */
button.bg-emerald-500, button.bg-emerald-600, button.bg-green-500, button.bg-green-600,
a.bg-emerald-500, a.bg-emerald-600, a.bg-green-500, a.bg-green-600 { color: #10200f !important; }
button.bg-blue-600, button.bg-blue-500, button.bg-purple-600 { color: #fff; }

/* ==========================================================================
   Línea gráfica "Pizarra + lima" para los paneles de cliente y chofer.
   Misma paleta que la página de inicio en modo oscuro: pizarra azulada + lima del logo.
   Se carga después de la hoja principal y solo toca .mobile-line-dashboard.
   ========================================================================== */
.mobile-line-dashboard {
  --up-bg: #111b26;
  --up-bg2: #192634;
  --up-card: #1f2f40;
  --up-card2: #17232f;
  --up-text: #eef2f6;
  --up-muted: #93a4b5;
  --up-line: rgba(238, 242, 246, 0.12);
  --up-lime: #b7ef4c;
  --up-lime-soft: rgba(183, 239, 76, 0.14);
  --up-lime-ink: #10200f;
  --up-r-lg: 28px;
  --up-r-md: 20px;
  --up-r-sm: 14px;

  --ml-bg: var(--up-bg);
  --ml-surface: var(--up-bg2);
  --ml-surface-raised: var(--up-card);
  --ml-border: var(--up-line);
  --ml-muted: var(--up-muted);
  --ml-accent: var(--up-lime);
  --ml-accent-strong: var(--up-lime);
  background:
    radial-gradient(900px 420px at 88% -8%, rgba(183, 239, 76, 0.09), transparent 60%),
    var(--up-bg) !important;
  color: var(--up-text);
  font-family: ui-rounded, "SF Pro Rounded", "Nunito", "Avenir Next Rounded", "Quicksand", "Segoe UI", system-ui, sans-serif;
  letter-spacing: -0.005em;
  -webkit-font-smoothing: antialiased;
}

/* Cabecera */
.mobile-line-dashboard .mobile-line-header {
  background: rgba(17, 27, 38, 0.82) !important;
  border-color: var(--up-line) !important;
  box-shadow: none !important;
  backdrop-filter: saturate(1.4) blur(18px);
}
.mobile-line-dashboard .mobile-line-header-inner > div:first-child > div:first-child,
.mobile-line-dashboard .mobile-line-header img {
  box-shadow: 0 0 0 2px rgba(183, 239, 76, 0.35) !important;
  border-radius: 16px;
}
.mobile-line-dashboard .mobile-line-header button {
  border-color: var(--up-line) !important;
  background: rgba(238, 242, 246, 0.05) !important;
  color: var(--up-text) !important;
  border-radius: 999px !important;
}
.mobile-line-dashboard .mobile-line-header button:hover {
  background: var(--up-lime-soft) !important;
  border-color: rgba(183, 239, 76, 0.45) !important;
}
.mobile-line-dashboard .mobile-line-header [class*="text-yellow"],
.mobile-line-dashboard .mobile-line-header [class*="text-amber"],
.mobile-line-dashboard .mobile-line-header [class*="text-orange"] {
  color: var(--up-lime) !important;
}

/* Pestañas: píldoras con lima */
.mobile-line-dashboard .mobile-line-tabs {
  background: rgba(17, 27, 38, 0.7) !important;
  border-color: var(--up-line) !important;
}
.mobile-line-dashboard .mobile-line-tabs button {
  border-radius: 999px !important;
  color: var(--up-muted) !important;
  font-weight: 600;
}
.mobile-line-dashboard .mobile-line-tabs button:hover {
  background: rgba(238, 242, 246, 0.06) !important;
  color: var(--up-text) !important;
}
.client-dashboard-shell .mobile-line-tabs button.text-green-600,
.driver-dashboard-shell .mobile-line-tabs button.border-blue-500,
.driver-dashboard-shell .mobile-line-tabs button.text-blue-600 {
  background: var(--up-lime) !important;
  border-color: var(--up-lime) !important;
  color: var(--up-lime-ink) !important;
}

/* Zona principal, mapa y panel */
.client-dashboard-shell .mobile-line-main {
  background: transparent !important;
  gap: 20px;
}
.client-dashboard-shell .mobile-line-map {
  border: 1px solid var(--up-line);
  border-radius: var(--up-r-lg);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}
.client-dashboard-shell .mobile-line-map::after {
  border: 0;
  box-shadow: inset 0 0 0 1px rgba(238, 242, 246, 0.05), inset 0 -80px 80px -60px rgba(17, 27, 38, 0.55);
}
.client-dashboard-shell .mobile-line-panel {
  background: var(--up-bg2) !important;
  border: 1px solid var(--up-line);
  border-radius: var(--up-r-lg);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3) !important;
}
.mobile-line-dashboard [data-slot="card"] {
  background: var(--up-card) !important;
  border-color: var(--up-line) !important;
  border-radius: var(--up-r-md) !important;
  box-shadow: 0 1px 0 rgba(238, 242, 246, 0.04) inset, 0 10px 30px rgba(0, 0, 0, 0.14) !important;
}

/* Títulos y textos */
.mobile-line-dashboard h1,
.mobile-line-dashboard h2,
.mobile-line-dashboard h3 {
  letter-spacing: -0.03em;
  font-weight: 700;
}
.passenger-operations-dark .mobile-line-panel .text-slate-900,
.passenger-operations-dark .mobile-line-panel .text-slate-800,
.passenger-operations-dark .mobile-line-panel .text-slate-700,
.passenger-operations-dark .mobile-line-panel .text-black {
  color: var(--up-text) !important;
}
.passenger-operations-dark .mobile-line-panel .text-slate-500,
.passenger-operations-dark .mobile-line-panel .text-slate-400 {
  color: var(--up-muted) !important;
}

/* Campos */
.mobile-line-dashboard input,
.mobile-line-dashboard select,
.mobile-line-dashboard textarea {
  background: var(--up-card2) !important;
  border: 1px solid var(--up-line) !important;
  border-radius: var(--up-r-sm) !important;
  color: var(--up-text);
}
.mobile-line-dashboard input::placeholder,
.mobile-line-dashboard textarea::placeholder { color: var(--up-muted); opacity: 0.8; }
.mobile-line-dashboard input:focus,
.mobile-line-dashboard select:focus,
.mobile-line-dashboard textarea:focus {
  border-color: var(--up-lime) !important;
  box-shadow: 0 0 0 3px var(--up-lime-soft) !important;
  outline: none;
}

/* Botones principales: lima con tinta oscura */
.mobile-line-dashboard button.bg-green-500,
.mobile-line-dashboard button.bg-green-600,
.mobile-line-dashboard button.bg-emerald-500,
.mobile-line-dashboard button.bg-emerald-600,
.mobile-line-dashboard [data-slot="button"].bg-green-500,
.mobile-line-dashboard [data-slot="button"].bg-green-600 {
  background: var(--up-lime) !important;
  color: var(--up-lime-ink) !important;
  border-radius: 16px !important;
  font-weight: 700;
  box-shadow: 0 10px 26px rgba(183, 239, 76, 0.2);
}
.mobile-line-dashboard button.bg-green-500:hover,
.mobile-line-dashboard button.bg-emerald-600:hover { filter: brightness(1.06); }
/* Fondos verdes claros (seleccionado / sugerido): lima suave */
.mobile-line-dashboard .bg-green-50,
.mobile-line-dashboard .bg-green-100,
.mobile-line-dashboard .bg-emerald-50,
.mobile-line-dashboard .bg-emerald-100,
.mobile-line-dashboard .hover\:bg-green-50:hover {
  background: var(--up-lime-soft) !important;
}
.mobile-line-dashboard .border-green-200,
.mobile-line-dashboard .border-emerald-200 { border-color: rgba(183, 239, 76, 0.3) !important; }
.mobile-line-dashboard .bg-slate-100,
.mobile-line-dashboard .bg-slate-50 { background: rgba(238, 242, 246, 0.06) !important; }
.mobile-line-dashboard .hover\:bg-slate-200:hover { background: rgba(238, 242, 246, 0.12) !important; }
.mobile-line-dashboard .border-slate-200,
.mobile-line-dashboard .border-slate-100 { border-color: var(--up-line) !important; }
.mobile-line-dashboard button.border-2.border-green-500 { border-color: var(--up-lime) !important; }
.mobile-line-dashboard .text-green-600,
.mobile-line-dashboard .text-green-500,
.mobile-line-dashboard .text-green-400,
.mobile-line-dashboard .text-emerald-500,
.mobile-line-dashboard .text-emerald-600 { color: var(--up-lime) !important; }
.mobile-line-dashboard .border-green-500,
.mobile-line-dashboard .border-green-400,
.mobile-line-dashboard .border-emerald-500 { border-color: var(--up-lime) !important; }

/* Botón fijo inferior (móvil): el principal de la pantalla */
.client-dashboard-shell .fixed.bottom-0 button {
  background: var(--up-lime) !important;
  color: var(--up-lime-ink) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 34px rgba(183, 239, 76, 0.28) !important;
}
/* Botón fijo inferior (móvil) */
.client-dashboard-shell .fixed.bottom-0 {
  background: linear-gradient(180deg, rgba(17, 27, 38, 0), var(--up-bg) 38%) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Controles del mapa */
.mobile-line-dashboard .maplibregl-ctrl-group {
  background: var(--up-card) !important;
  border: 1px solid var(--up-line);
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
  overflow: hidden;
}
.mobile-line-dashboard .maplibregl-ctrl-group button { background: transparent !important; border-color: var(--up-line) !important; }
.mobile-line-dashboard .maplibregl-ctrl-group button .maplibregl-ctrl-icon { filter: invert(1) brightness(1.6); }
.mobile-line-dashboard .maplibregl-ctrl-attrib {
  background: rgba(17, 27, 38, 0.72) !important;
  color: var(--up-muted) !important;
  border-radius: 999px 0 0 0;
}
.mobile-line-dashboard .maplibregl-ctrl-attrib a { color: var(--up-muted) !important; }
.mobile-line-dashboard .maplibregl-ctrl-attrib,
.mobile-line-dashboard .maplibregl-ctrl-attrib-inner { font-size: 10px !important; line-height: 1.5; }
.mobile-line-dashboard .maplibregl-ctrl-attrib-button { filter: invert(1) opacity(.6); }

@media (max-width: 1023px) {
  .client-dashboard-shell .mobile-line-map { border-radius: 24px; }
  .client-dashboard-shell .mobile-line-panel { border-radius: 24px; }
}

/* Consejos de seguridad (burbuja flotante) */
.mobile-line-dashboard .wt-safety-btn,
.wt-safety-btn {
  background: var(--up-card, #1f2f40) !important;
  border: 1px solid rgba(183, 239, 76, 0.55) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
}

/* Tarjetas con degradado claro (tarifa, lealtad, búsqueda): pizarra con acento lima */
.mobile-line-dashboard [class*="from-green-50"],
.mobile-line-dashboard [class*="from-emerald-50"],
.mobile-line-dashboard [class*="from-purple-50"],
.mobile-line-dashboard [class*="from-blue-50"],
.mobile-line-dashboard [class*="from-amber-50"],
.mobile-line-dashboard [class*="from-yellow-50"] {
  background: linear-gradient(150deg, var(--up-card), var(--up-card2)) !important;
  border-color: var(--up-line) !important;
}
.mobile-line-dashboard [class*="border-green-200"],
.mobile-line-dashboard [class*="border-emerald-200"],
.mobile-line-dashboard [class*="border-purple-200"] { border-color: var(--up-line) !important; }
.mobile-line-dashboard .text-green-800,
.mobile-line-dashboard .text-emerald-800,
.mobile-line-dashboard .text-purple-800,
.mobile-line-dashboard .text-purple-700,
.mobile-line-dashboard .text-blue-800,
.mobile-line-dashboard .text-amber-800 { color: var(--up-text) !important; }
.mobile-line-dashboard .text-green-700,
.mobile-line-dashboard .text-emerald-700,
.mobile-line-dashboard .text-purple-600,
.mobile-line-dashboard .text-blue-700 { color: var(--up-muted) !important; }
.mobile-line-dashboard .bg-green-200 { background: var(--up-lime-soft) !important; color: var(--up-lime) !important; }
.mobile-line-dashboard .text-2xl.font-black { color: var(--up-lime) !important; }

/* Interruptor (Modo Puja, etc.) */
.mobile-line-dashboard button[role="switch"] { background: rgba(238, 242, 246, 0.18) !important; border-radius: 999px !important; }
.mobile-line-dashboard button[role="switch"][data-state="checked"] { background: var(--up-lime) !important; }
.mobile-line-dashboard button[role="switch"] span { background: #fff !important; }

/* Escritorio: el mapa ocupa toda la altura disponible */
@media (min-width: 1024px) {
  .client-dashboard-shell .mobile-line-main { align-items: stretch; }
  .client-dashboard-shell .mobile-line-map {
    height: auto !important;
    max-height: none !important;
    min-height: 480px;
  }
}
.mobile-line-dashboard button.border-green-500 .text-green-700,
.mobile-line-dashboard button.border-green-500 .text-green-800 { color: var(--up-lime) !important; }

/* Acentos de otros colores (morado, azul, ámbar) → la paleta de la marca */
.mobile-line-dashboard .bg-purple-100,
.mobile-line-dashboard .bg-blue-100,
.mobile-line-dashboard .bg-amber-100,
.mobile-line-dashboard .bg-yellow-100,
.mobile-line-dashboard .bg-purple-50,
.mobile-line-dashboard .bg-blue-50,
.mobile-line-dashboard .bg-amber-50,
.mobile-line-dashboard .bg-yellow-50 { background: var(--up-lime-soft) !important; }
.mobile-line-dashboard .text-purple-500,
.mobile-line-dashboard .text-purple-600,
.mobile-line-dashboard .text-blue-500,
.mobile-line-dashboard .text-blue-600,
.mobile-line-dashboard .text-indigo-600 { color: var(--up-lime) !important; }
.mobile-line-dashboard .border-purple-200,
.mobile-line-dashboard .border-blue-200,
.mobile-line-dashboard .border-amber-200,
.mobile-line-dashboard .border-yellow-200 { border-color: rgba(183, 239, 76, 0.3) !important; }
.mobile-line-dashboard .text-amber-600,
.mobile-line-dashboard .text-amber-700,
.mobile-line-dashboard .text-orange-600,
.mobile-line-dashboard .text-orange-700 { color: #ffd479 !important; }

/* Tarjetas flotantes blancas sobre el mapa y barra de acciones del viaje */
.mobile-line-dashboard [class*="bg-white"] {
  background: rgba(31, 47, 64, 0.94) !important;
  border-color: var(--up-line) !important;
  color: var(--up-text);
}
.mobile-line-dashboard .absolute[class*="bg-white"] { backdrop-filter: blur(14px); }
.mobile-line-dashboard .text-slate-900,
.mobile-line-dashboard .text-slate-800,
.mobile-line-dashboard .text-slate-700 { color: var(--up-text) !important; }
.mobile-line-dashboard .text-slate-500,
.mobile-line-dashboard .text-slate-600,
.mobile-line-dashboard .text-slate-400 { color: var(--up-muted) !important; }
.mobile-line-dashboard .text-blue-700 { color: var(--up-lime) !important; }
.mobile-line-dashboard .text-3xl.font-black.tracking-\[0\.35em\] { color: var(--up-lime) !important; }
.mobile-line-dashboard div.bg-green-500 {
  background: var(--up-lime) !important;
  color: var(--up-lime-ink) !important;
  box-shadow: 0 10px 26px rgba(183, 239, 76, 0.25);
}
.mobile-line-dashboard nav[aria-label="Acciones del viaje"] {
  background: rgba(31, 47, 64, 0.96) !important;
  border: 1px solid var(--up-line) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.5) !important;
}
.mobile-line-dashboard .trip-action-dock-button { color: var(--up-text) !important; background: transparent !important; }
.mobile-line-dashboard .trip-action-dock-button:hover { background: var(--up-lime-soft) !important; }
.mobile-line-dashboard .trip-action-dock-button.text-emerald-700 { color: var(--up-lime) !important; }
.mobile-line-dashboard .trip-action-dock-button.text-rose-600 { color: #ff9aa6 !important; }
.mobile-line-dashboard nav[aria-label="Acciones del viaje"] > span { color: var(--up-lime) !important; }

/* ===== Pantalla de viaje activo del chofer (v8) ===== */
/* iOS Safari: 100vh incluye la zona bajo la barra del navegador; dvh no. */
.h-screen { height: 100vh; height: 100dvh; }
.min-h-screen { min-height: 100vh; min-height: 100dvh; }
/* El mapa crea su propio contexto de capas: sus paneles (z-index 700) ya no tapan el chat ni los botones. */
.leaflet-ride-map, .maplibre-trip-map { isolation: isolate; }
.up-trip-scroll { padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 9.5rem) !important; }
/* Chat del chofer: ancla abajo a la derecha, por encima de todo, sin pisar el borde del navegador */
#driver-chat-anchor > div { right: 1rem !important; bottom: calc(env(safe-area-inset-bottom, 0px) + 1rem) !important; z-index: 9000 !important; }
#driver-chat-anchor > div > div:first-child { max-width: calc(100vw - 2rem); }
/* Botones de apps de mapas externas */
.up-navrow { padding: 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: #1a2938; }
.up-navrow__title { margin: 0 0 10px; color: #a9b8c6; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.up-navrow__btns { display: grid; gap: 8px; }
.up-navrow__btn { display: flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: #111b26; color: #f4f8fb; font-size: 13px; font-weight: 800; text-align: center; text-decoration: none; transition: transform 160ms cubic-bezier(.23,1,.32,1), background-color 160ms; -webkit-tap-highlight-color: transparent; }
.up-navrow__btn:active { transform: scale(.97); }
.up-navrow__btn--google { background: #b7ef4c; border-color: #b7ef4c; color: #10200f; }
/* Burbuja de soporte: en la pantalla del chofer pasa a la derecha, sobre el botón del chat, para no tapar direcciones */
body:has(#driver-chat-anchor) #dm-inbox-root { left: auto !important; right: 1rem !important; bottom: calc(env(safe-area-inset-bottom, 0px) + 5.25rem) !important; }
body:has(#driver-chat-anchor) #dm-inbox-root > button { width: 44px !important; height: 44px !important; }
body:has(#driver-chat-anchor) #dm-inbox-panel { left: auto !important; right: 0 !important; }
/* El icono del coche del encabezado era oscuro sobre oscuro */
.mobile-line-dashboard [class*="bg-[#1f2d3c]"] svg, [class*="bg-\[\#1f2d3c\]"] svg { color: #b7ef4c; }
/* Con el chat del viaje abierto, la burbuja de soporte se oculta para no tapar el botón de enviar */
body:has(#driver-chat-anchor .w-80) #dm-inbox-root { display: none !important; }

/* =====================================================================
   VIDRIO («glass») — ventanas entre chofer y cliente (v10)
   Chat/llamada, tarjetas del mapa, soporte, calificación y avisos.
   ===================================================================== */
:root {
  --glass-bg: rgba(22, 34, 48, .58);
  --glass-bg-strong: rgba(18, 28, 40, .78);
  --glass-line: rgba(255, 255, 255, .15);
  --glass-hi: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 0 0 1px rgba(255, 255, 255, .04);
  --glass-shadow: 0 28px 70px rgba(0, 0, 0, .5), 0 4px 14px rgba(0, 0, 0, .25);
  --glass-blur: blur(30px) saturate(1.8);
  --lime-a: #cdf56a; --lime-b: #a6e22e; --ink: #10200f;
  --ease-pop: cubic-bezier(.2, .9, .3, 1.15);
}
@keyframes upPop { from { opacity: 0; transform: translateY(14px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes upMsgIn { from { opacity: 0; transform: translateY(8px) scale(.97); } to { opacity: 1; transform: none; } }

/* ---- Chat / llamada ---- */
.up-chat { width: min(364px, calc(100vw - 1.5rem)) !important; height: min(540px, 72dvh) !important; border: 1px solid var(--glass-line) !important; border-radius: 30px !important; background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.03) 38%), var(--glass-bg) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; color: #f4f8fb; animation: upPop .34s var(--ease-pop); font-family: ui-rounded, -apple-system, "SF Pro Text", "Inter", system-ui, sans-serif; }
.up-chat .up-chat__head { background: transparent !important; padding: 16px 16px 12px !important; border-bottom: 1px solid rgba(255,255,255,.1); }
.up-chat .up-chat__head > div:first-child > div:first-child { width: 38px !important; height: 38px !important; background: linear-gradient(145deg, var(--lime-a), var(--lime-b)) !important; color: var(--ink) !important; font-weight: 800; box-shadow: 0 6px 16px rgba(166,226,46,.35); }
.up-chat .up-chat__head .text-white { color: #f7fafc !important; letter-spacing: -.01em; }
.up-chat .up-chat__head [class*="text-green-200"] { color: var(--lime-a) !important; }
.up-chat .up-chat__head [class*="text-red-300"] { color: #ffb4b4 !important; }
.up-chat .up-chat__head button { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0 !important; border-radius: 50% !important; background: rgba(255,255,255,.1) !important; color: #e9f2f8 !important; transition: transform .16s, background .16s; }
.up-chat .up-chat__head button:hover { background: rgba(255,255,255,.18) !important; }
.up-chat .up-chat__head button:active { transform: scale(.92); }
.up-chat .up-chat__head button[title="Colgar"] { background: #ff453a !important; color: #fff !important; }
.up-chat .up-chat__list { background: transparent !important; padding: 14px 14px 8px !important; scrollbar-width: none; }
.up-chat .up-chat__list::-webkit-scrollbar { display: none; }
.up-chat .up-chat__list [class*="text-slate-"] { color: rgba(236,244,250,.6) !important; }
.up-chat .up-chat__list svg { color: rgba(236,244,250,.35) !important; }
.up-chat .up-chat__me, .up-chat .up-chat__them { max-width: 78% !important; padding: 9px 13px !important; font-size: 14.5px; line-height: 1.32; box-shadow: none !important; animation: upMsgIn .22s var(--ease-pop); }
.up-chat .up-chat__me { border: 0 !important; border-radius: 22px 22px 6px 22px !important; background: linear-gradient(180deg, var(--lime-a), var(--lime-b)) !important; color: var(--ink) !important; box-shadow: 0 6px 16px rgba(166,226,46,.22) !important; }
.up-chat .up-chat__me p { color: inherit !important; }
.up-chat .up-chat__me [class*="text-green-100"] { color: rgba(16,32,15,.55) !important; }
.up-chat .up-chat__them { border: 1px solid rgba(255,255,255,.13) !important; border-radius: 22px 22px 22px 6px !important; background: rgba(255,255,255,.1) !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); color: #f4f8fb !important; }
.up-chat .up-chat__them p { color: inherit !important; }
.up-chat .up-chat__them [class*="text-green-600"] { color: var(--lime-a) !important; }
.up-chat .up-chat__them [class*="text-slate-400"] { color: rgba(244,248,251,.5) !important; }
.up-chat .up-chat__them [class*="bg-slate-400"] { background: rgba(244,248,251,.6) !important; }
.up-chat .up-chat__bar { background: transparent !important; border-top: 1px solid rgba(255,255,255,.1) !important; padding: 10px 12px calc(12px + env(safe-area-inset-bottom, 0px) * 0) !important; }
.up-chat .up-chat__input { background: rgba(255,255,255,.09) !important; border: 1px solid rgba(255,255,255,.14); color: #f7fafc !important; padding: 11px 16px !important; font-size: 15px !important; box-shadow: inset 0 1px 2px rgba(0,0,0,.18); }
.up-chat .up-chat__input::placeholder { color: rgba(236,244,250,.45); }
.up-chat .up-chat__input:focus { background: rgba(255,255,255,.13) !important; border-color: rgba(205,245,106,.7); box-shadow: 0 0 0 3px rgba(205,245,106,.22) !important; outline: none; }
.up-chat .up-chat__send { width: 40px !important; height: 40px !important; background: linear-gradient(180deg, var(--lime-a), var(--lime-b)) !important; box-shadow: 0 6px 16px rgba(166,226,46,.3); transition: transform .16s var(--ease-pop), opacity .16s; }
.up-chat .up-chat__send svg { color: var(--ink) !important; }
.up-chat .up-chat__send:active { transform: scale(.9); }
.up-chat .up-chat__send:disabled { background: rgba(255,255,255,.12) !important; box-shadow: none; }
.up-chat .up-chat__send:disabled svg { color: rgba(255,255,255,.4) !important; }
/* Aviso de llamada entrante / en curso dentro del chat */
.up-chat [class~="bg-green-50"], .up-chat [class~="bg-amber-50"] { background: rgba(205,245,106,.12) !important; border-color: rgba(205,245,106,.28) !important; }
.up-chat [class*="text-green-800"], .up-chat [class*="text-green-700"], .up-chat [class*="text-amber-700"] { color: #f1fbd0 !important; }
.up-chat [class*="text-green-600"] { color: var(--lime-a) !important; }
/* Botón flotante del chat: vidrio con icono lima */
.up-chat__fab { width: 54px !important; height: 54px !important; border: 1px solid var(--glass-line); background: var(--glass-bg-strong) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; }
.up-chat__fab svg { color: var(--lime-a) !important; }

/* ---- Tarjetas del mapa de seguimiento (cliente y chofer) ---- */
.leaflet-ride-map__hud, .leaflet-ride-map__sheet, .leaflet-ride-map__follow { border: 1px solid var(--glass-line) !important; background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.03) 40%), var(--glass-bg) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; }
.leaflet-ride-map__hud { border-radius: 22px !important; }
.leaflet-ride-map__sheet { border-radius: 26px !important; }
.leaflet-ride-map__follow { color: var(--lime-a) !important; border-radius: 999px !important; }
.leaflet-ride-map__hud strong, .leaflet-ride-map__eta strong { color: var(--lime-a) !important; letter-spacing: -.02em; }
.leaflet-ride-map__sheet button.leaflet-ride-map__recenter { background: linear-gradient(180deg, var(--lime-a), var(--lime-b)) !important; color: var(--ink) !important; border-radius: 16px !important; }
.leaflet-ride-map__sheet-handle { background: rgba(255,255,255,.35) !important; }

/* ---- Soporte, calificación del invitado, avisos ---- */
#dm-inbox-panel { background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.03) 40%), var(--glass-bg) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); border: 1px solid var(--glass-line) !important; border-radius: 28px !important; box-shadow: var(--glass-shadow), var(--glass-hi) !important; }
#dm-inbox-panel > div:first-child { background: transparent !important; border-bottom: 1px solid rgba(255,255,255,.1) !important; }
#dm-inbox-root > button { -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); background: var(--glass-bg-strong) !important; border: 1px solid var(--glass-line) !important; box-shadow: var(--glass-shadow), var(--glass-hi) !important; }
#guestRateDlg { background: rgba(6, 12, 18, .5) !important; -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4); }
#guestRateDlg > div { max-width: 380px !important; border: 1px solid var(--glass-line) !important; border-radius: 32px !important; padding: 28px 24px !important; background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.03) 40%), var(--glass-bg-strong) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; animation: upPop .38s var(--ease-pop); font-family: ui-rounded, -apple-system, "SF Pro Display", "Inter", system-ui, sans-serif; }
#guestRateDlg h2 { font-size: 24px !important; letter-spacing: -.02em; }
#guestRateDlg textarea { background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 16px !important; padding: 12px 14px !important; }
#guestRateDlg button[type="button"]:not([aria-label]) { border-radius: 18px !important; }
#guestRateDlg [aria-label] { transition: transform .15s var(--ease-pop); }
#guestRateDlg [aria-label]:active { transform: scale(1.18); }
[data-sonner-toast][data-styled="true"], [data-sonner-toast] { background: var(--glass-bg-strong) !important; color: #f4f8fb !important; border: 1px solid var(--glass-line) !important; border-radius: 22px !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; }
.up-navrow { border: 1px solid var(--glass-line) !important; border-radius: 26px !important; background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.03) 40%), var(--glass-bg) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-hi); }
.up-navrow__btn { background: rgba(255,255,255,.09) !important; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 18px !important; }
.up-navrow__btn--google { background: linear-gradient(180deg, var(--lime-a), var(--lime-b)) !important; border-color: transparent !important; color: var(--ink) !important; }
@media (prefers-reduced-motion: reduce) { .up-chat, .up-chat .up-chat__me, .up-chat .up-chat__them, #guestRateDlg > div { animation: none !important; } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .up-chat, .leaflet-ride-map__hud, .leaflet-ride-map__sheet, #dm-inbox-panel, #guestRateDlg > div, .up-navrow { background: #172431 !important; }
}
.up-chat .up-chat__list .up-chat__them, .up-chat .up-chat__list .up-chat__them p.leading-relaxed { color: #f4f8fb !important; }
.up-chat .up-chat__list .up-chat__them p[class*="text-green-600"] { color: var(--lime-a) !important; }
.up-chat .up-chat__list .up-chat__them [class*="text-slate-400"] { color: rgba(244,248,251,.5) !important; }
[data-sonner-toast] [data-title], [data-sonner-toast] [data-content] { color: #f4f8fb !important; }

/* ---- Vidrio en la vista del cliente: código de inicio, ETA, aviso de aceptado y barra de acciones ---- */
.mobile-line-dashboard .mobile-line-map .absolute.z-20 > div, .mobile-line-dashboard .mobile-line-map .absolute.top-4[class*="rounded-full"] { border: 1px solid var(--glass-line) !important; background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.03) 40%), var(--glass-bg) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; }
.mobile-line-dashboard .mobile-line-map .absolute.z-20 > div { border-radius: 28px !important; }
.mobile-line-dashboard .mobile-line-map .absolute.top-4[class*="rounded-full"] { color: var(--lime-a) !important; }
.mobile-line-dashboard nav.fixed[class*="bottom-3"] { border: 1px solid var(--glass-line) !important; border-radius: 30px !important; background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.03) 40%), var(--glass-bg-strong) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; }
.mobile-line-dashboard nav.fixed .trip-action-dock-button { border-radius: 22px; transition: transform .16s var(--ease-pop), background .16s; }
.mobile-line-dashboard nav.fixed .trip-action-dock-button:active { transform: scale(.92); }
.mobile-line-dashboard .mobile-line-content [class~="bg-green-50"] { border: 1px solid rgba(205,245,106,.3) !important; border-radius: 24px !important; background: linear-gradient(160deg, rgba(205,245,106,.2), rgba(205,245,106,.05)), rgba(22,34,48,.9) !important; box-shadow: var(--glass-hi); }
/* El chat del cliente vive dentro del contenedor del mapa: ese contenedor sube de capa para que el chat quede sobre el panel y la barra de acciones */
.mobile-line-dashboard .mobile-line-map { z-index: 995; }

/* ---- Páginas que seguían en el diseño viejo (v18) ---- */
/* 404 */
.up-notfound { background: radial-gradient(120% 80% at 50% 0%, #1d2d3e 0%, #111b26 60%) !important; }
.up-notfound__card { border: 1px solid var(--glass-line) !important; border-radius: 32px !important; background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.03) 40%), var(--glass-bg) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; }
.up-notfound__card h1 { color: var(--lime-a) !important; font-size: 64px !important; letter-spacing: -.04em; line-height: 1; }
.up-notfound__card h2 { color: #f4f8fb !important; }
.up-notfound__card p { color: #a9b8c6 !important; }
.up-notfound__card [class*="bg-red-100"] { background: rgba(205,245,106,.14) !important; }
.up-notfound__card svg { color: var(--lime-a) !important; }
.up-notfound__btn { background: linear-gradient(180deg, var(--lime-a), var(--lime-b)) !important; color: var(--ink) !important; border-radius: 18px !important; font-weight: 800 !important; padding: 12px 24px !important; }
/* Preguntas frecuentes: cuerpo oscuro como el resto */
.up-faq { background: #111b26 !important; color: #e9f1f7; }
.up-faq [class*="text-slate-9"], .up-faq [class*="text-gray-9"], .up-faq [class*="text-black"] { color: #f4f8fb !important; }
.up-faq [class*="text-slate-6"], .up-faq [class*="text-slate-5"], .up-faq [class*="text-gray-6"], .up-faq [class*="text-gray-5"] { color: #a9b8c6 !important; }
.up-faq [class*="bg-white"]:not([class*="bg-white/"]), .up-faq [class*="bg-slate-50"], .up-faq [class*="bg-gray-50"] { background: rgba(255,255,255,.05) !important; }
.up-faq [class*="border-slate-"], .up-faq [class*="border-gray-"], .up-faq .border-t, .up-faq .border-b { border-color: rgba(255,255,255,.12) !important; }
.up-faq input { background: rgba(255,255,255,.07) !important; color: #f4f8fb !important; }
/* Panel de avisos (campana): no se sale de la pantalla y es de vidrio */
.wt-notification-panel { width: min(20rem, calc(100vw - 1.5rem)) !important; max-width: calc(100vw - 1.5rem); border: 1px solid var(--glass-line) !important; border-radius: 26px !important; background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.03) 40%), var(--glass-bg-strong) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; color: #f4f8fb; overflow: hidden; z-index: 1200; }
.wt-notification-panel [class*="text-slate-9"] { color: #f4f8fb !important; }
.wt-notification-panel [class*="text-slate-4"], .wt-notification-panel [class*="text-slate-5"] { color: #a9b8c6 !important; }
.wt-notification-panel [class*="border-slate-"] { border-color: rgba(255,255,255,.12) !important; }
.wt-notification-panel [class*="bg-white"], .wt-notification-panel [class*="bg-slate-50"] { background: transparent !important; }
@media (max-width: 480px) { .wt-notification-panel { position: fixed !important; top: 4.25rem !important; left: .75rem !important; right: .75rem !important; width: auto !important; max-width: none; } }

/* Diálogos, hojas, menús y listas genéricos (Radix/shadcn): vidrio en toda la app */
[data-slot="dialog-overlay"], [data-slot="alert-dialog-overlay"], [data-slot="sheet-overlay"], [data-slot="drawer-overlay"] { background: rgba(6, 12, 18, .5) !important; -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3); }
[data-slot="dialog-content"], [data-slot="alert-dialog-content"], [data-slot="sheet-content"], [data-slot="drawer-content"], [data-slot="popover-content"], [data-slot="dropdown-menu-content"], [data-slot="dropdown-menu-sub-content"], [data-slot="select-content"], [data-slot="context-menu-content"], [data-slot="hover-card-content"], [data-slot="command"] { border: 1px solid var(--glass-line) !important; background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.03) 40%), var(--glass-bg-strong) !important; color: #f4f8fb !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; }
[data-slot="dialog-content"], [data-slot="alert-dialog-content"] { border-radius: 30px !important; animation: upPop .3s var(--ease-pop); }
[data-slot="popover-content"], [data-slot="dropdown-menu-content"], [data-slot="select-content"], [data-slot="context-menu-content"] { border-radius: 20px !important; }
[data-slot="sheet-content"], [data-slot="drawer-content"] { border-radius: 28px 28px 0 0; }
[data-slot="dialog-content"] *, [data-slot="alert-dialog-content"] *, [data-slot="sheet-content"] *, [data-slot="drawer-content"] *, [data-slot="popover-content"] *, [data-slot="dropdown-menu-content"] *, [data-slot="select-content"] * { border-color: rgba(255,255,255,.12); }
[data-slot="dialog-title"], [data-slot="alert-dialog-title"], [data-slot="sheet-title"], [data-slot="drawer-title"] { color: #f7fafc !important; letter-spacing: -.01em; }
[data-slot="dialog-description"], [data-slot="alert-dialog-description"], [data-slot="sheet-description"], [data-slot="drawer-description"] { color: #a9b8c6 !important; }
[data-slot="dropdown-menu-item"]:focus, [data-slot="select-item"]:focus, [data-slot="dropdown-menu-item"][data-highlighted], [data-slot="select-item"][data-highlighted] { background: rgba(205,245,106,.16) !important; color: #f7fafc !important; }
[data-slot="dialog-content"] input, [data-slot="dialog-content"] textarea, [data-slot="dialog-content"] select, [data-slot="alert-dialog-content"] input, [data-slot="sheet-content"] input, [data-slot="sheet-content"] textarea { background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.14) !important; color: #f7fafc !important; border-radius: 14px !important; }
[data-slot="dialog-content"] label, [data-slot="alert-dialog-content"] label, [data-slot="sheet-content"] label { color: #cfdbe6 !important; }
[data-slot="dialog-content"] [data-slot="button"]:not([class*="bg-destructive"]):not([class*="outline"]), [data-slot="alert-dialog-content"] [data-slot="button"]:not([class*="bg-destructive"]):not([class*="outline"]) { background: linear-gradient(180deg, var(--lime-a), var(--lime-b)) !important; color: var(--ink) !important; border-radius: 16px !important; font-weight: 800; }
@media (prefers-reduced-motion: reduce) { [data-slot="dialog-content"], [data-slot="alert-dialog-content"] { animation: none !important; } }

/* Ventanas modales hechas a mano (Editar usuario, nuevas tarifas, parcelas, SOS, consejos…): fondo difuminado y tarjeta de vidrio */
.fixed.inset-0[class*="bg-black/"] { background: rgba(6, 12, 18, .5) !important; -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3); }
.fixed.inset-0[class*="bg-black/"] > div, .fixed.inset-0[class*="bg-black/"] > [data-slot="card"] { border: 1px solid var(--glass-line) !important; border-radius: 30px !important; background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.03) 40%), var(--glass-bg-strong) !important; color: #f4f8fb; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; animation: upPop .3s var(--ease-pop); }
.fixed.inset-0[class*="bg-black/"] > div h1, .fixed.inset-0[class*="bg-black/"] > div h2, .fixed.inset-0[class*="bg-black/"] > div h3 { color: #f7fafc !important; letter-spacing: -.01em; }
.fixed.inset-0[class*="bg-black/"] > div [class*="text-slate-9"], .fixed.inset-0[class*="bg-black/"] > div [class*="text-gray-9"] { color: #f4f8fb !important; }
.fixed.inset-0[class*="bg-black/"] > div [class*="text-slate-5"], .fixed.inset-0[class*="bg-black/"] > div [class*="text-slate-6"], .fixed.inset-0[class*="bg-black/"] > div [class*="text-gray-5"], .fixed.inset-0[class*="bg-black/"] > div [class*="text-gray-6"], .fixed.inset-0[class*="bg-black/"] > div [class*="text-muted"] { color: #a9b8c6 !important; }
.fixed.inset-0[class*="bg-black/"] > div input, .fixed.inset-0[class*="bg-black/"] > div textarea, .fixed.inset-0[class*="bg-black/"] > div select { background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.14) !important; color: #f7fafc !important; border-radius: 14px !important; }
.fixed.inset-0[class*="bg-black/"] > div label { color: #cfdbe6 !important; }
.fixed.inset-0[class*="bg-black/"] > div [class*="border-slate-"], .fixed.inset-0[class*="bg-black/"] > div [class*="border-gray-"] { border-color: rgba(255,255,255,.12) !important; }
.fixed.inset-0[class*="bg-black/"] > div [class*="bg-white"]:not([class*="bg-white/"]), .fixed.inset-0[class*="bg-black/"] > div [class*="bg-slate-50"], .fixed.inset-0[class*="bg-black/"] > div [class*="bg-gray-50"] { background: rgba(255,255,255,.06) !important; }
.fixed.inset-0[class*="bg-black/"] > div button[class*="bg-blue-"], .fixed.inset-0[class*="bg-black/"] > div button[class*="bg-green-"], .fixed.inset-0[class*="bg-black/"] > div button[class*="bg-emerald-"] { background: linear-gradient(180deg, var(--lime-a), var(--lime-b)) !important; color: var(--ink) !important; border-radius: 16px !important; font-weight: 800; }
@media (prefers-reduced-motion: reduce) { .fixed.inset-0[class*="bg-black/"] > div { animation: none !important; } }

/* Consejos de seguridad: vidrio + lima (antes amarillo) */
.up-tips { border: 1px solid var(--glass-line) !important; border-radius: 30px !important; background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.03) 40%), var(--glass-bg-strong) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), var(--glass-hi) !important; animation: upPop .3s var(--ease-pop); }
.up-tips .up-tips__head { background: transparent !important; border-bottom: 1px solid rgba(255,255,255,.1); }
.up-tips .up-tips__head h3 { color: #f7fafc !important; }
.up-tips .up-tips__head [class*="text-amber"] { color: var(--lime-a) !important; }
.up-tips .up-tips__head button[class*="rounded-full"] { background: rgba(255,255,255,.1) !important; }
.up-tips .up-tips__head button[class*="rounded-full"] svg { color: #e9f2f8 !important; }
.up-tips [class*="bg-amber-500"] { background: linear-gradient(180deg, var(--lime-a), var(--lime-b)) !important; color: var(--ink) !important; }
.up-tips [class*="bg-white/70"] { background: rgba(255,255,255,.1) !important; color: #e9f2f8 !important; }
.up-tips [class*="text-amber-8"] { color: #e9f2f8 !important; }
.up-tips [class~="bg-amber-50"] { background: rgba(205,245,106,.1) !important; border-color: rgba(205,245,106,.28) !important; }
.up-tips [class*="text-amber-"] { color: var(--lime-a); }
.up-tips [class*="bg-slate-200"] { background: rgba(255,255,255,.22) !important; }
/* La burbuja de soporte no debe tapar ventanas abiertas */
body:has(.up-tips) #dm-inbox-root, body:has(.fixed.inset-0[class*="bg-black/"]) #dm-inbox-root { display: none !important; }

/* ===== Pasteles viejos → vidrio y lima (v22): violeta/azul → lima; ámbar → ámbar oscuro; rojo → rojo oscuro ===== */
[class~="bg-violet-50"],[class*="bg-violet-50/"],[class~="bg-violet-100"],[class*="bg-violet-100/"],[class~="bg-violet-200"],[class*="bg-violet-200/"]{background-color:rgba(205,245,106,.12)!important}
[class~="border-violet-100"],[class*="border-violet-100/"],[class~="border-violet-200"],[class*="border-violet-200/"],[class~="border-violet-300"],[class*="border-violet-300/"],[class~="border-violet-400"],[class*="border-violet-400/"],[class~="border-violet-500"],[class*="border-violet-500/"]{border-color:rgba(205,245,106,.3)!important}
[class~="text-violet-300"],[class*="text-violet-300/"],[class~="text-violet-400"],[class*="text-violet-400/"],[class~="text-violet-500"],[class*="text-violet-500/"],[class~="text-violet-600"],[class*="text-violet-600/"],[class~="text-violet-700"],[class*="text-violet-700/"],[class~="text-violet-800"],[class*="text-violet-800/"],[class~="text-violet-900"],[class*="text-violet-900/"]{color:#cdf56a!important}
[class~="bg-violet-400"],[class*="bg-violet-400/"],[class~="bg-violet-500"],[class*="bg-violet-500/"],[class~="bg-violet-600"],[class*="bg-violet-600/"],[class~="bg-violet-700"],[class*="bg-violet-700/"]{background-color:#b7ef4c!important;color:#10200f!important}
[class*="from-violet-"]{background-image:linear-gradient(135deg,#cdf56a,#a6e22e)!important}
[class~="bg-purple-50"],[class*="bg-purple-50/"],[class~="bg-purple-100"],[class*="bg-purple-100/"],[class~="bg-purple-200"],[class*="bg-purple-200/"]{background-color:rgba(205,245,106,.12)!important}
[class~="border-purple-100"],[class*="border-purple-100/"],[class~="border-purple-200"],[class*="border-purple-200/"],[class~="border-purple-300"],[class*="border-purple-300/"],[class~="border-purple-400"],[class*="border-purple-400/"],[class~="border-purple-500"],[class*="border-purple-500/"]{border-color:rgba(205,245,106,.3)!important}
[class~="text-purple-300"],[class*="text-purple-300/"],[class~="text-purple-400"],[class*="text-purple-400/"],[class~="text-purple-500"],[class*="text-purple-500/"],[class~="text-purple-600"],[class*="text-purple-600/"],[class~="text-purple-700"],[class*="text-purple-700/"],[class~="text-purple-800"],[class*="text-purple-800/"],[class~="text-purple-900"],[class*="text-purple-900/"]{color:#cdf56a!important}
[class~="bg-purple-400"],[class*="bg-purple-400/"],[class~="bg-purple-500"],[class*="bg-purple-500/"],[class~="bg-purple-600"],[class*="bg-purple-600/"],[class~="bg-purple-700"],[class*="bg-purple-700/"]{background-color:#b7ef4c!important;color:#10200f!important}
[class*="from-purple-"]{background-image:linear-gradient(135deg,#cdf56a,#a6e22e)!important}
[class~="bg-indigo-50"],[class*="bg-indigo-50/"],[class~="bg-indigo-100"],[class*="bg-indigo-100/"],[class~="bg-indigo-200"],[class*="bg-indigo-200/"]{background-color:rgba(205,245,106,.12)!important}
[class~="border-indigo-100"],[class*="border-indigo-100/"],[class~="border-indigo-200"],[class*="border-indigo-200/"],[class~="border-indigo-300"],[class*="border-indigo-300/"],[class~="border-indigo-400"],[class*="border-indigo-400/"],[class~="border-indigo-500"],[class*="border-indigo-500/"]{border-color:rgba(205,245,106,.3)!important}
[class~="text-indigo-300"],[class*="text-indigo-300/"],[class~="text-indigo-400"],[class*="text-indigo-400/"],[class~="text-indigo-500"],[class*="text-indigo-500/"],[class~="text-indigo-600"],[class*="text-indigo-600/"],[class~="text-indigo-700"],[class*="text-indigo-700/"],[class~="text-indigo-800"],[class*="text-indigo-800/"],[class~="text-indigo-900"],[class*="text-indigo-900/"]{color:#cdf56a!important}
[class~="bg-indigo-400"],[class*="bg-indigo-400/"],[class~="bg-indigo-500"],[class*="bg-indigo-500/"],[class~="bg-indigo-600"],[class*="bg-indigo-600/"],[class~="bg-indigo-700"],[class*="bg-indigo-700/"]{background-color:#b7ef4c!important;color:#10200f!important}
[class*="from-indigo-"]{background-image:linear-gradient(135deg,#cdf56a,#a6e22e)!important}
[class~="bg-blue-50"],[class*="bg-blue-50/"],[class~="bg-blue-100"],[class*="bg-blue-100/"],[class~="bg-blue-200"],[class*="bg-blue-200/"]{background-color:rgba(205,245,106,.12)!important}
[class~="border-blue-100"],[class*="border-blue-100/"],[class~="border-blue-200"],[class*="border-blue-200/"],[class~="border-blue-300"],[class*="border-blue-300/"],[class~="border-blue-400"],[class*="border-blue-400/"],[class~="border-blue-500"],[class*="border-blue-500/"]{border-color:rgba(205,245,106,.3)!important}
[class~="text-blue-300"],[class*="text-blue-300/"],[class~="text-blue-400"],[class*="text-blue-400/"],[class~="text-blue-500"],[class*="text-blue-500/"],[class~="text-blue-600"],[class*="text-blue-600/"],[class~="text-blue-700"],[class*="text-blue-700/"],[class~="text-blue-800"],[class*="text-blue-800/"],[class~="text-blue-900"],[class*="text-blue-900/"]{color:#cdf56a!important}
[class~="bg-blue-400"],[class*="bg-blue-400/"],[class~="bg-blue-500"],[class*="bg-blue-500/"],[class~="bg-blue-600"],[class*="bg-blue-600/"],[class~="bg-blue-700"],[class*="bg-blue-700/"]{background-color:#b7ef4c!important;color:#10200f!important}
[class*="from-blue-"]{background-image:linear-gradient(135deg,#cdf56a,#a6e22e)!important}
[class~="bg-sky-50"],[class*="bg-sky-50/"],[class~="bg-sky-100"],[class*="bg-sky-100/"],[class~="bg-sky-200"],[class*="bg-sky-200/"]{background-color:rgba(205,245,106,.12)!important}
[class~="border-sky-100"],[class*="border-sky-100/"],[class~="border-sky-200"],[class*="border-sky-200/"],[class~="border-sky-300"],[class*="border-sky-300/"],[class~="border-sky-400"],[class*="border-sky-400/"],[class~="border-sky-500"],[class*="border-sky-500/"]{border-color:rgba(205,245,106,.3)!important}
[class~="text-sky-300"],[class*="text-sky-300/"],[class~="text-sky-400"],[class*="text-sky-400/"],[class~="text-sky-500"],[class*="text-sky-500/"],[class~="text-sky-600"],[class*="text-sky-600/"],[class~="text-sky-700"],[class*="text-sky-700/"],[class~="text-sky-800"],[class*="text-sky-800/"],[class~="text-sky-900"],[class*="text-sky-900/"]{color:#cdf56a!important}
[class~="bg-sky-400"],[class*="bg-sky-400/"],[class~="bg-sky-500"],[class*="bg-sky-500/"],[class~="bg-sky-600"],[class*="bg-sky-600/"],[class~="bg-sky-700"],[class*="bg-sky-700/"]{background-color:#b7ef4c!important;color:#10200f!important}
[class*="from-sky-"]{background-image:linear-gradient(135deg,#cdf56a,#a6e22e)!important}
[class~="bg-cyan-50"],[class*="bg-cyan-50/"],[class~="bg-cyan-100"],[class*="bg-cyan-100/"],[class~="bg-cyan-200"],[class*="bg-cyan-200/"]{background-color:rgba(205,245,106,.12)!important}
[class~="border-cyan-100"],[class*="border-cyan-100/"],[class~="border-cyan-200"],[class*="border-cyan-200/"],[class~="border-cyan-300"],[class*="border-cyan-300/"],[class~="border-cyan-400"],[class*="border-cyan-400/"],[class~="border-cyan-500"],[class*="border-cyan-500/"]{border-color:rgba(205,245,106,.3)!important}
[class~="text-cyan-300"],[class*="text-cyan-300/"],[class~="text-cyan-400"],[class*="text-cyan-400/"],[class~="text-cyan-500"],[class*="text-cyan-500/"],[class~="text-cyan-600"],[class*="text-cyan-600/"],[class~="text-cyan-700"],[class*="text-cyan-700/"],[class~="text-cyan-800"],[class*="text-cyan-800/"],[class~="text-cyan-900"],[class*="text-cyan-900/"]{color:#cdf56a!important}
[class~="bg-cyan-400"],[class*="bg-cyan-400/"],[class~="bg-cyan-500"],[class*="bg-cyan-500/"],[class~="bg-cyan-600"],[class*="bg-cyan-600/"],[class~="bg-cyan-700"],[class*="bg-cyan-700/"]{background-color:#b7ef4c!important;color:#10200f!important}
[class*="from-cyan-"]{background-image:linear-gradient(135deg,#cdf56a,#a6e22e)!important}
[class~="bg-fuchsia-50"],[class*="bg-fuchsia-50/"],[class~="bg-fuchsia-100"],[class*="bg-fuchsia-100/"],[class~="bg-fuchsia-200"],[class*="bg-fuchsia-200/"]{background-color:rgba(205,245,106,.12)!important}
[class~="border-fuchsia-100"],[class*="border-fuchsia-100/"],[class~="border-fuchsia-200"],[class*="border-fuchsia-200/"],[class~="border-fuchsia-300"],[class*="border-fuchsia-300/"],[class~="border-fuchsia-400"],[class*="border-fuchsia-400/"],[class~="border-fuchsia-500"],[class*="border-fuchsia-500/"]{border-color:rgba(205,245,106,.3)!important}
[class~="text-fuchsia-300"],[class*="text-fuchsia-300/"],[class~="text-fuchsia-400"],[class*="text-fuchsia-400/"],[class~="text-fuchsia-500"],[class*="text-fuchsia-500/"],[class~="text-fuchsia-600"],[class*="text-fuchsia-600/"],[class~="text-fuchsia-700"],[class*="text-fuchsia-700/"],[class~="text-fuchsia-800"],[class*="text-fuchsia-800/"],[class~="text-fuchsia-900"],[class*="text-fuchsia-900/"]{color:#cdf56a!important}
[class~="bg-fuchsia-400"],[class*="bg-fuchsia-400/"],[class~="bg-fuchsia-500"],[class*="bg-fuchsia-500/"],[class~="bg-fuchsia-600"],[class*="bg-fuchsia-600/"],[class~="bg-fuchsia-700"],[class*="bg-fuchsia-700/"]{background-color:#b7ef4c!important;color:#10200f!important}
[class*="from-fuchsia-"]{background-image:linear-gradient(135deg,#cdf56a,#a6e22e)!important}
[class~="bg-amber-50"],[class*="bg-amber-50/"],[class~="bg-amber-100"],[class*="bg-amber-100/"],[class~="bg-amber-200"],[class*="bg-amber-200/"]{background-color:rgba(245,184,66,.13)!important}
[class~="border-amber-100"],[class*="border-amber-100/"],[class~="border-amber-200"],[class*="border-amber-200/"],[class~="border-amber-300"],[class*="border-amber-300/"]{border-color:rgba(245,184,66,.32)!important}
[class~="text-amber-600"],[class*="text-amber-600/"],[class~="text-amber-700"],[class*="text-amber-700/"],[class~="text-amber-800"],[class*="text-amber-800/"],[class~="text-amber-900"],[class*="text-amber-900/"]{color:#f7cd7b!important}
[class~="bg-yellow-50"],[class*="bg-yellow-50/"],[class~="bg-yellow-100"],[class*="bg-yellow-100/"],[class~="bg-yellow-200"],[class*="bg-yellow-200/"]{background-color:rgba(245,184,66,.13)!important}
[class~="border-yellow-100"],[class*="border-yellow-100/"],[class~="border-yellow-200"],[class*="border-yellow-200/"],[class~="border-yellow-300"],[class*="border-yellow-300/"]{border-color:rgba(245,184,66,.32)!important}
[class~="text-yellow-600"],[class*="text-yellow-600/"],[class~="text-yellow-700"],[class*="text-yellow-700/"],[class~="text-yellow-800"],[class*="text-yellow-800/"],[class~="text-yellow-900"],[class*="text-yellow-900/"]{color:#f7cd7b!important}
[class~="bg-orange-50"],[class*="bg-orange-50/"],[class~="bg-orange-100"],[class*="bg-orange-100/"],[class~="bg-orange-200"],[class*="bg-orange-200/"]{background-color:rgba(245,184,66,.13)!important}
[class~="border-orange-100"],[class*="border-orange-100/"],[class~="border-orange-200"],[class*="border-orange-200/"],[class~="border-orange-300"],[class*="border-orange-300/"]{border-color:rgba(245,184,66,.32)!important}
[class~="text-orange-600"],[class*="text-orange-600/"],[class~="text-orange-700"],[class*="text-orange-700/"],[class~="text-orange-800"],[class*="text-orange-800/"],[class~="text-orange-900"],[class*="text-orange-900/"]{color:#f7cd7b!important}
[class~="bg-rose-50"],[class*="bg-rose-50/"],[class~="bg-rose-100"],[class*="bg-rose-100/"],[class~="bg-rose-200"],[class*="bg-rose-200/"]{background-color:rgba(255,69,58,.13)!important}
[class~="border-rose-100"],[class*="border-rose-100/"],[class~="border-rose-200"],[class*="border-rose-200/"],[class~="border-rose-300"],[class*="border-rose-300/"]{border-color:rgba(255,69,58,.32)!important}
[class~="text-rose-600"],[class*="text-rose-600/"],[class~="text-rose-700"],[class*="text-rose-700/"],[class~="text-rose-800"],[class*="text-rose-800/"],[class~="text-rose-900"],[class*="text-rose-900/"]{color:#ffa39c!important}
[class~="bg-red-50"],[class*="bg-red-50/"],[class~="bg-red-100"],[class*="bg-red-100/"],[class~="bg-red-200"],[class*="bg-red-200/"]{background-color:rgba(255,69,58,.13)!important}
[class~="border-red-100"],[class*="border-red-100/"],[class~="border-red-200"],[class*="border-red-200/"],[class~="border-red-300"],[class*="border-red-300/"]{border-color:rgba(255,69,58,.32)!important}
[class~="text-red-600"],[class*="text-red-600/"],[class~="text-red-700"],[class*="text-red-700/"],[class~="text-red-800"],[class*="text-red-800/"],[class~="text-red-900"],[class*="text-red-900/"]{color:#ffa39c!important}
[class~="bg-pink-50"],[class*="bg-pink-50/"],[class~="bg-pink-100"],[class*="bg-pink-100/"],[class~="bg-pink-200"],[class*="bg-pink-200/"]{background-color:rgba(255,69,58,.13)!important}
[class~="border-pink-100"],[class*="border-pink-100/"],[class~="border-pink-200"],[class*="border-pink-200/"],[class~="border-pink-300"],[class*="border-pink-300/"]{border-color:rgba(255,69,58,.32)!important}
[class~="text-pink-600"],[class*="text-pink-600/"],[class~="text-pink-700"],[class*="text-pink-700/"],[class~="text-pink-800"],[class*="text-pink-800/"],[class~="text-pink-900"],[class*="text-pink-900/"]{color:#ffa39c!important}

/* ===== FAQ cards (inline styles) ===== */
.up-faq div.rounded-2xl[style*="background"]{background:var(--glass-bg)!important;border:1px solid var(--glass-line)!important;box-shadow:var(--glass-hi),var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.up-faq div.rounded-2xl[style*="0.4)"]{border-color:rgba(183,239,76,.45)!important}
.up-faq [class*="text-[oklch(0.14"]{color:#f2f7ee!important}
.up-faq [class*="text-[oklch(0.45"]{color:rgba(235,244,228,.72)!important}
.up-faq [style*="oklch(0.76 0.18 125 / 0.2)"]{background:rgba(255,255,255,.12)!important}

/* ===== Admin: charts + mapa God's Eye ===== */
.recharts-bar-rectangle path,.recharts-bar-rectangle rect{fill:#b7ef4c!important}
.recharts-bar-rectangle:nth-of-type(n) path{fill:#b7ef4c!important}
.recharts-bar:nth-of-type(2) .recharts-bar-rectangle path{fill:#6b8f1f!important}
.recharts-cartesian-grid line{stroke:rgba(255,255,255,.08)!important}
.recharts-text,.recharts-cartesian-axis-tick-value{fill:rgba(235,244,228,.6)!important}
.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--glass-bg-strong)!important;border:1px solid var(--glass-line)!important;border-radius:12px!important;color:#f2f7ee!important}
.absolute.left-4.top-4[class*="bg-white/95"]{background:var(--glass-bg-strong)!important;color:#f2f7ee!important;border:1px solid var(--glass-line);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-hi),var(--glass-shadow)}
input[type=date]{color-scheme:dark}

/* Buscando conductor: sin la hoja "Conductor en camino" encima de la tarjeta de búsqueda */
.mobile-map-large--searching .leaflet-ride-map__sheet,.mobile-map-large--searching .leaflet-ride-map__follow{display:none!important}

/* ===== Panel admin en teléfono: menú lateral como cajón con botón ☰ ===== */
.up-nav-btn,.up-nav-back{display:none}
@media (max-width:900px){
  .passenger-operations-dark>aside.w-64{position:fixed!important;left:0;top:0;bottom:0;height:100vh!important;height:100dvh!important;width:min(82vw,300px)!important;z-index:70;transform:translateX(-102%);transition:transform .25s ease;box-shadow:none}
  .passenger-operations-dark>aside.w-64 nav{padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0}
  html.up-nav-open .passenger-operations-dark>aside.w-64{transform:none;box-shadow:12px 0 40px rgba(0,0,0,.55)}
  .passenger-operations-dark>main{width:100%;min-width:0}
  .passenger-operations-dark>main>header{padding-left:64px!important;padding-right:12px!important}
  .passenger-operations-dark>main>div{padding:14px!important}
  .up-nav-btn{display:flex;position:fixed;left:12px;top:12px;width:42px;height:42px;z-index:65;align-items:center;justify-content:center;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(15,23,32,.92);color:#b7ef4c;font-size:22px;line-height:1;backdrop-filter:blur(10px)}
  html.up-nav-open .up-nav-btn{display:none}
  .up-nav-back{position:fixed;inset:0;z-index:69;background:rgba(0,0,0,.5)}
  html.up-nav-open .up-nav-back{display:block}
}
@media (max-width:900px){
  .passenger-operations-dark>main>header{flex-wrap:wrap;gap:8px}
  .passenger-operations-dark>main>header>div:last-child{flex-wrap:wrap;gap:8px}
}
.up-nodriver{margin-top:10px;text-align:left}
.up-nodriver>p{font-size:13.5px;line-height:1.5;opacity:.85;margin:0 0 12px;text-align:center}
/* Buscando conductor: mapa más bajo para que la tarjeta y sus botones quepan sin esconderse */
.mobile-map-large--searching{height:30vh!important;min-height:200px!important}
.mobile-map-large--searching .mobile-map-live-badge{display:none}
.mobile-app .mobile-tracking-card{margin-bottom:24px}

/* Mapa del chofer: HUD compacto, sin hoja inferior; nada tapa el mapa */
.leaflet-ride-map__hud--compact { top: 10px !important; left: 10px !important; min-width: 0 !important; max-width: 52% !important; flex-direction: column !important; gap: 1px !important; padding: 8px 12px !important; border-radius: 14px !important; }
.leaflet-ride-map__hud--compact strong { font-size: 18px !important; }
.leaflet-ride-map__hud--compact span, .leaflet-ride-map__hud--compact small { font-size: 9px !important; }
.up-trip-map .leaflet-ride-map { min-height: 0 !important; border-radius: 0 !important; }
.up-trip-map .maplibregl-ctrl-bottom-right, .up-trip-map .maplibregl-ctrl-bottom-left { opacity: .75; }
.up-trip-map .leaflet-ride-map__follow { top: auto !important; bottom: 12px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) !important; }
