/**
 * Mobile + driver UX v6.8.4
 * Telefonski izgled, app shell voza?a, registracija kamiona.
 */

/* ?? Registracija voza?a ?? */
body.bu-auth-chrome.bu-reg-trucker-active .bu-reg-tab.green.is-on,
.bu-reg-form.bu-reg-trucker {
  --reg-accent: #16a34a;
}

.bu-reg-driver-hint {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #bbf7d0;
  background: linear-gradient(90deg, #f0fdf4, #fff);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  color: #166534;
}

.bu-reg-form.bu-reg-trucker .bu-reg-step-title {
  color: #14532d;
}

.bu-reg-form.bu-reg-trucker .bu-reg-submit {
  box-shadow: 0 8px 24px rgba(22, 163, 74, 0.28);
}

@media (max-width: 520px) {
  body.bu-auth-chrome .bu-reg-shell {
    padding: 12px 14px 24px;
  }

  body.bu-auth-chrome .bu-reg-tabs {
    position: sticky;
    top: calc(4.5rem + env(safe-area-inset-top));
    z-index: 40;
    background: rgba(244, 247, 251, 0.95);
    backdrop-filter: blur(10px);
    padding: 8px 0;
    margin: 0 0 12px;
  }

  body.bu-auth-chrome .bu-reg-tab {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
  }

  body.bu-auth-chrome .bu-reg-form.bu-form-card {
    padding: 14px;
    border-radius: 16px;
  }

  body.bu-auth-chrome .bu-reg-actions {
    position: sticky;
    bottom: calc(8px + env(safe-area-inset-bottom));
    z-index: 30;
    padding: 10px 0 4px;
    background: linear-gradient(180deg, transparent, #f4f7fb 35%);
  }

  body.bu-auth-chrome .bu-reg-actions .bu-btn {
    min-height: 48px;
    font-size: 14px;
  }
}

/* ?? Driver app shell ?? */
.bu-appshell--driver {
  background: linear-gradient(180deg, #e0f2fe 0%, #f0fdf4 38%, #f8fafc 100%);
}

.bu-appshell--driver .bu-appshell-top {
  border-bottom-color: #bae6fd;
}

.bu-appshell--driver .bu-appscreen {
  animation: bu-app-in 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes bu-app-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.bu-appshell--driver .bu-app-status {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.bu-appshell--driver .bu-status {
  min-height: 84px;
  border-radius: 18px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.bu-appshell--driver .bu-status:active {
  transform: scale(0.98);
}

.bu-appshell--driver .bu-app-card {
  border-radius: 18px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.bu-app-empty .bu-kicker {
  color: #64748b;
}

.bu-app-empty p {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.45;
  color: #475569;
}

/* Zadaci ? 3 status dugmeta */
.bu-app-card .bu-app-status {
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.bu-app-card .bu-app-status .bu-status {
  min-height: 56px;
  font-size: 11px;
  border-radius: 12px;
}

.bu-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.bu-badge.free {
  background: #dcfce7;
  color: #166534;
}

.bu-badge.driving {
  background: #fef3c7;
  color: #92400e;
}

.bu-badge.service {
  background: #f1f5f9;
  color: #64748b;
}

/* Vi?e menu ? driver */
.bu-app-menu--rows a {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 12px 16px;
  min-height: 56px;
}

.bu-app-menu--rows a span {
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
}

.bu-app-menu--rows a:active {
  background: #f0fdf4;
}

/* In-app board (voza? na telefonu) */
body.bu-app-page.bu-term .bu-appshell-main {
  max-width: none;
  width: 100%;
}

body.bu-app-page .bu-board-in-app {
  min-height: calc(100dvh - 48px - 56px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
}

body.bu-app-page .bu-board-in-app .bu-board-bar {
  flex-shrink: 0;
}

body.bu-app-page .bu-board-in-app .bu-board-body {
  flex: 1 1 auto;
  min-height: 0;
}

body.bu-app-page .bu-board-in-app .bu-switch {
  margin: 8px 10px 0;
}

body.bu-app-page .bu-board-in-app .bu-switch button.is-on {
  background: #0284c7;
  color: #fff;
  box-shadow: 0 2px 10px rgba(2, 132, 199, 0.25);
}

body.bu-app-page .bu-mobile-fab-stack.bu-mobile-fab--app {
  bottom: var(--bu-fab-bottom-app, calc(4.75rem + env(safe-area-inset-bottom)));
  right: max(10px, env(safe-area-inset-right, 0px));
  z-index: var(--bu-z-fab, 400);
}

body.bu-app-page .bu-mobile-fab-ai {
  box-shadow: 0 6px 20px rgba(5, 150, 105, 0.35);
}

/* Nalog mobil ? voza? (prevoznik) */
@media (max-width: 767px) {
  body.bu-nalog-page.bu-logged-in:has(.bu-nalog-nav-market) .bu-dash-main {
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
  }

  body.bu-nalog-page .bu-nalog-nav-market.is-on {
    border-color: #86efac !important;
    background: #ecfdf5 !important;
    color: #166534 !important;
  }
}

/* Public board mobil (<900px, ulogovani voza? prije redirecta) */
@media (max-width: 899px) {
  body.bu-board-page.bu-term .bu-board-bar {
    padding: 0 8px 6px;
  }

  body.bu-board-page.bu-term .bu-filters-board .bu-lanes {
    grid-template-columns: 1fr;
  }

  /* Header ? manje ?uma */
  body.bu-board-page .bu-board-header-left {
    display: none;
  }

  body.bu-board-page .bu-board-header-inner {
    min-height: 48px;
    padding: 6px 8px;
    gap: 6px;
  }

  body.bu-board-page .bu-board-header-nav {
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 4px;
  }

  body.bu-board-page .bu-board-nav-tab {
    min-height: 36px;
    padding: 0 10px;
    flex-shrink: 0;
  }

  body.bu-board-page .bu-board-userchip span,
  body.bu-board-page .bu-lang-btn span,
  body.bu-board-page .bu-board-presence {
    display: none;
  }

  /* Switch Lista / Mapa ? BU na FAB (override u chrome 7.6.20) */
  body.bu-board-page .bu-switch {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    margin: 8px 0 4px;
  }

  body.bu-board-page .bu-switch button {
    min-height: 40px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
  }

  body.bu-board-page .bu-lanes-equal {
    grid-template-columns: 1fr;
  }

  body.bu-board-page .bu-lanes-equal .bu-lane {
    min-height: 0;
  }

  body.bu-board-page .bu-minibar-closed {
    margin: 0 0 6px;
    padding: 10px;
  }

  body.bu-board-page .bu-list-toolbar {
    flex-wrap: wrap;
    gap: 6px;
  }

  body.bu-board-page .bu-list-sort-drop,
  body.bu-board-page .bu-veh-drop {
    flex: 1 1 auto;
  }

  body.bu-board-page .bu-list-sort-drop select,
  body.bu-board-page .bu-veh-drop-btn {
    width: 100%;
    max-width: none;
  }

  body.bu-board-page .bu-cols-head {
    display: none;
  }

  body.bu-board-page .bu-term .bu-row,
  body.bu-board-page .bu-feed .bu-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 10px;
    padding: 12px;
    margin: 0 0 8px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    min-height: 0;
    font-size: 13px;
    background: #fff;
  }

  body.bu-board-page .bu-feed .bu-row > :nth-child(1) {
    grid-column: 1;
    font-size: 14px;
  }

  body.bu-board-page .bu-feed .bu-row > :nth-child(2) {
    grid-column: 1;
    opacity: 0.9;
  }

  body.bu-board-page .bu-feed .bu-row > :nth-child(3),
  body.bu-board-page .bu-feed .bu-row > :nth-child(4),
  body.bu-board-page .bu-feed .bu-row > :nth-child(5) {
    grid-column: 1;
    font-size: 12px;
    color: #64748b;
  }

  body.bu-board-page .bu-feed .bu-row > :nth-child(6) {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    font-size: 15px;
    font-weight: 900;
    color: #0f172a;
  }

  body.bu-board-page .bu-map-fleet-btn {
    left: 10px;
    bottom: calc(72px + env(safe-area-inset-bottom));
  }

  body.bu-board-page .bu-board-list,
  body.bu-board-page .bu-board-map,
  body.bu-board-page .bu-dispo {
    min-height: calc(100dvh - 200px);
  }

  body.bu-board-page .bu-feed {
    padding: 8px 8px 96px;
  }

  /* Detalj ? sticky kontakt */
  #bu-mobile-detail-sheet {
    max-height: min(88vh, 720px) !important;
    bottom: 0 !important;
    z-index: 1400;
  }

  #bu-mobile-detail-backdrop {
    z-index: 1390;
  }

  #bu-mobile-detail-foot .bu-dpro-profile-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  #bu-mobile-detail-foot .bu-dpro-act-phone,
  #bu-mobile-detail-foot .bu-dpro-act-msg {
    grid-column: 1 / -1;
  }

  #bu-mobile-detail-foot .bu-btn {
    min-height: 44px;
    font-size: 13px;
    font-weight: 900;
    justify-content: center;
  }

  .bu-fleet-modal {
    z-index: 1600;
    padding: 0;
    place-items: end center;
  }

  .bu-fleet-modal-sheet {
    width: 100%;
    max-height: 92vh;
    border-radius: 20px 20px 0 0;
  }

  .bu-notes {
    left: 12px;
    right: 12px;
    width: auto;
    top: 64px;
    z-index: 1400;
  }
}

/* ?? Phone board: zvono, filter sheet, live toast ?? */
@media (max-width: 899px) {
  body.bu-board-page .bu-bell-board,
  body.bu-nalog-page .bu-bell-board {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  body.bu-board-page .bu-header-sound {
    display: inline-flex !important;
  }

  body.bu-term .bu-board-list-scroll,
  body.bu-term .bu-feed {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  body.bu-term .bu-filters-board.is-open,
  body.bu-term .bu-filters-board:not(.bu-filters-collapsed) {
    position: relative;
    z-index: 30;
  }

  /* Filteri kao sheet kad su otvoreni na telefonu */
  body.bu-term:not(.bu-filters-closed) .bu-board-bar {
    max-height: min(58dvh, 520px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14);
    border-radius: 0 0 16px 16px;
  }

  body.bu-term .bu-live-pop,
  #bu-live-pop {
    left: 12px !important;
    right: 12px !important;
    bottom: calc(var(--bu-appbar-h, 58px) + 12px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    z-index: var(--bu-z-toast, 500) !important;
    border-radius: 14px;
    padding: 12px 14px;
    font-size: 13px;
  }

  .bu-toast {
    bottom: calc(var(--bu-appbar-h, 58px) + 20px + env(safe-area-inset-bottom)) !important;
    left: 50% !important;
    width: min(92vw, 360px);
    z-index: var(--bu-z-toast, 500) !important;
  }

  .bu-note {
    display: grid;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    text-decoration: none;
    color: inherit;
    margin-bottom: 6px;
  }

  .bu-note strong {
    font-size: 13px;
  }

  .bu-note span {
    font-size: 11px;
    color: #64748b;
  }

  .bu-notes header {
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
    padding-bottom: 8px;
  }

  /* ?? Phone AI window (full pane) ?? */
  body.bu-board-page.bu-ai-open .bu-dispo,
  body.bu-term.bu-ai-open .bu-dispo {
    display: flex !important;
    flex-direction: column;
    position: fixed;
    inset: 0;
    top: env(safe-area-inset-top, 0);
    z-index: 1350;
    width: 100%;
    min-height: 100dvh;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    padding: 0 0 env(safe-area-inset-bottom, 0);
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 48%, #f1f5f9 100%);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  body.bu-board-page .bu-dispo:not(.hidden-m),
  body.bu-term .bu-dispo:not(.hidden-m) {
    display: flex;
    flex-direction: column;
    min-height: calc(100dvh - 120px);
  }

  body.bu-board-page .bu-dispo-head,
  body.bu-term .bu-dispo-head {
    flex-shrink: 0;
    padding: 14px 16px 10px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
  }

  body.bu-board-page .bu-dispo-note,
  body.bu-term .bu-dispo-note {
    flex-shrink: 0;
    margin: 0;
    padding: 8px 16px 0;
    font-size: 12px;
    line-height: 1.45;
    color: #475569;
  }

  body.bu-board-page .bu-dispo-chips,
  body.bu-term .bu-dispo-chips {
    flex-shrink: 0;
    padding: 10px 12px 6px;
    margin: 0;
    gap: 8px;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.bu-board-page .bu-dispo-chips::-webkit-scrollbar,
  body.bu-term .bu-dispo-chips::-webkit-scrollbar {
    display: none;
  }

  body.bu-board-page .bu-dispo-chip,
  body.bu-term .bu-dispo-chip {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 8px 14px;
    font-size: 12px;
  }

  body.bu-board-page .bu-dispo-log,
  body.bu-term .bu-dispo-log {
    flex: 1 1 auto;
    min-height: 0;
    padding: 12px 14px 16px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.bu-board-page .bu-dispo-log .bu-bubble,
  body.bu-term .bu-dispo-log .bu-bubble {
    max-width: 92%;
    padding: 12px 14px;
    border-radius: 16px 16px 16px 6px;
    font-size: 14px;
    line-height: 1.45;
    white-space: pre-wrap;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
  }

  body.bu-board-page .bu-dispo-log .bu-bubble.me,
  body.bu-term .bu-dispo-log .bu-bubble.me {
    margin-left: auto;
    border-radius: 16px 16px 6px 16px;
    background: #0f172a;
    color: #fff;
  }

  body.bu-board-page .bu-dispo-form,
  body.bu-term .bu-dispo-form {
    flex-shrink: 0;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(15, 23, 42, 0.1);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(10px);
  }

  body.bu-board-page .bu-dispo-form input,
  body.bu-term .bu-dispo-form input {
    min-height: 48px;
    border-radius: 14px;
    border: 1px solid #cbd5e1;
    padding: 0 14px;
    font-size: 16px;
  }

  body.bu-board-page .bu-dispo-form .bu-btn,
  body.bu-term .bu-dispo-form .bu-btn {
    min-height: 48px;
    min-width: 88px;
    border-radius: 14px;
    font-weight: 900;
  }

  body.bu-board-page .bu-ai-card,
  body.bu-term .bu-ai-card {
    display: grid;
    gap: 2px;
    width: 100%;
    text-align: left;
    margin: 8px 0;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  }
}

/* Nalog mobil ? disponent (full width, sticky header tabs) */
@media (max-width: 899px) {
  body.bu-nalog-page .bu-header-nalog .bu-board-header-left {
    display: none;
  }

  body.bu-nalog-page .bu-nalog-header-wrap {
    flex: 1 1 auto;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    gap: 8px;
  }

  body.bu-nalog-page .bu-nalog-header-group {
    flex-wrap: nowrap;
  }

  body.bu-nalog-page .bu-nalog-header-kicker {
    display: none;
  }

  body.bu-nalog-page .bu-board-userchip span {
    display: none;
  }

  body.bu-nalog-page .bu-dash-main {
    padding: 12px 12px calc(88px + env(safe-area-inset-bottom)) !important;
  }

  body.bu-nalog-page .bu-dash-stats-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.bu-nalog-page .bu-dash-grid,
  body.bu-nalog-page .bu-dash-tiles,
  body.bu-nalog-page .bu-dash-list-grid {
    grid-template-columns: 1fr !important;
  }

  body.bu-nalog-page .bu-dash-hero-v2 {
    grid-template-columns: 1fr !important;
  }

  body.bu-nalog-page .bu-nalog-tabs-scroll {
    gap: 6px;
  }

  body.bu-nalog-page .bu-nalog-tab {
    min-height: 40px;
    padding: 8px 12px;
    font-size: 12px;
  }

  body.bu-nalog-page .bu-board-header-inner {
    padding: 6px 8px;
    gap: 6px;
  }

  body.bu-nalog-page .bu-nalog-nav-tab {
    min-height: 40px;
    padding: 6px 10px;
  }

  body.bu-board-page .bu-notes,
  body.bu-nalog-page .bu-notes {
    z-index: 2300 !important;
  }

  body.bu-board-page .bu-header-generate {
    order: -1;
  }

  body.bu-term .bu-feed .bu-item.is-new:not(.is-seen) {
    margin-bottom: 8px;
  }

  body.bu-board-page .bu-cargo-adv-kicker {
    min-height: 48px;
  }
}

/* ?? 7.6.7 / 7.6.20 mobile domination ?? */
@media (max-width: 899px) {
  body.bu-board-page .bu-filter-toggle,
  body.bu-board-page #f-toggle {
    min-height: 48px !important;
    padding: 12px 14px !important;
  }

  body.bu-board-page .bu-feed .bu-item,
  body.bu-board-page .bu-feed .bu-card {
    margin: 0 10px 10px;
    padding: 14px !important;
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
  }

  body.bu-board-page .bu-board-dock,
  body.bu-board-page .bu-dock {
    min-height: calc(3.5rem + env(safe-area-inset-bottom, 0px));
    padding-bottom: max(6px, env(safe-area-inset-bottom));
  }

  body.bu-board-page .bu-board-dock a,
  body.bu-board-page .bu-board-dock button,
  body.bu-board-page .bu-dock a,
  body.bu-board-page .bu-dock button {
    min-height: 44px;
  }

  /* Jedna FAB formula ? ne 7.75rem */
  body.bu-board-page .bu-mobile-fab-stack {
    bottom: var(--bu-fab-bottom) !important;
    gap: 8px;
    z-index: var(--bu-z-fab) !important;
  }

  body.bu-board-page .bu-vehicle-bar,
  body.bu-board-page .bu-chips {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.bu-board-page .bu-vehicle-bar::-webkit-scrollbar,
  body.bu-board-page .bu-chips::-webkit-scrollbar {
    display: none;
  }

  body.bu-board-page .bu-vehicle-bar button,
  body.bu-board-page .bu-chips button {
    min-height: 36px;
    padding: 8px 12px !important;
    font-size: 11px !important;
  }

  #bu-mobile-detail-sheet {
    border-radius: 22px 22px 0 0;
    max-height: min(86dvh, 720px);
    z-index: var(--bu-z-detail);
  }

  #bu-mobile-detail-foot .bu-btn,
  #bu-mobile-detail-foot button {
    min-height: 44px;
  }
}

/* Driver lux Status (7.6.14) */
.bu-driver-lux {
  --lux-gold: #b45309;
  --lux-gold-soft: #fef3c7;
  --lux-free: #059669;
  --lux-busy: #d97706;
}
.bu-driver-lux-hero h1 {
  font-size: 1.65rem;
  letter-spacing: -0.02em;
  margin: 0 0 4px;
}
.bu-driver-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, #fffbeb 0%, #fff 55%);
  border: 1px solid #fde68a;
}
.bu-driver-trust-id {
  font-weight: 900;
  font-size: 13px;
  color: #92400e;
  font-variant-numeric: tabular-nums;
}
.bu-driver-trust-stars {
  font-weight: 800;
  font-size: 13px;
  color: #b45309;
}
.bu-driver-trust-stars.is-muted { color: #94a3b8; font-weight: 700; }
.bu-driver-trust-stars em { font-style: normal; font-weight: 600; color: #78716c; font-size: 11px; }
.bu-driver-trust-finder {
  font-size: 11px;
  font-weight: 800;
  color: #92400e;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.bu-driver-toggle { margin: 0 0 12px; }
.bu-driver-switch {
  width: 100%;
  min-height: 88px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border-radius: 22px;
  border: 2px solid #a7f3d0;
  background: #fff;
  cursor: pointer;
  text-align: left;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.bu-driver-switch.is-free {
  border-color: #34d399;
  background: linear-gradient(135deg, #ecfdf5, #fff);
  box-shadow: 0 12px 28px rgba(5, 150, 105, 0.18);
}
.bu-driver-switch.is-busy {
  border-color: #fbbf24;
  background: linear-gradient(135deg, #fffbeb, #fff);
  box-shadow: 0 12px 28px rgba(217, 119, 6, 0.14);
}
.bu-driver-switch-track {
  flex: 0 0 64px;
  width: 64px;
  height: 36px;
  border-radius: 999px;
  background: #cbd5e1;
  position: relative;
  transition: background 0.2s ease;
}
.bu-driver-switch.is-free .bu-driver-switch-track { background: #059669; }
.bu-driver-switch.is-busy .bu-driver-switch-track { background: #d97706; }
.bu-driver-switch-track i {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.2);
  transition: transform 0.2s ease;
}
.bu-driver-switch.is-free .bu-driver-switch-track i { transform: translateX(28px); }
.bu-driver-switch-lab strong {
  display: block;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: #0f172a;
}
.bu-driver-switch-lab em {
  display: block;
  margin-top: 2px;
  font-style: normal;
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
}
.bu-driver-toast {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  color: #92400e;
  font-size: 13px;
  font-weight: 700;
}
.bu-driver-cta {
  min-height: 48px;
  width: 100%;
  font-size: 15px;
  margin-bottom: 8px;
}
.bu-driver-ready-preview {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.bu-driver-ready-preview img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
}
.bu-driver-file {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 800;
  color: #475569;
}
.bu-driver-file input[type="file"] {
  font-size: 13px;
  font-weight: 600;
}
.bu-driver-chips {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
 margin: 0 0 10px;
}
.bu-driver-chip {
 cursor: pointer;
}
.bu-driver-chip input { position: absolute; opacity: 0; pointer-events: none; }
.bu-driver-chip span {
 display: inline-flex;
 align-items: center;
 min-height: 40px;
 padding: 0 12px;
 border-radius: 999px;
 border: 1px solid #e2e8f0;
 background: #fff;
 font-size: 12px;
 font-weight: 800;
 color: #334155;
}
.bu-driver-chip input:checked + span {
 border-color: #f59e0b;
 background: #fffbeb;
 color: #92400e;
}
.bu-driver-ready-meta {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 8px;
 margin-bottom: 10px;
}
.bu-driver-ready-meta label {
 display: flex;
 flex-direction: column;
 gap: 4px;
 font-size: 11px;
 font-weight: 800;
 color: #64748b;
}
.bu-driver-ready-meta input {
 min-height: 44px;
 border-radius: 12px;
 border: 1px solid #e2e8f0;
 padding: 0 12px;
 font-size: 15px;
 font-weight: 700;
}

/* Hide only filter-chrome Objavi duplicates ? FAB keeps data-post-open */
body.bu-app-page .bu-board-in-app .bu-filter-chrome .bu-post-open,
body.bu-app-page .bu-board-in-app .bu-filter-chrome [data-open-post],
body.bu-app-page .bu-board-in-app .bu-filter-chrome .bu-objavi-fab {
 display: none !important;
}
.bu-mobile-fab-pub {
 width: 48px;
 height: 48px;
 border-radius: 16px;
 border: 0;
 background: #16a34a;
 color: #fff;
 font-size: 22px;
 font-weight: 900;
 box-shadow: 0 8px 22px rgba(22, 163, 74, 0.35);
 cursor: pointer;
}
.bu-mobile-fab-pub:active { transform: scale(0.95); }
body.bu-app-page .bu-board-in-app .bu-item.bu-row.compact {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 6px 10px;
 padding: 12px 12px 10px;
 border-radius: 16px;
 margin: 0 0 8px;
 background: #fff;
 border: 1px solid #e2e8f0;
}
body.bu-app-page .bu-board-in-app .bu-item .bu-c-from {
 grid-column: 1 / -1;
 font-size: 15px;
 font-weight: 900;
}
body.bu-app-page .bu-board-in-app .bu-item .bu-c-to {
 grid-column: 1 / -1;
 font-size: 14px;
 font-weight: 700;
 color: #334155;
}
body.bu-app-page .bu-board-in-app .bu-driver-card-cta {
 grid-column: 1 / -1;
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 8px;
 margin-top: 4px;
}
body.bu-app-page .bu-board-in-app .bu-driver-card-cta a,
body.bu-app-page .bu-board-in-app .bu-driver-card-cta button {
 min-height: 48px;
 border-radius: 14px;
 font-weight: 800;
 font-size: 13px;
}

/* Fleet live pins */
.pin.fleet-free {
 width: 18px;
 height: 18px;
 border-radius: 50%;
 background: linear-gradient(145deg, #fbbf24, #16a34a);
 border: 2px solid #fff;
 box-shadow: 0 0 0 2px rgba(180, 83, 9, 0.35), 0 4px 12px rgba(15, 23, 42, 0.25);
}
.pin.fleet-drive {
 width: 18px; height: 18px; border-radius: 50%;
 background: #0ea5e9; border: 2px solid #fff;
 box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.35);
}
.pin.fleet-busy {
 width: 18px; height: 18px; border-radius: 50%;
 background: #f59e0b; border: 2px solid #fff;
}
.pin.fleet-off {
 width: 18px; height: 18px; border-radius: 50%;
 background: #94a3b8; border: 2px solid #fff;
}
.bu-fleet-live-pop {
 min-width: 180px;
 font-size: 12px;
}
.bu-fleet-live-pop img {
 width: 100%;
 max-height: 96px;
 object-fit: cover;
 border-radius: 8px;
 margin-bottom: 6px;
}
.bu-fleet-live-pop strong { display: block; font-size: 13px; }
.bu-fleet-live-pop .bu-stars { color: #b45309; font-weight: 800; }
.bu-assign-sheet {
 position: fixed;
 inset: auto 12px 12px;
 z-index: 1200;
 max-width: 420px;
 margin: 0 auto;
 left: 12px;
 right: 12px;
 padding: 16px;
 border-radius: 18px;
 background: #fff;
 border: 1px solid #e2e8f0;
 box-shadow: 0 20px 50px rgba(15, 23, 42, 0.22);
}
.bu-assign-sheet[hidden] { display: none !important; }
.bu-assign-sheet h3 { margin: 0 0 8px; font-size: 16px; }
.bu-assign-sheet label { display: block; margin: 0 0 8px; font-size: 12px; font-weight: 800; }
.bu-assign-sheet select,
.bu-assign-sheet input {
 width: 100%;
 min-height: 44px;
 margin-top: 4px;
 border-radius: 12px;
 border: 1px solid #e2e8f0;
 padding: 0 10px;
}
.bu-assign-sheet-actions {
 display: flex;
 gap: 8px;
 margin-top: 10px;
}
.bu-assign-sheet-actions button { flex: 1; min-height: 48px; }

/* Zadaci lux */
.bu-assign-card {
 border-radius: 18px !important;
}
.bu-assign-card .bu-app-grid2 button,
.bu-assign-card .bu-app-grid2 a {
 min-height: 48px;
}
.bu-review-sheet {
 margin-top: 10px;
 padding-top: 10px;
 border-top: 1px dashed #e2e8f0;
}
.bu-review-sheet textarea {
 width: 100%;
 min-height: 72px;
 border-radius: 12px;
 border: 1px solid #e2e8f0;
 padding: 10px;
 margin: 6px 0;
}

.bu-fleet-photo-pin {
  width: 30px !important;
  height: 30px !important;
  padding: 0;
  overflow: hidden;
  display: block;
}
.bu-fleet-photo-pin img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}
.bu-fleet-star-filter {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,0.95);
  border: 1px solid #fde68a;
  font-size: 11px;
  font-weight: 800;
  color: #92400e;
  box-shadow: 0 4px 14px rgba(15,23,42,0.12);
}
.bu-fleet-star-filter select {
  min-height: 28px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  font-weight: 800;
  font-size: 11px;
}
.bu-badge-offered { background: #fef3c7; color: #92400e; }
.bu-badge-accepted { background: #dbeafe; color: #1e40af; }
.bu-badge-done { background: #dcfce7; color: #166534; }
.bu-assign-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.bu-dpro-badge.is-rating { background: #fffbeb; color: #b45309; }
.bu-dpro-badge.is-id { background: #f1f5f9; color: #475569; }

/* ===== 7.6.20 final mobile lock (last wins) ===== */
@media (max-width: 899px) {
  body.bu-board-page .bu-mobile-fab-stack {
    bottom: var(--bu-fab-bottom) !important;
    z-index: var(--bu-z-fab, 400) !important;
  }
  body.bu-board-page .bu-mobile-fab-pub,
  body.bu-app-page .bu-mobile-fab-pub {
    display: none !important;
  }
  body.bu-board-page .bu-switch [data-view="dispo"] {
    display: none !important;
  }
  body.bu-board-page .bu-switch {
    grid-template-columns: 1fr 1fr !important;
  }
  body.bu-board-page #bu-filter-fold.open {
    max-height: min(52dvh, 420px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  body.bu-board-page.bu-ai-open .bu-mobile-fab-ai,
  body.bu-board-page .bu-mobile-fab-ai.is-on {
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.35), 0 8px 22px rgba(5, 150, 105, 0.35);
  }
  /* Alati pop above appbar */
  body.bu-board-page .bu-tools-pop {
    z-index: calc(var(--bu-z-appbar) + 20);
    max-height: min(60dvh, 420px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 480px) {
  body.bu-board-page .bu-appbar {
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  body.bu-board-page .bu-appbar-a span {
    display: none;
  }
  body.bu-board-page .bu-appbar-lab {
    font-style: normal;
  }
}

.bu-driver-status-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 0;
}
.bu-driver-st {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-height: 56px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  background: #fff;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.bu-driver-st strong { font-size: 13px; font-weight: 900; }
.bu-driver-st em { font-size: 11px; font-style: normal; color: #64748b; }
.bu-driver-st.is-on.is-slobodan { background: #ecfdf5; border-color: #86efac; }
.bu-driver-st.is-on.is-na_putu { background: #e0f2fe; border-color: #7dd3fc; }
.bu-driver-st.is-on.is-zauzet { background: #fffbeb; border-color: #fcd34d; }
.bu-driver-st.is-on.is-offline { background: #f1f5f9; border-color: #cbd5e1; }

.bu-fleet-mission {
  margin: 8px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #bae6fd;
  background: #f0f9ff;
}
.bu-fleet-mission.is-idle {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}
.bu-fleet-mission strong { display: block; font-size: 14px; margin: 2px 0 4px; }
.bu-fleet-mission-act { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.bu-fleet-card-st.is-busy { background: #fffbeb; color: #b45309; }
.bu-inquiry-card pre,
.bu-bubble.is-inquiry {
  font-family: ui-monospace, Consolas, monospace;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: #0f172a;
  color: #e2e8f0;
}
.bu-driver-lock {
  padding: 20px 16px 32px;
  min-height: 60dvh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bu-driver-lock-card {
  max-width: 420px;
  padding: 20px;
  border-radius: 20px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}
.bu-driver-lock-list { margin: 12px 0 16px; padding-left: 18px; font-size: 13px; line-height: 1.5; }
.bu-app-primary.is-locked { opacity: 0.95; background: #0f172a !important; }
.bu-fleet-live-mission { margin-top: 8px; padding-top: 8px; border-top: 1px solid #e2e8f0; font-size: 12px; }

/* 7.7.4 — driver lux + phone board */
.bu-appshell--driver .bu-driver-id-card {
  margin-top: 4px;
}
.bu-driver-lux .bu-driver-st {
  min-height: 72px;
  border-radius: 18px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}
.bu-driver-lux .bu-driver-st:active {
  transform: scale(0.98);
}
.bu-ok, .bu-err {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
}
.bu-ok { background: #ecfdf5; color: #166534; border: 1px solid #a7f3d0; }
.bu-err { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }

@media (max-width: 899px) {
  body.bu-board-page .bu-feed .bu-row,
  body.bu-app-page .bu-feed .bu-row {
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
  }
  body.bu-landing-page .bu-board-header-inner {
    min-height: 48px;
    padding-left: 8px;
    padding-right: 8px;
  }
  body.bu-landing-page .bu-board-nav-txt small {
    display: none !important;
  }
  html {
    -webkit-text-size-adjust: 100%;
  }
}

