/* Vozila (kamioni) board — smjer, checkbox države, slobodan */

.bu-board-truck .bu-lane-truck-dest {
  border-color: #fecaca;
  background: linear-gradient(180deg, #fff8f8 0%, #fff 100%);
}

.bu-truck-dest-picker {
  margin-bottom: 8px;
  display: grid;
  gap: 8px;
}

.bu-lane-head-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

.bu-dest-any-btn {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  border: 2px solid #e2e8f0;
  background: #fff;
  font-size: 11px;
  font-weight: 900;
  color: #334155;
  cursor: pointer;
}
.bu-dest-any-btn.is-on {
  border-color: #dc2626;
  background: #dc2626;
  color: #fff;
  box-shadow: 0 4px 14px rgba(220, 38, 38, 0.25);
}

.bu-truck-free-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.bu-truck-free-quick button {
  min-height: 36px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  font-size: 11px;
  font-weight: 800;
  color: #475569;
  cursor: pointer;
}
.bu-truck-free-quick button.is-on {
  border-color: #16a34a;
  background: #dcfce7;
  color: #166534;
}

.bu-truck-cc-search input,
.bu-pref-cc-search input {
  width: 100%;
  min-height: 40px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 700;
  background: #fff;
}

.bu-dest-cc-fold {
  border: 1px solid #fecaca;
  border-radius: 12px;
  background: #fff;
  padding: 0;
}
.bu-dest-cc-fold > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 900;
  color: #7f1d1d;
  user-select: none;
}
.bu-dest-cc-fold > summary::-webkit-details-marker { display: none; }
.bu-dest-cc-fold > summary em {
  font-style: normal;
  font-weight: 700;
  font-size: 11px;
  color: #94a3b8;
}
.bu-dest-cc-fold[open] > summary {
  border-bottom: 1px solid #fecaca;
}
.bu-dest-cc-fold .bu-truck-cc-search,
.bu-dest-cc-fold .bu-dest-check-grid,
.bu-dest-cc-fold .bu-truck-dest-hint {
  margin: 8px 10px;
}
.bu-dest-cc-fold .bu-truck-dest-hint {
  margin-top: 0;
  margin-bottom: 10px;
}

.bu-dest-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  max-height: 220px;
  overflow-y: auto;
  padding: 2px;
}
@media (min-width: 520px) {
  .bu-dest-check-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 900px) {
  .bu-dest-check-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-height: 260px;
  }
}

.bu-dest-check {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid #fecaca;
  background: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  color: #7f1d1d;
  user-select: none;
}
.bu-dest-check input {
  width: 16px;
  height: 16px;
  accent-color: #dc2626;
  flex-shrink: 0;
}
.bu-dest-check.is-on,
.bu-dest-check:has(input:checked) {
  border-color: #dc2626;
  background: #fef2f2;
  box-shadow: inset 0 0 0 1px rgba(220, 38, 38, 0.2);
}
.bu-dest-check[hidden] {
  display: none !important;
}

.bu-truck-dest-hint {
  margin: 0;
  font-size: 11px;
  color: #64748b;
}

.bu-board-truck .bu-c-to {
  color: #7f1d1d;
  font-weight: 800;
}

.bu-pref-dest-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.bu-pref-dest-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  font-size: 12px;
  font-weight: 800;
  color: #991b1b;
}

.bu-dpro-open {
  color: #64748b;
  font-style: italic;
}

.bu-pref-countries {
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid #bbf7d0;
  border-radius: 12px;
  background: #f0fdf4;
}

.bu-pref-head {
  display: grid;
  gap: 2px;
  margin-bottom: 8px;
}

.bu-pref-head strong {
  font-size: 13px;
}

.bu-pref-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-height: 220px;
  overflow-y: auto;
  padding: 2px;
}
.bu-pref-chip[hidden] {
  display: none !important;
}
.bu-pref-cc-search {
  display: block;
  margin-bottom: 8px;
}

.bu-pref-chip {
  display: inline-flex;
  cursor: pointer;
}

.bu-pref-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.bu-pref-chip span {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 9px;
  border: 1px solid #bbf7d0;
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  color: #166534;
}

.bu-pref-chip.is-on span,
.bu-pref-chip:has(input:checked) span {
  border-color: #15803d;
  background: #15803d;
  color: #fff;
}

.bu-compose-truck .bu-form-grid {
  display: grid;
  gap: 10px;
}

@media (min-width: 640px) {
  .bu-compose-truck .bu-form-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.bu-board-truck .bu-item.is-new:not(.is-seen) {
  border: 2px solid #16a34a;
  background: linear-gradient(90deg, rgba(34, 197, 94, 0.2) 0, rgba(34, 197, 94, 0.2) 5px, #f0fdf4 5px, #fff 100%);
  box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.3), 0 10px 28px rgba(22, 163, 74, 0.2);
  animation: bu-new-pulse 2.2s ease-in-out 4;
}

.bu-board-truck .bu-list-head .bu-live-dot {
  background: #22c55e;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
/* Vozila board polish + capacity strip + list/map */
.bu-board-truck .bu-truck-adv {
  margin-top: 8px;
  border: 1px solid #bbf7d0;
  border-radius: 12px;
  background: #f0fdf4;
  overflow: hidden;
}
.bu-board-truck .bu-truck-adv-kicker {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
  font-weight: 800;
}
.bu-board-truck .bu-truck-adv-kicker::-webkit-details-marker { display: none; }
.bu-board-truck .bu-truck-adv-label {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bu-board-truck .bu-truck-adv-label em {
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: #64748b;
}
.bu-board-truck .bu-truck-adv-body {
  padding: 0 12px 12px;
  display: grid;
  gap: 8px;
}
.bu-board-truck .bu-truck-adv-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
}
.bu-board-truck .bu-truck-adv-field {
  display: grid;
  gap: 4px;
  min-width: 88px;
  font-size: 11px;
  font-weight: 800;
  color: #475569;
}
.bu-board-truck .bu-truck-adv-field input {
  height: 40px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  padding: 0 10px;
  font: inherit;
  font-weight: 700;
  background: #fff;
  font-size: 16px;
}
.bu-board-truck .bu-list-head {
  position: sticky;
  top: 0;
  z-index: 4;
  background: #fff;
  border-bottom: 1px solid #e2e8f0;
  padding: 8px 10px 6px;
}
.bu-board-truck .bu-cols-head {
  display: grid;
  grid-template-columns: 1.2fr 1.3fr 1fr 0.7fr 0.9fr 1fr;
  gap: 8px;
  padding: 6px 12px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}
.bu-board-truck .bu-item.compact {
  display: grid;
  grid-template-columns: 1.2fr 1.3fr 1fr 0.7fr 0.9fr 1fr;
  gap: 8px;
  align-items: center;
  padding: 12px;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
  transition: background .15s ease, box-shadow .15s ease;
}
.bu-board-truck .bu-item.compact:hover {
  background: #f0fdf4;
  box-shadow: inset 3px 0 0 #16a34a;
}
.bu-board-truck .bu-item.compact.active {
  background: #ecfdf5;
  box-shadow: inset 3px 0 0 #15803d;
}
.bu-board-truck .bu-c-from { color: #166534; font-weight: 800; }
.bu-board-truck .bu-c-to { color: #991b1b; font-weight: 800; }
.bu-board-truck .bu-c-veh { font-weight: 700; color: #334155; }
.bu-board-truck .bu-c-price strong { font-size: 12px; color: #0f172a; }
.bu-board-truck .bu-map-hint {
  border-color: #86efac;
  background: rgba(240, 253, 244, 0.92);
  color: #166534;
}
.bu-board-truck .bu-dispo {
  border-left: 1px solid #bbf7d0;
}
.bu-board-truck .bu-dispo-howto {
  background: #166534;
  color: #fff;
  border: 0;
}
.bu-board-truck .pin.truck,
.bu-board-truck .leaflet-marker-icon.pin {
  box-shadow: 0 6px 16px rgba(22, 163, 74, 0.35);
}
.bu-board-truck .bu-pop .bu-kicker { color: #16a34a; }

@media (max-width: 900px) {
  .bu-board-truck .bu-cols-head { display: none; }
  .bu-board-truck .bu-item.compact {
    grid-template-columns: 1fr 1fr;
    gap: 6px 10px;
  }
  .bu-board-truck .bu-c-from { grid-column: 1; }
  .bu-board-truck .bu-c-to { grid-column: 2; }
  .bu-board-truck .bu-c-veh { grid-column: 1; }
  .bu-board-truck .bu-c-w { grid-column: 2; }
  .bu-board-truck .bu-c-date { grid-column: 1; }
  .bu-board-truck .bu-c-price { grid-column: 2; }
  .bu-board-truck .bu-dest-cc-fold:not([open]) summary {
    border-radius: 12px;
  }
  .bu-board-truck #bu-filter-fold {
    max-height: min(58dvh, 480px);
  }
  .bu-board-truck .bu-truck-adv-field input,
  .bu-board-truck .bu-geo,
  .bu-board-truck .bu-truck-cc-search input {
    font-size: 16px;
  }
}
