:root{--navy:#152536;--navy-soft:#203446;--teal:#087f8c;--teal-dark:#066773;--teal-light:#e7f4f3;--ink:#203143;--muted:#8995a3;--line:#e8edf2;--canvas:#f3f6fa;--white:#fff;--orange:#df9850;--red:#d76a6a;--green:#36a185;--shadow:0 4px 20px #23354903;--radius:14px;font-family:'DM Sans','Noto Sans SC','Microsoft YaHei',sans-serif;color:var(--ink);font-size:13px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--canvas)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button{color:inherit}button svg{flex-shrink:0}svg{vertical-align:middle}input,select,textarea{outline:none}button:focus-visible,a:focus-visible{outline:3px solid #29bbc17a;outline-offset:3px}input:focus,select:focus,textarea:focus{border-color:#68afb5!important;box-shadow:0 0 0 3px #087f8c0c}input::placeholder,textarea::placeholder{color:#a3adba}h1,h2,h3,h4,p{margin:0}table{border-collapse:collapse;width:100%}.app-loading{height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--teal)}.loading-ring{width:22px;height:22px;border:2px solid #087f8c25;border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.app-shell{display:flex;min-height:100vh}.sidebar{width:224px;background:var(--navy);color:#afbdca;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:29px 17px 17px;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 13px 29px;color:white}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#0e8d98;color:#fff;box-shadow:0 4px 14px #0001}.brand-title{font-weight:700;letter-spacing:3px;font-size:22px;line-height:1.2}.brand-en{font-size:8px;letter-spacing:3.2px;color:#96aab8;display:block;margin-top:5px}.side-section-title{padding:17px 16px 10px;font-size:10px;letter-spacing:1.3px;color:#708797}.side-nav{display:flex;flex-direction:column;gap:5px}.nav-item{width:100%;border:0;display:flex;align-items:center;text-align:left;gap:12px;background:none;color:#a8b8c6;padding:12px 15px;border-radius:8px;transition:background .2s,color .2s;position:relative}.nav-item svg{opacity:.85;width:18px;height:18px}.nav-item:hover{background:#ffffff08;color:white}.nav-item.active{background:#087f8c;color:#fff;font-weight:600;box-shadow:0 3px 9px #0001}.nav-count{margin-left:auto;font-size:10px;background:#ffffff1b;border-radius:5px;padding:2px 6px;min-width:23px;text-align:center;color:#d9f0ef}.nav-item.active:before{content:'';position:absolute;width:3px;height:15px;border-radius:8px;left:0;background:#79d1cd}.sidebar-bottom{margin-top:auto;padding-top:25px}.system-indicator{margin:0 12px 17px;border:1px solid #ffffff0b;border-radius:9px;background:#ffffff03;padding:12px;display:flex;gap:9px;align-items:center;font-size:10px}.system-dot{width:6px;height:6px;background:#69baa5;border-radius:50%;box-shadow:0 0 0 3px #69baa510;flex-shrink:0}.system-indicator small{display:block;margin-top:5px;color:#708797;font-size:9px}.sidebar-profile{border-top:1px solid #ffffff0b;padding:17px 10px 0;display:flex;align-items:center;gap:10px}.profile-avatar{width:32px;height:32px;background:#3b5063;border:1px solid #62768855;border-radius:9px;display:grid;place-items:center;color:#d7e1e8;font-weight:600}.profile-name{font-size:11px;color:#d5dfe7;max-width:107px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.profile-role{font-size:9px;color:#718798;margin-top:4px}.logout-btn{margin-left:auto;background:transparent;border:0;color:#8ca1b2;padding:4px}.logout-btn:hover{color:#fff}.main-shell{width:calc(100% - 224px);margin-left:224px}.topbar{height:77px;display:flex;align-items:center;padding:0 33px;background:#ffffffd9;border-bottom:1px solid var(--line);gap:25px}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:11px;white-space:nowrap;color:#7d8b9b}.breadcrumb strong{font-weight:500;color:#3b4f62}.breadcrumb .city-pill{margin-right:12px;color:#4d6173;display:flex;align-items:center;gap:6px}.crumb-divider{color:#c8d0d9}.topbar-right{display:flex;align-items:center;margin-left:auto;gap:18px}.global-search{display:flex;align-items:center;gap:9px;color:#8e9ba9}.global-search input{border:0;background:none;width:158px;font-size:11px;box-shadow:none!important}.search-key{font-size:9px;color:#a9b3bd;padding:3px 5px;border:1px solid #e8ecf1;border-radius:4px}.top-divider{width:1px;height:22px;background:var(--line)}.top-date{font-size:10px;color:#7f8c9b;white-space:nowrap}.icon-button{width:32px;height:32px;display:grid;place-items:center;background:transparent;border:0;border-radius:8px;position:relative;color:#778697}.icon-button:hover{background:var(--canvas)}.notification-dot{position:absolute;top:5px;right:7px;width:5px;height:5px;background:var(--orange);border:1px solid white;border-radius:50%}.mobile-toggle{display:none}.main-content{padding:29px 33px 32px;max-width:1800px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:15px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#8596a5;margin-bottom:7px;font-weight:600}.page-heading h1{font-size:25px;letter-spacing:.8px;font-weight:700;color:#1d3144;line-height:1.4}.page-heading p{font-size:11px;color:#91a0ae;margin-top:8px}.page-title-row{display:flex;align-items:center;gap:12px}.live-pill{display:inline-flex;gap:5px;align-items:center;padding:4px 7px;border:1px solid #d7e9e5;border-radius:5px;background:#edf6f3;color:#4d9683;font-size:9px}.live-pill i{width:4px;height:4px;background:#53a88a;border-radius:50%}.heading-actions{display:flex;align-items:center;gap:9px}.heading-actions .date-range{display:flex;align-items:center;gap:8px;background:#fff;padding:9px 12px;border:1px solid var(--line);border-radius:7px;font-size:10px;color:#748596}.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:1px solid #e0e7ed;border-radius:7px;padding:10px 15px;line-height:1.4;background:#fff;color:#597083;font-size:11px;font-weight:500;white-space:nowrap;transition:.18s}.button:hover{border-color:#b6cbd4;background:#fcfefe;transform:translateY(-1px)}.button.primary{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 3px 7px #087f8c0d}.button.primary:hover{background:var(--teal-dark)}.button.secondary{background:white}.button.danger{background:#fff3f2;border-color:#f4d6d3;color:#c06661}.button.small{padding:6px 10px;font-size:10px}.button.ghost{border-color:transparent;background:transparent;padding:6px 8px;color:var(--teal)}.button.ghost:hover{background:var(--teal-light)}.button svg{width:14px;height:14px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:19px 20px 17px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#8492a0;font-size:11px}.stat-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#eef6f7;color:#6c9ca3}.stat-icon.orange{background:#fcf4e9;color:#d6a360}.stat-icon.blue{background:#eef2f9;color:#8a9fbe}.stat-icon.purple{background:#f1eff7;color:#a696bd}.stat-number{font-size:31px;color:#243a4c;letter-spacing:-1px;margin-top:5px;font-weight:600;line-height:1.35}.stat-number small{font-size:11px;font-weight:400;letter-spacing:0;margin-left:6px;color:#95a1ae}.stat-foot{font-size:9px;color:#9aa6b3;display:flex;gap:8px;align-items:center;margin-top:7px}.stat-change{font-size:9px;display:flex;align-items:center;gap:3px;color:#57a18b;font-weight:500}.stat-change.down{color:#d29962}.stat-spark{position:absolute;right:17px;bottom:16px;width:80px;height:33px;opacity:.95}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 299px;gap:19px;margin-bottom:23px}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:19px 21px;border-bottom:1px solid #edf1f5;min-height:64px;gap:10px}.panel-heading{display:flex;align-items:center;gap:9px}.panel-header h2,.section-title{font-size:13px;font-weight:600;color:#30485a}.panel-kicker{font-size:9px;color:#a7b0b9;margin-top:5px}.panel-tools{display:flex;align-items:center;gap:9px}.panel-header .button.ghost{font-size:10px}.tiny-counter{font-size:10px;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:19px;border-radius:5px;background:#f4f6f9;color:#9ba7b1;font-weight:500}.map-panel{position:relative;min-width:0}.map-panel .panel-header{padding-top:17px;padding-bottom:17px}.map-status-legend{display:flex;align-items:center;gap:14px;font-size:9px;color:#8e9ba7}.map-status-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}.legend-dot{width:6px;height:6px;background:var(--teal);border-radius:50%;display:inline-block}.legend-dot.orange{background:#d9a161}.legend-dot.gray{background:#b3bfcb}.map-viewport{position:relative;height:330px;background:#f0f4f4;overflow:hidden}.city-map{width:100%;height:100%;object-fit:cover}.map-region{fill:#a5b4b9;font-size:10px;letter-spacing:2px;font-family:'Noto Sans SC',sans-serif}.map-road-label{fill:#b0bcbf;font-size:6px;letter-spacing:1px}.map-river-label{fill:#83b9bc;font-size:13px;letter-spacing:9px}.map-pin{cursor:pointer;filter:drop-shadow(0 3px 4px #213b4b15)}.map-pin:hover{filter:drop-shadow(0 3px 6px #087f8c50)}.map-overlay-summary{position:absolute;top:16px;left:18px;padding:10px 13px;background:#ffffffef;border:1px solid white;border-radius:8px;box-shadow:0 3px 12px #24405006;font-size:9px;color:#95a3aa;display:flex;align-items:center;gap:12px}.map-overlay-summary b{color:#4d6675;font-size:11px;margin-right:4px}.map-summary-divider{width:1px;height:22px;background:#e8edf1}.map-zoom{position:absolute;right:15px;bottom:42px;display:grid;box-shadow:0 2px 8px #1737430c;border:1px solid #e3e9eb;border-radius:6px;overflow:hidden}.map-zoom button{width:29px;height:28px;border:0;background:white;color:#7e939a;font-size:17px}.map-zoom button+button{border-top:1px solid var(--line)}.map-zoom button:hover{background:#f6fafa}.map-attribution{position:absolute;right:12px;bottom:8px;font-size:8px;color:#8da2aa;padding:3px 5px;background:#ffffff9c;border-radius:3px}.map-maplabel{position:absolute;left:18px;bottom:14px;font-size:8px;letter-spacing:1px;color:#9eafb7}.map-footer{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;font-size:9px;color:#9ba6b1;border-top:1px solid #edf1f5;gap:10px}.map-footer .map-latest{display:flex;align-items:center;gap:6px}.map-footer .map-latest i{width:5px;height:5px;background:#78ada5;border-radius:50%}.map-footer a,.map-footer button{color:#64878e;font-size:9px;background:none;border:0;padding:0;display:flex;align-items:center;gap:5px}.queue-panel{display:flex;flex-direction:column}.queue-panel .panel-header{padding:18px 19px}.queue-panel .panel-heading{gap:8px}.queue-subline{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#9ba7b1;padding:13px 19px 0}.queue-subline .orange-text{color:#cf9a62}.queue-list{padding:3px 19px 0;flex:1}.queue-item{padding:15px 0 13px;border-bottom:1px dashed #e8edf1;cursor:pointer}.queue-item:last-child{border-bottom:0}.queue-item:hover .queue-store{color:var(--teal)}.queue-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.queue-order-code{font-family:'DM Sans',sans-serif;font-size:10px;color:#9aa8b3}.queue-time{font-size:8px;color:#ce9969;background:#fbf3eb;border-radius:4px;padding:3px 5px}.queue-store{display:flex;align-items:center;gap:7px;font-size:11px;color:#3e5668;font-weight:500;transition:color .2s}.queue-store .store-dot{width:5px;height:5px;background:#519d9f;border-radius:50%}.queue-address{font-size:9px;color:#9ba6b1;margin:6px 0 9px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.queue-item-bottom{display:flex;align-items:center;justify-content:space-between;margin-left:12px}.queue-distance{font-size:9px;color:#9ba6b1}.queue-distance b{font-size:10px;color:#748b99;font-weight:500}.queue-price{font-size:12px;color:#304f5d;font-weight:600}.queue-auto{padding:12px 18px 16px;border-top:1px solid #f1f3f6}.queue-auto .button{width:100%;padding:10px;font-size:10px;background:#edf6f6;border-color:#deeeef;color:#3b858d}.queue-auto .button:hover{background:#e3f1f1}.queue-auto small{display:block;text-align:center;font-size:8px;color:#a4aeb8;margin-top:8px}.table-panel .panel-header{padding:17px 21px}.table-head-description{font-size:9px;color:#a0aab5;margin-left:7px}.table-tabs{display:flex;align-items:center;gap:18px}.table-tab{background:none;border:0;padding:7px 0;font-size:10px;color:#9aa6b2;position:relative;white-space:nowrap}.table-tab.active{color:var(--teal);font-weight:600}.table-tab.active:after{content:'';height:2px;background:var(--teal);position:absolute;left:0;right:0;bottom:-18px;border-radius:4px}.table-tab small{font-size:8px;color:inherit;opacity:.75;margin-left:4px}.table-wrap{overflow-x:auto}.data-table{font-size:11px;white-space:nowrap}.data-table th{text-align:left;font-weight:400;color:#98a5b2;background:#fbfcfe;padding:13px 20px;font-size:9px;border-bottom:1px solid #edf1f5}.data-table td{padding:16px 20px;border-bottom:1px solid #f0f3f6;font-size:10px;color:#718494}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fcfdfd}.order-code{font-size:10px;font-weight:500;color:#4d6578;font-family:'DM Sans',sans-serif;letter-spacing:.25px}.order-code button{font:inherit;color:inherit;background:none;border:0;padding:0;text-align:left}.table-sub{font-size:8px;color:#a5afb9;margin-top:5px}.source-tag{font-size:8px;border:1px solid #e8edf2;border-radius:3px;display:inline-flex;align-items:center;gap:4px;padding:2px 4px;color:#93a0ad;margin-left:5px}.source-dot{width:4px;height:4px;background:#c6b29a;border-radius:50%}.source-tag.qingyun .source-dot{background:#77a7c7}.source-tag.maiyatian .source-dot{background:#c4b078}.source-tag.manual .source-dot{background:#70aa9a}.table-store{font-size:10px;color:#4f6576;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis}.table-location{font-size:8px;color:#a2adba;margin-top:5px;max-width:190px;overflow:hidden;text-overflow:ellipsis}.rider-cell{display:flex;align-items:center;gap:7px}.rider-avatar{height:25px;width:25px;border-radius:7px;background:#eef3f6;color:#8da3b1;display:grid;place-items:center;font-size:9px}.rider-cell span{font-size:10px;color:#6a8191}.unassigned-rider{color:#b7c0c9!important;font-size:9px!important}.money-cell{font-family:'DM Sans',sans-serif;color:#4c6878!important;font-weight:500}.table-operation{display:flex;gap:8px;align-items:center}.table-operation button{background:none;border:0;font-size:9px;color:#3b8e98;padding:3px 0}.table-operation .muted-action{color:#a8b3bd}.table-footer{padding:14px 21px;border-top:1px solid #eef2f6;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#9aa8b5}.page-stepper{display:flex;align-items:center;gap:5px}.page-stepper button{height:24px;min-width:24px;background:white;border:1px solid #e7edf2;border-radius:4px;color:#8d9ca9;font-size:9px}.page-stepper button.active{background:#ecf5f6;color:var(--teal);border-color:#d9ebed}.page-stepper button:hover{border-color:#b7d6da}.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 7px;border-radius:4px;font-size:8px;font-weight:400;line-height:1.3;background:#f0f3f6;color:#8a9ba8;white-space:nowrap}.badge:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.75}.badge.pending,.badge.warning,.badge.warn{background:#fbf3e8;color:#ce9b5e}.badge.assigned{background:#edf1f9;color:#829bc0}.badge.pickup,.badge.delivering,.badge.info{background:#eaf4f5;color:#4b9a9f}.badge.completed,.badge.success,.badge.active,.badge.online{background:#edf6f0;color:#6a9d82}.badge.cancelled,.badge.danger,.badge.disabled,.badge.offline{background:#f6efef;color:#b28c8e}.muted{color:#97a5b3!important}.green-text{color:#5e9c88}.orange-text{color:#ce9965}.teal-text{color:var(--teal)}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:19px;margin-top:23px}.trend-chart{height:176px;padding:10px 20px 10px;position:relative}.trend-chart svg{width:100%;height:100%}.chart-grid{stroke:#edf1f5;stroke-width:1;stroke-dasharray:3 4}.chart-label{fill:#adb7c0;font-size:8px}.chart-tooltip{font-size:8px;fill:#7d929f}.chart-summary{display:flex;gap:25px;align-items:center}.chart-summary span{font-size:9px;color:#a2adba}.chart-summary b{font-size:12px;margin-left:6px;color:#607a8a;font-weight:500}.channel-summary{padding:21px;display:flex;align-items:center;gap:25px;height:176px}.donut-chart{width:112px;height:112px;position:relative;flex-shrink:0}.donut-chart svg{transform:rotate(-90deg)}.donut-center{position:absolute;inset:0;display:grid;align-content:center;justify-content:center;text-align:center}.donut-center b{font-size:24px;color:#3a5366;font-weight:500}.donut-center span{font-size:8px;color:#a0acb7;margin-top:3px}.channel-legend{flex:1;display:grid;gap:15px}.channel-legend-row{display:flex;align-items:center;gap:7px;font-size:10px;color:#8a9ba8}.channel-legend-row b{margin-left:auto;font-weight:500;color:#617a8b}.color-square{height:6px;width:6px;border-radius:2px;flex-shrink:0}.page-footnote{margin-top:23px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#a8b3bd;letter-spacing:.2px}.page-footnote span:last-child{letter-spacing:1px}.view-switch{display:flex;gap:5px;padding:3px;background:#eaf0f4;border-radius:7px}.view-switch button{padding:7px 11px;border:0;background:transparent;font-size:10px;color:#7d919f;border-radius:5px}.view-switch button.active{background:white;color:var(--teal);box-shadow:0 2px 5px #253b4c08}.toolbar{padding:17px 21px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.toolbar .spacer{flex:1}.input,.select,input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid #e2e8ef;border-radius:7px;background:#fff;padding:10px 11px;font-size:11px;color:#577084;transition:border-color .15s;min-width:0}textarea{resize:vertical;min-height:80px;line-height:1.7}.global-search input{border:0!important;padding:0!important;border-radius:0!important}.search-field{display:flex;align-items:center;gap:8px;border:1px solid #e2e8ef;background:#fff;border-radius:7px;padding:0 10px;color:#a1aeba}.search-field input{border:0!important;box-shadow:none!important;padding-left:0!important;width:205px;background:transparent!important}.toolbar select{min-width:118px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 17px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>label,.field-label{font-size:11px;color:#6f8495}.field small{font-size:9px;color:#a0aeb9;line-height:1.7}.field.full,.span-2{grid-column:1/-1}.form-section-title{font-size:11px;color:#4d7180;padding:2px 0 12px;margin-top:7px;border-bottom:1px solid var(--line);grid-column:1/-1;display:flex;align-items:center;gap:7px}.form-section-title:first-child{margin-top:0}.required{color:#c58f73;margin-left:2px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.content-pad{padding:22px}.empty-state{text-align:center;padding:45px 20px;color:#a1aeba;font-size:11px;line-height:1.9}.empty-icon{height:47px;width:47px;background:#f4f7fa;border-radius:13px;color:#a8bac5;display:grid;place-items:center;margin:0 auto 12px}.empty-state h3{font-size:13px;color:#738b9a;margin:0 0 5px}.empty-state .button{margin-top:15px}.tabs{display:flex;align-items:center;gap:5px;padding:4px;border-radius:8px;background:#edf2f5;width:max-content;margin-bottom:19px}.tabs button{border:0;background:transparent;padding:9px 15px;border-radius:5px;font-size:11px;color:#8a9aa8}.tabs button.active{background:#fff;color:var(--teal);box-shadow:0 1px 4px #243a4a08}.avatar{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:#edf4f5;color:#6f9ba2;font-size:12px;font-weight:500;flex-shrink:0}.avatar.orange{background:#fcf4e9;color:#c9a36e}.cell-main{font-weight:500;color:#4b6575}.cell-sub{font-size:9px;color:#9ba9b4;margin-top:4px}.flex-row{display:flex;gap:10px;align-items:center}.dispatch-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.dispatch-layout .map-viewport{height:540px}.dispatch-layout .map-panel{height:max-content}.dispatch-riders{margin-top:20px}.rider-mini{display:flex;align-items:center;gap:10px;padding:13px 19px;border-bottom:1px solid #f0f3f6}.rider-mini .rider-info{flex:1}.rider-mini b{font-size:11px;color:#557080;font-weight:500}.rider-mini small{display:block;font-size:9px;color:#a1adba;margin-top:4px}.rider-status{font-size:9px;color:#6e9b8b;display:flex;align-items:center;gap:5px}.rider-status:before{content:'';width:5px;height:5px;background:#7cab98;border-radius:50%}.rider-status.off{color:#aeb9c3}.rider-status.off:before{background:#c4ccd4}.dispatch-orders .queue-item{padding:16px 18px;border-bottom:1px solid #edf1f5}.dispatch-orders .queue-list{padding:0;max-height:430px;overflow-y:auto}.dispatch-orders .queue-address{max-width:265px}.dispatch-orders .queue-item-bottom .button{margin-left:auto;font-size:9px;padding:5px 8px}.dispatch-legend{font-size:10px;display:flex;gap:15px;color:#8b9daa;align-items:center}.dispatch-legend i{width:7px;height:7px;display:inline-block;border-radius:50%;margin-right:5px}.metric-note{font-size:10px;color:#9aabb7;margin-top:8px}.quote-summary{background:#f0f8f7;border:1px solid #dcedeb;border-radius:9px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:19px}.quote-summary small{display:block;color:#8ca6a8;font-size:9px;margin-top:5px}.quote-summary strong{font-size:24px;color:var(--teal);font-weight:600}.quote-summary span{font-size:10px;color:#59838b}.quote-breakdown{font-size:9px;color:#7e999e;line-height:1.8}.modal-backdrop{position:fixed;inset:0;background:#12263750;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:25px;animation:fadeIn .15s}.modal{width:600px;max-width:100%;max-height:calc(100vh - 50px);background:#fff;border-radius:15px;box-shadow:0 25px 90px #0c26352b;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-header h2{font-size:16px;font-weight:600;color:#2b485a}.modal-header small{display:block;font-size:10px;color:#9baab7;margin-top:6px}.modal-body{padding:23px 26px;overflow-y:auto;max-height:calc(100vh - 220px)}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 26px;background:#fcfdfe;border-top:1px solid var(--line)}.modal-footer .button{min-width:87px}.drawer-backdrop{position:fixed;inset:0;background:#12263736;backdrop-filter:blur(1px);z-index:90;animation:fadeIn .15s}.order-drawer{width:510px;max-width:95vw;background:white;position:absolute;right:0;top:0;bottom:0;box-shadow:-15px 0 65px #15263818;display:flex;flex-direction:column;animation:slideIn .2s}.drawer-header{padding:27px 28px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start}.drawer-eyebrow{font-size:9px;color:#98aab6;letter-spacing:1.5px;margin-bottom:9px}.drawer-header h2{font-size:20px;font-weight:600;letter-spacing:.3px;color:#304e60}.drawer-header .badge{margin-top:12px}.drawer-body{padding:24px 28px;flex:1;overflow-y:auto}.drawer-section{padding-bottom:24px;margin-bottom:23px;border-bottom:1px solid var(--line)}.drawer-section:last-child{border-bottom:0;margin-bottom:0}.drawer-section-title{font-size:11px;font-weight:600;color:#5c7a8c;margin-bottom:18px;display:flex;align-items:center;gap:7px}.route-detail{padding-left:23px;position:relative}.route-detail:before{content:'';position:absolute;left:5px;top:10px;bottom:30px;width:1px;border-left:1px dashed #cddce1}.route-point{position:relative;padding-bottom:23px}.route-point:last-child{padding-bottom:0}.route-point:before{content:'';position:absolute;width:8px;height:8px;left:-21px;top:4px;background:#fff;border:2px solid #6cabb0;border-radius:50%;box-shadow:0 0 0 3px white}.route-point.end:before{border-color:#d9a468}.route-point span{font-size:9px;color:#95a8b5}.route-point h3{font-size:13px;font-weight:500;margin-top:6px;color:#496778;line-height:1.6}.route-point p{font-size:10px;margin-top:5px;color:#9babb7;line-height:1.7}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.detail-grid label{font-size:9px;color:#a0afbb;display:block;margin-bottom:6px}.detail-grid strong{font-size:11px;color:#587587;font-weight:500;line-height:1.8}.detail-grid .full{grid-column:1/-1}.timeline{padding-left:20px}.timeline-item{position:relative;border-left:1px solid #e3ecef;padding:0 0 21px 18px;margin-left:-14px}.timeline-item:before{content:'';height:6px;width:6px;border-radius:50%;background:#d1dfe4;position:absolute;left:-3.5px;top:5px;box-shadow:0 0 0 3px white}.timeline-item:first-child:before{background:var(--teal);box-shadow:0 0 0 3px #eef8f8}.timeline-item:last-child{border-left-color:transparent;padding-bottom:0}.timeline-item p{font-size:11px;color:#6b8596;line-height:1.6}.timeline-item small{display:block;font-size:9px;color:#a1b0bc;margin-top:5px}.drawer-footer{padding:18px 28px;border-top:1px solid var(--line);display:flex;gap:10px;background:#fcfdfe;flex-wrap:wrap}.drawer-footer .button.primary{flex:1}.assign-inline{display:flex;gap:8px;margin-top:12px}.assign-inline select{flex:1;width:100%;font-size:10px}.toast-stack{position:fixed;right:27px;top:22px;z-index:200;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:#fff;border:1px solid #d7e8e8;box-shadow:0 10px 40px #13283815;border-radius:9px;padding:13px 19px;display:flex;align-items:center;gap:10px;min-width:220px;font-size:11px;color:#537b82;animation:toastIn .2s;max-width:440px}.toast.error{border-color:#f0d8d3;color:#b6766d}.toast svg{width:16px;height:16px}.notice-banner{display:flex;align-items:center;gap:10px;padding:13px 17px;background:#edf6f6;border:1px solid #daebed;border-radius:8px;color:#65939b;font-size:10px;line-height:1.8;margin-bottom:20px}.notice-banner svg{flex-shrink:0}.notice-banner.warning{background:#fff8ee;border-color:#f3e7d4;color:#b29a73}.permission-label{padding:8px 12px;border:1px solid #e2eeed;color:#7b9d9e;background:#f4f9f8;font-size:9px;border-radius:6px}.login-page{min-height:100vh;background:#f6f8fa;display:grid;grid-template-columns:1.05fr 1fr}.login-visual{position:relative;background:#152b3a;overflow:hidden;padding:47px 60px;display:flex;flex-direction:column;color:#fff}.login-visual .brand{padding:0}.login-visual .brand-mark{background:#168e98}.login-visual:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 15% 95%,#11727a4d,transparent 70%);pointer-events:none}.login-story{position:relative;margin:auto 0;z-index:1;padding:65px 0 30px}.login-story .eyebrow{color:#73aeb4;font-size:10px;letter-spacing:3px}.login-story h1{font-size:43px;font-weight:500;line-height:1.65;letter-spacing:4px;margin:24px 0}.login-story p{font-size:12px;color:#8ba6b6;line-height:2.1;max-width:340px}.login-graphic{height:220px;position:relative;margin-top:35px;max-width:440px}.login-graphic svg{width:100%;height:100%}.login-visual-footer{font-size:9px;color:#688797;letter-spacing:1px;position:relative;z-index:1}.login-form-area{display:flex;align-items:center;justify-content:center;padding:45px;position:relative}.login-form-container{width:350px;max-width:100%}.login-form-container .eyebrow{font-size:9px;letter-spacing:2px;color:#879fae;margin-bottom:15px}.login-form-container h2{font-size:29px;font-weight:600;letter-spacing:1px;color:#264456}.login-form-container>p{font-size:11px;color:#9aaab6;margin:13px 0 34px;line-height:1.8}.login-form .field{margin-bottom:20px;gap:9px}.login-form input{padding:13px 14px!important;background:#fff;height:43px}.login-form label{font-size:11px;color:#78909e}.login-form .button{width:100%;padding:12px;justify-content:space-between;padding-left:18px;padding-right:18px}.login-error{display:none;color:#b5766e;background:#fcf3f1;border:1px solid #f0d9d4;padding:10px 12px;border-radius:7px;font-size:11px;margin-bottom:15px}.login-demo-label{display:flex;align-items:center;gap:11px;color:#a4b0ba;font-size:9px;margin:30px 0 18px}.login-demo-label:before,.login-demo-label:after{content:'';height:1px;background:#e4eaef;flex:1}.demo-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.demo-role{display:flex;flex-direction:column;align-items:center;gap:9px;padding:16px 8px;background:#fff;border:1px solid #e2e9ee;border-radius:8px;color:#88a2ae;transition:.2s}.demo-role:hover{background:#f0f8f8;border-color:#a3cdd1;color:var(--teal);transform:translateY(-2px)}.demo-role span{font-size:10px;color:#66818f}.demo-role small{font-size:8px;color:#a7b4be}.login-demo-note{font-size:9px;color:#a8b5bf;margin-top:15px;line-height:1.8;text-align:center}.login-bottom{position:absolute;bottom:24px;font-size:8px;color:#a8b6c0;letter-spacing:1px}.workbench-welcome{background:linear-gradient(110deg,#1e5766,#087f8c);border-radius:12px;padding:29px;color:white;margin-bottom:22px;position:relative;overflow:hidden}.workbench-welcome h2{font-size:22px;font-weight:500}.workbench-welcome p{font-size:11px;color:#b0d6d8;margin-top:10px}.workbench-welcome:after{content:'';width:190px;height:190px;border:35px solid #ffffff06;border-radius:50%;position:absolute;right:20px;top:-90px}.setting-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.setting-row:last-child{border-bottom:0}.setting-row h3{font-size:12px;font-weight:500;color:#5d788a}.setting-row p{font-size:10px;color:#a1afba;margin-top:7px;line-height:1.8}.toggle{appearance:none;width:34px!important;height:19px;border-radius:20px;background:#dce5eb;border:0;position:relative;cursor:pointer;transition:.2s;padding:0!important}.toggle:checked{background:var(--teal)}.toggle:before{content:'';position:absolute;width:13px;height:13px;border-radius:50%;background:white;left:3px;top:3px;box-shadow:0 1px 3px #0001;transition:.2s}.toggle:checked:before{left:18px}.mini-stat{padding:18px;background:#f7f9fb;border-radius:9px}.mini-stat label{font-size:10px;color:#93a5b2;display:block}.mini-stat strong{display:block;font-size:23px;color:#557587;font-weight:500;margin-top:8px}.status-card{padding:20px;border:1px solid var(--line);border-radius:10px}.status-card h3{font-size:13px;font-weight:600;color:#506f82}.status-card p{font-size:10px;color:#99aab6;line-height:1.9;margin-top:7px}.status-card .button{margin-top:15px}.channel-card{padding:23px}.channel-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.channel-icon{width:42px;height:42px;background:#eef6f8;color:#73a2ae;border-radius:12px;display:grid;place-items:center}.channel-card h3{font-size:15px;color:#4c6c7d;font-weight:600;margin-bottom:8px}.channel-card p{color:#9daeb9;line-height:1.9;font-size:10px}.chart-bars{display:flex;gap:12px;align-items:flex-end;height:170px;padding:15px 20px 0}.chart-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;height:100%;justify-content:flex-end}.chart-bar{width:60%;max-width:34px;min-height:5px;background:#75b7b8;border-radius:4px 4px 0 0}.chart-bar-group span{font-size:9px;color:#9cafbc}.chart-bar-group b{font-size:10px;font-weight:500;color:#7392a2}.receipt{background:#fafcfd;padding:20px;border-radius:9px;font-size:11px;color:#8ca3af;line-height:2.5}.receipt>div{display:flex;justify-content:space-between}.receipt>div strong{font-weight:500;color:#5e7f90}.receipt-total{border-top:1px dashed #dae5e9;margin-top:8px;padding-top:8px}.receipt-total strong{color:var(--teal)!important;font-size:18px}.section-description{font-size:10px;color:#a2b0ba;line-height:1.8}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.detail-alert{background:#f8f4ec;color:#aa9673;font-size:10px;padding:12px 14px;border-radius:7px;line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideIn{from{transform:translateX(35px);opacity:.5}to{transform:translateX(0);opacity:1}}@keyframes toastIn{from{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(min-width:1600px){.overview-grid{grid-template-columns:minmax(0,1fr) 340px}.map-viewport{height:375px}.queue-list{padding-left:22px;padding-right:22px}.queue-item{padding:20px 0 17px}.stat-card{padding:22px 25px}.stat-number{font-size:35px}.main-content{padding-top:33px}.queue-address{max-width:280px}.sidebar{width:240px}.main-shell{width:calc(100% - 240px);margin-left:240px}.sidebar .nav-item{padding-top:13px;padding-bottom:13px}.sidebar .side-section-title{padding-top:22px}}
@media(max-width:1250px){.sidebar{width:202px;padding-left:13px;padding-right:13px}.main-shell{margin-left:202px;width:calc(100% - 202px)}.topbar{padding:0 24px;gap:10px}.main-content{padding:25px 24px}.overview-grid{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.stats-grid{gap:13px}.stat-card{padding:16px}.stat-spark{width:60px;right:11px;bottom:14px}.stat-number{font-size:29px}.queue-list{padding-left:16px;padding-right:16px}.queue-address{max-width:215px}.global-search input{width:115px}.topbar-right{gap:13px}.top-date{display:none}.data-table th,.data-table td{padding-left:15px;padding-right:15px}.map-status-legend{gap:8px}.table-head-description{display:none}.panel-header{padding-left:17px;padding-right:17px}.table-tabs{gap:12px}.map-viewport{height:326px}.channel-summary{gap:16px;padding-left:17px;padding-right:17px}.dispatch-layout{grid-template-columns:minmax(0,1fr) 280px}.login-visual{padding:40px}.login-story h1{font-size:35px}.login-form-area{padding:35px}.breadcrumb .city-pill{margin-right:4px}}
@media(max-width:1050px){.global-search{display:none}.overview-grid{grid-template-columns:minmax(0,1fr) 245px}.stats-grid{gap:10px}.stat-card{padding:14px}.stat-number{font-size:27px}.stat-spark{display:none}.stat-top{font-size:10px}.stat-icon{height:26px;width:26px}.queue-list{padding:3px 13px 0}.queue-item{padding-top:16px;padding-bottom:14px}.queue-address{max-width:190px}.queue-panel .panel-header{padding-left:14px;padding-right:14px}.panel-header h2{font-size:12px}.map-status-legend{display:none}.table-tabs{gap:9px}.table-tab{font-size:9px}.bottom-grid{grid-template-columns:1fr}.channel-summary{height:150px;justify-content:center}.channel-legend{max-width:300px}.sidebar{width:184px}.main-shell{margin-left:184px;width:calc(100% - 184px)}.brand{padding-left:9px;gap:9px}.brand-title{font-size:20px}.brand-mark{height:33px;width:33px}.brand-en{font-size:7px;letter-spacing:2.8px}.nav-item{font-size:12px;padding-left:12px;padding-right:12px}.side-section-title{padding-left:12px}.main-content{padding-left:20px;padding-right:20px}.topbar{padding-left:20px;padding-right:20px}.heading-actions .date-range{display:none}.dispatch-layout{grid-template-columns:1fr}.dispatch-side{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dispatch-riders{margin-top:0}.login-story h1{font-size:30px}.login-visual{padding:35px}.login-story p{font-size:11px}.login-graphic{height:190px}}
@media(max-width:800px){.sidebar{width:190px;transform:translateX(-100%);transition:transform .2s;box-shadow:10px 0 40px #10283820}.sidebar.open{transform:translateX(0)}.main-shell{margin-left:0;width:100%}.mobile-toggle{display:grid;margin-left:-8px}.topbar{height:65px;padding-left:18px;padding-right:18px}.topbar .breadcrumb{font-size:10px;gap:6px}.topbar .breadcrumb .city-pill{display:none}.topbar-right{gap:7px}.topbar .top-divider{display:none}.topbar .button{padding:8px 11px;font-size:10px}.main-content{padding:22px 18px}.page-heading h1{font-size:23px}.page-heading p{font-size:10px}.heading-actions .button{font-size:10px;padding:8px 10px}.stats-grid{gap:11px}.stat-card{padding:14px}.stat-top{font-size:9px}.stat-icon{width:25px;height:25px}.stat-number{font-size:26px}.stat-foot{font-size:8px;gap:5px}.stat-change{font-size:8px}.overview-grid{grid-template-columns:minmax(0,1fr) 245px}.map-viewport{height:320px}.table-panel .panel-header{padding:15px}.table-head-description{display:none}.table-tab.active:after{bottom:-17px}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-form-area{min-height:100vh}.login-form-container:before{content:'行川 · XINGCHUAN';display:block;letter-spacing:4px;color:var(--teal);font-weight:600;font-size:13px;margin-bottom:50px}.login-form-container{width:370px}.login-bottom{bottom:20px}.page-footnote{font-size:7px}.grid-2{gap:14px}}
@media(max-width:640px){.main-content{padding:20px 14px}.topbar{padding-left:13px;padding-right:13px}.topbar .breadcrumb strong{font-size:10px}.topbar .breadcrumb .crumb-divider{display:none}.topbar .breadcrumb>span:last-child{display:none}.topbar-right>.icon-button{display:none}.topbar-right .top-date{display:none}.page-heading{margin-bottom:19px;align-items:flex-start}.page-heading h1{font-size:22px}.eyebrow{font-size:8px}.page-heading p{font-size:9px;line-height:1.8;max-width:230px}.heading-actions{gap:6px;align-self:center}.heading-actions .button.secondary{display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:18px}.stat-card{padding:15px 16px}.stat-top{font-size:10px}.stat-number{font-size:29px}.stat-foot{font-size:8px}.stat-spark{display:block;width:60px;bottom:14px;right:13px}.overview-grid{grid-template-columns:1fr;gap:18px;margin-bottom:18px}.map-viewport{height:310px}.queue-list{display:grid;grid-template-columns:1fr 1fr;padding:0 17px;gap:0 15px}.queue-item{padding:15px 0}.queue-item:nth-child(n+3){display:none}.queue-panel .panel-header{padding:16px 18px}.queue-subline{padding-left:18px;padding-right:18px}.queue-address{max-width:140px;font-size:8px}.queue-store{font-size:10px}.queue-order-code{font-size:9px}.queue-time{font-size:7px}.queue-auto{padding:12px 18px}.queue-auto small{display:none}.table-panel .panel-header{flex-direction:column;align-items:flex-start;gap:14px}.table-tabs{gap:18px}.table-tab.active:after{bottom:-16px}.data-table th,.data-table td{padding-left:14px;padding-right:14px}.table-footer{padding:12px 14px;font-size:8px}.bottom-grid{margin-top:18px;gap:18px}.trend-chart{padding-left:10px;padding-right:10px}.chart-summary{gap:10px}.chart-summary span{font-size:8px}.chart-summary b{font-size:10px;margin-left:3px}.channel-summary{gap:35px}.page-footnote{flex-direction:column;gap:7px;align-items:flex-start;margin-top:18px}.page-footnote span:last-child{font-size:7px}.toolbar{padding:14px;gap:8px}.search-field{flex:1}.search-field input{width:100%}.toolbar select{flex:1;min-width:110px}.toolbar .spacer{display:none}.toolbar .button{font-size:10px}.form-grid{gap:16px 12px}.field{grid-column:1/-1}.modal-backdrop{padding:13px}.modal{max-height:calc(100vh - 26px);border-radius:12px}.modal-header{padding:20px}.modal-body{padding:20px;max-height:calc(100vh - 205px)}.modal-footer{padding:15px 20px}.drawer-header{padding:23px}.drawer-body{padding:23px}.drawer-footer{padding:17px 23px}.grid-2{grid-template-columns:1fr}.dispatch-side{grid-template-columns:1fr}.dispatch-layout .map-viewport{height:400px}.dispatch-orders .queue-list{display:block;max-height:320px}.dispatch-orders .queue-item:nth-child(n+3){display:block}.dispatch-riders{margin-top:2px}.view-switch button{padding:7px 8px;font-size:9px}.notice-banner{font-size:9px;padding:11px 13px}.toast-stack{right:13px;left:13px;top:15px}.toast{font-size:10px;min-width:0;max-width:none}.login-form-area{padding:35px 28px}.login-form-container:before{margin-bottom:40px}.demo-role{padding-top:14px;padding-bottom:14px}.workbench-welcome{padding:24px}.workbench-welcome h2{font-size:19px}}
.badge.status-pending{background:#fbf3e8;color:#ce9b5e}.badge.status-assigned{background:#edf1f9;color:#829bc0}.badge.status-pickup,.badge.status-delivering{background:#eaf4f5;color:#4b9a9f}.badge.status-completed{background:#edf6f0;color:#6a9d82}.badge.status-cancelled{background:#f6efef;color:#b28c8e}.badge>i{display:none}
.nav-item{font-size:13px}.data-table td,.order-code,.table-store,.rider-cell span{font-size:12px}.data-table th{font-size:11px}.table-location,.table-sub{font-size:10px}.table-operation button{font-size:11px}.badge{font-size:10px}.source-tag{font-size:9px}.stat-top{font-size:12px}.panel-header h2{font-size:14px}.queue-store{font-size:12px}.queue-address{font-size:10px}.queue-order-code{font-size:11px}.queue-time{font-size:9px}.queue-distance{font-size:10px}.breadcrumb{font-size:12px}.page-heading p{font-size:12px}.table-tab{font-size:11px}.button{font-size:12px}.sidebar-profile .profile-name{font-size:12px}.top-date{font-size:11px}.source-tag{margin-left:0}.field>label{font-size:12px}.field input,.field select,.field textarea{font-size:12px}.timeline-item p{font-size:12px}
@media(max-width:640px){.page-heading p{font-size:10px}.queue-address{font-size:9px}.queue-store{font-size:11px}.data-table td{font-size:11px}.stat-top{font-size:11px}.table-tab{font-size:10px}}
.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#405566 transparent}
