:root{
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;
  color:#142139;
  background:#e7edf2;
  --navy:#172641;
  --navy-2:#223754;
  --navy-3:#304764;
  --red:#ef263f;
  --teal:#24a89c;
  --teal-dark:#168d83;
  --blue:#078bd3;
  --orange:#ff9d28;
  --green:#23c96e;
  --surface:#fff;
  --surface-soft:#f7f9fb;
  --muted:#697386;
  --line:#e4e8ed;
  --shadow:0 14px 42px rgba(20,33,57,.22);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;overflow:hidden;background:#dfe6ec;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button{touch-action:manipulation}
button svg{display:block}
.hidden{display:none!important}

/* HEADER / BRAND */
.topbar{
  height:76px;background:linear-gradient(180deg,#182a48 0%,var(--navy) 100%);color:#fff;
  display:grid;grid-template-columns:290px minmax(320px,720px) 1fr;align-items:center;gap:24px;
  padding:0 24px;box-shadow:0 2px 12px rgba(8,18,36,.2);position:relative;z-index:1200
}
.brand{display:inline-flex;align-items:center;width:max-content;height:58px;text-decoration:none;overflow:visible}
.brand img{display:block;width:auto;height:62px;max-width:250px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.13))}
.desktop-search{
  height:46px;background:#fff;border:1px solid rgba(255,255,255,.18);border-radius:14px;display:flex;align-items:center;
  box-shadow:0 5px 18px rgba(6,17,34,.15);overflow:hidden;transition:box-shadow .18s,transform .18s
}
.desktop-search:focus-within{box-shadow:0 0 0 3px rgba(36,168,156,.22),0 8px 24px rgba(6,17,34,.2);transform:translateY(-1px)}
.search-icon{width:20px;height:20px;border:2.5px solid #99a2ad;border-radius:50%;margin-left:16px;position:relative;flex:0 0 auto}
.search-icon:after{content:"";position:absolute;width:8px;height:2.5px;background:#99a2ad;right:-6px;bottom:-3px;transform:rotate(45deg);border-radius:3px}
.desktop-search input{width:100%;height:100%;border:0;padding:0 12px 0 13px;font-size:16px;outline:none;color:#303744;background:transparent}
.desktop-search input::placeholder{color:#747d89;opacity:1}
.search-shortcut{margin-right:12px;min-width:25px;height:25px;border:1px solid #d9dfe6;border-bottom-width:2px;border-radius:6px;background:#f7f9fb;color:#808995;font-size:13px;display:flex;align-items:center;justify-content:center;font-family:inherit}
.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.round{width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:50%;background:#2d4260;color:#fff;cursor:pointer;box-shadow:0 4px 11px rgba(0,0,0,.18);transition:transform .16s,filter .16s,background .16s,opacity .16s;display:grid;place-items:center}
.round svg{width:22px;height:22px}.round:hover{transform:translateY(-2px);filter:brightness(1.08)}.round:active{transform:translateY(0) scale(.96)}.round:disabled{cursor:wait;opacity:.68;transform:none;filter:none}.round.is-loading svg{animation:locatePulse 1.1s ease-in-out infinite}@keyframes locatePulse{50%{transform:scale(.82);opacity:.62}}
.round.locate{background:linear-gradient(145deg,#31da78,#1fc76c);border-color:#4be38c}.round.secondary{background:#2d4260}
.round:focus-visible,.nav-back:focus-visible,.panel-head button:focus-visible{outline:3px solid rgba(255,255,255,.82);outline-offset:2px}.tabs button:focus-visible{outline:2px solid rgba(255,255,255,.82);outline-offset:-4px}

/* TABS */
.tabs{height:54px;background:var(--navy);position:relative;z-index:1100;border-top:1px solid rgba(255,255,255,.035);box-shadow:0 2px 8px rgba(9,20,39,.1)}
.tabs-inner{height:100%;max-width:840px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:0 18px}
.tabs button{border:0;background:transparent;color:#dce3ec;font-size:15px;font-weight:700;letter-spacing:.35px;cursor:pointer;position:relative;text-transform:uppercase;transition:color .16s,background .16s}
.tabs button span{position:relative;z-index:1}.tabs button:hover{color:#fff;background:rgba(255,255,255,.035)}
.tabs button.active{color:#fff}.tabs button.active:after{content:"";position:absolute;left:20%;right:20%;bottom:0;height:3px;background:var(--red);border-radius:3px 3px 0 0;box-shadow:0 -1px 8px rgba(239,38,63,.35)}

/* MAP */
main{position:relative;height:calc(100vh - 154px)}
#map{height:100%;width:100%;background:#dbe3e8}
.leaflet-container{font-family:Inter,"Segoe UI",Arial,sans-serif;background:#dce5e9}
.leaflet-bar{border:0!important;box-shadow:0 6px 18px rgba(20,33,57,.2)!important;border-radius:12px!important;overflow:hidden}
.leaflet-bar a{width:38px!important;height:38px!important;line-height:36px!important;border:0!important;border-bottom:1px solid #e7ebef!important;color:var(--navy)!important;font-size:22px!important;background:#fff!important}
.leaflet-bar a:last-child{border-bottom:0!important}.leaflet-bar a:hover{background:#f5f8fa!important}
.leaflet-control-zoom{margin-top:18px!important;margin-left:18px!important}.leaflet-control-attribution{font-size:9px!important;background:rgba(255,255,255,.82)!important;border-radius:7px 0 0 0!important;padding:2px 6px!important}
.status{position:absolute;left:50%;top:16px;transform:translateX(-50%);z-index:1000;background:rgba(23,38,65,.92);backdrop-filter:blur(10px);color:#fff;padding:9px 14px;border:1px solid rgba(255,255,255,.13);border-radius:999px;box-shadow:0 8px 22px rgba(0,0,0,.2);font-size:12px;font-weight:700;letter-spacing:.05px;max-width:72vw;text-align:center;pointer-events:none;animation:toastIn .18s ease-out}
.status.ok{background:rgba(27,105,63,.92)}.status.error{background:rgba(148,37,53,.94)}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}

/* STOP MARKERS */
.stop-marker{position:relative;width:38px;height:47px;filter:drop-shadow(2px 4px 2px rgba(0,0,0,.22));transform-origin:50% 100%;transition:transform .14s,filter .14s}
.stop-marker:hover{transform:scale(1.12);filter:drop-shadow(2px 5px 3px rgba(0,0,0,.28))}
.stop-sign{position:absolute;left:1px;top:0;width:36px;height:32px;border:4px solid var(--blue);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.02)}
.stop-sign:after{content:"";position:absolute;left:13px;bottom:-14px;width:5px;height:14px;background:var(--blue);border-radius:0 0 5px 5px}
.stop-bus-svg{width:25px;height:19px;display:block}
.stop-marker.selected{z-index:10;animation:selectedPulse 1.8s infinite}.stop-marker.selected .stop-sign{border-color:var(--orange);box-shadow:0 0 0 3px #fff,0 0 0 8px rgba(255,157,40,.20)}.stop-marker.selected .stop-sign:after{background:var(--orange)}
@keyframes selectedPulse{0%,100%{filter:drop-shadow(2px 4px 2px rgba(0,0,0,.22))}50%{filter:drop-shadow(0 0 9px rgba(255,157,40,.7))}}

.vehicle-marker{position:relative;min-width:52px;height:38px;padding:0 8px 0 5px;background:#1c9c91;border:3px solid #fff;border-radius:9px;box-shadow:0 4px 12px rgba(12,48,63,.30);display:flex;align-items:center;justify-content:center;gap:3px;color:#fff;transform-origin:50% 100%;transition:transform .14s,background .14s,box-shadow .14s}.vehicle-marker:after{content:"";position:absolute;left:50%;bottom:-8px;width:11px;height:11px;background:#1c9c91;border-right:3px solid #fff;border-bottom:3px solid #fff;transform:translateX(-50%) rotate(45deg);border-radius:0 0 3px 0}.vehicle-marker:hover{background:#168d83;transform:translateY(-2px);box-shadow:0 6px 15px rgba(12,48,63,.34)}.vehicle-marker:hover:after{background:#168d83}.vehicle-marker-icon{width:25px;height:25px;display:flex;align-items:center;justify-content:center;color:#fff}.vehicle-marker-icon svg{width:25px;height:25px;display:block}.vehicle-marker b{font-size:11px;font-weight:900;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.1px}
.tracked-bus-marker{width:66px;height:66px;border-radius:50%;background:linear-gradient(145deg,#2ab4a7,#16978b);border:4px solid #fff;box-shadow:0 7px 20px rgba(0,0,0,.34),0 0 0 10px rgba(36,168,156,.13);display:flex;align-items:center;justify-content:center;position:relative;animation:busPulse 2s infinite}.tracked-bus-marker svg{width:37px;height:37px}.tracked-bus-marker:after{content:"";position:absolute;bottom:-10px;left:22px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:12px solid #16978b}@keyframes busPulse{50%{box-shadow:0 7px 20px rgba(0,0,0,.34),0 0 0 15px rgba(36,168,156,.06)}}
.tracked-stop-marker{position:relative;width:44px;height:54px;filter:drop-shadow(3px 4px 1px rgba(0,0,0,.2))}.tracked-stop-marker .stop-sign{border-color:var(--blue)}.tracked-stop-marker:after{content:"";position:absolute;left:8px;bottom:-3px;width:26px;height:26px;background:var(--orange);border:5px solid #fff;border-radius:50%;z-index:-1;box-shadow:0 2px 5px rgba(0,0,0,.25)}
.user-marker{width:42px;height:42px;border-radius:50%;background:#2bafa1;border:4px solid #fff;box-shadow:0 0 0 9px rgba(43,175,161,.15),0 4px 12px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;position:relative}.user-marker svg{width:30px;height:30px}.user-marker:after{content:"";position:absolute;bottom:-8px;left:12px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:10px solid #2bafa1}

/* DRAWER / STOP PANEL */
.panel{position:absolute;right:18px;top:18px;bottom:18px;width:min(500px,calc(100vw - 36px));z-index:1050;background:rgba(255,255,255,.985);border:1px solid rgba(23,38,65,.10);border-radius:14px;box-shadow:0 16px 38px rgba(20,33,57,.18);overflow:auto;scrollbar-width:thin;scrollbar-color:#bdc5cf transparent;animation:drawerIn .22s cubic-bezier(.2,.7,.2,1)}
@keyframes drawerIn{from{opacity:0;transform:translateX(28px) scale(.985)}to{opacity:1;transform:none}}
.panel-head{position:sticky;top:0;background:var(--navy);color:#fff;padding:17px 18px 16px;display:flex;justify-content:space-between;align-items:center;z-index:5;min-height:76px;border-radius:13px 13px 0 0;box-shadow:0 2px 7px rgba(0,0,0,.10)}
.panel-head-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.panel-eyebrow{text-transform:uppercase;color:#aebbd0;font-size:10px;font-weight:800;letter-spacing:1.1px}.panel-head strong{font-size:17px;text-transform:uppercase;line-height:1.2;letter-spacing:.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-head button{width:42px;height:42px;padding:0;border:0;background:rgba(255,255,255,.07);color:#fff;cursor:pointer;border-radius:50%;transition:background .14s;display:grid;place-items:center;flex:0 0 auto}.panel-head button svg{width:20px;height:20px}.panel-head button:hover{background:rgba(255,255,255,.15)}
.panel #panelBody{padding:0 18px 22px}.point-meta,.point-summary{display:flex;justify-content:space-between;gap:10px;color:#667085;font-size:11px;padding:12px 2px 9px}.point-summary:after{content:"Carregando previsões";color:#667085;font-weight:650}.live-dot{display:inline-block;width:7px;height:7px;background:#27c970;border-radius:50%;margin-right:6px;box-shadow:0 0 0 3px rgba(39,201,112,.13);vertical-align:1px}
.stop-schematic{height:96px;position:relative;margin:0 -18px 5px;background:linear-gradient(150deg,#f4f1e8 0 47%,#faf8f2 47% 60%,#fff 60%);overflow:hidden}.stop-schematic:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 35%,rgba(255,255,255,.65) 35% 47%,transparent 47%);opacity:.8}.stop-schematic .route-line{position:absolute;left:0;right:0;top:54px;height:8px;background:linear-gradient(90deg,#ffab4b,var(--orange),#ffab4b);box-shadow:0 1px 0 rgba(255,255,255,.8)}.stop-schematic .route-node{position:absolute;top:43px;width:31px;height:31px;background:#fff;border:8px solid var(--orange);border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.08)}.stop-schematic .route-node.left{left:17%}.stop-schematic .route-node.right{right:17%}.stop-schematic .mini-stop{position:absolute;left:50%;top:16px;transform:translateX(-50%);width:54px;height:59px;z-index:2;filter:drop-shadow(2px 5px 2px rgba(0,0,0,.20))}.stop-schematic .mini-stop .stop-sign{width:50px;height:43px;border-width:5px}.stop-schematic .mini-stop .stop-sign:after{left:19px;bottom:-17px;width:6px;height:16px}.stop-schematic .mini-stop .stop-bus-svg{width:35px;height:27px}
.forecast-columns{display:grid;grid-template-columns:64px minmax(0,1fr) 42px 104px;gap:8px;align-items:center;color:var(--teal);padding:10px 5px 7px;border-bottom:1px solid #edf0f3}.forecast-columns .col-icon{font-size:25px;text-align:center;font-weight:700;color:var(--teal);display:flex;align-items:center;justify-content:center}.forecast-columns .live-bus-symbol svg{width:34px;height:34px}.forecast-columns .direction-symbol svg{width:38px;height:27px}.forecast-columns .clock-symbol{width:26px;height:26px;border:4px solid var(--teal);border-radius:50%;margin-left:auto;position:relative}.forecast-columns .clock-symbol:before{content:"";position:absolute;width:3px;height:8px;background:var(--teal);left:8px;top:3px;border-radius:2px}.forecast-columns .clock-symbol:after{content:"";position:absolute;width:7px;height:3px;background:var(--teal);left:9px;top:10px;transform:rotate(35deg);transform-origin:left center;border-radius:2px}
.forecast-row{display:grid;grid-template-columns:64px minmax(0,1fr) 42px 104px;align-items:center;gap:8px;padding:13px 6px;margin:0;border:0;border-bottom:1px solid #e8edf1;border-radius:0;cursor:pointer;transition:background .14s;position:relative}.forecast-row:before{content:"";position:absolute;left:-18px;top:8px;bottom:8px;width:3px;background:var(--teal);opacity:0;transform:scaleY(.55);transition:opacity .14s,transform .14s}.forecast-row:hover{background:#f6faf9}.forecast-row:hover:before,.forecast-row:focus-visible:before{opacity:1;transform:scaleY(1)}.forecast-row:active{background:#eef7f5}.forecast-row:focus-visible{outline:2px solid rgba(36,168,156,.55);outline-offset:-2px;background:#f6faf9}
.forecast-number{font-size:27px;font-weight:900;color:#172641;letter-spacing:.1px;text-align:left;font-variant-numeric:tabular-nums}.forecast-route{min-width:0}.forecast-route strong{display:block;font-size:14px;font-weight:650;color:#3f4652;line-height:1.28;text-transform:uppercase}.accessible{font-size:24px;text-align:center;color:#1767aa;line-height:1}.accessible.unknown{visibility:hidden}.forecast-eta{text-align:right;font-weight:900;color:#242b35;font-size:18px;white-space:nowrap;background:transparent;padding:4px 0;border-radius:0;min-width:94px;font-variant-numeric:tabular-nums}.forecast-eta.soon{background:transparent;color:#a9670d}.forecast-eta.urgent{background:transparent;color:var(--red)}.forecast-eta.approaching{color:#172641;font-size:15px;letter-spacing:-.2px}
.panel-footnote{margin-top:8px;padding:13px 2px 0;border-top:1px solid #edf0f3;color:#7e8792;font-size:10px;text-align:left}.simple-row{padding:10px 6px;border-bottom:1px solid #eee}.item{padding:12px 10px;border-bottom:1px solid #e9edf1;cursor:pointer;border-radius:9px;transition:background .14s}.item:hover{background:#f3f7fa}.muted{color:#6d7480;font-size:12px}.empty{padding:18px;background:#f6f8fa;border:1px solid #edf0f3;border-radius:11px;color:#6d7480}.error-text{color:#a02131}.action{border:0;background:var(--navy);color:#fff;border-radius:9px;padding:9px 13px;cursor:pointer}details{margin-top:16px}summary{cursor:pointer;font-weight:750;padding:8px 0;color:#354057}
.skeleton-wrap{padding:16px 2px}.skeleton{height:58px;border-radius:10px;margin:8px 0;background:linear-gradient(90deg,#f0f2f5 25%,#fafbfc 37%,#f0f2f5 63%);background-size:400% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* LINE SEARCH / ROUTE STOPS */
.panel-back{width:100%;min-height:45px;padding:10px 2px;border:0;border-bottom:1px solid #e7ebef;background:transparent;color:#354057;display:flex;align-items:center;gap:9px;text-align:left;font-size:12px;font-weight:800;cursor:pointer;transition:color .14s,background .14s}.panel-back svg{width:19px;height:19px;flex:0 0 auto}.panel-back:hover{color:var(--teal-dark);background:#f7fafb}.panel-back:focus-visible,.line-result:focus-visible,.line-choice:focus-visible,.route-stop-row:focus-visible{outline:2px solid rgba(36,168,156,.55);outline-offset:-2px}
.line-search-empty{padding:48px 24px;text-align:center;color:#697386}.line-search-empty strong{display:block;color:#243653;font-size:18px;margin-top:16px}.line-search-empty p{font-size:13px;line-height:1.5;margin:8px auto 0;max-width:270px}.line-search-symbol{display:block;width:42px;height:42px;border:4px solid #9aa6b5;border-radius:50%;margin:0 auto;position:relative}.line-search-symbol:after{content:"";position:absolute;width:17px;height:4px;background:#9aa6b5;right:-13px;bottom:-7px;transform:rotate(45deg);border-radius:4px}
.line-results{margin:5px -2px 0}.line-result{width:100%;min-height:74px;padding:14px 8px;border:0;border-bottom:1px solid #e6ebef;background:transparent;color:#172641;display:grid;grid-template-columns:72px minmax(0,1fr) 22px;gap:10px;align-items:center;text-align:left;cursor:pointer;transition:background .14s}.line-result:hover{background:#f4f8fa}.line-result-number{font-size:23px;font-weight:900;font-variant-numeric:tabular-nums}.line-result-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.line-result-copy strong{font-size:14px;line-height:1.25;text-transform:uppercase;color:#434b57}.line-result-copy small{font-size:10px;color:#7a8491}.line-result>svg{width:19px;color:#91a0ae}
.line-choice-intro{padding:22px 4px 13px;display:flex;flex-direction:column;gap:6px}.line-choice-intro strong{font-size:18px;color:#243653}.line-choice-intro span{font-size:12px;color:#6c7683;line-height:1.45}.line-choice-list{border-top:1px solid #e7ebef}.line-choice{width:100%;min-height:79px;padding:14px 5px;border:0;border-bottom:1px solid #e7ebef;background:transparent;color:#273751;display:grid;grid-template-columns:52px minmax(0,1fr) 22px;gap:10px;align-items:center;text-align:left;cursor:pointer;transition:background .14s}.line-choice:hover{background:#f4f9f8}.line-choice-direction{font-size:9px;font-weight:900;letter-spacing:.8px;color:var(--teal-dark);border:1px solid rgba(36,168,156,.28);border-radius:999px;padding:5px 6px;text-align:center}.line-choice strong{font-size:14px;line-height:1.35;text-transform:uppercase}.line-choice>svg{width:19px;color:#8b99a8}.line-loading{padding:16px 0}.line-retry{margin-top:12px}
.line-filter-context{margin:12px 0 0;padding:11px 13px;background:#f1f8f7;border-left:3px solid var(--teal);display:flex;align-items:center;gap:7px;color:#566373}.line-filter-context span{font-size:10px;text-transform:uppercase;letter-spacing:.55px}.line-filter-context strong{font-size:12px;color:#213650}.line-filter-context small{margin-left:auto;padding:4px 7px;border:1px solid rgba(36,168,156,.28);border-radius:999px;color:var(--teal-dark);font-size:9px;font-weight:900;letter-spacing:.6px}
.line-route-summary{padding:18px 4px 16px;border-bottom:1px solid #dfe5ea;display:grid;grid-template-columns:1fr auto;gap:5px 10px}.line-route-summary>span{grid-column:1/3;font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--teal-dark)}.line-route-summary>strong{font-size:15px;line-height:1.35;text-transform:uppercase;color:#243653}.line-route-summary>small{font-size:11px;color:#76808d;white-space:nowrap;align-self:end}.route-stop-list{position:relative}.route-stop-list:before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:2px;background:#cbdde0}.route-stop-row{position:relative;width:100%;min-height:66px;padding:9px 3px;border:0;border-bottom:1px solid #e8edf1;background:rgba(255,255,255,.96);color:#263750;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;gap:9px;align-items:center;text-align:left;cursor:pointer;transition:background .14s}.route-stop-row:hover{background:#f3f9f8}.route-stop-index{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;background:#fff;border:3px solid var(--teal);display:grid;place-items:center;color:var(--teal-dark);font-size:9px;font-weight:900;font-variant-numeric:tabular-nums}.route-stop-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.route-stop-copy strong{font-size:13px;line-height:1.25;text-transform:uppercase}.route-stop-copy small{font-size:10px;color:#7a8491}.route-stop-row>svg{width:18px;color:#91a0ae}

/* TRACKING MODE */
.tracking-nav{height:76px;display:flex;align-items:center;gap:11px;color:#fff;grid-column:1/3}.nav-back{width:46px;height:46px;padding:0;border:0;background:rgba(255,255,255,.06);color:#fff;cursor:pointer;border-radius:50%;transition:background .14s;display:grid;place-items:center;flex:0 0 auto}.nav-back svg{width:24px;height:24px}.nav-back:hover{background:rgba(255,255,255,.14)}.tracking-nav-icon{width:38px;height:38px;color:#fff;display:flex;align-items:center;justify-content:center}.tracking-nav-icon svg{width:38px;height:38px;display:block}.tracking-nav-copy{display:flex;align-items:baseline;gap:8px}.tracking-nav-copy span{font-size:10px;text-transform:uppercase;color:#aebbd0;font-weight:800;letter-spacing:1px}.tracking-nav strong{font-size:34px;line-height:1;letter-spacing:.5px}
.tracking-route-strip{height:50px;background:rgba(39,56,82,.97);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:17px;font-weight:700;text-transform:uppercase;box-shadow:0 2px 7px rgba(0,0,0,.14);position:relative;z-index:1120}.tracking-live-pill{font-size:10px;letter-spacing:.7px;border:1px solid rgba(255,255,255,.17);border-radius:999px;padding:6px 9px;color:#dce9e6}.tracking-live-pill i{display:inline-block;width:7px;height:7px;background:#2cd177;border-radius:50%;margin-right:5px;box-shadow:0 0 0 4px rgba(44,209,119,.12)}
.tracking-card{position:absolute;z-index:1050;left:22px;top:20px;width:min(790px,calc(100vw - 44px));min-height:108px;background:rgba(255,255,255,.98);border:1px solid rgba(23,38,65,.08);box-shadow:0 12px 35px rgba(20,33,57,.25);display:grid;grid-template-columns:minmax(300px,1.7fr) minmax(170px,.8fr) minmax(165px,.72fr);overflow:hidden;border-radius:16px;animation:cardIn .2s ease-out}@keyframes cardIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.tracking-info-cell{padding:18px 22px;display:flex;flex-direction:column;justify-content:center;min-width:0}.tracking-info-cell>span{font-size:11px;font-weight:900;color:#243653;margin-bottom:7px;letter-spacing:.55px}.tracking-info-cell>strong{font-size:18px;font-weight:600;color:#454c56;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tracking-vehicle{border-left:1px solid #edf0f3}.tracking-vehicle>strong{font-size:19px}.tracking-arrival{border-left:1px solid #edf0f3;align-items:center;text-align:center;padding:10px 18px;background:#fafbfc}.tracking-arrival>strong{font-size:25px;color:#20252c;font-weight:900}.tracking-arrival>strong.urgent{color:var(--red)}.tracking-arrival>strong.approaching{font-size:19px;color:#172641;letter-spacing:-.2px}.tracking-arrival small{font-size:9px;color:#7a818b;margin-top:3px}.clock-icon{width:29px;height:29px;border:4px solid var(--teal);border-radius:50%;position:relative;margin:0 0 5px!important}.clock-icon:before{content:"";position:absolute;width:3px;height:8px;background:var(--teal);left:9px;top:4px;border-radius:2px}.clock-icon:after{content:"";position:absolute;width:8px;height:3px;background:var(--teal);left:10px;top:12px;transform:rotate(35deg);transform-origin:left center;border-radius:2px}.route-polyline{filter:drop-shadow(0 2px 2px rgba(255,255,255,.95))}
body.tracking .brand,body.tracking .desktop-search,body.tracking .top-actions{display:none}body.tracking .tracking-nav{display:flex!important}body.tracking .tabs{display:none}body.tracking .tracking-route-strip{display:flex!important}body.tracking main{height:calc(100vh - 126px)}body.tracking .panel{display:none!important}body.tracking footer{display:none}body.tracking .topbar{height:76px;display:flex;justify-content:flex-start;padding-left:14px}body.tracking .status{top:144px}

footer{height:24px;background:rgba(255,255,255,.96);color:#7a7f86;text-align:center;font-size:9px;display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid #e6e8eb;position:relative;z-index:1080}

@media(max-width:1150px){
  .topbar{grid-template-columns:235px minmax(260px,1fr) auto;gap:16px;padding:0 16px}.brand img{height:55px;max-width:225px}.desktop-search{height:44px}.panel{width:min(460px,calc(100vw - 28px));right:14px;top:14px;bottom:14px}.tracking-card{width:min(710px,calc(100vw - 36px))}
}
@media(max-width:820px){
  .topbar{height:68px;grid-template-columns:1fr auto;padding:0 12px}.brand img{height:49px;max-width:205px}.desktop-search{position:absolute;top:76px;left:8px;right:8px;height:48px;z-index:1300}.search-shortcut{display:none}.tabs{margin-top:58px}.panel{left:10px;right:10px;top:auto;bottom:10px;width:auto;max-height:66vh;border-radius:16px}.panel-head{min-height:68px}.tracking-card{grid-template-columns:1fr 130px;left:10px;top:10px;width:calc(100vw - 20px)}.tracking-direction{grid-column:1}.tracking-vehicle{grid-column:1;border-left:0;border-top:1px solid #edf0f3;padding-top:10px;padding-bottom:10px}.tracking-arrival{grid-column:2;grid-row:1/3}.tracking-nav strong{font-size:29px}main{height:calc(100vh - 204px)}footer{height:24px}
}
@media(max-width:560px){
  .topbar{height:62px}.brand img{height:44px;max-width:184px}.round{width:40px;height:40px}.desktop-search{top:68px;height:48px}.tabs{height:50px;margin-top:56px}.tabs-inner{gap:0;padding:0}.tabs button{font-size:13px}.tabs button.active:after{left:8%;right:8%}main{height:calc(100vh - 192px)}.forecast-row,.forecast-columns{grid-template-columns:54px minmax(0,1fr) 32px 86px;gap:5px}.forecast-number{font-size:23px}.forecast-route strong{font-size:13px}.forecast-eta{font-size:14px;min-width:80px;padding:7px 2px}.forecast-eta.approaching{font-size:12px}.accessible{font-size:22px}.panel{max-height:73vh}.panel.line-route-panel{max-height:55vh}.panel-head strong{font-size:15px}.stop-marker{transform:scale(.92)}.line-result{grid-template-columns:62px minmax(0,1fr) 18px}.line-result-number{font-size:21px}.line-choice{grid-template-columns:48px minmax(0,1fr) 18px}.route-stop-row{grid-template-columns:39px minmax(0,1fr) 17px}body.tracking .topbar{height:62px}.tracking-nav{height:62px}.tracking-route-strip{height:48px;font-size:14px;padding:0 12px}body.tracking main{height:calc(100vh - 110px)}.tracking-card{grid-template-columns:1fr 104px;min-height:90px}.tracking-info-cell{padding:12px}.tracking-info-cell>span{font-size:10px}.tracking-info-cell>strong{font-size:14px}.tracking-arrival>strong{font-size:21px}.tracking-arrival>strong.approaching{font-size:13px}.tracking-nav strong{font-size:27px}.tracking-live-pill{display:none}
}
