:root{color-scheme:light;--navy: #071a2f;--navy-soft: #0c2c4b;--blue: #007aff;--blue-soft: #eaf3ff;--green: #14884b;--red: #e5484d;--ink: #1d1d1f;--muted: #6e6e73;--faint: #8e8e93;--line: rgba(29, 29, 31, .1);--line-strong: rgba(29, 29, 31, .16);--surface: rgba(255, 255, 255, .92);--background: #f5f5f7;--shadow-sm: 0 8px 28px rgba(7, 26, 47, .07);--shadow-md: 0 20px 60px rgba(7, 26, 47, .12);--appbar-h: 74px;--bottomnav-h: 74px}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;overflow-x:hidden}html{background:var(--background);-webkit-text-size-adjust:100%}body{background:var(--background);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,input{outline:none}button:focus-visible,input:focus-visible,summary:focus-visible{box-shadow:0 0 0 4px #007aff33!important}.uiicon{width:1.35em;height:1.35em;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.app{min-height:100svh;min-height:100dvh;background:radial-gradient(circle at 84% -10%,rgba(0,122,255,.1),transparent 34rem),linear-gradient(180deg,#fbfbfd 0,var(--background) 34rem)}.shell{width:100%;max-width:1180px;margin:0 auto;padding:24px 22px calc(34px + var(--bottomnav-h) + env(safe-area-inset-bottom))}.viewpage{width:100%;min-width:0;animation:view-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes view-in{0%{opacity:0;transform:translateY(7px)}}.appbar{min-height:calc(var(--appbar-h) + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) max(18px,calc((100vw - 1180px)/2 + 22px)) 10px;position:sticky;top:0;z-index:70;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:12px;color:#fff;background:radial-gradient(circle at 80% 0,rgba(44,150,255,.22),transparent 42%),linear-gradient(135deg,#071a2ffa,#082b4af7);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 8px 26px #071a2f29;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.appback,.linequick{width:44px;height:44px;border:1px solid rgba(255,255,255,.14);border-radius:15px;display:grid;place-items:center;color:#fff;background:#ffffff17}.appback:active,.linequick:active{transform:scale(.96)}.appback .uiicon{font-size:19px}.apptitle{min-width:0;text-align:center}.apptitle small{display:block;margin-bottom:3px;color:#ffffff9e;font-size:10px;font-weight:760;letter-spacing:.12em}.apptitle strong{display:block;overflow:hidden;color:#fff;font-size:18px;font-weight:720;line-height:1.1;letter-spacing:-.35px;text-overflow:ellipsis;white-space:nowrap}.linequick{padding:0 5px;color:var(--route-text, #fff);background:var(--route, rgba(255, 255, 255, .13));border-color:#ffffff47;font-size:16px;font-weight:850;box-shadow:inset 0 -2px #0000001f,0 6px 18px #0000001f}.linequick.empty{color:#fff;background:#ffffff1a;box-shadow:none}.bottomnav{position:fixed;left:50%;bottom:0;z-index:80;width:min(680px,100%);height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom));padding:7px 12px calc(7px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);transform:translate(-50%);background:#fcfcfddb;border:1px solid rgba(29,29,31,.09);border-bottom:0;border-radius:24px 24px 0 0;box-shadow:0 -14px 45px #071a2f1a;-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%)}.navitem{min-width:0;min-height:56px;padding:4px 7px;border:0;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#7e8791;background:transparent;transition:color .16s ease,transform .16s ease,background .16s ease}.navitem:active{transform:scale(.96)}.navicon{width:30px;height:26px;display:grid;place-items:center;border-radius:10px}.navicon .uiicon{font-size:18px}.navitem small{font-size:10px;font-weight:680;line-height:1}.navitem.active{color:var(--blue)}.navitem.active .navicon{background:var(--blue-soft)}.navitem.active small{font-weight:780}.linebadge{min-width:48px;height:48px;padding:0 8px;border-radius:14px;display:grid;place-items:center;color:var(--route-text, #fff);background:var(--route, var(--navy));font-size:17px;font-weight:850;line-height:1;box-shadow:inset 0 -2px #00000021,0 7px 18px #071a2f1f}.linebadge.big{min-width:58px;height:58px;border-radius:17px;font-size:21px}.eyebrow{display:block;color:var(--faint);font-size:11px;font-weight:760;letter-spacing:.12em}.eyebrow.red{color:var(--red)}.chooser{position:fixed;inset:0;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s ease}.chooser.open{opacity:1;pointer-events:auto}.chooserback{position:absolute;inset:0;background:#07111d8f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.choosersheet{position:absolute;left:50%;top:50%;width:min(920px,calc(100% - 32px));max-height:min(880px,calc(100dvh - 32px));padding:25px;overflow:auto;transform:translate(-50%,-47%) scale(.985);background:#fafafcfa;border:1px solid rgba(255,255,255,.45);border-radius:30px;box-shadow:0 34px 110px #020e1a57;-webkit-overflow-scrolling:touch;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.chooser.open .choosersheet{transform:translate(-50%,-50%) scale(1)}.chooserbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.chooserbar h2{margin:5px 0 0;font-size:32px;letter-spacing:-1px}.close{width:42px;height:42px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;color:#5e6670;background:#e9e9ed}.datebox{margin-top:18px;padding:13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:19px}.dateicon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft)}.datecopy{min-width:0}.datecopy small{display:block;color:var(--faint);font-size:10px;font-weight:760;letter-spacing:.1em}.datecopy strong{display:block;margin-top:3px;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.datecontrols{display:flex;align-items:center;gap:7px}.datecontrols input,.autodate{min-height:42px;padding:0 11px;border:1px solid var(--line-strong);border-radius:12px;color:var(--ink);background:#fff;font-size:12px;font-weight:650}.autodate{color:var(--blue);background:var(--blue-soft);border-color:transparent;font-weight:760}.autodate.active{color:#fff;background:var(--blue)}.searchwrap{min-height:50px;margin-top:12px;padding:0 14px;display:flex;align-items:center;gap:10px;color:#737b84;background:#eaeaee;border:1px solid transparent;border-radius:16px}.searchwrap:focus-within{color:var(--blue);background:#fff;border-color:#007aff59;box-shadow:0 0 0 4px #007aff1a}.searchwrap>.uiicon{font-size:18px}.search{width:100%;min-width:0;padding:0;border:0;color:var(--ink);background:transparent;font-size:15px}.search::placeholder{color:#8d9298}.searchwrap button{width:32px;height:32px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;color:#6e747b;background:#d8d8dd}.tabs{padding:12px 0 11px;display:flex;gap:7px;overflow:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{min-height:39px;padding:0 15px;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;color:#60666d;background:#fff;font-size:12px;font-weight:700;white-space:nowrap}.tab.active{color:#fff;background:var(--ink);border-color:var(--ink)}.linegrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.linecard{min-width:0;min-height:76px;padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;text-align:left;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:18px;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.linecard:active{transform:scale(.985)}.linecard.current{border-color:#007aff59;box-shadow:inset 0 0 0 1px #007aff24}.linecard .linebadge{min-width:48px;height:48px;border-radius:14px}.linecopy{min-width:0}.linecopy strong{display:block;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.linecopy small{display:block;margin-top:4px;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.servicetag{padding:5px 7px;color:#8a4d08;background:#fff4e2;border-radius:8px;font-size:9px;font-weight:730;white-space:nowrap}.chev{color:#a0a5ab}.chev .uiicon{font-size:16px}.linecard.off{opacity:.62;filter:saturate(.62)}.linecard.loadingline{border-color:#007aff61;background:#f1f7ff;opacity:1}.cardspinner{width:19px;height:19px;display:block;border:2px solid rgba(0,122,255,.2);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}.inactivehead{grid-column:1 / -1;margin:13px 3px 2px;color:var(--faint);font-size:10px;font-weight:760;letter-spacing:.09em;text-transform:uppercase}.recentblock{margin:13px 0 15px}.listlabel{display:block;margin:0 3px 7px;color:var(--faint);font-size:10px;font-weight:760;letter-spacing:.09em;text-transform:uppercase}.recentgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.recentgrid .linecard{min-height:68px;padding:9px}.recentgrid .linecopy strong{font-size:12px}.recentgrid .linecopy small{display:none}.tripview{width:min(100%,980px);margin:0 auto}.routebar{padding:14px;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px}.routeidentity{min-width:0;display:flex;align-items:center;gap:12px}.routeidentity>div{min-width:0}.routeidentity small{display:block;color:var(--faint);font-size:9px;font-weight:760;letter-spacing:.1em}.routeidentity strong{display:block;margin-top:4px;overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.change{min-height:42px;padding:0 13px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:13px;color:#4f5963;background:#f5f5f7;font-size:12px;font-weight:720}.change .uiicon{font-size:14px}.serviceok{grid-column:1 / -1;padding:9px 11px;color:#176f42;background:#edf8f1;border-radius:12px;font-size:11px;font-weight:650}.serviceok.warn{color:#8a4d08;background:#fff5e6}.missions{margin-top:9px;padding:14px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px}.sectiontitle{margin-bottom:11px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.sectiontitle h2{margin:3px 0 0;font-size:18px;letter-spacing:-.35px}.linkbtn{min-height:34px;padding:0 10px;border:0;border-radius:10px;color:var(--blue);background:var(--blue-soft);font-size:11px;font-weight:720}.missiondirections{margin-bottom:9px;padding:3px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;background:#f0f1f3;border-radius:13px}.missiondirections button{min-height:40px;border:0;border-radius:10px;color:var(--muted);background:transparent;font-size:12px;font-weight:730}.missiondirections button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #08182817}.missiongrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.missioncard{position:relative;min-width:0;padding:12px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;color:var(--ink);background:#f8f8fa;border:1px solid transparent;border-radius:15px}.missioncard.active{background:#eef6ff;border-color:#007aff42}.missioncard.off{opacity:.46}.missionnum{color:#8a9097;font-size:10px;font-weight:780}.missioncopy{min-width:0}.missioncopy strong{display:block;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.missioncopy small{display:block;margin-top:4px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.missiontime{padding-right:20px;text-align:right}.missiontime strong{display:block;font-size:10px}.missiontime small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.missioncheck{position:absolute;right:10px;top:10px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--blue)}.missioncheck .uiicon{font-size:11px;stroke-width:2.5}.routepreview{margin-top:10px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm)}.previewhead{padding:2px 2px 13px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.previewhead>div{min-width:0}.previewhead h2{margin:4px 0 0;overflow:hidden;font-size:20px;letter-spacing:-.45px;text-overflow:ellipsis;white-space:nowrap}.stopcount{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:690}.routepreview .mapwrap{width:100%;height:min(58dvh,620px);min-height:420px;border-radius:18px;box-shadow:none}.startdrive{width:100%;min-height:58px;margin-top:12px;padding:0 17px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;color:#fff;background:linear-gradient(145deg,#071a2f,#0a3b66);border:0;border-radius:17px;box-shadow:0 13px 28px #07284638;text-align:left;transition:transform .14s ease}.startdrive>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#ffffff1f}.startdrive strong{font-size:15px}.startdrive>.uiicon{justify-self:end;font-size:17px;opacity:.72}.startdrive:active{transform:scale(.988)}.tripstops{margin-top:11px;padding:0 4px}.tripstops summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;color:#4b555f;list-style:none;cursor:pointer;font-size:12px;font-weight:710}.tripstops summary::-webkit-details-marker{display:none}.tripstops[open] summary .uiicon{transform:rotate(90deg)}.emptytrip{min-height:58dvh;display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.emptytripicon{width:70px;height:70px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft);border-radius:22px}.emptytripicon .uiicon{font-size:28px}.emptytrip h1{margin:0;font-size:27px}.emptytrip .startdrive{width:min(100%,320px);grid-template-columns:minmax(0,1fr) auto;text-align:center}.workgrid{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(350px,.75fr);align-items:stretch;gap:13px}.mapwrap{position:relative;min-width:0;min-height:610px;contain:layout paint;overflow:hidden;background:#dbe5df;border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow-md)}.map{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;touch-action:pan-y}.map[data-interactive=true],.app.driver .map{touch-action:none}.tiles{position:absolute;inset:0}.tile{position:absolute;width:256px;height:256px;pointer-events:none;user-select:none;-webkit-user-drag:none;backface-visibility:hidden}.tile-error{display:none!important}.overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.route-shadow{fill:none;stroke:#fff;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;opacity:.94}.route{fill:none;stroke:var(--route-color, var(--blue));stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.route-done{fill:none;stroke:var(--navy);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:.72}.stopdot{fill:#fff;stroke:#26323b;stroke-width:2}.stopdot.next{fill:var(--blue);stroke:#fff;stroke-width:3}.stoplabel{fill:#20262b;stroke:#fff;stroke-width:5px;stroke-linejoin:round;paint-order:stroke;font-size:11px;font-weight:750}.stoplabel.nextlabel{fill:var(--blue);font-size:12px;font-weight:850}.userhalo{fill:#007aff29;stroke:#007aff47;stroke-width:1}.userdot{fill:var(--blue);stroke:#fff;stroke-width:3}.mapbanner{position:absolute;left:14px;top:14px;max-width:calc(100% - 82px);padding:10px 12px;color:var(--ink);background:#ffffffe0;border:1px solid rgba(255,255,255,.65);border-radius:15px;box-shadow:0 8px 26px #071a2f24;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}.mapbanner>div{min-width:0;display:flex;flex-direction:column}.mapbanner span{color:var(--blue);font-size:9px;font-weight:780;letter-spacing:.08em;text-transform:uppercase}.mapbanner strong{margin-top:3px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.maptools{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:7px}.mapbtn{width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.65);border-radius:14px;display:grid;place-items:center;color:#34404a;background:#ffffffe6;box-shadow:0 7px 22px #071a2f21;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mapbtn .uiicon{font-size:17px}.followbtn{height:56px;gap:0;grid-template-rows:1fr auto;padding:5px 0 6px}.followbtn small{font-size:8px;font-weight:780;text-transform:uppercase}.mapbtn.active{color:#fff;background:var(--blue);border-color:var(--blue)}.attribution{position:absolute;right:7px;bottom:5px;padding:2px 5px;color:#526059;background:#ffffffc7;border-radius:5px;font-size:8px}.attribution a{color:inherit}.drivepanel{min-width:0;padding:19px;display:flex;flex-direction:column;background:#fffffff0;border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow-md)}.driverdetails{margin-top:12px;border-top:1px solid var(--line)}.driverdetails>summary{min-height:50px;padding:0 3px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);cursor:pointer;list-style:none;font-size:12px;font-weight:740}.driverdetails>summary::-webkit-details-marker{display:none}.driverdetails>summary .uiicon{font-size:15px;transition:transform .18s ease}.driverdetails[open]>summary .uiicon{transform:rotate(90deg)}.driverdetailbody{padding-top:2px}.offroute{margin-bottom:12px;padding:10px 11px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:7px;color:#844600;background:#fff4e3;border-radius:13px;font-size:11px}.offroute .uiicon{font-size:14px}.offroute span{justify-self:end;color:#955d22}.nextblock{padding:2px 0 17px;border-bottom:1px solid var(--line)}.nextblock h1{margin:7px 0 6px;font-size:clamp(30px,3.2vw,43px);line-height:1.03;letter-spacing:-1.25px;overflow-wrap:anywhere}.nextblock p{margin:0;color:var(--muted);font-size:13px}.driveactions{margin-top:15px;display:flex;gap:8px}.gpsbtn{min-height:54px;padding:0 16px;flex:1;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;background:var(--blue);border:0;border-radius:16px;font-size:13px;font-weight:760;box-shadow:0 10px 24px #007aff3d}.gpsbtn.active{background:var(--green);box-shadow:0 10px 24px #14884b38}.gpsbtn.searching{background:#d97b08}.iconbtn{width:54px;flex:0 0 54px;border:1px solid var(--line);border-radius:16px;display:grid;place-items:center;color:#69727b;background:#f4f4f6}.iconbtn.active{color:var(--blue);background:var(--blue-soft);border-color:#007aff29}.stopcontrols{margin-top:9px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.stopcontrols button{min-height:42px;padding:0 8px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:4px;color:#58616a;background:#fff;font-size:10px;font-weight:680}.stopcontrols button.active{color:var(--blue);background:var(--blue-soft);border-color:#007aff2e}.stopcontrols .uiicon{font-size:12px}.stats{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line);border-radius:17px}.stats>div{min-width:0;padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.stats>div:nth-child(2n){border-right:0}.stats>div:nth-last-child(-n+2){border-bottom:0}.stats>div.warning{color:#8b4a00;background:#fff5e8}.stats small{display:block;color:var(--faint);font-size:9px;font-weight:760;letter-spacing:.08em}.stats strong{display:block;margin-top:5px;overflow:hidden;font-size:21px;text-overflow:ellipsis;white-space:nowrap}.stats em{color:var(--muted);font-size:10px;font-style:normal;font-weight:560}.quality.pr\e9 cis{color:var(--green)}.quality.moyen{color:#ad6300}.quality.faible{color:var(--red)}.progressline{height:7px;margin-top:17px;overflow:hidden;background:#e8e8ec;border-radius:99px}.progressline i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#54a8ff)}.progresslabels{margin-top:6px;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;color:var(--muted);font-size:9px}.progresslabels span:nth-child(2){color:var(--ink);font-weight:760}.progresslabels span:last-child{text-align:right}.stopsheet{margin-top:17px;padding-top:12px;border-top:1px solid var(--line)}.stopsheet summary{display:flex;align-items:center;justify-content:space-between;list-style:none;color:#48525c;font-size:12px;font-weight:700;cursor:pointer}.stopsheet summary::-webkit-details-marker{display:none}.stopsheet[open] summary .uiicon{transform:rotate(90deg)}.stoplist{max-height:260px;margin-top:9px;overflow:auto}.stopitem{min-height:42px;padding:7px 8px;display:flex;align-items:center;gap:9px;border-bottom:1px solid rgba(29,29,31,.07);font-size:11px}.tripstops button.stopitem{width:100%;border-top:0;border-right:0;border-left:0;text-align:left;background:transparent}.tripstops button.stopitem:disabled{color:inherit;cursor:default;opacity:.58}.tripstops button.stopitem.selected{color:#055fb9;background:#edf6ff}.tripstops button.stopitem.selected .stopnum{color:#fff;background:var(--blue)}.stopnum{width:27px;height:27px;flex:0 0 27px;border-radius:50%;display:grid;place-items:center;color:#6d747b;background:#eeeef1;font-size:9px;font-weight:760}.stopitem.next{color:#055fb9;background:#edf6ff}.stopitem.next .stopnum{color:#fff;background:var(--blue)}.stopitem.passed{opacity:.42}.officialtimes{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.officialhead{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.officialhead small{display:block;color:var(--faint);font-size:9px;font-weight:760;letter-spacing:.08em}.officialhead strong{display:block;margin-top:3px;font-size:12px}.schedulelink{min-height:35px;padding:0 9px;display:flex;align-items:center;gap:4px;border:0;border-radius:10px;color:var(--blue);background:var(--blue-soft);font-size:10px;font-weight:730}.schedulelink .uiicon{font-size:12px}.officialquick{margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.officialquick span{min-height:44px;display:grid;place-items:center;color:#4e5760;background:#f1f1f4;border-radius:12px;font-size:15px;font-weight:760;font-variant-numeric:tabular-nums}.officialquick span.next{color:#fff;background:var(--blue);box-shadow:0 7px 18px #007aff33}.officialempty{margin:10px 0 0;padding:11px;color:var(--muted);background:#f5f5f7;border-radius:12px;font-size:11px}.app.driver{background:#e9eef2}.app.driver .appbar{display:none!important}.app.driver .shell{max-width:none;padding:calc(8px + env(safe-area-inset-top)) 8px calc(10px + var(--bottomnav-h) + env(safe-area-inset-bottom))}.driverbar{min-height:64px;padding:7px;position:sticky;top:calc(4px + env(safe-area-inset-top));z-index:55;display:flex;align-items:center;gap:9px;color:var(--ink);background:#ffffffe6;border:1px solid rgba(255,255,255,.7);border-radius:18px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.driverbadge{min-width:48px;height:48px;border-radius:14px;font-size:18px}.driverroute{min-width:0;flex:1}.driverroute small{display:block;color:var(--blue);font-size:9px;font-weight:780;letter-spacing:.1em}.driverroute strong{display:block;margin-top:3px;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.driverexit{width:42px;height:42px;padding:0;border:0;border-radius:12px;display:grid;place-items:center;color:#69727b;background:#ececf0}.app.driver .workgrid{margin-top:8px}.app.driver .mapwrap{min-height:calc(100dvh - 88px - var(--bottomnav-h) - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.scheduleview,.schedulebody,.line1schedule,.line1schedulebody,.line1schedulebody>*{width:100%;min-width:0;max-width:100%}.scheduleview{overflow-x:hidden}.line1schedule{overflow:hidden;background:#fffffff5;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-md)}.line1schedulehead{min-height:90px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:13px;background:linear-gradient(145deg,#f8fafcfa,#eff5f9f0);border-bottom:1px solid var(--line)}.line1scheduleidentity{min-width:0;display:flex;align-items:center;gap:13px}.line1scheduleidentity>div{min-width:0}.line1schedulebadge{width:58px;height:58px;flex:0 0 58px;border-radius:17px;display:grid;place-items:center;color:var(--schedule-text, #fff);background:var(--schedule-route, var(--blue));font-size:24px;font-weight:850;box-shadow:inset 0 -2px #0000001f,0 9px 22px #071a2f24}.schedule-kicker{display:block;color:var(--faint);font-size:10px;font-weight:760;letter-spacing:.1em}.line1scheduleidentity strong{display:block;margin-top:4px;overflow:hidden;font-size:23px;letter-spacing:-.55px;text-overflow:ellipsis;white-space:nowrap}.line1scheduleperiod{padding:7px 10px;flex:0 0 auto;color:var(--blue);background:var(--blue-soft);border-radius:999px;font-size:11px;font-weight:760}.line1schedulebody{padding:18px}.line1directions,.line1periods{display:grid;gap:4px;padding:4px;background:#ededf1;border-radius:16px}.line1directions button,.line1periods button{min-width:0;min-height:43px;padding:0 12px;overflow:hidden;color:#696f76;background:transparent;border:0;border-radius:12px;font-size:12px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.line1directions button.active,.line1periods button.active{color:var(--ink);background:#fff;box-shadow:0 3px 10px #071a2f1a}.line1periods{grid-template-columns:1fr 1fr;margin-top:12px}.line1periods button.active{color:var(--schedule-text, #fff);background:var(--schedule-route, var(--blue))}.line1routecopy{margin:13px 4px 0;display:flex;align-items:center;justify-content:center;gap:8px;color:#3e4852;font-size:13px;font-weight:720;line-height:1.35;text-align:center}.line1routecopy .uiicon{color:var(--schedule-route, var(--blue));font-size:16px}.line1filterbox{margin-top:12px;padding:14px;background:#f7f7f9;border:1px solid var(--line);border-radius:19px}.filtertitle{display:flex;align-items:center;justify-content:space-between;gap:12px}.filtertitle small{display:block;color:var(--faint);font-size:9px;font-weight:760;letter-spacing:.1em}.filtertitle strong{display:block;margin-top:3px;font-size:16px}.line1now{min-height:38px;padding:0 11px;display:flex;align-items:center;gap:6px;color:var(--blue);background:var(--blue-soft);border:0;border-radius:12px;font-size:11px;font-weight:730}.line1now .uiicon{font-size:14px}.line1filterinputs{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.line1filterinputs label{min-width:0}.line1filterinputs label>span{margin:0 0 6px 3px;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:700}.line1filterinputs label>span .uiicon{font-size:12px}.line1filterinputs input{width:100%;min-width:0;min-height:48px;padding:0 12px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:13px;font-size:14px;font-weight:680}.line1apply{width:100%;min-height:50px;margin-top:10px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-soft));border:0;border-radius:14px;font-size:13px;font-weight:760;box-shadow:0 10px 24px #071a2f29}.line1apply .uiicon{font-size:15px}.schedule-resultbar{margin-top:13px;padding:10px 12px;display:flex;align-items:center;gap:10px;color:#224d35;background:#eef8f2;border-radius:14px}.schedule-resultbar>span{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--green)}.schedule-resultbar>span .uiicon{font-size:14px;stroke-width:2.5}.schedule-resultbar strong{display:block;font-size:12px}.schedule-resultbar small{display:block;margin-top:2px;color:#64806e;font-size:10px}.line1gridwrap{width:100%;max-width:100%;margin-top:12px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.line1grid{min-width:430px;display:grid;grid-template-columns:minmax(138px,1.35fr) repeat(4,minmax(64px,.68fr));font-variant-numeric:tabular-nums}.line1gridhead,.line1gridstop,.line1gridcell{min-height:45px;padding:9px 7px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(29,29,31,.07);border-bottom:1px solid rgba(29,29,31,.07);font-size:12px}.line1gridhead{position:sticky;top:0;z-index:3;color:#60676f;background:#f6f6f8;font-weight:780}.line1gridhead.stophead{left:0;z-index:5;justify-content:flex-start;text-transform:uppercase;letter-spacing:.05em}.line1gridstop{position:sticky;left:0;z-index:2;justify-content:flex-start;color:#2c3339;background:#fff;font-size:11px;font-weight:730}.line1gridcell{color:#343b42;background:#fff}.line1gridhead.selected{color:var(--schedule-text, #fff);background:var(--schedule-route, var(--blue))}.line1gridcell.selected{color:#154e31;background:#eaf6ee;font-weight:740}.line1gridcell.notserved{color:#a5a8ad;font-weight:760}.line1legend{margin-top:11px;display:flex;flex-wrap:wrap;gap:7px 14px;color:var(--muted);font-size:10px}.line1legend span{display:flex;align-items:center;gap:6px}.line1legend b{min-width:18px;text-align:center;color:#6f747a}.nearestkey{width:15px;height:15px;border-radius:5px;background:#eaf6ee;border:1px solid #cae9d5}.line1periodwarning,.line1empty{margin-top:13px;padding:18px;border-radius:18px}.line1periodwarning{color:#694513;background:#fff7e7;border:1px solid rgba(216,146,29,.22)}.line1periodwarning strong,.line1empty strong{display:block;font-size:15px}.line1periodwarning p,.line1empty p{margin:6px 0 0;font-size:12px;line-height:1.5}.line1periodwarning button{margin-top:12px;min-height:40px;padding:0 12px;color:#fff;background:var(--navy);border:0;border-radius:11px;font-size:11px;font-weight:720}.line1empty{color:#5e6670;background:#f5f5f7;text-align:center}.line1empty>.uiicon{margin:0 auto 9px;color:#8e949b;font-size:25px}.infoview{max-width:820px;margin:0 auto}.infohero{padding:12px 4px 16px}.infohero h1{margin:6px 0 0;font-size:38px;letter-spacing:-1.2px}.infogrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.infolink{min-width:0;min-height:84px;padding:13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow-sm);text-decoration:none;transition:transform .14s ease,box-shadow .14s ease}.infolink:active{transform:scale(.985)}.infoicon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft)}.infoicon .uiicon{font-size:20px}.infocopy{min-width:0}.infocopy strong{display:block;font-size:14px}.infocopy small{display:block;margin-top:4px;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.infochev{color:#a0a5ab}.infochev .uiicon{font-size:16px}.infolink.featured{grid-column:1 / -1;min-height:94px;color:#fff;background:radial-gradient(circle at 86% 0,rgba(65,164,255,.32),transparent 45%),linear-gradient(145deg,#071a2f,#0a3b66);border-color:#ffffff1a;box-shadow:0 16px 38px #07284633}.infolink.featured .infoicon{color:#fff;background:#ffffff21}.infolink.featured .infocopy small,.infolink.featured .infochev{color:#ffffffb3}.installlink{width:100%;text-align:left}.installhelp{margin-top:10px;padding:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;color:#fff;background:#071a2f;border-radius:16px}.installhelp strong,.installhelp span{display:block}.installhelp span{margin-top:3px;color:#ffffffb8;font-size:11px}.installhelp button{width:36px;height:36px;display:grid;place-items:center;color:#fff;background:#ffffff1f;border:0;border-radius:12px}.aboutcard{margin-top:12px;padding:14px;display:flex;align-items:center;gap:12px;color:#4f5962;background:#ffffffa8;border:1px solid var(--line);border-radius:20px}.compactabout{opacity:.78}.aboutmark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--navy),#14598e)}.aboutmark img{display:block;width:42px;height:42px;border-radius:13px}.aboutcard strong{display:block;font-size:13px}.aboutcard small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.installtip{margin-bottom:12px;padding:11px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;color:#fff;background:#071a2ff0;border-radius:16px;box-shadow:var(--shadow-sm)}.installtip>.uiicon{color:#64b2ff}.installtip strong{display:block;font-size:12px}.installtip span{display:block;margin-top:2px;color:#ffffffad;font-size:10px}.installtip button{width:34px;height:34px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:#ffffff1f}.loading{position:absolute;inset:0;z-index:20;padding:24px;display:grid;place-items:center;color:var(--ink);background:#fafafcfb;text-align:center;-webkit-backdrop-filter:none;backdrop-filter:none}.loadcard{width:min(100%,360px)}.loadmark{width:52px;height:52px;margin:0 auto 12px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--navy),#14598e)}.spinner{width:27px;height:27px;margin:-39px auto 22px;border:3px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading strong{display:block;font-size:18px}.loading p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.progress{width:min(280px,100%);height:6px;margin:15px auto 0;overflow:hidden;background:#e3e3e7;border-radius:99px}.progress i{display:block;height:100%;background:var(--blue)}.retry{min-height:44px;margin-top:13px;padding:0 15px;color:#fff;background:var(--blue);border:0;border-radius:13px;font-weight:730}.fatal{min-height:100svh;padding:24px;display:grid;place-items:center;background:var(--background)}.fatalcard{width:min(100%,440px);padding:25px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-md)}.fatalcard strong{font-size:21px}.fatalcard p{color:var(--muted);font-size:13px;line-height:1.55}.fatalcard button{min-height:44px;padding:0 14px;color:#fff;background:var(--blue);border:0;border-radius:13px;font-weight:730}@media(max-width:980px){.workgrid{grid-template-columns:1fr}.mapwrap{min-height:52dvh}.drivepanel{min-height:0}.missiongrid{grid-template-columns:1fr}}@media(max-width:680px){:root{--appbar-h: 68px;--bottomnav-h: 70px}body{overscroll-behavior-y:none}.shell{max-width:100%;padding:12px 10px calc(24px + var(--bottomnav-h) + env(safe-area-inset-bottom));overflow:hidden}.appbar{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;padding:calc(7px + env(safe-area-inset-top)) 12px 7px}.appback,.linequick{width:40px;height:40px;border-radius:13px}.apptitle strong{font-size:17px}.apptitle small{font-size:9px}.bottomnav{width:100%;border-radius:21px 21px 0 0}.navitem{min-height:54px}.choosersheet{inset:auto 0 0;width:100%;max-height:94svh;max-height:94dvh;padding:19px 12px calc(18px + env(safe-area-inset-bottom));border-radius:27px 27px 0 0;transform:translateY(8%)}.chooser.open .choosersheet{transform:translateY(0)}.chooserbar h2{font-size:27px}.datebox{grid-template-columns:auto minmax(0,1fr);gap:9px;padding:11px}.datecontrols{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto}.datecontrols input,.autodate{width:100%}.linegrid{grid-template-columns:1fr}.recentgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.recentgrid .linecard{min-height:58px;grid-template-columns:auto minmax(0,1fr)}.recentgrid .linebadge{min-width:38px;width:38px;height:38px}.recentgrid .chev{display:none}.linecard{min-height:70px;border-radius:16px}.linecard .linebadge{min-width:45px;height:45px;border-radius:13px}.routebar{padding:11px;border-radius:16px}.linebadge.big{min-width:52px;height:52px;border-radius:15px;font-size:18px}.routeidentity strong{font-size:13px}.missions{padding:11px;border-radius:16px}.missiongrid{display:flex;gap:7px;overflow:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.missioncard{min-width:min(84vw,320px);scroll-snap-align:start}.routepreview{padding:10px;border-radius:18px}.previewhead{padding:2px 2px 10px}.previewhead h2{font-size:16px}.routepreview .mapwrap{height:43svh;min-height:310px;max-height:500px;border-radius:15px}.startdrive{min-height:56px;border-radius:15px}.workgrid{display:flex;flex-direction:column;gap:9px}.drivepanel{order:1;padding:15px;border-radius:21px;box-shadow:var(--shadow-sm)}.mapwrap{order:2;width:100%;height:43svh;min-height:315px;max-height:520px;border-radius:21px;box-shadow:var(--shadow-sm)}.nextblock h1{font-size:clamp(29px,8vw,38px)}.mapbanner{left:10px;top:10px}.maptools{right:9px;top:9px}.mapbtn{width:40px;height:40px;border-radius:13px}.followbtn{height:52px}.app.driver .shell{padding:calc(5px + env(safe-area-inset-top)) 6px calc(8px + var(--bottomnav-h) + env(safe-area-inset-bottom));overflow:visible}.app.driver .workgrid{gap:6px}.app.driver .drivepanel{border-radius:16px}.app.driver .mapwrap{min-height:330px;height:47dvh;border-radius:16px}.driverbar{top:calc(3px + env(safe-area-inset-top));border-radius:16px}.line1schedule{border-radius:22px;box-shadow:var(--shadow-sm)}.line1schedulehead{min-height:76px;padding:12px}.line1schedulebadge{width:50px;height:50px;flex-basis:50px;border-radius:15px;font-size:21px}.line1scheduleidentity strong{font-size:19px}.line1scheduleperiod{padding:6px 8px;font-size:10px}.line1schedulebody{padding:11px}.line1directions button,.line1periods button{min-height:41px;padding:0 8px;font-size:11px}.line1routecopy{margin-top:11px;font-size:11px}.line1filterbox{padding:12px;border-radius:16px}.filtertitle strong{font-size:14px}.line1now{min-height:36px;padding:0 9px;font-size:10px}.line1filterinputs input{min-height:46px;font-size:13px}.line1grid{min-width:414px;grid-template-columns:minmax(132px,1.35fr) repeat(4,minmax(62px,.68fr))}.line1gridhead,.line1gridstop,.line1gridcell{min-height:43px;padding:8px 6px;font-size:11px}.line1gridstop{font-size:10.5px}.line1legend{font-size:9.5px}.infohero{padding-top:7px}.infohero h1{font-size:34px}.infogrid{grid-template-columns:1fr}.infolink.featured{grid-column:auto}}@media(max-width:390px){.shell{padding-left:8px;padding-right:8px}.servicetag,.line1scheduleperiod{display:none}.line1filterinputs{grid-template-columns:1fr}.stopcontrols button{padding:0 4px;font-size:9px}}@media(orientation:landscape)and (max-height:620px){.app.driver .shell{height:calc(100dvh - var(--bottomnav-h) - env(safe-area-inset-bottom));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.app.driver .driverbar{position:relative;top:0}.app.driver .workgrid{min-height:0;height:auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.72fr)}.app.driver .mapwrap{height:auto;min-height:0;max-height:none}.app.driver .drivepanel{height:auto;min-height:0;overflow:auto}.app.driver .stopsheet{display:none}}.p2notice{margin:12px;padding:14px;border-radius:12px;background:#fff0d6;color:#664510;line-height:1.5}.startdrive:disabled{opacity:.6;cursor:not-allowed}.is-p2 .linequick{min-width:72px;width:auto;padding:0 10px;font-size:14px}.is-p2 .linebadge{min-width:70px;width:auto;font-size:14px}.is-p2 .line1schedulebadge{font-size:13px}.schedule-course{grid-template-columns:minmax(0,1fr);margin-bottom:14px}.line1filterinputs select{width:100%;min-width:0;min-height:48px;padding:0 12px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:13px;font-size:14px;font-weight:680}.p2sectors,.p2searchresults{display:grid;gap:12px;margin:12px 0}.p2sector{border:1px solid var(--line-strong,#dce2e8);border-radius:18px;overflow:hidden;background:#fff}.p2sectorhead,.p2directionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:58px;padding:16px;text-align:left;border:0;background:#f3f7fb;color:#122c43;font:inherit}.p2sectorhead strong{font-size:15px}.p2sectorhead>span{font-size:23px}.p2sectordirections{padding:8px}.p2directionhead{min-height:48px;border-radius:12px;background:#eef2f6}.p2directionhead>span{font-size:12px}.p2directiongroup+.p2directiongroup{margin-top:8px}.p2courselist{display:grid;gap:8px;padding:10px 0}.p2coursecard{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:14px;text-align:left;border:1px solid #dae3eb;border-radius:14px;background:#fff;color:#142d42;font:inherit}.p2coursecode{flex-shrink:0;font-size:14px;font-weight:850;color:#075da9}.p2coursecopy{min-width:0;display:grid;gap:4px;flex:1}.p2coursecopy strong{font-size:14px}.p2coursecopy>span{font-size:12px;line-height:1.4}.p2coursecopy small{font-size:11px;color:#657586}.p2coursecard:disabled{opacity:.6}.p2coursecard:focus-visible,.p2sectorhead:focus-visible,.p2directionhead:focus-visible{outline:3px solid #087cf0;outline-offset:-3px}@media(max-width:420px){.p2coursecard{gap:9px;padding:11px}.p2coursecode{font-size:12px}.p2sectorhead{padding:14px}.p2sectorhead strong{font-size:14px}}.is-p2 .missiongrid{display:block}.is-p2 .missioncard{width:100%;grid-template-columns:minmax(0,1fr) auto}.is-p2 .p2courselist{padding:10px}html.busgps-embedded,html.busgps-embedded body{overflow:hidden}.embedded-drive{position:fixed;inset:0;z-index:10000;background:#06182a}.embedded-drive iframe{width:100%;height:100%;height:100dvh;border:0;display:block}.resume-drive{display:block;width:100%;min-height:50px;margin:10px 0;padding:12px;border:1px solid #aaccec;border-radius:14px;background:#eaf5ff;color:#075da9;font:inherit;font-weight:750}html.busgps-embedded .app>.appbar,html.busgps-embedded .app>.shell,html.busgps-embedded .app>.bottomnav,html.busgps-embedded .app>.chooser{display:none}.embedded-drive #busgpsDriveRoot{height:100%;overflow:auto}.driverloaderror{padding:30px;color:#fff}.driverloaderror button{padding:15px;border-radius:12px}.creatorplan{margin:0 0 14px;padding:16px;border-radius:22px;background:linear-gradient(145deg,#161c28,#24344a);color:#fff;box-shadow:0 12px 30px #0f172a2e}.creatorplanhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.creatorplanhead .eyebrow{color:#91bfff}.creatorplanhead h2{margin:2px 0 0;font-size:1.25rem}.creatorday{padding:7px 10px;border-radius:999px;background:#ffffff1f;font-size:.78rem;font-weight:800}.creatorcourses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.creatorcourse{min-width:0;border:0;border-radius:15px;background:#fff;color:#101722;padding:10px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer}.creatorcourse:disabled{opacity:.7}.creatororder{flex:0 0 28px;width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#e31d2b;color:#fff;font-weight:900}.creatorcopy{min-width:0;display:flex;flex:1;flex-direction:column}.creatorcopy strong{font-size:.96rem}.creatorcopy small{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#627086;font-size:.72rem}.creatorcourse svg{flex:0 0 18px}.creatorcourse.missing{opacity:.7}.creatoroff{margin:0;color:#dbe7f8}.creatornotice{position:fixed;z-index:4000;left:50%;top:max(18px,env(safe-area-inset-top));transform:translate(-50%);padding:11px 16px;border-radius:999px;background:#101722;color:#fff;box-shadow:0 10px 30px #0000004d;font-weight:800;font-size:.82rem}@media(max-width:720px){.creatorcourses{grid-template-columns:1fr}.creatorcourse{padding:9px 10px}.creatorcopy small{white-space:normal}.creatorplan{margin:0 0 10px;padding:13px;border-radius:18px}}html,body,#root,.app,.appbar,.shell,.viewpage{max-width:100%;overflow-x:clip}.is-p2 .appbar{grid-template-columns:44px minmax(0,1fr) minmax(0,72px)}.is-p2 .linequick{width:100%;min-width:0;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:390px){.appbar{padding-left:10px;padding-right:10px;gap:8px}.is-p2 .appbar{grid-template-columns:42px minmax(0,1fr) minmax(0,68px)}.is-p2 .linequick{max-width:68px;font-size:13px}}.bottomnav{grid-template-columns:repeat(5,1fr)}.schoolview{display:grid;gap:12px}.schoolhero{padding:22px;color:#fff;background:linear-gradient(145deg,#071a2f,#0a4d80);border-radius:24px;box-shadow:var(--shadow-md)}.schoolhero .eyebrow{color:#80c1f4}.schoolhero h1{margin:6px 0 4px;font-size:clamp(25px,5vw,38px);letter-spacing:-1px}.schoolhero p{margin:0;color:#ffffffc2;font-size:13px}.schoolsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.schoolstep{min-width:0;padding:9px 7px;display:flex;align-items:center;gap:7px;color:#7a8793;background:#eef2f5;border-radius:14px}.schoolstep span{flex:0 0 24px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#657586;background:#fff;font-size:11px;font-weight:850}.schoolstep strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.schoolstep.active{color:#075da9;background:#e6f2ff}.schoolstep.active span{color:#fff;background:#0b74d1}.schoolstep.done{color:#176c45;background:#e5f5ec}.schoolstep.done span{color:#fff;background:#16834f}.schoolpanel{padding:15px;background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:var(--shadow-sm)}.schoolsearch{height:52px;padding:0 13px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;color:#71808d;background:#f3f6f8;border:1px solid #dfe6ec;border-radius:15px}.schoolsearch input{width:100%;height:100%;border:0;outline:0;color:#102131;background:transparent;font:inherit}.schoollist,.schoollinelist{margin-top:10px;display:grid;gap:7px}.schoolchoice,.schoolline{width:100%;min-height:62px;padding:9px 11px;border:1px solid #e0e7ed;border-radius:15px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;color:#102131;background:#fff;text-align:left}.schoolchoice.active,.schoolline.active{border-color:#1680dc;background:#eef7ff;box-shadow:0 0 0 2px #1680dc1a}.schoolchoiceicon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#075da9;background:#e5f2ff;font-size:19px}.schoolchoice strong,.schoolline strong{display:block;font-size:13px}.schoolchoice small,.schoolline small{display:block;margin-top:3px;color:#687786;font-size:10px}.schoolpanelhead h2{margin:4px 0 0;font-size:20px}.schoolpanelhead p{margin:5px 0 0;color:#687786;font-size:11px}.schoolcode{min-width:82px;padding:8px;border-radius:11px;color:#fff;background:#0b3558;font-size:12px;font-weight:850;text-align:center}.schoolfavorite{width:100%;min-height:66px;margin-bottom:10px;padding:10px 13px;border:1px solid #b8daf5;border-radius:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;color:#083d68;background:#eaf6ff;text-align:left}.schoolfavorite>span:first-child{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#fff;background:#0879d1}.schoolfavorite strong,.schoolfavorite small{display:block}.schoolfavorite small{margin-top:3px;color:#527087}.citysearch{margin-top:12px}.schoolactions{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.schoolactions button{min-height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.35);border-radius:12px;color:#fff;background:#ffffff1f;font-weight:850}.publicnotice{position:fixed;z-index:170;left:50%;top:76px;transform:translate(-50%);padding:11px 16px;border-radius:13px;color:#fff;background:#0879d1;box-shadow:0 12px 35px #00000038;font-size:12px;font-weight:850}.schoolfavorites{margin-bottom:13px}.schoolfavoriterow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.schoolfavoriterow .schoolfavorite{margin-bottom:6px}.removefavorite{width:44px;height:44px;align-self:center;border:1px solid #d9e2e9;border-radius:13px;color:#8a2530;background:#fff;font-size:23px}.schooldate{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800}.schooldate input{min-height:44px;padding:0 12px;border:1px solid #ccd8e2;border-radius:12px;color:#102131;background:#fff;font:inherit}.schoolreport{margin-top:13px;padding:13px;border:1px solid rgba(255,255,255,.3);border-radius:14px;background:#0000002e}.schoolreport p{margin:5px 0 11px}.schoolreport div{display:flex;flex-wrap:wrap;gap:8px}.schoolreport button,.schoolreport a{min-height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.35);border-radius:11px;display:inline-flex;align-items:center;color:#fff;background:#ffffff1f;font-weight:800;text-decoration:none}.skiplink{position:fixed;z-index:999;left:12px;top:8px;padding:10px 14px;border-radius:10px;color:#fff;background:#071a2f;transform:translateY(-150%)}.skiplink:focus{transform:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ffb12b!important;outline-offset:3px}.schoolchoice small,.schoolfavorite small,.schoolpanelhead p{font-size:12px;line-height:1.35}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.schooltriplist{margin-top:12px;display:grid;gap:12px}.schooltrip{overflow:hidden;border:1px solid #dce5ec;border-radius:17px}.schooltrip>header{padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff;background:#0b3558}.schooltrip>header strong{font-size:15px}.schooltrip>header span{color:#b7d3e9;font-size:10px}.schoolstoplist{padding:5px 11px}.schoolstop{min-height:43px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid #edf0f3}.schoolstop:last-child{border-bottom:0}.schoolstopnum{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;color:#075da9;background:#e7f2fc;font-size:10px;font-weight:800}.schoolstopname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.schoolstop>strong{color:#075da9;font-size:13px}.secretversion{width:100%;font:inherit;text-align:left;cursor:default;touch-action:manipulation;user-select:none}.driverunlocked{margin-top:12px;padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;color:#fff;background:linear-gradient(145deg,#11663e,#188653);border-radius:18px}.driverunlockicon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#ffffff26}.driverunlocked strong,.driverunlocked small{display:block}.driverunlocked small{margin-top:3px;color:#d5f2e3;font-size:10px}.driverunlocked button{min-height:38px;padding:0 13px;border:0;border-radius:11px;color:#176c45;background:#fff;font-weight:800}.schoollinesearch{margin-top:10px}.schoollinecopy{min-width:0}.schoollinecopy strong{overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.25}.schoolback{justify-self:start;min-height:42px;padding:0 14px;border:1px solid #d7e2eb;border-radius:13px;display:flex;align-items:center;gap:8px;color:#0b3558;background:#fff;font-weight:800}.schoolback .uiicon{width:17px;height:17px}.schooldetailhero{position:relative;padding:20px;color:#fff;background:linear-gradient(145deg,#071a2f,#0a4d80);border-radius:24px;box-shadow:var(--shadow-md)}.schooldetailhero .eyebrow{display:block;max-width:calc(100% - 105px);color:#8dccfb}.schooldetailhero h1{max-width:850px;margin:15px 0 5px;font-size:clamp(22px,4vw,34px);line-height:1.08;letter-spacing:-.7px}.schooldetailhero p{margin:0;color:#c6dced;font-size:12px}.schooldetailcode{position:absolute;right:17px;top:17px;padding:8px 11px;border-radius:11px;color:#092c49;background:#fff;font-size:12px;font-weight:900}@media(max-width:420px){.bottomnav{padding-left:5px;padding-right:5px}.navitem{padding-left:2px;padding-right:2px}.navitem small{font-size:9px}.schoolpanel{padding:11px}.schoolsteps{gap:4px}.schoolstep{padding:7px 5px;gap:4px}.schoolstep strong{font-size:9px}.schoolcode{min-width:74px;font-size:11px}.schoolstopname{font-size:11px}}.schoolsteps.four{grid-template-columns:repeat(4,minmax(0,1fr))}.passagelist{margin-top:12px;display:grid;gap:9px}.passagecard{width:100%;min-height:82px;padding:12px;border:1px solid #dbe5ec;border-radius:17px;display:grid;grid-template-columns:auto minmax(0,1fr) auto 18px;align-items:center;gap:12px;color:#102131;background:#fff;text-align:left}.passagecard:hover{border-color:#9fc6e6;background:#f6fbff}.passagecard:disabled{opacity:.65}.passagecard time{min-width:66px;color:#075da9;font-size:22px;font-weight:900}.passagecopy{min-width:0}.passagecard strong,.passagecard small,.passagecard em{display:block}.passagecard strong{font-size:13px}.passagecard small{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#556675;font-size:10px}.passagecard em{margin-top:3px;color:#788794;font-size:9px;font-style:normal}.passagecode{padding:6px 8px;border-radius:9px;color:#fff;background:#0b3558;font-size:10px;font-weight:850}.passagecard>.uiicon{width:16px;height:16px}.stopchoice strong{white-space:normal}@media(max-width:520px){.passagecard{grid-template-columns:auto minmax(0,1fr) 16px;gap:9px}.passagecode{grid-column:2;justify-self:start}.passagecard>.uiicon{grid-column:3;grid-row:1/3}.passagecard time{min-width:58px;font-size:19px}}.tripstopname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tripstoptime{margin-left:auto;padding-left:10px;color:#075da9;font-size:12px;font-variant-numeric:tabular-nums}.citystoplist{margin-top:12px;overflow:hidden;border:1px solid #dce5ec;border-radius:18px;background:#fff}.citystoprow{width:100%;min-height:64px;padding:9px 12px;border:0;border-bottom:1px solid #e8edf1;display:grid;grid-template-columns:30px minmax(150px,1fr) minmax(110px,auto) 18px;align-items:center;gap:10px;color:#102131;background:#fff;text-align:left}.citystoprow:last-child{border-bottom:0}.citystoprow:hover{background:#f5f9fc}.citystopcopy{min-width:0}.citystopcopy strong,.citystopcopy small{display:block}.citystopcopy strong{font-size:13px}.citystopcopy small{margin-top:3px;color:#70808d;font-size:10px}.citystoptimes{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px}.citystoptimes b{padding:5px 7px;border-radius:8px;color:#075da9;background:#e8f3fd;font-size:11px}.citystoprow>.uiicon{width:16px;height:16px;color:#72808c}@media(max-width:560px){.citystoprow{grid-template-columns:27px minmax(0,1fr) 16px}.citystoptimes{grid-column:2;justify-content:flex-start}.citystoprow>.uiicon{grid-column:3;grid-row:1/3}}.bottomnav{grid-template-columns:repeat(4,1fr)}.appbar{grid-template-columns:44px minmax(0,1fr) minmax(0,150px)}.linequick.nav-line-label{width:auto;max-width:none;padding:8px 12px;font-size:12px;white-space:normal;line-height:1.3;justify-self:end}.nav-home{max-width:1000px;margin:auto;padding-top:28px}.nav-home .infohero h1{font-size:clamp(25px,4vw,36px)}.nav-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}.nav-home-grid .infolink{text-align:left;min-height:110px}.nav-route-tabs{display:flex;gap:6px;margin:16px 22px 0;padding:5px;background:#e9edf2;border-radius:14px}.nav-route-tabs button{flex:1;border:0;border-radius:10px;padding:12px;background:transparent;color:#334155;font:inherit;font-weight:650;cursor:pointer}.nav-route-tabs button[aria-current=page]{background:#fff;color:#071a2f;box-shadow:0 2px 8px #071a2f15}.schoolview .schoolhero{padding:16px 18px;border-radius:18px}.schoolview .schoolhero h1{font-size:clamp(23px,4vw,29px);margin:0 0 5px}.schoolview .schoolhero>.eyebrow,.schoolcities>.schoolpanelhead,.schoolstops>.schoolpanelhead{display:none}@media(max-width:600px){.appbar{grid-template-columns:40px minmax(0,1fr) 112px}.nav-home-grid{grid-template-columns:1fr;gap:12px;margin:18px 0}.nav-home-grid .infolink{min-height:96px}.nav-route-tabs{margin:12px 12px 0}.nav-home{padding-top:18px}}.school-picker-simple{max-width:860px;margin-left:auto;margin-right:auto;gap:16px}.school-picker-simple .schoolhero{padding:4px 2px;background:none;color:#102131;border:0;border-radius:0;box-shadow:none}.school-picker-simple .schoolhero .school-progress{margin:0 0 8px;color:#577084;font-size:12px;font-weight:700}.school-picker-simple .schoolhero h1{margin:0;font-size:clamp(25px,5vw,32px);line-height:1.2;letter-spacing:-.6px}.school-picker-simple .schoolhero .school-selection{margin:8px 0 0;color:#647484;font-size:13px;line-height:1.5}.school-picker-simple>.schoolpanel{padding:0;background:none;border:0;border-radius:0;box-shadow:none}.school-establishments>.schoollist{margin-top:0;gap:10px}.school-establishments .schoolchoice{min-height:72px;padding:14px;border-radius:17px}.school-establishments .schoolchoice strong{font-size:14px;line-height:1.4}.school-picker-simple .citysearch{margin-top:0}.appbar{grid-template-columns:44px minmax(0,1fr) 44px;column-gap:8px}.view-trip .appbar,.view-schedule .appbar{grid-template-columns:clamp(80px,26vw,150px) minmax(0,1fr) clamp(80px,26vw,150px)}.appbar>.appback{justify-self:start}.appbar>.apptitle{width:100%;justify-self:center;text-align:center}.appbar>.apptitle small,.appbar>.apptitle strong{text-align:center}.appbar>.nav-line-label{max-width:100%;box-sizing:border-box}.app:not(.driver){background:#f7f8fa;color:#172b3a;min-height:100dvh}.app:not(.driver)>.appbar{background:#fff;color:#172b3a;border-bottom:1px solid #e7ebef;box-shadow:none;min-height:70px}.app:not(.driver) .apptitle strong{color:#172b3a;font-weight:750;font-size:18px}.app:not(.driver) .apptitle small{color:#6a7986;font-size:9px;letter-spacing:.14em}.app:not(.driver) .appbar>.appback,.app:not(.driver) .appbar>.nav-line-label{color:#243d50;background:#f1f4f7;border:1px solid #e4e9ee;border-radius:12px;box-shadow:none}.app:not(.driver)>.shell{max-width:1120px;margin:auto;padding-left:24px;padding-right:24px}.app:not(.driver) .viewpage{padding-top:24px}.app:not(.driver) .infohero,.app:not(.driver) .school-picker-simple .schoolhero{padding:0;margin-bottom:8px;background:none;box-shadow:none}.app:not(.driver) .infohero h1{max-width:660px;color:#172b3a;font-size:clamp(28px,4vw,42px);font-weight:750;line-height:1.13;letter-spacing:-1.2px;margin-top:12px}.app:not(.driver) .eyebrow{color:#657a8a;letter-spacing:.12em}.app:not(.driver) .nav-home{max-width:100%;padding-top:40px}.app:not(.driver) .nav-home-grid{margin-top:30px;gap:18px}.app:not(.driver) .nav-home-grid .infolink{grid-template-columns:1fr auto;gap:22px;align-items:start;padding:26px;min-height:205px;border-radius:20px;box-shadow:none;border:1px solid #dce4eb;background:#fff}.app:not(.driver) .nav-home-grid .infoicon{grid-column:1;grid-row:1;width:46px;height:46px;border-radius:14px;background:#edf3f8;color:#254d6c}.app:not(.driver) .nav-home-grid .infocopy{grid-column:1;grid-row:2}.app:not(.driver) .nav-home-grid .infocopy strong{font-size:23px;letter-spacing:-.5px;line-height:1.2}.app:not(.driver) .nav-home-grid .infocopy small{font-size:13px;line-height:1.5;margin-top:8px;color:#647789}.app:not(.driver) .nav-home-grid .infolink>.uiicon{grid-column:2;grid-row:2;align-self:center;color:#6f8393}.app:not(.driver) .nav-home-grid .infolink:last-child{background:#183e58;border-color:#183e58;color:#fff}.app:not(.driver) .nav-home-grid .infolink:last-child .infoicon{background:#ffffff16;color:#fff}.app:not(.driver) .nav-home-grid .infolink:last-child .infocopy small,.app:not(.driver) .nav-home-grid .infolink:last-child>.uiicon{color:#d0e1ed}.app:not(.driver) .school-picker-simple{max-width:780px;gap:22px}.app:not(.driver) .school-picker-simple .schoolhero h1{font-size:clamp(28px,4vw,36px);letter-spacing:-.8px}.app:not(.driver) .school-picker-simple .school-progress{color:#356d95;font-size:11px;letter-spacing:.04em;margin-bottom:10px}.app:not(.driver) .school-picker-simple .school-selection{font-size:14px;color:#647789}.app:not(.driver) .schoollist{gap:0;background:#fff;border:1px solid #e0e7ed;border-radius:16px;overflow:hidden}.app:not(.driver) .schoolchoice{padding:18px 16px;min-height:78px;border:0;border-bottom:1px solid #edf0f3;border-radius:0;box-shadow:none}.app:not(.driver) .schoolchoice:last-child{border-bottom:0}.app:not(.driver) .schoolchoice strong{font-size:14px;line-height:1.45}.app:not(.driver) .schoolchoiceicon{width:36px;height:36px;border-radius:10px;background:#f0f5f8;color:#356382}.app:not(.driver) .schoolsearch{background:#eef2f5;border:1px solid #e0e7ed;border-radius:12px;height:50px}.app:not(.driver) .schooldetailhero{background:#183e58;border-radius:18px;box-shadow:none}.app:not(.driver) .schooldetailhero .eyebrow{color:#c6ddea}.app:not(.driver) .schoolpanel,.app:not(.driver) .routebar,.app:not(.driver) .missions,.app:not(.driver) .routepreview{box-shadow:none;border-radius:16px}.app:not(.driver) .school-picker-simple>.schoolpanel{background:none;border:0;padding:0}.app:not(.driver) .infogrid{gap:10px;margin-top:24px}.app:not(.driver) .infogrid .infolink{background:#fff;color:#172b3a;border:1px solid #e0e7ed;border-radius:14px;box-shadow:none;padding:18px}.app:not(.driver) .infogrid .infolink small{color:#647789}.app:not(.driver) .infogrid .infoicon{width:40px;height:40px;border-radius:12px;color:#356382;background:#f0f5f8}.app:not(.driver) .aboutcard{box-shadow:none;border-radius:14px}.app:not(.driver)>.bottomnav{background:#fffffff7;border:1px solid #e5ebf0;box-shadow:0 4px 28px #172b3a0d}@media(max-width:600px){.app:not(.driver)>.shell{padding-left:18px;padding-right:18px}.app:not(.driver) .nav-home{padding-top:28px}.app:not(.driver) .nav-home .infohero h1{font-size:30px;max-width:330px}.app:not(.driver) .nav-home-grid{gap:12px;margin-top:24px}.app:not(.driver) .nav-home-grid .infolink{min-height:154px;padding:20px;gap:16px;border-radius:18px}.app:not(.driver) .nav-home-grid .infoicon{width:36px;height:36px;border-radius:11px}.app:not(.driver) .nav-home-grid .infocopy strong{font-size:21px}.app:not(.driver) .viewpage{padding-top:24px}.app:not(.driver) .schoolchoice{padding:16px 14px}}.app:not(.driver) .schooldetailhero{padding:16px;background:#fff;color:#243d50;border:1px solid #e0e8ee;border-radius:16px;box-shadow:0 3px 12px #183e5805}.app:not(.driver) .schooldetailhero>.eyebrow{max-width:none;color:#6c8090;font-size:11px;font-weight:500;letter-spacing:0;line-height:1.5;text-transform:none}.app:not(.driver) .schooldetailhero h1{max-width:none;margin:7px 0 5px;color:#203e54;font-size:21px;line-height:1.25;font-weight:700;letter-spacing:-.4px}.app:not(.driver) .schooldetailhero>p{color:#6c8090;font-size:12px;line-height:1.5}.app:not(.driver) .schooldetailhero .schoolactions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid #edf1f4}.app:not(.driver) .schooldetailhero .schoolactions button{min-height:38px;padding:0 11px;border:1px solid #e3ebf1;border-radius:11px;background:#f3f7fa;color:#356382;font-family:inherit;font-size:12px;font-weight:600;line-height:1.3}.app:not(.driver) .schooldetailhero .schoolactions button:last-child{background:transparent;border-color:transparent;color:#75838d;font-size:11px;padding:0 4px}.app:not(.driver) .schooldetailhero .schoolreport{background:#f5f8fa;border:1px solid #e2e9ef;color:#243d50;border-radius:12px}.app:not(.driver) .schooldetailhero .schoolreport p{color:#647789}.app:not(.driver) .schooldetailhero .schoolreport button,.app:not(.driver) .schooldetailhero .schoolreport a{color:#356382;background:#fff;border:1px solid #dce6ee;font-size:12px}.ux-home{max-width:900px;margin:auto;padding-bottom:28px}.ux-heading{padding:24px 0 16px}.ux-heading h1{font-size:clamp(26px,5vw,36px);line-height:1.15;margin:10px 0}.ux-heading p{color:#afc0d0;line-height:1.5}.ux-home .creatorplan{margin:0 0 20px}.ux-search .searchwrap{margin:0;min-height:56px}.ux-search input{min-width:0;font-size:16px;width:100%}.ux-section{margin:24px 0}.ux-section h2{font-size:19px;margin:0 0 12px}.ux-stop{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:17px;margin:8px 0;border:1px solid #314358;border-radius:16px;background:#10263c;color:#fff;min-height:64px;font:inherit;cursor:pointer}.ux-stop>span{flex:1;min-width:0}.ux-stop strong,.ux-stop small{display:block;overflow-wrap:anywhere}.ux-stop small{color:#b9cada;margin-top:5px;line-height:1.4}.ux-stop>.uiicon{flex-shrink:0;width:22px;height:22px}.ux-results{margin:12px 0}.ux-results>p{font-size:14px;color:#bcccdc;line-height:1.5}.ux-settings{margin-top:24px;border-top:1px solid #314358;padding-top:16px;color:#b9cada}.ux-settings summary{cursor:pointer;min-height:44px;padding:10px 0}.ux-settings label{display:flex;align-items:center;gap:12px;min-height:48px;font-size:15px}.ux-settings input{width:20px;height:20px;accent-color:#ed334a}.ux-settings p{font-size:13px}.ux-compact .ux-stop{padding:11px;min-height:54px;margin:5px 0}.ux-compact .ux-section{margin:16px 0}.ux-compact .ux-heading{padding-top:12px}.ux-compact .infolink{padding:12px}.ux-home button:focus-visible,.ux-home summary:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:600px){.ux-home .nav-home-grid{grid-template-columns:1fr}.ux-home .infolink{min-width:0}.ux-heading{padding-top:12px}.ux-home .creatorcopy small{white-space:normal}}.app .ux-home{max-width:900px}.ux-heading p,.ux-results>p,.ux-settings{color:#526373}.ux-settings{border-color:#dce2e8}.ux-home .ux-search input{border:0;outline:none;background:transparent;color:#203342;font:inherit;font-size:16px;min-height:36px}.ux-home .ux-search .searchwrap:focus-within{outline:2px solid #2867b2;outline-offset:2px}.ux-home .nav-home-grid .infolink{background:#fff;color:#203342;min-height:100px;padding:20px;flex-direction:row;align-items:center;gap:14px}.ux-home .nav-home-grid .infolink .infocopy{flex:1;min-width:0}.ux-home .nav-home-grid .infolink strong{font-size:18px}.ux-home .nav-home-grid .infolink small{color:#526373}.ux-home .nav-home-grid .infoicon{background:#edf3f8;color:#264a65}.ux-home button:focus-visible,.ux-home summary:focus-visible{outline-color:#2867b2}.ux-home .ux-settings{padding-bottom:30px}.ux-compact .nav-home-grid .infolink{min-height:76px;padding:12px}.public-app .appbar{display:flex;justify-content:flex-start;gap:12px;padding-left:max(16px,env(safe-area-inset-left));padding-right:16px}.public-app .apptitle{text-align:left;flex:1}.public-app .appback-placeholder{display:none}.public-app .shell{max-width:940px}.public-app .ux-heading{padding:12px 0}.public-app .ux-heading h1{font-size:clamp(25px,5vw,32px)}.public-app .ux-stop{background:#fff;color:#203342;border-color:#dce4eb;border-radius:14px;padding:14px}.public-app .ux-stop small{color:#526373}.public-app .public-favorite{border-left:4px solid #e12c45}.public-next{display:block;margin-top:12px;padding-top:10px;border-top:1px solid #e4eaf0}.public-next b{font-size:22px;color:#213c54}.public-hint{font-size:13px;color:#536477;line-height:1.5}.public-app .ux-results h2{font-size:18px;margin:20px 0 10px}.public-app .ux-results .p2coursecard{min-width:0}.public-app .jr-school-entry{margin:18px 0;border:1px solid #dce4eb;border-radius:14px;background:#fff}.public-app .jr-school-entry>summary{min-height:60px;padding:14px;cursor:pointer}.public-app .public-course-head h1{font-size:clamp(22px,5vw,30px);line-height:1.3}.public-course-head p{color:#526373}.public-app .tripview .previewhead{display:none}.public-app .routepreview{padding:0;background:transparent;border:0;box-shadow:none}.public-map{margin:18px 0;border:1px solid #dce4eb;border-radius:14px;background:#fff;overflow:hidden}.public-map>summary{padding:16px;min-height:50px;cursor:pointer;font-weight:650}.public-app .tripstops{margin-top:16px;background:#fff}.public-app .stopitem{min-height:54px}.public-app .schooldetailhero h1{font-size:26px;line-height:1.25}.public-direction{margin:20px 0}.public-direction h3{font-size:18px;margin:0 0 12px}.public-app .passagecard{border:1px solid #dce4eb;border-radius:14px;padding:14px;min-height:86px}.public-app .passagecard.public-upcoming{border:2px solid #d82d46;background:#fff7f8}.public-next-badge{display:block;color:#af1d34;font-size:12px;margin-bottom:6px}.public-app .passagecard.public-past{background:#f5f7f9}.public-empty{padding:18px;background:#f0f4f8;border-radius:12px;line-height:1.6;color:#34495e}.public-today{padding:10px 16px;min-height:44px;border:1px solid #ced9e2;background:#fff;border-radius:10px;color:#243b50;cursor:pointer;margin-top:10px}.public-app button:focus-visible,.public-app summary:focus-visible{outline:3px solid #2867b2;outline-offset:3px}@media(max-width:600px){.public-app .shell{padding-left:14px;padding-right:14px}.public-app .ux-home{padding-top:8px}.public-app .passagecard{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px}.public-app .passagecard>time{font-size:22px}.public-app .passagecard>.passagecode{grid-column:2;font-size:12px}.public-app .passagecard>.uiicon{display:none}.public-app .passagecopy{min-width:0}.public-app .passagecopy strong,.public-app .passagecopy small{white-space:normal;overflow-wrap:anywhere}.public-app .schoolactions{flex-wrap:wrap}.public-app .schoolactions button{min-height:44px}.public-app .nav-home-grid .infolink{min-height:84px;padding:14px}.public-app .p2coursecard{display:flex;flex-wrap:wrap}.public-app .p2coursecopy{min-width:0;flex:1 1 180px}.public-app .tripstopname{overflow-wrap:anywhere}.public-app .public-course-head{padding:12px 0}}.app.public-app:not(.driver) .appbar{display:flex;justify-content:flex-start}.app.public-app .appbar>.apptitle{width:auto;text-align:left;flex:1}.app.public-app .appbar>.apptitle small,.app.public-app .appbar>.apptitle strong{text-align:left}.app.public-app .tripstops .stoplist{max-height:none;overflow:visible}.app.public-app .tripstops .stopitem{font-size:15px}.app.public-app .tripstops .tripstoptime{font-size:16px}.app.public-app .tripstops>summary{padding:16px;font-size:16px}.app.public-app .tripstops{border:1px solid #dce4eb;border-radius:14px;overflow:hidden}.app.public-app:not(.driver) .nav-home-grid .infolink{display:flex;flex-direction:row;align-items:center;gap:14px;min-height:90px;padding:16px;background:#fff;color:#203342}.app.public-app:not(.driver) .nav-home-grid .infolink .infocopy{flex:1;min-width:0}.app.public-app:not(.driver) .nav-home-grid .infolink strong{font-size:18px;color:#203342}.app.public-app:not(.driver) .nav-home-grid .infolink small{color:#526373}.app.public-app:not(.driver) .nav-home-grid .infoicon{background:#edf3f8;color:#264a65;margin:0}.app.public-app:not(.driver) .jr-school-entry{padding:0}.app.public-app:not(.driver) .ux-home{padding-top:0}.app.public-app:not(.driver) .nav-home .nav-home-grid .infolink:nth-child(n) .infocopy small{color:#526373;opacity:1}.app.public-app:not(.driver) .nav-home .nav-home-grid .infolink:nth-child(n) .infoicon{color:#264a65;background:#edf3f8;opacity:1}.app.public-app:not(.driver) .nav-home .nav-home-grid .infolink:nth-child(n)>.uiicon{color:#526373}.app.public-app:not(.driver) .nav-home .nav-home-grid .infolink:nth-child(n){border:1px solid #dce4eb}.app.duty-app:not(.driver) .duty-home{max-width:980px;margin:auto;padding:12px 0 32px}.duty-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.duty-heading h1{font-size:34px;line-height:1.15;margin:8px 0}.duty-heading p,.duty-date{color:#556777;font-size:14px}.duty-calendar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:20px}.duty-calendar label{display:grid;gap:7px;font-size:13px;color:#42576b}.duty-calendar input,.duty-calendar button,.duty-undo,.duty-more{min-height:44px;padding:10px 14px;background:#fff;color:#253e53;border:1px solid #d4dfe7;border-radius:12px;font:inherit}.duty-calendar input{font-size:16px}.duty-calendar button.active{background:#203d54;color:#fff}.duty-next{display:flex;align-items:center;gap:28px;width:100%;padding:24px;border:0;border-radius:20px;background:#193a51;color:#fff;text-align:left;cursor:pointer}.duty-next>span:first-child{display:grid;gap:8px;min-width:155px}.duty-next strong{font-size:42px;line-height:1}.duty-next small{font-size:12px;line-height:1.5;color:#d2e2ee}.duty-next-copy{display:grid;gap:8px;flex:1}.duty-next-copy b{font-size:22px}.duty-next-copy em{font-size:14px;font-style:normal;color:#fff}.duty-next>.uiicon{width:24px;flex-shrink:0}.duty-section{margin-top:28px}.duty-section h2{font-size:20px;margin:0 0 14px}.duty-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.duty-section-title>span{font-size:13px;color:#536679}.duty-row,.duty-result{background:#fff;border:1px solid #dae3ea;border-radius:16px;margin:10px 0;overflow:hidden}.duty-row-next{border-left:4px solid #da3049}.duty-open{display:flex;align-items:center;gap:16px;width:100%;min-height:88px;padding:16px;background:transparent;border:0;text-align:left;color:#243d51;cursor:pointer;font:inherit}.duty-time{font-size:23px;font-weight:750;flex-shrink:0;min-width:66px}.duty-copy{display:grid;gap:5px;min-width:0;flex:1}.duty-copy strong{font-size:17px}.duty-copy small{font-size:13px;color:#546778;line-height:1.5;overflow-wrap:anywhere}.duty-copy .duty-warning{color:#9d5b16}.duty-open>.uiicon{width:20px;flex-shrink:0}.duty-edit-controls{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:0 14px 12px}.duty-edit-controls button,.duty-add{min-height:44px;border:1px solid #d5e0e7;border-radius:10px;background:#f7f9fb;color:#264257;padding:8px 12px;cursor:pointer}.duty-add{margin:0 16px 14px}.duty-app button:disabled{opacity:.5;cursor:default}.duty-search{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:14px;background:#fff;border:1px solid #d4dfe7}.duty-search input{width:100%;min-width:0;min-height:32px;background:transparent;border:0;color:#203d52;font-size:16px;outline:none}.duty-search>.uiicon{width:22px;color:#556b7c}.duty-search:focus-within{outline:2px solid #2876aa;outline-offset:2px}.duty-note{color:#536777;font-size:13px;line-height:1.6}.duty-empty{padding:20px;background:#eaf0f5;color:#344d62;border-radius:16px;line-height:1.5}.duty-prep{background:#fff;padding:22px;border:1px solid #d8e2e9;border-radius:18px;margin:16px 0 24px}.duty-prep h2{margin:8px 0;font-size:28px}.duty-prep p{color:#546879;line-height:1.5}.duty-prep-meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.duty-prep-meta>span{padding:8px 10px;background:#edf3f7;border-radius:8px;font-size:13px;color:#304d64}.duty-prep-meta>span.duty-prep-offservice{background:#fff3de;color:#74511e;font-weight:650}.duty-prep-actions{display:flex;flex-wrap:wrap;gap:10px}.duty-prep-actions button{padding:13px 16px;min-height:48px;border:1px solid #ccdbe5;border-radius:12px;background:#fff;color:#234057;font-size:15px;font-weight:650;cursor:pointer}.duty-prep-actions .duty-primary{background:#193a51;color:#fff;border-color:#193a51}.duty-home button:focus-visible,.duty-prep button:focus-visible{outline:3px solid #2876aa;outline-offset:3px}@media(max-width:600px){.duty-heading{display:block;margin-bottom:16px}.duty-heading h1{font-size:29px}.duty-date{display:block;margin-top:10px}.duty-next{gap:16px;padding:20px;align-items:flex-start;flex-wrap:wrap}.duty-next>span:first-child{min-width:110px}.duty-next strong{font-size:36px}.duty-next-copy{min-width:140px}.duty-next>.uiicon{display:none}.duty-section-title{display:block}.duty-calendar label{width:100%}.duty-open{gap:12px;padding:14px}.duty-time{font-size:21px;min-width:61px}.duty-prep{padding:16px}.duty-prep-actions button{flex:1 1 140px}.duty-home .duty-search{margin-top:12px}}
