*{box-sizing:border-box}body{margin:0;color:#17283f;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}.shell{min-height:100vh}.sidebar{background:#142235!important;position:sticky!important;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;font-weight:750;letter-spacing:1px;color:#fff;padding:30px 24px;font-size:15px}.brand small{display:block;font-size:10px;letter-spacing:3px;color:#8da5c0;margin-top:5px}.brand-mark{background:#3477ed;color:#fff;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;font-size:16px;letter-spacing:-1px;flex-shrink:0}.nav-caption{font-size:9px;letter-spacing:1.5px;color:#6f88a7;margin:23px 26px 15px}.sidebar .ant-menu{padding:0 12px}.sidebar .ant-menu-item{height:44px;line-height:44px;margin-bottom:7px}.sidebar-bottom{position:absolute;bottom:24px;left:26px;font-size:12px;color:#c4d0df}.sidebar-bottom div{font-size:10px;color:#6f88a7;margin-top:9px}.online-dot{display:inline-block;width:6px;height:6px;background:#51c89c;border-radius:100%;margin-right:6px}.topbar{height:76px;background:#fff;border-bottom:1px solid #e7ebf1;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:10px}.breadcrumb{color:#8b95a5;font-size:13px}.slash{padding:0 14px;color:#c7cfd9}.topbar strong{font-size:13px;font-weight:550}.profile{border:0;box-shadow:none!important;height:44px}.avatar{width:29px;height:29px;border-radius:50%;background:#e9eef8;color:#335b96;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.mobile-toggle{display:none}main{padding:30px 34px;max-width:1800px;width:100%;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:#8793a5}h1{font-size:30px;letter-spacing:-.8px;margin:9px 0 8px;font-weight:700}h2{font-size:16px;margin:0;font-weight:650}h3{font-size:15px}.page-heading p{font-size:13px;color:#8590a0;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:#fff;border:1px solid #e3e8ef;border-radius:10px;padding:21px 22px;min-width:0}.stat>span{color:#748197;font-size:12px}.stat>strong{display:block;margin:15px 0 12px;font-size:26px;letter-spacing:-.8px;white-space:nowrap}.stat small{font-size:10px;color:#929daf}.stat.accent{background:#eaf1ff;border-color:#d7e4fd}.stat.accent strong{color:#245bce}.overview-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:22px}.panel{background:#fff;border:1px solid #e4e9f0;border-radius:10px;margin-bottom:23px;overflow:hidden;min-width:0}.panel-heading{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.small{font-size:11px;color:#8d98a8;display:block}.attention{display:flex;align-items:center;width:calc(100% - 48px);margin:0 24px;padding:18px 0;border:0;border-bottom:1px solid #eff2f6;background:transparent;text-align:left;gap:15px;cursor:pointer;color:#1b2b42}.attention div{flex:1}.attention strong{font-size:13px;display:block;margin-bottom:5px}.attention small{font-size:11px;color:#8d98a8}.attention b{font-size:23px}.attention-icon{width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:19px}.orange{background:#fff3e4;color:#e3a13e}.blue{background:#edf3ff;color:#3976db}.source-note{font-size:10px;color:#939eae;padding:22px 24px;line-height:1.7}.vehicle-bar{padding:0 24px 10px}.vehicle-bar>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:2px}.vehicle-bar strong{font-weight:550}.vehicle-bar span{color:#77859a}.route{display:flex;flex-direction:column;gap:6px;font-size:12px}.verified{font-size:12px;color:#3f9978}.ant-table{font-size:12px!important}.ant-table-thead>tr>th{font-size:11px;font-weight:550!important}.ant-table-pagination{padding:0 20px}.toolbar{padding:20px 22px;display:flex;flex-wrap:wrap;gap:12px;border-bottom:1px solid #edf0f5}.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fleet-card{padding:24px}.fleet-card .panel-heading{padding:0 0 20px}.fleet-card h2{font-size:22px;margin-bottom:12px}.truck-icon{background:#edf3ff;color:#2864df;border-radius:12px;padding:13px;font-size:25px}.plate{display:inline-block;border:1px solid #d6deea;border-radius:5px;padding:5px 12px;font-weight:650;letter-spacing:2px;font-size:14px;margin-bottom:24px}.fleet-detail{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:12px 0;border-top:1px solid #edf0f5}.fleet-detail span{color:#8793a5}.fleet-card>.ant-btn{margin-top:14px}.report-note{padding:20px 24px;font-size:12px;color:#7a8799;background:#fafbfd}.three-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:0 24px 25px;gap:20px}.three-stats span{font-size:12px;color:#8995a5}.three-stats strong{display:block;font-size:24px;margin-top:10px}.ant-alert{margin-bottom:20px}.settings-panel{padding:28px;max-width:800px;line-height:1.8}.settings-panel p{color:#748197}hr{border:0;border-top:1px solid #e8edf4;margin:25px 0}.planning{display:flex;overflow-x:auto;padding:20px;gap:16px;align-items:stretch}.plan-column{min-width:210px;flex:1;background:#f6f8fb;padding:16px;border-radius:8px}.plan-column h3{margin:0 0 6px}.plan-card{display:flex;flex-direction:column;gap:10px;width:100%;text-align:left;background:#fff;border:1px solid #e0e7f0;border-radius:7px;padding:14px;margin-top:16px;cursor:pointer;font-size:12px;color:#253a55}.plan-card .ant-tag{align-self:flex-start}.plan-card small{color:#8a96a6}.plan-empty{font-size:12px;color:#a0aaba;padding:30px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}footer{display:flex;justify-content:space-between;color:#a1abba;font-size:10px;margin-top:30px}footer span{text-align:right}.center{min-height:100vh;display:flex;align-items:center;justify-content:center}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#142235;padding:28px 10%;display:flex;flex-direction:column;justify-content:center;color:#fff;position:relative;overflow:hidden}.login-story .brand{position:absolute;top:20px;left:10%;padding:25px 0}.login-story .eyebrow{color:#7796bd}.login-story h1{font-size:58px;font-weight:650;line-height:1.15;margin:25px 0;letter-spacing:-2px}.login-story p{color:#96aac3;font-size:16px;line-height:1.8}.login-foot{position:absolute;bottom:35px;color:#6e85a3;font-size:11px}.route-art{display:flex;align-items:center;margin-top:60px}.route-art i{width:13px;height:13px;background:#4b87ee;border:3px solid #264870;border-radius:50%}.route-art div{height:1px;background:#345374;width:100px}.login-panel{background:#f8faff;display:flex;align-items:center;justify-content:center;padding:40px}.login-box{max-width:370px;width:100%}.login-box h2{font-size:30px;margin:15px 0}.login-box p{color:#8c98a9;margin-bottom:32px;font-size:13px}.login-note{color:#99a4b3;font-size:11px;margin-top:25px;text-align:center}.login-box .ant-form-item{margin-bottom:22px}@media(max-width:1200px){.stats,.fleet-grid{grid-template-columns:repeat(2,1fr)}.page-heading{align-items:flex-start}.page-heading>.ant-space{justify-content:flex-end}}@media(max-width:991px){.mobile-toggle{display:inline-flex;margin-right:10px}main{padding:25px 22px}.topbar{padding:0 22px}.overview-grid{grid-template-columns:1fr}.login-story h1{font-size:44px}}@media(max-width:640px){.breadcrumb,.slash{display:none}.topbar{height:62px;padding:0 12px}.profile span:not(.avatar){font-size:11px}main{padding:23px 14px}.page-heading{flex-direction:column;align-items:stretch;margin-bottom:22px}.page-heading>.ant-space{justify-content:flex-start}.stats{gap:10px}.stat{padding:15px 12px}.stat>strong{font-size:21px}.stat small{font-size:9px;line-height:1.5;display:block}.fleet-grid,.three-stats{grid-template-columns:1fr}.toolbar{padding:15px}.toolbar .ant-input-affix-wrapper{width:100%!important}.panel-heading{padding:18px}.attention{width:calc(100% - 36px);margin:0 18px}.attention small{line-height:1.5;display:block}.login{grid-template-columns:1fr}.login-story{display:none}.login-panel{padding:28px}.form-grid{grid-template-columns:1fr;gap:0}footer span{max-width:50%}.ant-drawer-content-wrapper{max-width:100vw}}
