.driver-dispatch-board { display: grid; gap: 18px; min-width: 0; }
.driver-dispatch-head, .driver-dispatch-route > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.driver-dispatch-head { padding: 22px; border: 1px solid #dce8df; border-radius: 22px; background: #fff; }
.driver-dispatch-head h2, .driver-dispatch-route h3 { margin: 4px 0 6px; }
.driver-dispatch-head p { margin: 0; color: #617067; }
.driver-dispatch-head label, .driver-dispatch-actions label, .driver-dispatch-create-fields label { display: grid; gap: 6px; }
.driver-dispatch-head input, .driver-dispatch-actions input, .driver-dispatch-actions select, .driver-dispatch-create-fields input { box-sizing: border-box; min-height: 44px; width: 100%; border: 1px solid #cbdad0; border-radius: 12px; padding: 10px 12px; background: #fff; }
.driver-dispatch-kicker { color: #147a49; font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.driver-dispatch-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.driver-dispatch-summary span { padding: 16px; border: 1px solid #dce8df; border-radius: 18px; background: #fff; }
.driver-dispatch-summary b { display: block; font-size: 24px; }
.driver-dispatch-unassigned, .driver-dispatch-route { padding: 20px; border: 1px solid #dce8df; border-radius: 22px; background: #fff; }
.driver-dispatch-task-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 14px 0; }
.driver-dispatch-task-grid label { display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 12px; border: 1px solid #e0e9e3; border-radius: 14px; }
.driver-dispatch-task-grid input { width: 20px; height: 20px; }
.driver-dispatch-task-grid span, .driver-dispatch-history p { display: grid; gap: 3px; min-width: 0; }
.driver-dispatch-task-grid small, .driver-dispatch-history small, .driver-dispatch-stops small { color: #6b786f; }
.driver-dispatch-create-fields { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; }
.driver-dispatch-create-fields button, .driver-dispatch-actions button, .driver-dispatch-link { min-height: 44px; border: 0; border-radius: 12px; padding: 11px 16px; background: #087a46; color: #fff; font-weight: 800; cursor: pointer; }
.driver-dispatch-routes { display: grid; gap: 16px; }
.driver-dispatch-status { padding: 7px 10px; border-radius: 999px; background: #e6f6ec; color: #087a46; font-weight: 800; }
.driver-dispatch-facts { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 16px 0; }
.driver-dispatch-facts span { display: grid; gap: 4px; padding: 10px; border-radius: 12px; background: #f5f8f6; }
.driver-dispatch-stops ol { display: grid; gap: 8px; padding: 0; list-style: none; }
.driver-dispatch-stops li { display: grid; grid-template-columns: 32px 1fr; gap: 10px; align-items: center; padding: 10px; border-bottom: 1px solid #edf2ee; }
.driver-dispatch-stops li > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #edf7f1; color: #087a46; font-weight: 800; }
.driver-dispatch-stops li div { display: grid; gap: 4px; min-width: 0; }
.driver-dispatch-actions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.driver-dispatch-actions details { min-width: 0; border: 1px solid #dce8df; border-radius: 14px; }
.driver-dispatch-actions summary, .driver-dispatch-link { display: grid; place-items: center; box-sizing: border-box; min-height: 44px; padding: 10px; cursor: pointer; font-weight: 800; text-align: center; }
.driver-dispatch-link { text-decoration: none; }
.driver-dispatch-actions form { display: grid; gap: 10px; min-width: 260px; padding: 12px; }
.driver-dispatch-history { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.driver-dispatch-history section { padding: 14px; border-radius: 16px; background: #f7faf8; }
.driver-dispatch-history p { margin: 8px 0; padding-bottom: 8px; border-bottom: 1px solid #e6ece8; }
.driver-dispatch-error { padding: 12px 14px; border-radius: 12px; background: #fff0ed; color: #9f2f20; }
.driver-dispatch-empty { margin: 10px 0; color: #6b786f; }

@media (max-width: 900px) {
  .driver-dispatch-head, .driver-dispatch-route > header { display: grid; }
  .driver-dispatch-summary, .driver-dispatch-task-grid, .driver-dispatch-facts, .driver-dispatch-actions, .driver-dispatch-history, .driver-dispatch-create-fields { grid-template-columns: 1fr; }
  .driver-dispatch-actions form { min-width: 0; }
}
