@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Bold.ttf)format("truetype");font-weight:700;font-display:swap}:root{--ink:#17253d;--muted:#6d7b75;--canvas:#f5f8fc;--brand:#216ccc;--green:#6ac445;--border:#e2e9f2;--surface:#fff;--red:#f05c5c;--shadow:0 14px 38px #1f385917}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif}body{overscroll-behavior-y:none}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0}button:disabled{opacity:.58;cursor:not-allowed}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #216ccc3d}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card-panel{background:#fff;border:1px solid #e3eaf2;border-radius:24px}.primary-button{background:var(--brand);color:#fff;border-radius:17px;justify-content:center;align-items:center;gap:9px;min-height:54px;font-size:12px;font-weight:700;display:flex;box-shadow:0 9px 22px #216ccc2e}.full-button{width:100%}.auth-page{background:radial-gradient(circle at 15% 8%,#e1efff 0,transparent 32%),radial-gradient(circle at 90% 92%,#e9f7e4 0,transparent 30%),var(--canvas);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{background:#fffffff7;border:1px solid #e2e9f2;border-radius:30px;width:min(460px,100%);padding:30px;box-shadow:0 24px 70px #1f38591f}.auth-brand{align-items:center;gap:12px;display:flex}.auth-brand span,.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:20px}.auth-brand small{letter-spacing:1.5px;color:var(--muted);margin-top:3px;font-size:7px;font-weight:700}.auth-heading{margin:27px 0 20px}.auth-heading>span{letter-spacing:1.4px;color:var(--brand);font-size:8px;font-weight:700}.auth-heading h1,.auth-config h1{margin-top:7px;font-size:25px}.auth-heading p,.auth-config p{color:var(--muted);margin-top:8px;font-size:10px;line-height:1.7}.auth-card form{flex-direction:column;gap:10px;display:flex}.auth-card form>label,.auth-two-column>label{min-height:62px;color:var(--brand);background:#fafcff;border:1px solid #e1e8f0;border-radius:17px;align-items:center;gap:12px;padding:9px 14px;display:flex}.auth-card form label:focus-within{background:#fff;border-color:#9fbfe5;box-shadow:0 0 0 3px #216ccc12}.auth-card form label>span{flex:1;min-width:0}.auth-card form small{letter-spacing:.6px;color:var(--muted);font-size:7px;font-weight:700;display:block}.auth-card form input{width:100%;height:28px;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px;font-weight:600}.auth-two-column{grid-template-columns:1fr 1fr;gap:10px;display:grid}.password-toggle{width:38px;height:38px;color:var(--brand);background:#edf4ff;border-radius:12px;place-items:center;display:grid}.auth-notice{color:#397c25;background:#eef9ea;border-radius:14px;align-items:flex-start;gap:8px;padding:11px 12px;font-size:9px;line-height:1.5;display:flex}.auth-notice.error{color:#b53c3c;background:#fff2f2}.auth-mode-button{width:100%;color:var(--brand);background:0 0;margin-top:17px;padding:8px;font-size:10px;font-weight:700}.driver-shell{background:var(--canvas);width:min(560px,100%);min-height:100dvh;margin:auto;padding-bottom:92px;position:relative;box-shadow:0 0 50px #1f38590d}.driver-header{height:78px;padding:calc(env(safe-area-inset-top) + 13px) 18px 10px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:1000;background:#f5f8fceb;border-bottom:1px solid #e2e9f2cc;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.driver-brand{align-items:center;gap:9px;display:flex}.driver-brand span,.driver-brand strong,.driver-brand small{display:block}.driver-brand strong{font-size:16px}.driver-brand small{letter-spacing:1.4px;color:var(--muted);margin-top:2px;font-size:6px;font-weight:700}.online-pill{color:#54a938;background:#eef9ea;border-radius:99px;align-items:center;gap:7px;padding:8px 11px;font-size:7px;font-weight:700;display:flex}.online-pill i{background:var(--green);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #6ac44521}.driver-page{padding:25px 17px 30px}.driver-welcome{justify-content:space-between;align-items:flex-end;gap:15px;display:flex}.driver-welcome>div>span{letter-spacing:1.3px;color:var(--brand);font-size:8px;font-weight:700}.driver-welcome h1{margin-top:6px;font-size:24px}.driver-welcome p{color:var(--muted);margin-top:6px;font-size:9px}.refresh-button{width:44px;height:44px;color:var(--brand);background:#fff;border:1px solid #e2e9f2;border-radius:15px;place-items:center;display:grid}.driver-summary{grid-template-columns:1fr 1fr;gap:11px;margin:20px 0;display:grid}.driver-summary article{background:#fff;border:1px solid #e3eaf2;border-radius:21px;align-items:center;gap:11px;min-height:82px;padding:13px;display:flex}.driver-summary article>span{width:41px;height:41px;color:var(--brand);background:#eaf2fc;border-radius:14px;place-items:center;display:grid}.driver-summary article>span.green{color:#57ad39;background:#eef9ea}.driver-summary strong,.driver-summary small{display:block}.driver-summary strong{font-size:20px}.driver-summary small{color:var(--muted);letter-spacing:.5px;margin-top:3px;font-size:6px;font-weight:700}.driver-notice{color:var(--brand);background:#edf4ff;border-radius:15px;align-items:center;gap:8px;margin:12px 0;padding:11px 12px;font-size:9px;line-height:1.5;display:flex}.driver-notice.error{color:#c84343;background:#fff0f0}.driver-notice.warning{color:#956910;background:#fff7e5}.driver-notice svg{flex:none}.driver-notice button{color:inherit;background:#fff;border-radius:10px;margin-left:auto;padding:7px 9px;font-size:8px;font-weight:700}.continue-card{color:#fff;text-align:left;background:linear-gradient(135deg,#216ccc,#1558ad);border-radius:24px;align-items:center;gap:13px;width:100%;min-height:102px;margin:15px 0;padding:16px;display:flex;box-shadow:0 12px 30px #216ccc38}.continue-card>span{background:#ffffff26;border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.continue-card>div{flex:1;min-width:0}.continue-card small,.continue-card strong,.continue-card p{display:block}.continue-card small{letter-spacing:.9px;color:#cfe2fa;font-size:7px;font-weight:700}.continue-card strong{margin-top:4px;font-size:14px}.continue-card p{color:#dceafb;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:8px;overflow:hidden}.task-list{flex-direction:column;gap:12px;margin-top:18px;display:flex}.task-card{text-align:left;width:100%;padding:16px}.task-card-top{justify-content:space-between;align-items:center;display:flex}.task-card-top>small{color:#8a97a5;font-size:7px}.task-status{white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:7px 9px;font-size:7px;font-weight:700;display:inline-flex}.task-status i{background:currentColor;border-radius:50%;width:5px;height:5px}.task-status.assigned{color:var(--brand);background:#edf4ff}.task-status.in-progress{color:#b47a0f;background:#fff6df}.task-status.completed{color:#4f9935;background:#eef9ea}.task-status.cancelled{color:#cf4d4d;background:#fff0f0}.tracking-number{margin-top:12px;font-size:12px;display:block}.task-destination{align-items:center;gap:11px;margin:14px 0;display:flex}.task-destination>span{width:42px;height:42px;color:var(--red);background:#fff0f0;border-radius:14px;flex:none;place-items:center;display:grid}.task-destination>div{min-width:0}.task-destination small,.task-destination strong,.task-destination p{display:block}.task-destination small{color:var(--muted);letter-spacing:.6px;font-size:6px}.task-destination strong{white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;overflow:hidden}.task-destination p{color:var(--muted);margin-top:4px;font-size:8px}.task-card footer{color:#647486;border-top:1px solid #edf1f5;align-items:center;gap:16px;padding-top:12px;font-size:8px;display:flex}.task-card footer span{align-items:center;gap:5px;display:flex}.task-card footer>svg{color:var(--brand);margin-left:auto}.empty-tasks,.loading-tasks{text-align:center;min-height:250px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-tasks>span{width:56px;height:56px;color:var(--brand);background:#eaf2fc;border-radius:19px;place-items:center;display:grid}.empty-tasks h2{color:var(--ink);margin-top:13px;font-size:15px}.empty-tasks p{max-width:260px;margin-top:6px;font-size:9px;line-height:1.6}.loading-tasks{flex-direction:row;gap:9px;font-size:10px}.driver-bottom-nav{z-index:1200;width:min(560px,100%);height:calc(72px + env(safe-area-inset-bottom));padding:7px 28px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff5;border-top:1px solid #e4eaf1;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.driver-bottom-nav button{color:#85919f;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:7px;font-weight:700;display:flex;position:relative}.driver-bottom-nav button.active{color:var(--brand)}.driver-bottom-nav button>i{background:var(--red);color:#fff;border-radius:99px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:7px;font-style:normal;display:grid;position:absolute;top:0;right:24%}.profile-page{padding-top:35px}.profile-hero{text-align:center}.profile-hero>span{color:#fff;background:linear-gradient(135deg,#216ccc,#5c9eea);border-radius:27px;place-items:center;width:78px;height:78px;margin:auto;font-size:22px;font-weight:700;display:grid;box-shadow:0 12px 28px #216ccc33}.profile-hero h1{margin-top:14px;font-size:20px}.profile-hero p{color:var(--muted);margin-top:5px;font-size:9px}.profile-list{margin-top:25px;padding:7px 16px}.profile-list>div{min-height:70px;color:var(--brand);border-top:1px solid #edf1f5;align-items:center;gap:12px;display:flex}.profile-list>div:first-child{border-top:0}.profile-list span{flex:1}.profile-list small,.profile-list strong{display:block}.profile-list small{color:var(--muted);letter-spacing:.5px;font-size:7px}.profile-list strong{color:var(--ink);margin-top:4px;font-size:11px}.signout-button{color:#cf4d4d;background:#fff0f0;border-radius:17px;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;margin-top:16px;font-size:10px;font-weight:700;display:flex}.detail-shell{background:var(--canvas);width:min(680px,100%);min-height:100dvh;margin:auto;padding-bottom:115px;position:relative;box-shadow:0 0 50px #1f38590d}.detail-header{height:76px;padding:calc(env(safe-area-inset-top) + 12px) 15px 10px;z-index:1200;background:#fffffff5;border-bottom:1px solid #e5ebf2;align-items:center;gap:11px;display:flex;position:sticky;top:0}.detail-header>button{width:40px;height:40px;color:var(--brand);background:#edf4ff;border-radius:14px;place-items:center;display:grid}.detail-header>div{flex:1;min-width:0}.detail-header small,.detail-header strong{display:block}.detail-header small{color:var(--muted);font-size:7px}.detail-header strong{margin-top:3px;font-size:12px}.overview-map-wrap,.navigation-map-wrap{background:#dce8e0;height:38vh;min-height:310px;position:relative;overflow:hidden}.navigating .navigation-map-wrap{height:44vh;min-height:340px}.driver-map{z-index:1;width:100%;height:100%;font-family:Plus Jakarta Sans,sans-serif}.leaflet-control-attribution{font-size:6px!important}.driver-location-icon-shell,.driver-stop-icon-shell{background:0 0;border:0}.driver-location-icon{background:#fff;border-radius:50%;place-items:center;width:42px;height:42px;transition:transform .3s;display:grid;box-shadow:0 5px 16px #17253d47}.driver-location-icon span{border-left:9px solid #0000;border-right:9px solid #0000;border-bottom:25px solid var(--brand);filter:drop-shadow(0 2px 1px #00000024);width:0;height:0;transform:translateY(-2px)}.driver-stop-icon{background:var(--stop-color);color:#fff;border:4px solid #fff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:10px;font-weight:700;display:grid;box-shadow:0 6px 14px #17253d33}.driver-stop-icon.active{box-shadow:0 0 0 5px color-mix(in srgb,var(--stop-color) 20%,transparent),0 6px 14px #17253d33;transform:scale(1.14)}.map-controls{z-index:900;flex-direction:column;gap:8px;display:flex;position:absolute;top:12px;right:12px}.map-controls button{color:#7c8996;background:#fffffff5;border-radius:14px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 5px 15px #17253d24}.map-controls button.active{background:var(--brand);color:#fff}.route-loading{z-index:900;color:var(--brand);background:#fffffff5;border-radius:13px;align-items:center;gap:7px;padding:9px 11px;font-size:8px;font-weight:700;display:flex;position:absolute;bottom:12px;left:12px;box-shadow:0 5px 15px #17253d21}.detail-content{padding:15px}.direction-card{color:#fff;z-index:900;background:linear-gradient(135deg,#216ccc,#1557ab);border-radius:24px;align-items:center;gap:15px;min-height:112px;margin-top:-37px;padding:16px;display:flex;position:relative;box-shadow:0 13px 29px #216ccc38}.direction-icon{background:#ffffff29;border-radius:18px;flex:none;place-items:center;width:58px;height:58px;font-size:38px;font-weight:500;line-height:1;display:grid}.direction-card>div{min-width:0}.direction-card small,.direction-card strong,.direction-card p{display:block}.direction-card small{letter-spacing:.8px;color:#d2e4fa;font-size:8px;font-weight:700}.direction-card strong{margin-top:4px;font-size:14px;line-height:1.45}.direction-card p{color:#d9e8f8;margin-top:5px;font-size:8px}.current-stop-card{align-items:center;gap:12px;min-height:88px;margin-top:13px;padding:14px;display:flex}.stop-badge{color:#fff;background:var(--red);border-radius:50%;flex:none;place-items:center;width:43px;height:43px;font-size:10px;font-weight:700;display:grid}.stop-badge.pickup{background:var(--brand)}.current-stop-card>div:nth-child(2){flex:1;min-width:0}.current-stop-card small,.current-stop-card strong,.current-stop-card p{display:block}.current-stop-card small{color:var(--muted);letter-spacing:.6px;font-size:7px}.current-stop-card strong{margin-top:3px;font-size:12px}.current-stop-card p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:8px;overflow:hidden}.current-stop-card>a{color:#56a839;background:#eef9ea;border-radius:13px;place-items:center;width:40px;height:40px;display:grid}.trip-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.trip-metrics>span{min-height:76px;color:var(--brand);background:#fff;border:1px solid #e3eaf2;border-radius:19px;padding:11px}.trip-metrics small,.trip-metrics strong{display:block}.trip-metrics small{color:var(--muted);letter-spacing:.4px;margin-top:5px;font-size:6px}.trip-metrics strong{color:var(--ink);margin-top:3px;font-size:10px}.stop-timeline{margin-top:12px;padding:16px}.section-heading small{color:var(--brand);letter-spacing:.8px;font-size:7px;font-weight:700}.section-heading h2{margin-top:4px;font-size:15px}.timeline-row{border-top:1px solid #edf1f5;align-items:center;gap:12px;min-height:76px;display:flex;position:relative}.timeline-row:first-of-type{margin-top:10px}.timeline-row>span{color:#84919d;background:#f0f3f6;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:9px;font-weight:700;display:grid}.timeline-row.current>span{background:var(--brand);color:#fff;box-shadow:0 0 0 5px #216ccc1a}.timeline-row.done>span{color:#57a83b;background:#eef9ea}.timeline-row>div{flex:1;min-width:0}.timeline-row small,.timeline-row strong,.timeline-row p{display:block}.timeline-row small{color:var(--muted);letter-spacing:.5px;font-size:6px}.timeline-row strong{margin-top:3px;font-size:10px}.timeline-row p{color:var(--muted);margin-top:3px;font-size:8px}.timeline-row>i{color:var(--brand);background:#edf4ff;border-radius:99px;padding:6px 8px;font-size:6px;font-style:normal;font-weight:700}.trip-action-bar{z-index:1300;width:min(680px,100%);min-height:94px;padding:11px 14px calc(11px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff7;border-top:1px solid #e2e9f2;gap:9px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.maps-button{width:86px;color:var(--brand);text-align:center;background:#edf4ff;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.maps-button span,.maps-button small{display:block}.maps-button span{font-size:8px;font-weight:700}.maps-button small{color:#69809a;margin-bottom:2px;font-size:5px}.primary-trip-button{background:var(--brand);color:#fff;border-radius:18px;flex:1;justify-content:center;align-items:center;gap:10px;padding:0 14px;display:flex;box-shadow:0 9px 22px #216ccc2e}.primary-trip-button span{text-align:left;flex:1}.primary-trip-button small,.primary-trip-button span{display:block}.primary-trip-button small{color:#d4e5fa;letter-spacing:.7px;margin-bottom:3px;font-size:6px}.primary-trip-button span{font-size:10px;font-weight:700}.centered-state{color:var(--muted);justify-content:center;align-items:center;gap:9px;padding:40px;font-size:10px;display:flex}.centered-state.error{color:#cf4d4d;flex-direction:column}.centered-state button{color:inherit;background:#fff;border-radius:12px;padding:9px 12px}@media (min-width:700px){body{padding:24px 0}.driver-shell,.detail-shell{border-radius:30px;min-height:calc(100dvh - 48px);overflow:hidden}.driver-header,.detail-header{padding-top:12px}.driver-bottom-nav,.trip-action-bar{border-radius:0 0 30px 30px;bottom:24px}.driver-page{padding-left:24px;padding-right:24px}}@media (max-width:420px){.auth-page{padding:0}.auth-card{border:0;border-radius:0;min-height:100dvh;padding:24px 19px}.auth-two-column{grid-template-columns:1fr}.driver-header{height:72px}.driver-page{padding-left:14px;padding-right:14px}.direction-card{margin-top:-31px}.direction-card strong{font-size:12px}.navigating .navigation-map-wrap{height:42vh}.detail-header .task-status{padding:6px 7px;font-size:6px}}
