.app{min-height:100vh}.sidebar{height:100vh}.localbar{padding:7px 20px;background:#edf4f5;color:#58707c;font-size:11px;text-align:center}.driver-app{max-width:480px;margin:auto;min-height:100vh;background:#f5f8fa;border-left:1px solid var(--line);border-right:1px solid var(--line)}.driver-app .phone-header{position:sticky;top:0;z-index:5}.driver-app .phone-body{padding:24px}.driver-app .btn{min-height:48px}.driver-app .field input,.driver-app .field select,.driver-app .field textarea{min-height:45px}.driver-app h2{font-size:24px}.authstage{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 450px;align-items:center;gap:90px;padding:60px 30px}.authintro h1{font-size:44px;line-height:1.15;margin:22px 0}.authintro p{color:var(--muted);font-size:16px;max-width:370px}.login-card{margin:0;max-width:none}.autherror{color:var(--red);font-size:13px;padding:12px;background:#fff4f3;border-radius:6px;margin:12px 0}.alink{color:var(--teal);font-size:13px;text-decoration:underline}.notice b svg{vertical-align:middle;margin-right:4px}.displaynone{display:none!important}.btn:disabled{cursor:wait}.downloadlink{text-decoration:none}.busyveil{opacity:.6;pointer-events:none}.pointedit{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pointedit .wide{grid-column:1/-1}.pointedit .field{margin:0}.amount{font-variant-numeric:tabular-nums}.filelist{margin:12px 0;font-size:12px}.route .stop a{font-size:12px}.upload input{max-width:100%}.offbanner{background:#fff1d6;color:#755112;padding:12px 20px;font-size:12px}.bill-state{margin:0 0 20px}.docfilter{min-width:140px;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff}.avatarbtn{display:flex;align-items:center;gap:10px}.noactive{padding:30px 10px;text-align:center}.welcome{padding:26px;border-bottom:1px solid var(--line)}.welcome h2{margin-bottom:8px}.welcome p{color:var(--muted)}.auto-update{font-size:11px;color:var(--muted)}@media(max-width:800px){.sidebar{height:auto}.authstage{grid-template-columns:1fr;padding:25px 18px;gap:22px}.authintro h1{font-size:29px}.authintro p{font-size:13px}.authintro .brand{display:none}.pointedit{grid-template-columns:1fr}.login-card{padding:24px}.driver-app .phone-body{padding:21px 18px}.sidebar .brand{justify-content:space-between}.content .heading{flex-wrap:wrap}}

.admin-layout{min-height:100vh;background:var(--bg,#f4f6f7)}.admin-header{background:#173447;color:white;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.admin-header .brand{padding:0}.admin-header .btn{background:#fff}.admin-content{max-width:1400px;margin:auto;padding:32px}.admin-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-actions .field{margin:0;flex:1;min-width:180px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-content td{vertical-align:top;max-width:400px;overflow-wrap:anywhere}.admin-content .tablewrap{overflow-x:auto}.admin-content table{width:100%}.admin-content td,.admin-content th{padding:14px;text-align:left;border-bottom:1px solid #e4e9ec}.admin-content .heading{margin-top:20px}@media(max-width:700px){.admin-content{padding:16px}.admin-header{padding:16px}.admin-columns{grid-template-columns:1fr}.admin-stats{gap:8px}.admin-stats .pad{padding:12px}.admin-content table{min-width:600px}}
.admin-header .btn{color:#173447}
.app>.sidebar,.app>.main{min-width:0}

.checkout-consent{display:flex;align-items:flex-start;gap:12px;margin:20px 0;line-height:1.6}.checkout-consent input{width:20px;min-width:20px;height:20px;margin-top:3px}.checkout-consent a{text-decoration:underline}

.current-stop h3{font-size:21px;line-height:1.4;margin:10px 0}.current-stop .summaryline{gap:12px;flex-wrap:wrap}.current-stop .summaryline b{overflow-wrap:anywhere}.stop-note{white-space:pre-wrap;margin-top:14px}.dispatcher-call{margin:20px 0;min-height:48px}.current-stop{margin:16px 0}.current-stop .btn{min-height:48px}
.stop .btn{white-space:normal;overflow-wrap:anywhere;min-width:0}.stop .summaryline{gap:10px}.stop .summaryline b{overflow-wrap:anywhere;min-width:0}
