:root{font-family:system-ui,-apple-system,"Noto Sans TC",Arial,sans-serif;color:#18323a;background:#f3f7f8}*{box-sizing:border-box}body{margin:0}.layout{display:flex;min-height:100vh}.sidebar{width:242px;background:#0f2c36;color:#f1faf9;padding:24px 13px;display:flex;flex-direction:column;flex-shrink:0}.logo{display:flex;gap:12px;align-items:center;margin-bottom:38px;padding-left:6px}.logo strong{display:block;font-size:18px}.logo small{display:block;font-size:11px;color:#a8c4c8;margin-top:4px}.mark{background:#cbef72;color:#0d3a36;border-radius:10px;width:39px;height:39px;display:grid;place-items:center;font-weight:800;font-size:24px}.sidehead,.sidefoot{font-size:12px;color:#7eabb4;padding:8px 13px}.sidefoot{margin-top:auto;border-top:1px solid #34515a;line-height:1.8}nav button{display:block;width:100%;background:none;color:#d9eef1;border:0;text-align:left;padding:13px 14px;border-radius:10px;margin:4px 0;font-size:14px;cursor:pointer}nav button.active,nav button:hover{background:#315963}main{flex:1;min-width:0}header{background:#fff;border-bottom:1px solid #e3eeee;min-height:78px;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:10px}.crumb,.muted,#subtitle{color:#81969b}header #email{font-size:12px;margin-right:15px}.content{padding:36px 32px;max-width:1500px;margin:auto}.eyebrow{color:#7ab09d;font-size:11px;letter-spacing:2px;font-weight:700}h1{font-size:27px;margin:8px 0}#subtitle{font-size:14px;margin:0 0 26px}h2{font-size:20px}.cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:16px}.card,.panel{border:1px solid #e2eaeb;background:#fff;border-radius:12px;padding:22px}.card label{font-size:13px;color:#769096}.card strong{font-size:30px;display:block;margin-top:16px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.toolbar input{width:min(400px,100%)}button{cursor:pointer;font-family:inherit}.primary{background:#164752;color:#fff;border:0;border-radius:8px;padding:12px 18px}.subtle{background:#fff;color:#27444d;border:1px solid #dbe6e7;border-radius:8px;padding:10px 15px}.danger{color:#ad3e39}input,select,textarea{font:inherit;border:1px solid #d5e3e5;border-radius:8px;padding:11px;background:#fff;max-width:100%}input:focus,textarea:focus{outline:2px solid #8fc4c0}table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid #e8eff0;white-space:nowrap;font-size:13px}th{color:#78929a;background:#fbfdfd}td button{margin-right:5px} .tablewrap{overflow:auto;border:1px solid #e3eded;border-radius:12px}.empty{text-align:center;padding:60px;color:#8ca5a9}.hint{background:#eaf5f3;border:1px solid #cee8e2;border-radius:10px;padding:16px;margin:16px 0;line-height:1.7}.warning{background:#fff6e9;border-color:#efdfc4}.error{background:#fff0ee;border-color:#efcac8}#notice:empty{display:none}#notice{margin-bottom:16px}dialog{border:0;border-radius:15px;padding:0;width:min(780px,95vw);max-height:90vh;box-shadow:0 15px 70px #173a3b33}dialog::backdrop{background:#071a1f99}#recordForm{padding:25px;overflow:auto;max-height:90vh}.dialogHead{display:flex;align-items:center;justify-content:space-between}.close{border:0;background:none;font-size:21px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:5px;font-size:13px}.field label{font-weight:600}.field small{color:#84989a}.field input,.field select,.field textarea{width:100%}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.login{max-width:470px;margin:45px auto}.login .field{margin-bottom:16px}.login button{width:100%}.link{color:#175f66;cursor:pointer;text-decoration:underline;border:0;background:none}.footerinfo{font-size:13px;line-height:1.8;color:#71898f;margin-top:24px}@media(max-width:850px){.sidebar{width:65px;padding:14px 5px}.sidebar .logo div,.sidehead,.sidefoot{display:none}.sidebar nav button{font-size:0;text-align:center}.sidebar nav button::first-letter{font-size:21px}.content{padding:22px 14px}.cards{grid-template-columns:repeat(2,1fr)}.fields{grid-template-columns:1fr}header{padding:16px}}

.tag{border-radius:12px;padding:4px 9px;display:inline-block;font-size:12px;white-space:nowrap}.tag.danger{background:#ffe7e3;color:#a5392d}.tag.warn{background:#fff2d1;color:#8b6200}.tag.neutral{background:#eaf3f1;color:#27625c}.costline{display:flex;justify-content:space-between;border-bottom:1px solid #e3eeee;padding:10px 0;gap:15px}.toolbar select{padding:10px;border:1px solid #d9e5e4;border-radius:8px;background:white}

.delete-record{color:#a3342b;border-color:#efc9c6;background:#fff9f8}.delete-record:hover{background:#ffebe8}

/* FleetDesk driver check read-only dashboard */
.driver-stats{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:14px;margin-bottom:16px}
.driver-controls{margin-bottom:16px}
.driver-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.driver-filters label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:#476168}
.driver-filters input,.driver-filters select{min-width:150px;width:100%}
.driver-filters label:last-child{flex:1;min-width:190px}
.driver-help{color:#688189;font-size:12px;margin-top:12px;line-height:1.7}
.driver-detail{margin-top:16px}.driver-detail-head{display:flex;justify-content:space-between;gap:15px;align-items:center}
.driver-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.driver-detail-grid>div{border:1px solid #e1ebed;padding:12px;border-radius:8px;min-width:0;overflow-wrap:anywhere}
.driver-detail-grid b{font-size:12px;color:#688189}.driver-detail-grid p{margin:6px 0 0;font-size:14px}
.driver-link{display:inline-block;margin:6px 10px 4px 0;color:#16626d}.driver-issue{max-width:220px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.driver-stats{grid-template-columns:repeat(2,1fr)}.driver-detail-grid{grid-template-columns:1fr}}
