:root{--brand-blue:#1677ff;--action-blue:#0958d9;--navigation-blue:#0045a5;color:#1f1f1f;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7fa;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--action-blue);outline-offset:3px}.ant-btn{white-space:normal;height:auto;min-height:32px;line-height:1.5}.ant-btn-sm{min-height:24px}.ant-btn-lg{min-height:40px}.app-shell{height:100dvh;overflow:hidden}.app-sider{height:100%;overflow:hidden}.app-sider .ant-layout-sider-children{flex-direction:column;height:100%;display:flex;overflow:hidden}.app-sider>.ant-layout-sider-children>.ant-menu-root{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.app-main{min-width:0;height:100%;overflow:hidden}.brand{color:#fff;white-space:nowrap;align-items:center;gap:10px;height:56px;padding:0 16px;font-size:14px;font-weight:600;display:flex;overflow:hidden}.app-sider .brand{height:auto;min-height:56px;overflow:visible}.app-sider .brand>span:not(.brand-mark){white-space:normal;overflow-wrap:anywhere;min-width:0}.app-sider .ant-menu-submenu-title,.app-sider .ant-menu-item{height:auto;min-height:40px;padding-block:8px;line-height:1.5}.app-sider .ant-menu-title-content{white-space:normal;overflow-wrap:anywhere}.app-sider .ant-menu.ant-menu-inline .ant-menu-submenu-title,.app-sider .ant-menu.ant-menu-inline .ant-menu-item{height:auto;min-height:40px;padding-block:8px;line-height:1.5}.app-sider .brand-mark{width:1.9em;height:1.9em}.brand-mark,.login-brand-mark{color:#1f5fbf;background:#fff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-size:15px;font-weight:700;display:inline-grid}.app-header{background:#fff;flex:0 0 56px;justify-content:space-between;align-items:center;height:56px;padding:0 20px 0 8px;line-height:normal;display:flex;box-shadow:0 1px 4px #1d21290a}.app-header-left,.app-header-tools{min-width:0}.app-sidebar-toggle{font-size:17px}.app-breadcrumb{margin:0}.app-notification{position:relative}.app-notification:after{content:"";background:#ff4d4f;border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:7px;box-shadow:0 0 0 2px #fff}.app-content{overscroll-behavior:contain;background:#f4f7fc;min-height:0;margin:0;padding:20px 24px 24px;overflow:auto}.login-page{background:radial-gradient(circle at 0 0,#d6e8ff,#f5f7fa 55%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(420px,100%);box-shadow:0 18px 50px #1677ff1f}.login-brand{color:#1d2129;align-items:center;gap:10px;margin-bottom:20px;font-weight:600;display:flex}.login-brand-mark{color:#fff;background:#1f5fbf}.legal-page{background:#f5f7fa;min-height:100vh;padding:40px 24px}.legal-page .ant-card{max-width:860px;margin:0 auto}.page-title-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-title-row .ant-typography{margin:0}.two-column-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;display:grid}.ant-table-wrapper .ant-table-thead>tr>th,.ant-table-wrapper .ant-table-tbody>tr>td{height:48px;font-size:12px}.ant-table-wrapper .money-cell{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.route-loading{color:#666;place-items:center;min-height:100vh;display:grid}.amap-view{background:#f5f7fa;border:1px solid #d9d9d9;border-radius:8px;width:100%;min-height:280px;overflow:hidden}.fleet-monitor-card{overflow:hidden}.fleet-monitor-layout{background:#fff;grid-template-columns:300px minmax(0,1fr);min-height:620px;display:grid}.fleet-monitor-sidebar{background:#fff;border-right:1px solid #e7ebf2;flex-direction:column;min-width:0;height:620px;padding:12px;display:flex}.fleet-monitor-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.fleet-monitor-tabs .ant-btn{padding-inline:8px}.fleet-vehicle-summary{color:#6b778c;justify-content:space-between;padding:13px 4px 9px;font-size:12px;display:flex}.fleet-online-count{color:#00a870}.fleet-vehicle-list{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.fleet-vehicle-item{color:#1f2329;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f0f2f5;border-radius:6px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:62px;padding:9px 10px;transition:background .16s,color .16s;display:grid}.fleet-vehicle-item:hover{background:#f3f7ff}.fleet-vehicle-item.selected{color:#145fd7;background:#e8f2ff;box-shadow:inset 3px 0 #1677ff}.fleet-status-dot{background:#b8c0cc;border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 3px #b8c0cc2e}.fleet-status-dot.online{background:#12b76a;box-shadow:0 0 0 3px #12b76a29}.fleet-status-dot.offline{background:#98a2b3}.fleet-status-dot.unknown{background:#f79009;box-shadow:0 0 0 3px #f7900929}.fleet-vehicle-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.fleet-vehicle-copy strong,.fleet-vehicle-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fleet-vehicle-copy small{color:#98a2b3;font-size:11px}.fleet-vehicle-state{color:#667085;white-space:nowrap;font-size:12px}.fleet-map-stage{background:#eef3f8;min-width:0;height:620px;position:relative;overflow:hidden}.fleet-map-stage>.amap-view{border:0;border-radius:0;min-height:620px}.fleet-map-vehicle-marker{color:#fff;cursor:pointer;filter:drop-shadow(0 4px 5px #10182842);flex-direction:column;align-items:center;display:flex;position:relative}.fleet-map-vehicle-icon{color:#fff;background:#1677ff;border:2px solid #fff;border-radius:8px;place-items:center;width:42px;height:32px;padding:3px;display:grid;position:relative}.fleet-map-vehicle-icon svg{width:36px;height:25px;overflow:visible}.fleet-map-vehicle-icon:after{content:"";border:5px solid #0000;border-top-color:#1677ff;border-bottom:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.fleet-map-vehicle-label{color:#145fd7;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #1677ff;border-radius:4px;max-width:130px;margin-bottom:5px;padding:3px 7px;font-size:12px;font-weight:600;line-height:18px;overflow:hidden}.fleet-map-vehicle-marker.selected .fleet-map-vehicle-icon{background:#0958d9;box-shadow:0 0 0 5px #1677ff33}.fleet-map-vehicle-marker.selected .fleet-map-vehicle-label{color:#fff;background:#1677ff}.fleet-location-card{z-index:20;background:#fff;border:1px solid #10182817;border-radius:8px;width:min(390px,100% - 36px);position:absolute;top:0;left:0;transform:translate(-50%,calc(-100% - 64px));box-shadow:0 8px 24px #10182838}.fleet-location-card:after{content:"";background:#fff;border-bottom:1px solid #10182817;border-right:1px solid #10182817;width:16px;height:16px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)rotate(45deg)}.fleet-location-card-header{justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:8px 14px;display:flex}.fleet-location-card-header strong{font-size:16px}.fleet-location-metrics{background:#f5f8fd;border-block:1px solid #edf1f7;grid-template-columns:repeat(3,1fr);display:grid}.fleet-location-metrics>div{border-right:1px solid #e8edf5;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.fleet-location-metrics>div:last-child{border-right:0}.fleet-location-metrics span{color:#667085;font-size:12px}.fleet-location-metrics strong{color:#1677ff;min-height:21px;font-size:14px}.fleet-location-details{color:#344054;gap:6px;padding:12px 14px 10px;font-size:12px;line-height:1.5;display:grid}.fleet-location-address{color:#667085;min-height:36px}.fleet-location-actions{z-index:1;background:#fff;border-top:1px solid #edf1f7;border-radius:0 0 8px 8px;grid-template-columns:1fr 1fr;display:grid;position:relative;overflow:hidden}.fleet-location-actions .ant-btn{border-radius:0;height:38px}.fleet-location-actions .ant-btn+.ant-btn{border-left:1px solid #edf1f7}.fleet-track-panel{background:#fff;min-width:0;height:620px;padding:18px 20px;overflow:auto}.fleet-track-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.fleet-track-header .ant-typography{margin:0}.fleet-track-filters{background:#f8faff;border:1px solid #e8edf5;border-radius:8px;flex-wrap:wrap;align-items:end;gap:12px;padding:14px;display:flex}.fleet-track-filters label{color:#475467;gap:6px;font-size:12px;display:grid}.fleet-track-quota-note{margin:10px 0 18px;display:block}.dashboard-alert-banner{border-radius:8px}.dashboard-kpi{border-radius:8px;height:100%}.dashboard-kpi .ant-statistic-content-prefix{color:#3a7cfe}.kpi-alert .ant-statistic-content-prefix{color:#ff4d4f}.kpi-approval .ant-statistic-content-prefix{color:#7b61ff}.kpi-payment .ant-statistic-content-prefix{color:#00a870}.compliance-row{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:center;min-height:40px;padding-bottom:10px;display:flex}.compliance-row:last-child{border-bottom:0;padding-bottom:0}@media (width<=576px){.app-content{padding:12px}.app-header{padding:0 12px}.current-role,.app-header-tools>span,:is(.app-header-tools>.ant-space-item:has(.current-role),.app-header-tools>.ant-space-item:has(.account-name),.app-header-tools>.ant-space-item:has(.ant-avatar)){display:none}.app-breadcrumb{white-space:nowrap}.two-column-form{grid-template-columns:1fr}}.row-alert>td{background:#fff2f0!important}.permission-matrix{width:100%;display:block}.permission-group{border-bottom:1px solid #edf0f5;padding:14px 0}.permission-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin-top:10px;display:grid}.permission-options .ant-checkbox-wrapper{align-items:flex-start;margin-inline-start:0}.permission-options small{color:#8a94a6;font-size:11px;display:block}.table-total-row>td{height:48px;font-weight:600;background:#f6f8fb!important}@media (width<=900px){.permission-options,.fleet-monitor-layout{grid-template-columns:1fr}.fleet-monitor-sidebar{border-bottom:1px solid #e7ebf2;border-right:0;height:260px}.fleet-map-stage,.fleet-track-panel{height:560px}.fleet-map-stage>.amap-view{min-height:560px}}.prototype-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 16px;display:grid}.prototype-form-grid .ant-input-number{width:100%}.prototype-form-grid .ant-form-item{min-width:0}.prototype-form-actions{border-top:1px solid #edf0f5;grid-column:1/-1;justify-content:flex-end;gap:12px;padding-top:16px;display:flex}@media (width<=1200px){.prototype-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.prototype-form-grid{grid-template-columns:1fr}}
