html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.ant-table-cell{font-size:13px!important}html{font-size:16px}html,body{font-family:PingFang SC}.ant-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box}.ant-btn>span,.ant-btn>.ant-btn-icon{display:inline-flex;align-items:center;line-height:1}.ant-input:not(textarea),.ant-input-affix-wrapper,.ant-select-selector,.ant-picker,.ant-btn{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif}.ant-input-affix-wrapper{display:inline-flex;align-items:center}.ant-table-wrapper .ant-table .ant-table-tbody>tr>td{font-family:PingFang SC;font-weight:400;font-size:13px;line-height:21px;color:var(--color-text-gray-15)}.ant-table-wrapper .ant-table .ant-table-thead>tr>th{font-family:PingFang SC;font-weight:500;font-size:12px;line-height:20px;color:var(--color-text-gray-15)}.ant-table-wrapper .ant-table .ant-table-thead>tr:not(.ant-table-measure-row)>th{padding:8px 12px!important}.ant-table-wrapper .ant-table .ant-table-tbody>tr:not(.ant-table-measure-row)>td,.ant-table-wrapper .ant-table tfoot>tr>th,.ant-table-wrapper .ant-table tfoot>tr>td{padding:4px 8px!important}.ant-table-wrapper .ant-table .ant-table-expanded-row-fixed{margin-block:-4px!important}.ant-table-wrapper .ant-table .ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table{margin-block:-4px!important}.ant-table-wrapper .ant-table-pagination.ant-pagination{margin:0;padding:12px;background-color:var(--color-bg-gray-1)}.ant-table-sticky-holder{top:var(--sticky-table-h, 0px)!important}.ant-layout-sider .ant-menu-dark{background:transparent}.ant-layout-sider .ant-menu-dark .ant-menu-item{margin:4px 8px;border-radius:6px;font-size:14px;height:40px;line-height:40px}.ant-layout-sider .ant-menu-dark .ant-menu-item:hover{background:var(--color-bg-gray-2)}.ant-layout-sider .ant-menu-dark .ant-menu-item-selected{background:var(--color-text-blue-6)}.ant-layout-sider .ant-menu-dark .ant-menu-submenu-title{margin:4px 8px;border-radius:6px;font-size:14px;height:40px;line-height:40px}.ant-layout-sider .ant-menu-dark .ant-menu-submenu-title:hover{background:var(--color-bg-gray-2)}.ant-layout-sider .ant-menu-dark .ant-menu-sub{background:var(--color-border-gray-9)!important}.ant-layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-item{margin:2px 8px;padding-left:48px!important;font-size:13px;height:36px;line-height:36px}.ant-layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-sub{background:var(--color-border-gray-8)!important}.ant-layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-sub .ant-menu-item,.ant-layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-sub .ant-menu-submenu-title{padding-left:72px!important;font-size:13px;height:34px;line-height:34px}.ant-layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-submenu-title{margin:2px 8px;padding-left:48px!important;font-size:13px;height:36px;line-height:36px}.ant-menu-horizontal{border-bottom:none!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-gray-9);border-radius:3px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--color-text-gray-24)}::-webkit-scrollbar-thumb:active{background:var(--color-bg-gray-14)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-gray-9) transparent}.ant-btn-sm{font-size:12px!important}.ant-btn>.anticon+span{margin-inline-start:4px}.ant-input-number-affix-wrapper-disabled,.ant-input-number-disabled,.ant-input-number-affix-wrapper-disabled .ant-input-number-input,.ant-input-number-disabled .ant-input-number-input{background-color:var(--color-bg-gray-10)}.ant-input-number-affix-wrapper-disabled .ant-input-number-prefix,.ant-input-number-affix-wrapper-disabled .ant-input-number-suffix{background-color:var(--color-bg-gray-10);color:var(--color-text-gray-24)}.ant-modal-wrap{display:flex;flex-direction:column;align-items:center;padding:24px 0}.ant-modal-wrap.ant-modal-centered{display:block;padding:0}.ant-modal{top:0;margin:0;padding-bottom:0;max-height:100%;display:flex;flex-direction:column}.ant-modal>div:first-child{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.add-form .ant-form-item{margin-bottom:12px}.ant-modal .ant-modal-content{display:flex;flex-direction:column;min-height:0;padding:0}.ant-modal .ant-modal-header{flex:none;margin-bottom:0;padding:16px 20px;border-bottom:1px solid var(--color-border-gray-2)}.ant-modal .ant-modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 20px}.ant-modal .ant-modal-footer{flex:none;border-top:1px solid var(--color-border-gray-2);padding:16px 20px;margin-top:0}.ant-table-tbody>tr:nth-child(2n)>td{background-color:#fdfdfe}.ant-table-sticky-scroll{display:none!important}.full-spin{display:block}.full-spin>.ant-spin-container.ant-spin-blur{min-height:240px}.full-modal{padding:0}.full-modal .ant-modal{max-width:100%;top:0;padding-bottom:0;margin:0;height:100%}.full-modal .ant-modal-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;border-radius:0;box-shadow:none}.full-modal .ant-modal-header{margin-bottom:0;padding:0;background:var(--color-bg-gray-1)}.full-modal .ant-modal-body{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;overflow:hidden}.full-modal .wd-body{flex:1;min-height:0}.full-modal .full-page{display:flex;flex-direction:column;flex:1;min-height:0;padding:16px 20px;box-sizing:border-box}.full-modal .full-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px}.full-modal .full-head .full-head-actions{margin-right:40px}.full-modal .full-spin,.full-modal .full-spin .ant-spin-container{display:flex;flex-direction:column;flex:1;min-height:0}.full-modal .full-body{flex:1;min-height:0;overflow:auto}:root{--color-text-gray-1: #cad5e2;--color-text-gray-2: #c9cdd4;--color-text-gray-3: #bfbfbf;--color-text-gray-4: #94a3b8;--color-text-gray-5: #90a1b9;--color-text-gray-6: #999999;--color-text-gray-7: #86909c;--color-text-gray-8: #62748e;--color-text-gray-9: #64748b;--color-text-gray-10: #697077;--color-text-gray-11: #4e5969;--color-text-gray-12: #45556c;--color-text-gray-13: #475569;--color-text-gray-14: #555555;--color-text-gray-15: #343a3f;--color-text-gray-16: #333333;--color-text-gray-17: #1e293b;--color-text-gray-18: #1d2129;--color-text-gray-19: #0f172b;--color-text-gray-20: #0f172a;--color-text-gray-21: #020618;--color-text-gray-22: #020617;--color-text-gray-23: #000000;--color-text-gray-24: rgba(0, 0, 0, .25);--color-text-gray-25: rgba(0, 0, 0, .85);--color-text-gray-26: rgba(0, 0, 0, .88);--color-text-blue-1: #78b0ff;--color-text-blue-2: #4080ff;--color-text-blue-3: #4096ff;--color-text-blue-4: #40a9ff;--color-text-blue-5: #6265ce;--color-text-blue-6: #1890ff;--color-text-blue-7: #165dff;--color-text-blue-8: #1677ff;--color-text-blue-9: #155dfc;--color-text-blue-10: #1447e6;--color-text-blue-11: #0075f7;--color-text-cyan-1: #00bf9b;--color-text-green-1: #52c41a;--color-text-green-2: #10b981;--color-text-green-3: #00c177;--color-text-green-4: #00b42a;--color-text-green-5: #389e0d;--color-text-green-6: #007a55;--color-text-orange-1: #ff7c11;--color-text-orange-2: #d46b08;--color-text-red-1: #ff7875;--color-text-red-2: #ff4d4f;--color-text-red-3: #ff4d50;--color-text-red-4: #f53f3f;--color-text-red-5: #ff3241;--color-text-red-6: #f5222d;--color-text-red-7: #ec003f;--color-text-purple-1: #8b5cf6;--color-bg-gray-1: #ffffff;--color-bg-gray-2: rgba(255, 255, 255, .1);--color-bg-gray-3: rgba(255, 255, 255, .6);--color-bg-gray-4: rgba(255, 255, 255, .9);--color-bg-gray-5: rgba(255, 255, 255, .96);--color-bg-gray-6: #f8fafe;--color-bg-gray-7: #fafbfc;--color-bg-gray-8: #f8fafc;--color-bg-gray-9: #f3f9ff;--color-bg-gray-10: #f5f5f5;--color-bg-gray-11: #eef3f8;--color-bg-gray-12: #f0f2f5;--color-bg-gray-13: #d2d8df;--color-bg-gray-14: rgba(0, 0, 0, .35);--color-bg-gray-15: rgba(0, 0, 0, .5);--color-bg-blue-1: #f0f5ff;--color-bg-blue-2: #f0f7ff;--color-bg-blue-3: #eff6ff;--color-bg-blue-4: #e8f3ff;--color-bg-blue-5: #e6f4ff;--color-bg-blue-6: #2563eb;--color-bg-blue-7: #2966e4;--color-bg-blue-8: rgba(38, 99, 224, 0);--color-bg-blue-9: rgba(38, 99, 224, .2);--color-bg-cyan-1: #e6f7ff;--color-bg-green-1: #f6ffed;--color-bg-green-2: #d0fae5;--color-bg-green-3: #00bc7d;--color-bg-green-4: #12a775;--color-bg-green-5: #096647;--color-bg-orange-1: #ffe9d6;--color-bg-orange-2: #faad141b;--color-bg-red-1: #fff1f0;--color-bg-red-2: #ffe9e8;--color-bg-red-3: #e6134c;--color-border-gray-1: #f0f0f0;--color-border-gray-2: #e2e8f0;--color-border-gray-3: #e5e6eb;--color-border-gray-4: #d9d9d9;--color-border-gray-5: #cbd5e1;--color-border-gray-6: #86909c40;--color-border-gray-7: rgba(0, 0, 0, .04);--color-border-gray-8: rgba(0, 0, 0, .1);--color-border-gray-9: rgba(0, 0, 0, .12);--color-border-blue-1: #dcebff;--color-border-blue-2: #dbeafe;--color-border-blue-3: #d6e4ff;--color-border-blue-4: #91b9ff;--color-border-blue-5: #91caff;--color-border-green-1: #b7eb8f;--color-border-orange-1: #ffd591}.page-container{display:flex;flex-direction:column;gap:16px}.page-container.list-fill{height:100%;min-height:0}.page-container.list-fill>.content-card:last-child{flex:1;min-height:0;display:flex;flex-direction:column}.page-container.list-fill .ant-table-wrapper,.page-container.list-fill .ant-table,.page-container.list-fill .ant-table-container{flex:1;min-height:0;display:flex;flex-direction:column}.page-container.list-fill .ant-table-header{flex:none}.page-container.list-fill .ant-table-body{flex:1;min-height:0}.page-container.list-fill .search-bar,.page-container.list-fill .table-toolbar,.page-container.list-fill .pagination-bar{flex:none}.stats-grid{display:grid;gap:16px}.stats-grid .stat-card{background:var(--color-bg-gray-1);border-radius:8px;padding:20px 12px 16px;position:relative;overflow:hidden;box-shadow:0 1px 2px var(--color-border-gray-7);transition:box-shadow .2s}.stats-grid .stat-card:hover{box-shadow:0 2px 8px var(--color-border-gray-8)}.stats-grid .stat-card .stat-value{font-size:28px;font-weight:700;line-height:36px}.stats-grid .stat-card .stat-label{font-size:13px;color:var(--color-text-gray-7);margin-top:4px}.stats-grid .stat-card .stat-bar{position:absolute;bottom:0;left:0;right:0;height:3px}.content-card{background:var(--color-bg-gray-1);border-radius:8px;box-shadow:0 1px 2px var(--color-border-gray-7)}.filter-section{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;padding:20px 24px;border-bottom:1px solid var(--color-border-gray-1)}.link-text{color:var(--color-text-blue-6);cursor:pointer}.link-text:hover{color:var(--color-text-blue-4)}.primary-text{color:var(--color-text-blue-6)}.header-card{position:sticky;top:var(--sticky-top, auto);z-index:6;padding:12px 16px}.sticky-tabs{position:sticky;top:var(--sticky-top, auto);z-index:5;background:var(--color-bg-gray-1)}.search-bar{position:sticky;top:var(--sticky-top, auto);z-index:5;background:var(--color-bg-gray-1);padding:12px 16px}.search-bar .ant-select,.search-bar .ant-input,.search-bar .ant-picker{width:100%}.text-muted{color:var(--color-text-gray-2);font-size:13px}.text-warn{color:#ff7d00;font-weight:500}.text-error{color:var(--color-text-red-6);font-weight:500}.text-bold{font-weight:700;font-size:14px;color:var(--color-text-gray-21)}.pagination-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;flex-wrap:wrap}.pagination-bar .pagination-info{font-size:13px;color:var(--color-text-gray-7)}.pagination-bar .pagination-controls{display:flex;align-items:center;gap:12px}.main-title{font-size:13px;color:var(--color-text-gray-21);font-weight:700;margin-bottom:10px}.modal-subtitle{font-size:13px;color:var(--color-text-gray-7)}.modal-top-message{background:var(--color-bg-blue-3);padding:8px 16px;display:flex;align-items:center}.modal-top-message .message-item{display:flex;align-items:center;font-size:12px}.modal-top-message .message-item .message-item-label{color:var(--color-text-gray-7);margin-right:8px}.modal-top-message .message-item .message-item-value{color:var(--color-text-gray-23)}.detail-main{background:var(--color-bg-gray-1);border:1px solid var(--color-border-gray-2);padding:16px;border-radius:8px;margin-bottom:20px}.detail-main:last-child{margin-bottom:0}.detail-main .detail-header{display:flex;justify-content:space-between;align-items:flex-start}.detail-main .detail-header .header-left{display:flex;align-items:center;gap:12px}.detail-main .detail-header .header-left .driver-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-text-blue-7);color:var(--color-bg-gray-1);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500}.detail-main .detail-header .header-right{text-align:right;font-size:12px;border:1px solid var(--color-border-gray-2);padding:4px 16px;border-radius:8px;background:var(--color-bg-gray-8)}.detail-main .detail-header .header-right .label{display:block;color:var(--color-text-gray-7)}.detail-main .detail-header .header-right .value{font-weight:600;color:var(--color-text-gray-21)}.detail-main .detail-header .user-meta .title-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.detail-main .detail-header .user-meta .title-row .name{font-size:18px;font-weight:700;color:var(--color-text-gray-21)}.detail-main .detail-header .user-meta .title-row .sub-info{font-size:13px;color:var(--color-text-gray-7)}.detail-main .detail-header .user-meta .phone-row{font-size:12px;font-weight:600;color:var(--color-text-gray-7)}.detail-main .info-item{font-weight:700}.detail-main .info-item .info-label{display:block;font-size:12px;color:var(--color-text-gray-7);margin-bottom:4px}.detail-main .info-item .info-value{font-size:13px;color:var(--color-text-gray-21)}.bottom-cards{display:flex;gap:16px;flex-wrap:wrap}.bottom-cards .stat-card{flex:1;min-width:140px;border:1px solid var(--color-border-gray-2);border-radius:8px;padding:16px;background:var(--color-bg-gray-8)}.bottom-cards .stat-card .stat-label{font-size:13px;color:var(--color-text-gray-7);margin-bottom:8px}.bottom-cards .stat-card .stat-value{font-size:14px;font-weight:600;color:var(--color-text-gray-21);margin-bottom:4px}.bottom-cards .stat-card .stat-desc{font-size:12px;color:var(--color-text-gray-2)}.photo-thumb{width:100%;max-height:100px;object-fit:cover;border-radius:4px}.kv-row{display:flex;align-items:flex-start;gap:12px}.kv-row .kv-label{font-size:12px;color:var(--color-text-gray-7);flex-shrink:0;width:100px}.kv-row .kv-value{font-size:13px;color:var(--color-text-gray-18);word-break:break-all}.empty-text{font-size:12px;color:var(--color-text-gray-2)}.custom-btn,.custom-btn-warning{color:var(--color-text-blue-8);border:1px solid var(--color-text-blue-8);border-radius:6px;padding:2px 10px;cursor:pointer;transition:color .3s;display:flex;align-items:center;gap:5px}.custom-btn:hover,.custom-btn-warning:hover{color:var(--color-text-blue-1);border:1px solid var(--color-text-blue-1)}.custom-btn-warning{color:var(--color-text-orange-2);border:1px solid var(--color-border-orange-1);background:var(--color-bg-gray-1)}.custom-btn-warning:hover{color:#d79353;border:1px solid var(--color-text-orange-2)}.custom-notAllowed{color:var(--color-text-gray-7);cursor:default;pointer-events:none}.expand-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--color-border-gray-4);background:var(--color-bg-gray-1);padding:4px;border-radius:6px;font-size:10px;cursor:pointer;color:#595959;transition:all .2s;width:22px;height:22px}.expand-btn:hover{border-color:var(--color-text-blue-4);color:var(--color-text-blue-6)}.amap-info-content{border-radius:12px;padding:0}.gm-track-info-card{padding:10px}.gm-track-info-card .gm-track-info-item{font-size:12px;margin-bottom:12px;display:flex}.gm-track-info-card .gm-track-info-item .gm-track-info-label{color:var(--color-text-gray-8);width:120px}.gm-track-info-card .gm-track-info-item .gm-track-info-value{color:var(--color-text-gray-19)}.gm-track-info-card .gm-track-info-item:last-child{margin-bottom:0}.gm-track-vehicle img{width:16px;height:auto;display:block}.gm-parking-marker{display:flex;align-items:center;gap:4px;height:24px}.gm-parking-marker .gm-parking-p{box-sizing:border-box;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid var(--color-bg-gray-1);border-radius:50%;background:#ff4c00;color:var(--color-bg-gray-1);font-size:12px;font-weight:700;line-height:24px;box-shadow:0 2px 6px #0f172a40}.gm-parking-marker .gm-parking-label{padding:2px 6px;border:1px solid #a9cbef;border-radius:4px;background:var(--color-bg-gray-1);color:var(--color-text-gray-19);font-size:12px;line-height:18px;white-space:nowrap;box-shadow:0 2px 6px #0f172a1f}.gm-track-endpoint{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:2px solid var(--color-bg-gray-1);border-radius:50%;color:var(--color-bg-gray-1);font-size:12px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 2px 6px #0f172a4d}.gm-track-endpoint.is-start{background:var(--color-text-green-6)}.gm-track-endpoint.is-end{background:var(--color-text-red-4)}.gm-track-point-info{width:220px;font-size:12px;color:var(--color-text-gray-19);padding:8px}.gm-track-point-info .gm-track-point-title{margin-bottom:6px;font-weight:600}.gm-track-point-info .gm-track-point-row{display:flex;gap:8px}.gm-track-point-info .gm-track-point-row+.gm-track-point-row{margin-top:4px}.gm-track-point-info .gm-track-point-row .k{flex:none;color:var(--color-text-gray-8)}.gm-track-point-info .gm-track-point-row .v{flex:1;min-width:0}.gm-track-point-info .gm-track-point-row .v.is-address{word-break:break-all}.gm-marker-label{background:var(--color-bg-gray-1);padding:4px;color:var(--color-text-gray-19);text-align:center;border-radius:2px;white-space:nowrap;top:0;position:relative;z-index:2;font-size:12px;font-weight:600}.gm-marker-body{position:relative;display:inline-block}.gm-marker-ring-dot,.gm-marker-ring-pulse{position:absolute;top:50%;left:50%;width:50px;height:50px;margin-left:-25px;margin-top:-25px;border-radius:50%;pointer-events:none;z-index:0}.gm-marker-body img{position:relative;z-index:1;width:16px;height:auto}.gm-marker-ring-dot{background:#155dfc1a;border:1px solid #8cb0ff}.gm-marker-ring-pulse{border:1px solid rgba(140,176,255,.8);animation:gm-pulse-ring 2s ease-out infinite}@keyframes gm-pulse-ring{0%{width:50px;height:50px;margin-left:-25px;margin-top:-25px;opacity:.8}to{width:100px;height:100px;margin-left:-50px;margin-top:-50px;opacity:.4}}.gm-gm{position:relative}.gm-gm .gm-marker-ring-dot,.gm-gm .gm-marker-ring-pulse{display:none}.gm-gm.is-selected .gm-marker-ring-dot,.gm-gm.is-selected .gm-marker-ring-pulse{display:block}.gm-vehicle-info{position:relative;width:460px;font-size:12px;color:var(--color-text-gray-19);padding:8px}.gm-vehicle-info .gm-vi-head{display:flex;gap:8px;margin-bottom:12px}.gm-vehicle-info .gm-vi-car{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-right:10px;border-radius:8px;background:var(--color-bg-gray-8);flex-shrink:0}.gm-vehicle-info .gm-vi-car img{width:34px;object-fit:contain}.gm-vehicle-info .gm-vi-head-right{flex:1;min-width:0}.gm-vehicle-info .gm-vi-plate-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.gm-vehicle-info .gm-vi-plate{font-size:16px;font-weight:700;color:var(--color-text-gray-18);white-space:nowrap}.gm-vehicle-info .gm-vi-status{padding:6px 8px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap}.gm-vehicle-info .gm-vi-status.driving{background:var(--color-bg-green-2);color:var(--color-text-green-6)}.gm-vehicle-info .gm-vi-status.parked{background:var(--color-bg-orange-1);color:var(--color-text-orange-1)}.gm-vehicle-info .gm-vi-status.offline{background:var(--color-bg-gray-12);color:var(--color-text-gray-8)}.gm-vehicle-info .gm-vi-meta{font-size:12px;color:var(--color-text-gray-7)}.gm-vehicle-info .gm-vi-replay{color:var(--color-text-blue-8);font-size:12px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color .2s;height:20px;line-height:20px;margin-right:8px}.gm-vehicle-info .gm-vi-replay:hover{color:var(--color-text-blue-6)}.gm-vehicle-info .gm-vi-line{display:flex;align-items:flex-start;padding:4px 0;margin-bottom:4px;line-height:1.5}.gm-vehicle-info .gm-vi-line .gm-vi-label{flex-shrink:0;color:var(--color-text-gray-8)}.gm-vehicle-info .gm-vi-line .gm-vi-text{flex:1;min-width:0;color:var(--color-text-gray-19);word-break:break-all}.gm-vehicle-info .gm-vi-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:12px}.gm-vehicle-info .gm-vi-stat{display:flex;min-width:0;align-items:center}.gm-vehicle-info .gm-vi-stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-right:10px;border-radius:8px;background:var(--color-bg-gray-8);flex-shrink:0}.gm-vehicle-info .gm-vi-stat-icon img{width:20px;object-fit:contain}.gm-vehicle-info .gm-vi-stat-label{margin-bottom:6px;font-size:11px;color:var(--color-text-gray-7);white-space:nowrap}.gm-vehicle-info .gm-vi-stat-value{font-size:14px;font-weight:700;color:var(--color-text-gray-18);white-space:nowrap}.gm-vehicle-info .gm-vi-stat-value.danger{color:var(--color-text-red-6)}.section-header{font-size:14px;font-weight:600;color:var(--color-text-gray-23);padding-left:24px;background:var(--color-bg-gray-8);height:38px;display:flex;align-items:center}.section-header .section-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-text-blue-9);margin-right:6px}.custom-modal .ant-modal-body{padding:0}.custom-modal .custom-content{padding:16px 20px}.table-query-btns{display:flex;gap:10px}.detail-card{border:1px solid var(--color-border-gray-2);border-radius:16px}.detail-card .detail-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px}.detail-card .detail-header .header-left .income-name{font-size:18px;font-weight:600;color:var(--color-text-gray-23);margin-bottom:6px}.detail-card .detail-header .header-left .income-name-bottom{display:flex;gap:24px;font-size:12px;color:var(--color-text-gray-8)}.detail-card .detail-header .header-right{text-align:right}.detail-card .detail-header .header-right .amount-value{display:block;font-size:20px;font-weight:700;color:var(--color-text-blue-9)}.detail-card .detail-header .header-right .amount-row{display:flex;justify-content:flex-end;margin-top:2px}.detail-card .detail-header .header-right .amount-label{font-size:12px;color:var(--color-text-gray-8)}.detail-card .detail-section{border-radius:6px}.detail-card .detail-section:last-child{margin-bottom:0}.detail-card .detail-section .section-title{background:var(--color-bg-gray-7);font-size:13px;font-weight:600;color:var(--color-text-gray-23);padding:8px 24px}.detail-card .detail-section .section-title .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--color-text-blue-8);margin-right:6px;vertical-align:middle;position:relative;bottom:2.5px}.detail-card .detail-section .section-body{padding:20px 24px}.detail-card .detail-section .section-body .info-item .info-label{display:block;font-size:12px;color:var(--color-text-gray-8);margin-bottom:4px}.detail-card .detail-section .section-body .info-item .info-value{font-size:14px;color:var(--color-text-gray-23);font-weight:500}.detail-card .detail-section .section-body .image-list .image-grid{display:flex;gap:12px}.detail-card .detail-section .section-body .image-list .image-grid .img-thumb{width:100px;height:100px;border-radius:6px;overflow:hidden;position:relative}.detail-card .detail-section .section-body .image-list .image-grid .img-thumb img{width:100%;height:100%;object-fit:cover;background:var(--color-bg-gray-10)}.detail-card .detail-section .section-body .image-list .image-grid .img-thumb .img-caption{position:absolute;bottom:39px;left:0;right:0;text-align:center;font-size:11px;color:var(--color-text-gray-8);line-height:22px;background:var(--color-bg-gray-10)}.detail-card .detail-section .section-body .image-list .image-grid .img-placeholder{background:var(--color-bg-gray-8);display:flex;align-items:center;justify-content:center}.detail-card .detail-section .section-body .image-list .image-grid .img-placeholder .img-caption{position:static;background:transparent;color:var(--color-text-gray-4);font-size:12px}.hearder-bottom-stat{margin-top:20px;display:flex;align-items:center;gap:20px;font-size:14px;color:var(--color-text-gray-8)}.hearder-bottom-stat .stat-title{font-weight:700;letter-spacing:1px}.hearder-bottom-stat .stat-item{display:flex;align-items:center;gap:4px}.hearder-bottom-stat .stat-item .stat-value{color:var(--color-text-blue-9);font-weight:700}.charging-marker{display:flex;flex-direction:column;align-items:center;position:relative}.charging-marker .charging-marker-icon{width:80px;display:block}.charging-marker .charging-marker-label{position:absolute;top:2px;left:50%;transform:translate(-50%);font-size:12px;color:var(--color-text-gray-23);font-weight:500;background:transparent;white-space:nowrap;text-align:center;pointer-events:none}.route-start-marker{display:flex;align-items:center;justify-content:center}.route-end-marker{width:28px;height:28px;border-radius:50%;background:var(--color-text-red-4);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--color-bg-gray-1)}.log-action-tag{white-space:normal;height:auto;word-break:break-all}.yard-name{font-size:13px;color:var(--color-text-gray-21);font-weight:500;margin-right:8px}.yard-addr{font-size:12px;color:var(--color-text-gray-7)}.filter-form{display:flex;align-items:flex-start}.filter-form .ant-row .ant-form-item{margin-bottom:0}.filter-form .ant-select,.filter-form .ant-input,.filter-form .ant-picker{width:100%}.filter-form .filter-actions-cell{margin-left:auto}.filter-form .filter-actions-cell .filter-actions-col{display:flex;align-items:center;justify-content:flex-end;gap:10px}.table-toolbar{position:sticky;top:var(--sticky-top, auto);z-index:5;background:var(--color-bg-gray-1);display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px}.table-toolbar .toolbar-btn{color:var(--color-text-blue-8);border-color:var(--color-text-blue-8);border-radius:6px;background:var(--color-bg-gray-1);box-shadow:none;font-size:12px;padding:4px 8px}.table-toolbar .toolbar-btn:hover:not(:disabled){color:var(--color-text-blue-3);border-color:var(--color-text-blue-3)}.table-toolbar .toolbar-btn:disabled{color:var(--color-text-gray-2);border-color:var(--color-border-gray-4)}.table-toolbar .toolbar-btn.toolbar-btn-danger{color:var(--color-text-red-4);border-color:var(--color-text-red-4)}.table-toolbar .toolbar-btn.toolbar-btn-danger:hover:not(:disabled){color:var(--color-text-red-1);border-color:var(--color-text-red-1)}.table-toolbar .toolbar-btn.toolbar-btn-danger:disabled{color:var(--color-text-gray-2);border-color:var(--color-border-gray-4)}.table-toolbar .toolbar-selected{margin-left:auto;font-size:12px;color:var(--color-text-gray-7)}.table-stat-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px;background:#ffedc2;border-radius:4px;margin:12px 0;font-size:12px;line-height:22px}.table-stat-bar .stat-item{display:inline-flex;align-items:center;gap:4px}.table-stat-bar .stat-item .stat-label{color:var(--color-text-gray-8);white-space:nowrap}.table-stat-bar .stat-item .stat-value{color:var(--color-text-blue-9);font-weight:700;text-decoration:underline;text-underline-offset:2px;padding:0 2px;cursor:pointer;transition:background .2s,color .2s}.table-stat-bar .stat-item .stat-value:hover{color:var(--color-text-blue-2)}.table-stat-bar .stat-item .stat-value.active{background:var(--color-text-blue-9);color:var(--color-bg-gray-1)!important;border-radius:3px;text-decoration:none}.table-stat-bar .stat-item .stat-value.active:hover{color:var(--color-bg-gray-1)}.table-stat-bar .stat-item.dark .stat-label{color:var(--color-text-gray-23);margin:0 2px}.table-stat-bar .stat-item.dark .stat-value{background:var(--color-bg-gray-8)}.table-stat-bar .stat-item.dark .stat-value.active{background:var(--color-text-blue-9);color:var(--color-bg-gray-1);border-radius:3px;text-decoration:none}.table-stat-bar .stat-item.dark .stat-value.active:hover{color:var(--color-bg-gray-1)}.modal-switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-right:40px}.modal-switch-row .modal-switch-actions{display:flex;align-items:center;gap:10px}.modal-switch-row .modal-switch-actions .cs-select{width:160px}.modal-switch-row .modal-switch-actions .nav-btn{display:inline-flex;align-items:center;gap:4px}.modal-switch-row .modal-switch-actions .nav-btn-arrow{margin-left:4px}
