/**
 * Injected UI Polish — Professional styling for all injected components
 * All injected elements are kept SMALL and minimal so they don't dominate the screen
 */

/* ═══════════════════════════════════════════════════════════
   NAVIGATION LINKS (Rotation, Leaves)
   ═══════════════════════════════════════════════════════════ */
.rot-nav-link,
.lv-nav-link,
#nav-rotation,
#nav-leaves {
  display: inline-flex !important;
  align-items: center;
  gap: 3px;
  padding: 4px 7px !important;
  color: #9ca3af !important;
  font-size: 9px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-family: Inter, -apple-system, sans-serif !important;
  border-radius: 5px !important;
  transition: all 0.2s ease !important;
  border: 1px solid transparent !important;
  white-space: nowrap;
}
.rot-nav-link:hover, .rot-nav-link:active,
.lv-nav-link:hover, .lv-nav-link:active,
#nav-rotation:hover, #nav-leaves:hover {
  color: #10B981 !important;
  background: rgba(16,185,129,0.06) !important;
  border-color: rgba(16,185,129,0.15) !important;
}

/* ═══════════════════════════════════════════════════════════
   DRIVER PANEL (top fixed panel) — COMPACT
   ═══════════════════════════════════════════════════════════ */
.dp-panel,
#drv-panel {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9998 !important;
  background: #0d0d0d !important;
  border-bottom: 1px solid #1a1a1a !important;
  box-shadow: 0 1px 6px rgba(0,0,0,0.3) !important;
  max-height: 35vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  font-family: Inter, -apple-system, sans-serif !important;
}

.dp-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 5px 10px !important;
  background: #080808 !important;
  border-bottom: 1px solid #151515 !important;
  min-height: 28px !important;
}

.dp-header span {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #d1d5db !important;
}

.dp-toggle {
  background: none !important;
  border: 1px solid #2a2a2a !important;
  color: #666 !important;
  border-radius: 4px !important;
  padding: 2px 6px !important;
  font-size: 9px !important;
  cursor: pointer !important;
}

.dp-body {
  overflow-y: auto !important;
  max-height: calc(35vh - 28px) !important;
  padding: 4px 6px !important;
  -webkit-overflow-scrolling: touch;
}

.dp-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 5px 7px !important;
  border-radius: 6px !important;
  background: #111 !important;
  margin-bottom: 3px !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
  border: 1px solid #1a1a1a !important;
}

.dp-info {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.dp-name {
  font-size: 9px !important;
  font-weight: 700 !important;
  color: #d1d5db !important;
}

.dp-pax {
  font-size: 8px !important;
  font-weight: 700 !important;
  color: #10B981 !important;
  background: rgba(16,185,129,0.08) !important;
  padding: 1px 4px !important;
  border-radius: 3px !important;
}

.dp-cur {
  font-size: 8px !important;
  font-weight: 600 !important;
  color: #60A5FA !important;
  background: rgba(30,58,95,0.4) !important;
  padding: 1px 4px !important;
  border-radius: 3px !important;
}

.dp-no {
  font-size: 8px !important;
  color: #444 !important;
}

.dp-coop {
  font-size: 8px !important;
  font-weight: 600 !important;
  color: #F59E0B !important;
  background: rgba(66,32,6,0.4) !important;
  padding: 1px 4px !important;
  border-radius: 3px !important;
}

.dp-route {
  font-size: 8px !important;
  font-weight: 600 !important;
  color: #A78BFA !important;
  background: rgba(46,16,101,0.4) !important;
  padding: 1px 4px !important;
  border-radius: 3px !important;
}

.dp-act {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  flex-wrap: wrap !important;
}

.dp-sel,
.dp-coop-sel,
.dp-route-sel {
  background: #151515 !important;
  border: 1px solid #222 !important;
  border-radius: 4px !important;
  padding: 3px 4px !important;
  color: #d1d5db !important;
  font-size: 8px !important;
  outline: none !important;
  font-family: inherit !important;
  min-width: 0 !important;
  max-width: 90px !important;
}

.dp-btn {
  background: #2563EB !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 3px 7px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.dp-rem {
  background: none !important;
  color: #555 !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 4px !important;
  padding: 3px 5px !important;
  font-size: 9px !important;
  cursor: pointer !important;
}

.dp-rem:hover {
  color: #EF4444 !important;
  border-color: #EF4444 !important;
}

/* ═══════════════════════════════════════════════════════════
   INLINE DRIVER ROW (inside group cards) — COMPACT
   ═══════════════════════════════════════════════════════════ */
[data-drv-id] {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 5px 8px !important;
  margin: 3px 0 !important;
  background: #0d1117 !important;
  border: 1px solid #1e3a5f !important;
  border-radius: 6px !important;
  flex-wrap: wrap !important;
  font-family: Inter, -apple-system, sans-serif !important;
}

[data-drv-id] span {
  font-size: 9px !important;
}

[data-drv-id] select {
  background: #151515 !important;
  border: 1px solid #222 !important;
  border-radius: 5px !important;
  padding: 4px 5px !important;
  color: #d1d5db !important;
  font-size: 9px !important;
  outline: none !important;
  font-family: inherit !important;
  min-width: 60px !important;
  flex: 1 !important;
}

[data-drv-id] button {
  border-radius: 5px !important;
  padding: 4px 8px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  font-family: inherit !important;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — EXTRA COMPACT
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  .dp-panel, #drv-panel {
    max-height: 30vh !important;
  }
  
  .dp-row {
    padding: 4px 5px !important;
    gap: 3px !important;
    margin-bottom: 2px !important;
  }
  
  .dp-act {
    width: 100% !important;
  }
  
  .dp-sel, .dp-coop-sel, .dp-route-sel {
    flex: 1 !important;
    max-width: none !important;
    font-size: 8px !important;
    padding: 4px 3px !important;
  }
  
  .dp-info {
    width: 100% !important;
    margin-bottom: 2px !important;
  }
  
  [data-drv-id] {
    padding: 4px 6px !important;
    gap: 3px !important;
  }
  
  [data-drv-id] select {
    font-size: 8px !important;
    padding: 3px 4px !important;
  }
  
  [data-drv-id] button {
    padding: 3px 6px !important;
    font-size: 8px !important;
  }
}

@media (max-width: 360px) {
  .dp-header span {
    font-size: 9px !important;
  }
  
  .dp-name {
    font-size: 8px !important;
  }
  
  .dp-pax, .dp-cur, .dp-coop, .dp-route {
    font-size: 7px !important;
    padding: 1px 3px !important;
  }
  
  .dp-sel, .dp-coop-sel, .dp-route-sel {
    font-size: 7px !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   PREVENT CONTENT OVERLAP
   ═══════════════════════════════════════════════════════════ */
body:has(.dp-panel) #root,
body:has(#drv-panel) #root {
  padding-top: 36px !important;
}

#root {
  transition: padding-top 0.15s ease;
}

/* ═══════════════════════════════════════════════════════════
   GUIDE SELECTOR (smart optgroups)
   ═══════════════════════════════════════════════════════════ */
select[data-smart-guide] optgroup {
  font-weight: 700;
  font-size: 10px;
  color: #888;
}

select[data-smart-guide] option {
  font-size: 11px;
  padding: 3px 6px;
}

/* ═══════════════════════════════════════════════════════════
   TOMORROW BADGE — tiny
   ═══════════════════════════════════════════════════════════ */
#tomorrow-badge {
  position: fixed !important;
  top: 3px !important;
  right: 8px !important;
  z-index: 99999 !important;
  background: #7C3AED !important;
  color: #fff !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  font-family: Inter, sans-serif !important;
  box-shadow: 0 1px 4px rgba(124,58,237,0.25) !important;
  pointer-events: none !important;
}

/* ═══════════════════════════════════════════════════════════
   TOAST MESSAGES — compact
   ═══════════════════════════════════════════════════════════ */
#drv-toast,
#lv-toast,
#lm-toast {
  position: fixed !important;
  bottom: 60px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #141414 !important;
  color: #d1d5db !important;
  padding: 6px 12px !important;
  border-radius: 6px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  z-index: 999999 !important;
  font-family: Inter, sans-serif !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.3) !important;
  border: 1px solid #222 !important;
  max-width: 240px !important;
  text-align: center !important;
}
