/* PartiuPonto: raster identity, precise shared pictograms, quiet navigation. */
/* Decorative transit signature; it does not represent loading or trip progress. */
.planner-route-art{position:absolute;top:0;left:24px;display:block;width:176px;max-width:calc(100% - 48px);height:12px;pointer-events:none;user-select:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.planner-route-blue{stroke:var(--navy)}
.planner-route-coral{stroke:var(--orange)}
.planner-route-trail{stroke:var(--navy);opacity:.12}
.planner-route-stop{fill:var(--paper);stroke-width:1.75}
.control-panel>.workspace-tabs{margin-top:2px;margin-bottom:8px}
:root[data-theme=dark] .planner-route-blue,:root[data-theme=dark] .planner-route-trail{stroke:var(--night-link)}
:root[data-theme=dark] .planner-route-trail{opacity:.24}
.brand .brand-lockup{display:grid;gap:6px}.brand .brand-logo{display:block;width:210px;height:auto;max-width:100%;object-fit:contain}
.brand .brand-lockup small{margin:0 0 0 47px;letter-spacing:.04em;text-transform:none;font-size:10px;font-weight:500;color:var(--muted)}
:root[data-theme=dark] .brand-logo{filter:brightness(0) invert(1)}
.brand-mark{background:none!important;border:0!important;box-shadow:none!important;overflow:hidden;border-radius:12px!important}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:none!important}
.auth-brand .brand-logo{display:block;width:200px;height:auto}.auth-brand{display:block}.auth-brand small{display:block;margin:9px 0 0 45px;color:var(--muted);font-size:10px}
.admin-brand .brand-mark{width:42px;height:42px;flex:0 0 42px}.admin-brand b{font-size:18px;letter-spacing:-.03em}
.pp-icon{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.desktop-nav button .pp-icon{width:20px;height:20px}.desktop-nav button.active .pp-icon{stroke-width:1.75}
.account-avatar.guest{background:var(--navy);box-shadow:none;border-radius:12px}.account-avatar svg.pp-icon{width:23px;height:23px;stroke-width:1.7}
.map-pin .pp-icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}.map-pin.user .pp-icon{fill:none;stroke:#fff}.map-legend .pp-icon{width:21px;height:21px;stroke-width:1.75}
.install-app-visual{background:linear-gradient(145deg,#06357b,#0847a6)}.install-phone img{box-shadow:none;border-radius:17px}.install-phone strong{color:var(--navy);letter-spacing:-.04em}.install-bus{background:#fff;color:var(--navy);box-shadow:0 8px 22px #031c3b26;transform:none}.install-bus .pp-icon{width:28px;height:28px}
.mobile-nav-trigger .menu-close{display:none}.mobile-nav-trigger.is-open .menu-open{display:none}.mobile-nav-trigger.is-open .menu-close{display:block}
@media(max-width:900px){
  .topbar .brand .brand-logo{width:178px}.brand .brand-lockup small{display:none}.brand .brand-lockup{gap:0}
  .mobile-nav-trigger{border-radius:18px;background:rgba(8,48,77,.82);box-shadow:0 8px 24px #082b4d26}.mobile-nav-trigger .pp-icon{width:23px;height:23px}
  #mobile-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px;width:min(318px,calc(100vw - 24px));border-radius:23px;background:var(--paper);border:1px solid var(--line)}
  #mobile-nav>button:not(.reading-menu-action){display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:64px;padding:10px 12px;border:1px solid transparent;border-radius:15px;background:transparent;color:var(--ink)}
  #mobile-nav>button i{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;color:var(--muted);background:transparent}
  #mobile-nav>button i .pp-icon{width:26px;height:26px;stroke-width:1.75}
  #mobile-nav>button>span{font-size:11px;font-weight:600;line-height:1.25;text-align:left}
  #mobile-nav>button.active:not(.reading-menu-action){background:#eaf1fb;color:#0847a6;border-color:#cadbf3}
  #mobile-nav>button.active i{color:#0847a6;background:#dce9fb}
  #mobile-nav .reading-menu-action{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:8px 12px;min-height:50px;margin-top:3px;border-top:1px solid var(--line);border-radius:0 0 14px 14px;background:transparent;color:var(--muted)}
  #mobile-nav .reading-menu-action i .pp-icon{width:22px;height:22px}
  :root[data-theme=dark] #mobile-nav{background:var(--paper)}
  :root[data-theme=dark] #mobile-nav>button.active:not(.reading-menu-action){background:#203f59;border-color:#466889;color:#c7dfff}
  :root[data-theme=dark] #mobile-nav>button.active i{background:#294f70;color:#c7dfff}
}
@media(max-width:360px){.topbar .brand .brand-logo{width:158px}#mobile-nav>button:not(.reading-menu-action){padding:9px;gap:7px}#mobile-nav>button i{width:30px;flex-basis:30px}#mobile-nav>button>span{font-size:10px}}
