:root{font-family:Inter,"Microsoft YaHei",sans-serif;color:#263743;background:#f4f6f8;font-size:14px}*{box-sizing:border-box}body{margin:0}aside{position:fixed;width:208px;inset:0 auto 0 0;background:#122d36;color:#d3e1e5;padding:32px 18px}.brand{font-size:25px;color:#76dbcd;padding:0 12px 44px}.brand b{color:white;margin-left:8px}.brand small{display:block;font-size:11px;letter-spacing:3px;margin:10px 0 0 4px;color:#8cabb6}.nav{padding:15px;border-radius:7px;background:#23454e;color:#a1f0e3}.side-note{font-size:11px;color:#89a4ad;margin:20px 16px}.profile{position:absolute;bottom:25px;display:flex;align-items:center;gap:12px;font-size:15px}.profile>div{font-size:12px}.profile small{display:block;color:#8aa4ae;margin-top:6px}main{margin-left:208px;padding:0 36px 30px}header{height:72px;border-bottom:1px solid #e1e7e9;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#80909a}.prototype{color:#167868;background:#e2f2ec;padding:7px 12px;border-radius:20px}.heading{display:flex;align-items:center;justify-content:space-between;padding:34px 0 22px}.eyebrow{font-size:10px;letter-spacing:2px;color:#729089}h1{font-size:29px;margin:9px 0}p{color:#7b8994;font-size:13px;margin:0}button{cursor:pointer;background:white;border:1px solid #dce4e8;border-radius:6px;padding:9px 14px;font:inherit;color:#4b606b}button:hover{background:#edf6f3}button.primary{background:#127b6b;color:white;border-color:#127b6b;padding:12px 20px}.notice{padding:12px 16px;border:1px solid #dce8e8;background:#edf5f5;color:#537178;border-radius:6px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:23px 0}.stat{padding:20px 24px;background:white;border:1px solid #e3e9ed;border-radius:9px}.stat label{color:#7d8b95;font-size:12px}.stat strong{display:block;font-size:31px;margin:12px 0 7px;font-weight:600}.stat small{color:#94a2aa;font-size:11px}.stat:first-child{border-top:3px solid #1b8978}.panel{background:white;border:1px solid #e1e7eb;border-radius:9px;overflow:hidden}.panel-title{padding:20px 22px;display:flex;justify-content:space-between;align-items:center}h2{font-size:16px;margin:0}h2 span{font-size:11px;background:#edf2f4;padding:3px 7px;border-radius:5px;margin-left:8px;color:#80909a}.filters{padding:0 22px 20px;display:flex;gap:10px}input,select,textarea{border:1px solid #dce4e8;border-radius:5px;background:#fff;padding:10px;font:inherit;color:#425661;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #8ccbbe}.filters input:first-child{width:300px}.filters select{width:140px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-align:left;font-size:11px;font-weight:500;color:#7e909c;background:#f7f9fa;padding:14px 16px;border-block:1px solid #e8edf0}td{padding:20px 16px;border-bottom:1px solid #edf0f2;font-size:12px}td b{font-weight:500}td small{display:block;font-size:11px;color:#8b9aa3;margin-top:7px}tbody tr:hover{background:#fafdfc}.badge{padding:5px 9px;background:#e7f4ef;color:#21826c;border-radius:4px;font-size:11px}.badge.pending{background:#fff3df;color:#ad7d25}.badge.done{background:#edf0f4;color:#7c8994}.link{border:0;background:none;color:#178776;padding:4px;font-size:12px}.location small{margin-left:4px}.empty{text-align:center;padding:65px;color:#94a1aa}footer{display:flex;justify-content:space-between;padding:16px 22px;font-size:11px;color:#8a9aa4}dialog{padding:0;border:0;border-radius:12px;width:700px;max-width:94vw;max-height:90vh;box-shadow:0 25px 100px #112c3640}dialog::backdrop{background:#132d4266;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid #e7edef}.dialog-head h2{font-size:19px}.dialog-body{padding:24px 26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px}.field.wide{grid-column:1/-1}.field textarea{resize:vertical}.hint{font-size:11px;color:#8a99a2;line-height:1.8}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 26px;border-top:1px solid #e7edef}.details{display:grid;grid-template-columns:1fr 1fr;gap:22px}.details label{display:block;color:#8b99a2;font-size:11px;margin-bottom:7px}.timeline{margin-top:26px;border-top:1px solid #e9edf0;padding-top:18px}.timeline p{padding:9px 0;font-size:12px}.map{height:310px;position:relative;overflow:hidden;background-color:#edf0e9;background-image:linear-gradient(30deg,transparent 46%,#fff 47%,#fff 50%,transparent 51%),linear-gradient(105deg,transparent 44%,#d5e3e7 45%,#d5e3e7 49%,transparent 50%),linear-gradient(0deg,transparent 47%,#fff 48%,#fff 51%,transparent 52%);background-size:150px 120px,260px 220px,90px 90px;border:1px solid #e0e7e5;border-radius:8px}.pin{position:absolute;top:43%;left:46%;background:#167b6a;color:white;border:5px solid white;border-radius:30px;padding:12px;box-shadow:0 4px 18px #5678}.map-label{position:absolute;top:68%;left:28%;background:white;padding:8px 14px;border-radius:5px;font-size:12px}.map-watermark{position:absolute;top:12px;left:12px;background:#fff;padding:6px;color:#9b752b;font-size:11px}#toast{position:fixed;bottom:30px;left:50%;background:#183d39;color:white;padding:12px 24px;border-radius:8px;display:none;z-index:10}@media(max-width:1000px){aside{width:165px}main{margin-left:165px;padding:0 20px}.filters{flex-wrap:wrap}.stats{gap:10px}.stat{padding:16px}}@media(max-width:650px){aside{display:none}main{margin:0;padding:0 12px}.stats{grid-template-columns:1fr 1fr}.heading{padding:24px 0}.form-grid,.details{grid-template-columns:1fr}.field.wide{grid-column:auto}.filters input:first-child{width:100%}}
.fleet-entry{display:block;width:100%;margin-top:12px;background:transparent;border:1px solid #38565f;color:#d3e1e5;text-align:left;font-size:12px;cursor:pointer}.fleet-entry:hover{background:#23454e}.fleet-banner{display:flex;align-items:center;gap:12px;margin-bottom:20px}.fleet-summary{margin:18px 0;color:#70858e;font-size:12px}.fleet-card{border:1px solid #e0e8e9;border-radius:8px;padding:18px;margin-bottom:14px}.fleet-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.fleet-card p{margin:7px 0;line-height:1.7}.fleet-assignment{background:#f4f7f8;padding:12px;border-radius:5px;margin:12px 0;font-size:12px}.fleet-card-actions{display:flex;justify-content:flex-end;margin-top:12px}.code-line{display:flex;align-items:center;gap:12px;font-size:12px;color:#688078;flex-wrap:wrap}.code-line strong{font-size:22px;letter-spacing:4px;color:#147969}.code-line small{font-size:10px;color:#8d9ca1}.assignment-context{border-bottom:1px solid #e6ecee;padding-bottom:18px;margin-bottom:20px}.assignment-context p{margin-top:8px}

.fleet-fields{margin:18px 0;line-height:1.7}.fleet-fields small{display:block}

.fleet-tabs{display:flex;gap:8px;border-bottom:1px solid #dce6e7;margin-top:22px;padding-bottom:10px}.fleet-tabs button{flex:1;border-color:transparent;background:#f4f7f8}.fleet-tabs button.selected{background:#e3f3ed;color:#147b69;border-color:#9dcfc1;font-weight:600}.fleet-tabs span{margin-left:8px;font-size:12px}

.fleet-account{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;background:#f4f7f8;border:1px solid #e1e8ea;border-radius:6px}.fleet-account strong{color:#23796b}

.captain-page{background:#f3f6f7}.captain-header{max-width:820px;margin:auto;padding:0 24px;color:#21584f;height:74px}.captain-header b{font-size:18px}#captain-content{max-width:820px;margin:24px auto;background:white;border:1px solid #dfe8e9;border-radius:12px;overflow:hidden;min-height:70vh}@media(max-width:650px){#captain-content{margin:12px;border-radius:8px}.captain-header{padding:0 16px}}

#driver-content{max-width:620px;margin:24px auto;background:white;border:1px solid #dfe8e9;border-radius:12px;overflow:hidden}.driver-progress{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.driver-progress span{padding:7px 10px;border-radius:5px;background:#f1f4f5;color:#8b9ba4;font-size:11px}.driver-progress .reached{background:#e1f2eb;color:#187d68}.driver-main{width:100%;margin:15px 0}.driver-navigation{padding:18px 0}.driver-navigation p{margin-top:10px}button:disabled{cursor:default;opacity:.5}@media(max-width:650px){#driver-content{margin:12px}}

@media(max-width:650px){aside{display:flex;position:static;width:100%;padding:8px;gap:6px;align-items:center;flex-wrap:wrap}.brand,.side-note,.profile{display:none}aside .nav{width:auto;flex:1;font-size:11px;margin:0;padding:10px 6px}}

.nav-destination{display:block;background:#127b6b;color:white;text-decoration:none;text-align:center;border-radius:6px;padding:14px;font-weight:600}.nav-destination:hover{background:#096455}

#auth-overlay{position:fixed;inset:0;background:#edf3f5;z-index:100;display:grid;place-items:center}#auth-form{width:min(420px,94vw);padding:32px;background:white;border:1px solid #dce7e7;border-radius:12px;box-shadow:0 20px 80px #193b4112}#auth-form .field{margin-top:20px}#auth-form p{margin-top:16px;line-height:1.7}#auth-form button{width:100%;margin-top:16px}#auth-error{color:#b34343;font-size:12px}
