.truck-loading-container{height:100%;overflow:hidden}.truck-card{transition:all .3s ease;border-radius:8px!important;overflow:hidden;position:relative;min-height:200px!important}.truck-card:hover{box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.truck-card.drop-target{border:2px dashed #1890ff!important;background-color:#e6f7ff!important;transform:scale(1.01)!important;box-shadow:0 8px 24px #1890ff33!important;animation:truck-drop-simple 1.5s ease-in-out infinite!important;position:relative!important;transition:none!important}@keyframes truck-drop-simple{0%,to{border-color:#1890ff;box-shadow:0 8px 24px #1890ff33}50%{border-color:#40a9ff;box-shadow:0 8px 32px #1890ff66}}.truck-card.drop-target:after{content:"📦";position:absolute;top:12px;right:12px;font-size:18px;animation:drop-simple-indicator 1s ease-in-out infinite;z-index:10}@keyframes drop-simple-indicator{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.truck-card.drop-target:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 40%,rgba(24,144,255,.1) 50%,transparent 60%);pointer-events:none;z-index:1}.trip-card{margin-bottom:12px;border-radius:8px;transition:all .2s ease}.trip-card .ant-card-body{padding:12px}.trip-card.drop-target-with-date{border:2px dashed #722ed1!important;background:linear-gradient(135deg,#f9f0ff,#efdbff)!important;transform:scale(1.02)!important;box-shadow:0 8px 24px #722ed14d!important;animation:trip-drop-target 2s ease-in-out infinite!important;position:relative!important;transition:none!important}.trip-card.sorting-active{border:2px solid #1890ff!important;box-shadow:0 4px 16px #1890ff33!important}@keyframes trip-drop-target{0%,to{border-color:#722ed1;box-shadow:0 8px 24px #722ed14d}50%{border-color:#9254de;box-shadow:0 8px 32px #722ed180}}.trip-card.drop-target-with-date:after{content:"🚛";position:absolute;top:8px;right:8px;font-size:16px;animation:trip-target-indicator 1.2s ease-in-out infinite;z-index:10}@keyframes trip-target-indicator{0%,to{opacity:.7;transform:scale(1) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(5deg)}}.truck-trips-container{max-height:500px;overflow-y:auto;padding-right:4px}.trip-stops-container{max-height:220px;overflow-y:auto;border:1px solid #f0f0f0;border-radius:8px;padding:8px;background:linear-gradient(to bottom,#fafafa,#fff)}.trip-stops-container::-webkit-scrollbar{width:6px}.trip-stops-container::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.trip-stops-container::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.trip-stops-container::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.stops-list{display:flex;flex-direction:column;gap:4px}.sortable-stop-item{position:relative;transition:transform .2s cubic-bezier(.25,1,.5,1)}.sortable-stop-item.is-dragging{z-index:1000;transition:none}.drop-position-indicator{position:absolute;top:-4px;left:0;right:0;height:4px;z-index:100;display:flex;align-items:center;justify-content:center}.drop-position-line{position:absolute;left:8px;right:8px;height:3px;background:linear-gradient(90deg,transparent,#52c41a,transparent);border-radius:2px;box-shadow:0 0 8px #52c41a99;animation:drop-line-pulse .8s ease-in-out infinite}@keyframes drop-line-pulse{0%,to{opacity:.7;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.5)}}.drop-position-text{position:relative;background:linear-gradient(135deg,#52c41a,#73d13d);color:#fff;padding:2px 10px;border-radius:10px;font-size:10px;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px #52c41a66;animation:drop-text-bounce .6s ease-in-out infinite}@keyframes drop-text-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.05)}}.stop-item-content{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;border-radius:8px;border:1px solid #e8e8e8;position:relative;transition:all .2s cubic-bezier(.25,1,.5,1)}.stop-item-content.hoverable:hover{border-color:#d9d9d9;box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.stop-item-content.dragging{background:linear-gradient(135deg,#e6f7ff,#bae7ff)!important;border:2px solid #1890ff!important;box-shadow:0 12px 32px #1890ff59!important;transform:rotate(2deg) scale(1.02);border-radius:10px!important}.drag-handle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#f5f5f5;color:#8c8c8c;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:all .2s ease;flex-shrink:0;margin-right:8px}.drag-handle:hover{background:#e6f7ff;color:#1890ff;transform:scale(1.05)}.drag-handle:active,.drag-handle.active{cursor:grabbing;background:#1890ff;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #1890ff66}.drag-handle .anticon{font-size:14px}.stop-number-tag{margin:0 8px 0 0!important;font-weight:600;min-width:24px;text-align:center}.stop-info{flex:1;min-width:0;margin-right:12px}.stop-order-number{font-weight:600;color:#1890ff;font-size:13px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-customer{font-size:12px;color:#595959;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3;margin-top:2px}.stop-address{font-size:11px;color:#8c8c8c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3;margin-top:1px}.stop-actions{flex-shrink:0}.stop-stat-tag{margin:0!important;font-size:10px!important;padding:0 6px!important;line-height:18px!important}.stop-delete-btn{padding:2px!important;min-width:22px!important;height:22px!important;border-radius:4px;opacity:.6;transition:all .2s ease}.stop-item-content:hover .stop-delete-btn{opacity:1}.stop-delete-btn:hover{background:#fff1f0!important}.trip-sortable-hint{font-size:11px;color:#8c8c8c;padding:8px 12px;text-align:center;border-top:1px dashed #e8e8e8;margin-top:8px;background:#1890ff05;border-radius:0 0 6px 6px;transition:all .3s ease;font-style:italic}.trip-sortable-hint.active{color:#52c41a;background:#52c41a14;border-color:#b7eb8f;font-weight:500;font-style:normal}.trip-empty-state{text-align:center;padding:20px;color:#8c8c8c;font-size:12px;background:#fafafa;border-radius:6px;border:1px dashed #d9d9d9}.drag-overlay-stop{display:flex;align-items:center;gap:8px;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;transform:none;pointer-events:none;width:auto}.drag-overlay-stop .drag-handle{background:#1890ff;color:#fff}.drag-overlay-stop .stop-info{flex:1}.drag-overlay-stop .stop-order-number{color:#0050b3;font-size:14px}.drag-overlay-stop .stop-customer{color:#595959}.drag-overlay-stop .drag-emoji{font-size:24px;animation:emoji-bounce .5s ease-in-out infinite}@keyframes emoji-bounce{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(10deg)}}body.dnd-sorting{-webkit-user-select:none;user-select:none;cursor:grabbing!important}body.dnd-sorting *{cursor:grabbing!important}body.dnd-sorting .trip-sortable-hint{opacity:1!important;color:#52c41a!important;background:#52c41a1a!important;border-color:#b7eb8f!important;font-weight:500}body.dnd-sorting .sortable-stop-item:not(.is-dragging) .stop-item-content{opacity:.7}body.dnd-sorting .sortable-stop-item.is-over .stop-item-content{opacity:1;border-color:#52c41a;background:#f6ffed}.order-card{transition:all .2s ease!important;border-radius:8px!important;cursor:grab;position:relative;overflow:hidden}.order-card:hover{background-color:#e6f7ff!important;border-color:#1890ff!important;transform:translateY(-2px);box-shadow:0 4px 12px #1890ff26}.order-card:active{cursor:grabbing!important}.order-card.dragging-with-date{opacity:.8!important;transform:scale(.95) rotate(2deg)!important;box-shadow:0 12px 32px #1890ff80!important;border:2px solid #1890ff!important;background:linear-gradient(135deg,#e6f7ff,#bae7ff)!important;animation:order-dragging 1s ease-in-out infinite;position:relative;z-index:1000}@keyframes order-dragging{0%,to{transform:scale(.95) rotate(2deg);box-shadow:0 12px 32px #1890ff80}50%{transform:scale(.97) rotate(-1deg);box-shadow:0 16px 40px #1890ff99}}.order-card.dragging-with-date:after{content:"📅";position:absolute;top:8px;right:8px;background:linear-gradient(135deg,#1890ff,#52c41a);color:#fff;width:24px;height:24px;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;animation:pulse 1s infinite;box-shadow:0 2px 8px #0003}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}to{transform:scale(1);opacity:1}}.assignment-date-selector{border-radius:8px;border:1px solid #e8e8e8;transition:all .3s ease;background:#fff}.assignment-date-selector:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.quick-date-buttons .ant-btn-sm{border-radius:6px;font-weight:500;transition:all .2s ease}.quick-date-buttons .ant-btn-primary{background:linear-gradient(135deg,#1890ff,#69c0ff);border:none;box-shadow:0 2px 6px #1890ff4d}.assignment-tag{font-size:12px;padding:4px 8px;border-radius:12px;background:linear-gradient(135deg,#e6f7ff,#f0f9ff);border:1px solid #91d5ff;color:#1890ff;font-weight:500}.truck-card.drop-target-with-date{background:linear-gradient(135deg,#e6f7ff,#f6ffed)!important;border:2px dashed #52c41a!important;transform:scale(1.02)!important;box-shadow:0 8px 24px #52c41a4d!important;animation:truck-drop-target 2s ease-in-out infinite!important;position:relative!important;overflow:hidden!important;transition:none!important}@keyframes truck-drop-target{0%{border-color:#52c41a;box-shadow:0 8px 24px #52c41a4d}50%{border-color:#1890ff;box-shadow:0 8px 24px #1890ff66}to{border-color:#52c41a;box-shadow:0 8px 24px #52c41a4d}}.truck-card.drop-target-with-date:before{content:"";position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;background:linear-gradient(45deg,#52c41a,#1890ff,#52c41a,#1890ff);background-size:400% 400%;border-radius:12px;z-index:-1;animation:gradient-border 3s ease infinite}@keyframes gradient-border{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.truck-card.drop-target-with-date:after{content:"🎯";position:absolute;top:12px;right:12px;font-size:20px;animation:drop-target-indicator 1.5s ease-in-out infinite;z-index:10}@keyframes drop-target-indicator{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.trip-card.trip-slot{background:linear-gradient(135deg,#fafafa,#f5f5f5);border:2px dashed #d9d9d9!important}.trip-card.trip-slot:hover{border-color:#91d5ff!important;background:linear-gradient(135deg,#f0f9ff,#e6f7ff)}.assignment-confirm-modal .ant-modal-content{border-radius:12px;overflow:hidden}.assignment-confirm-modal .ant-modal-header{border-radius:12px 12px 0 0;background:linear-gradient(135deg,#f0f9ff,#e6f7ff);border-bottom:1px solid #91d5ff}.assignment-confirm-content p{margin:8px 0;font-size:14px;line-height:1.5}.ant-card-body::-webkit-scrollbar,.truck-orders-list::-webkit-scrollbar,.truck-trips-container::-webkit-scrollbar{width:6px}.ant-card-body::-webkit-scrollbar-track,.truck-orders-list::-webkit-scrollbar-track,.truck-trips-container::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.ant-card-body::-webkit-scrollbar-thumb,.truck-orders-list::-webkit-scrollbar-thumb,.truck-trips-container::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px;transition:background .2s ease}.ant-card-body::-webkit-scrollbar-thumb:hover,.truck-orders-list::-webkit-scrollbar-thumb:hover,.truck-trips-container::-webkit-scrollbar-thumb:hover{background:#bfbfbf}@media (min-width: 1600px){.trip-stops-container{max-height:280px}.stop-item-content{padding:12px 16px}.stop-order-number{font-size:14px}.truck-trips-container{max-height:600px}}@media (max-width: 1400px){.trip-stops-container{max-height:180px}.stop-item-content{padding:8px 10px}.drag-handle{width:24px;height:24px}}@media (max-width: 1200px){.trip-stops-container{max-height:160px}.stop-stat-tag{font-size:9px!important;padding:0 4px!important}.truck-trips-container{max-height:400px}}@media (max-width: 768px){.trip-stops-container{max-height:140px}.stop-actions{flex-direction:column;gap:4px}.drag-handle{width:22px;height:22px}.truck-trips-container{max-height:300px}}.drag-handle:focus{outline:2px solid #1890ff;outline-offset:2px}.stop-delete-btn:focus{outline:2px solid #ff4d4f;outline-offset:1px}.truck-card:focus,.order-card:focus{outline:2px solid #1890ff;outline-offset:2px}@media (prefers-contrast: high){.stop-item-content{border-width:2px!important}.drag-handle{border:2px solid currentColor}.truck-card,.order-card{border-width:2px!important}}@media (prefers-reduced-motion: reduce){.sortable-stop-item,.stop-item-content,.drag-handle,.drop-position-line,.drop-position-text,.truck-card,.order-card,.truck-order-item,.drag-indicator{transition:none!important;animation:none!important}.stop-item-content:hover,.drag-handle:hover,.truck-card:hover,.order-card:hover{transform:none!important}}@media print{.drag-handle,.stop-delete-btn,.trip-sortable-hint,.truck-action-btn,.truck-order-delete-btn,.drag-indicator{display:none}.trip-stops-container,.truck-orders-list,.truck-trips-container{max-height:none!important;overflow:visible!important}.stop-item-content,.truck-card,.order-card{box-shadow:none!important;border:1px solid #d9d9d9!important}}@media (prefers-color-scheme: dark){.truck-orders-list{background-color:#1f1f1f;border-color:#434343}.truck-order-item{background-color:#262626;border-color:#434343}.truck-driver-info{background-color:#1f1f1f}.order-card{background-color:#1f1f1f!important;border-color:#434343!important}.truck-orders-empty{background-color:#1f1f1f;border-color:#434343}.stop-item-content{background:#262626;border-color:#434343}.drag-handle{background:#1f1f1f;color:#8c8c8c}}@keyframes assignment-success{0%{transform:scale(1);background-color:#f6ffed}50%{transform:scale(1.05);background-color:#d9f7be}to{transform:scale(1);background-color:#f6ffed}}.truck-card.assignment-success{animation:assignment-success .6s ease-out}.ant-badge-count{min-width:16px!important;height:16px!important;line-height:16px!important;font-size:9px!important;padding:0 4px!important}.ant-statistic-content,.ant-statistic-content-value{line-height:1.1!important}.ant-progress-line{margin-bottom:0!important}.ant-progress-text{display:none!important}.ant-tag{margin:0!important;padding:0 4px!important;line-height:16px!important;font-size:10px!important}.ant-btn-sm{height:24px!important;padding:0 8px!important;font-size:11px!important}.truck-card .ant-typography,.truck-card .ant-space-item{margin-bottom:0!important}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-container{min-height:100vh}.site-layout-content{padding:24px;background:#fff;min-height:280px}
