.dispatch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-2px 0 10px}.dispatch-toolbar .button{min-height:32px;padding:6px 10px;font-size:11px}.dispatch-toolbar .text-button{font-size:11px}
.dispatch-card{border:1px solid #dbe5d6;border-radius:14px;overflow:visible;background:#f3f7ef}.dispatch-card .order-card{width:100%;margin:0;border-radius:13px 13px 0 0}.dispatch-card.is-picked{outline:2px solid #377342;outline-offset:1px}.dispatch-select{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:11px;color:#3c6842;cursor:pointer}.dispatch-select input{width:16px;height:16px;min-height:16px;padding:0;flex:none;accent-color:#377342}.dispatch-assigned{display:block;font-size:10px;color:#345a76}.card-footer:has(.dispatch-assigned){flex-wrap:wrap}.dispatch-assigned{flex-basis:100%}
#driver-dispatch{width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #e2e8df;border-radius:18px;background:#fff;color:#18211b;box-shadow:0 24px 80px #13281930}#driver-dispatch::backdrop{background:#111b225c;backdrop-filter:blur(3px)}
#driver-dispatch header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 0}#driver-dispatch h2{font-size:18px;margin:0;font-weight:600}#dispatch-count{font-size:12px;color:#768071;margin:5px 0 0}#driver-dispatch header .icon-button{font-size:27px;border:0;background:none;flex-shrink:0}
.dispatch-body{padding:18px 20px 20px;max-height:65dvh;overflow:auto}#dispatch-drivers{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.dispatch-driver{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:100px;padding:16px 10px;border:1px solid #dce6d6;border-radius:12px;background:#f5f9f1;cursor:pointer;color:#315d37}.dispatch-driver:hover{background:#eaf3e3;border-color:#77a569}.dispatch-driver:focus-visible{outline:2px solid #397746;outline-offset:3px}.dispatch-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e4eedb;color:#3a7042;font-size:15px}.dispatch-driver strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}#dispatch-empty,#dispatch-loading{margin:10px 0 0;font-size:12px;line-height:1.5;color:#677561}#driver-dispatch button:disabled{opacity:.5;cursor:wait}
.dispatch-driver-count{font-size:11px;color:#74818d;margin-left:4px}.dispatch-hint{margin-left:auto;font-size:10px;color:#81909b}.driver-lanes{display:flex;align-items:stretch;gap:12px;overflow-x:auto;padding:3px 2px 8px;scroll-snap-type:x proximity}.driver-lane{flex:1 0 230px;min-width:230px;padding:10px;background:#f2f6f8;border:1px solid #dde7ec;border-radius:12px;scroll-snap-align:start}.driver-lane-head{display:flex;align-items:center;gap:7px;min-height:26px;margin:0 2px 10px}.driver-lane-head h3{font-size:13px;font-weight:600;margin:0;color:#34546b;overflow-wrap:anywhere}.driver-lane-head>span:last-of-type{margin-left:auto;background:#e3ebf0;padding:2px 7px;border-radius:5px;font-size:11px;color:#587083}.driver-lane-head small{font-size:9px;color:#8c8d88}.driver-presence{width:6px;height:6px;border-radius:50%;background:#b5b7b2;flex:none}.driver-presence.is-online{background:#76a768}.driver-lane-cards{display:grid;gap:9px;min-height:95px}.driver-lane-empty{display:grid;place-items:center;min-height:95px;border:1px dashed #d2dfe6;border-radius:8px;font-size:11px;color:#8094a1;text-align:center;padding:15px}.dispatch-enroute{min-width:0}.dispatch-enroute>.order-card{width:100%;border-radius:9px 9px 0 0}.dispatch-change{width:100%;display:flex;align-items:center;justify-content:space-between;font-size:10px;min-height:30px;padding:5px 10px;color:#577183;border:1px solid #cedde6;border-top:0;border-radius:0 0 8px 8px;background:#f8fbfc;cursor:pointer}.dispatch-change:hover{background:#e9f2f7}.dispatch-enroute .dispatch-assigned{display:none}.driver-lane.drop-allowed{outline:2px dashed #84a9bf;outline-offset:-2px}.driver-lane.drag-over{outline:2px solid #377342;outline-offset:-2px;background:#edf5e8}.driver-lane.is-offline{background:#f5f5f2}.driver-lanes>.column-empty{width:100%}
@media(max-width:600px){.dispatch-hint{display:none}.driver-lane{flex-basis:85%;min-width:230px}.dispatch-change{min-height:36px}}
@media(max-width:600px){#driver-dispatch header{padding:16px}#driver-dispatch h2{font-size:18px}.dispatch-body{padding:16px}}
