*,:before,:after{box-sizing:border-box}:root{--app-inline-gutter:16px;--app-bottom-nav-height:76px;--app-bottom-nav-edge-gap:0px;--app-main-bottom-space:calc(var(--app-bottom-nav-height) + var(--app-bottom-nav-edge-gap) + env(safe-area-inset-bottom,0px));--radius-8:8px;--radius-12:12px;--radius-16:16px;--radius-24:24px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--z-carousel-nav:3;--z-sticky:12;--z-nav:100;--z-overlay-backdrop:340;--z-overlay-panel:360;--z-skip-link:1000;--carousel-nav-bg:#0e0f14db;--carousel-nav-text:#f4f4f6;--carousel-nav-border:#ffffff47;--metro-primary:#3a3fd8;--metro-primary-hover:#2f34c8;--metro-primary-pressed:#2a2eb0;--metro-primary-text:#3a3fd8;--metro-on-primary:#fff;--metro-focus-ring:#3a3fd8;--metro-qr-surface:#fff;--map-chip-bg:#fff;--map-chip-text:#3d4049;--map-chip-link:#3a3fd8;--metro-success:#0b7a4b;--metro-warning:#8f5f00;--metro-danger:#b4232f;--metro-on-danger:#fff;--metro-bg:#f4f4f6;--metro-card:#fff;--metro-card-elevated:#fff;--metro-card-inset:#ececf0;--metro-text:#0e0f14;--metro-muted:#5b5e69;--metro-border:#dcdde3;--metro-input-border:#7d808b;--metro-placeholder:#666974;--metro-shadow-sm:0 1px 2px #0e0f140d,0 1px 1px #0e0f1408;--metro-shadow-md:0 5px 14px #0e0f1412,0 2px 6px #0e0f140d;--metro-shadow-lg:0 14px 32px #0e0f1424,0 4px 14px #0e0f1414;--transit-card-sub-from:#3a3fd8;--transit-card-sub-to:#1e2190;--transit-card-trip-from:#2c2f3a;--transit-card-trip-to:#0e0f14;--transit-card-border:#ffffff3d;--transit-card-muted:#ffffffe6;--transit-card-trip-in-use:#0b7a4b;--metro-theme-color:#fff;--metro-splash-bg:#fff;--motion-fast:.14s;--motion-base:.18s;--motion-slow:.24s;--motion-travel:.36s;--motion-draw:.6s;--motion-journey:1.4s;--motion-stagger:60ms;--motion-ease:cubic-bezier(.2,0,0,1);--motion-ease-track:cubic-bezier(.65,0,.35,1);--motion-ease-exit:cubic-bezier(.4,0,1,1)}[data-mantine-color-scheme=dark]{--metro-bg:#0c0d11;--metro-card:#15161c;--metro-card-elevated:#1b1d25;--metro-card-inset:#101116;--metro-text:#ecedf2;--metro-muted:#a2a5b1;--metro-border:#2a2c36;--metro-input-border:#7b7e8b;--metro-placeholder:#9497a3;--metro-primary:#4348e6;--metro-primary-hover:#5156ec;--metro-primary-pressed:#3a3fd8;--metro-primary-text:#a9aeff;--metro-focus-ring:#a9aeff;--metro-success:#4cc38a;--metro-warning:#e0a43a;--metro-danger:#ff8b8b;--metro-on-danger:#0e0f14;--metro-shadow-sm:0 1px 2px #0000004d;--metro-shadow-md:0 6px 16px #0000005c,0 2px 6px #0000003d;--metro-shadow-lg:0 16px 36px #00000080,0 4px 14px #0000004d;--transit-card-sub-from:#4348e6;--transit-card-sub-to:#23268f;--transit-card-trip-from:#353946;--transit-card-trip-to:#17181f;--transit-card-border:#ffffff29;--transit-card-muted:#ffffffe6;--carousel-nav-bg:#0c0d11b8;--carousel-nav-text:#ecedf2;--carousel-nav-border:#ffffff3d;--metro-theme-color:#0c0d11;--metro-splash-bg:#0c0d11}.ticket-option-price,.dashboard-qr-token-timer,.tabular-nums{font-variant-numeric:tabular-nums}.mantine-Input-input:not([data-error]):not([data-variant=unstyled]){--input-bd:var(--metro-input-border)}html,body{margin:0;padding:0}body{font-family:var(--font-sans),system-ui,sans-serif;color:var(--metro-text);background:var(--metro-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain}input,textarea,select,.mantine-Input-input,.mantine-Textarea-input,.mantine-Select-input,.mantine-NativeSelect-input,.mantine-PasswordInput-input{font-size:16px}body.keyboard-open{overscroll-behavior:none}.maplibregl-map{background:var(--metro-card-inset);font:inherit}.maplibregl-ctrl-group:not(:empty){border:1px solid var(--metro-border);border-radius:var(--radius-12);box-shadow:var(--metro-shadow-lg);background:var(--metro-card-elevated);overflow:hidden}.maplibregl-ctrl-group button+button{border-top-color:var(--metro-border)}.maplibregl-ctrl-group button:not(:disabled):hover{background:var(--metro-card-inset)}[data-mantine-color-scheme=dark] .maplibregl-ctrl-group .maplibregl-ctrl-icon{filter:invert()}.route-map-popup .maplibregl-popup-content{border-radius:var(--radius-12);background:var(--metro-card-elevated);color:var(--metro-text);box-shadow:var(--metro-shadow-lg);padding:6px 10px;font-size:13px;font-weight:600}.route-map-popup.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--metro-card-elevated)}.route-map-popup.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--metro-card-elevated)}.route-map-surface{isolation:isolate;z-index:0;position:relative}.route-map-surface .route-map-canvas{z-index:0;position:relative}a{color:inherit}.desktop-content{width:min(100%,760px);margin-inline:auto}.desktop-wide{width:min(100%,1240px);margin-inline:auto}.desktop-app-content{width:min(100%,1080px);margin-inline:auto}.desktop-app-wide{width:min(100%,1320px);margin-inline:auto}.tickets-desktop-layout{display:block}.tickets-desktop-rail{position:static}.routes-desktop-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.routes-desktop-map-rail{align-self:start;position:sticky;top:80px}.dashboard-desktop-bottom{display:block}.tickets-rail-card{border-radius:var(--radius-12)}.qr-desktop-layout{display:block}.ui-page-title{letter-spacing:-.02em;line-height:1.02}.ui-page-subtitle{max-width:60ch;line-height:1.4}.ui-section-title{letter-spacing:-.01em;line-height:1.1}.ui-section-subtitle{line-height:1.35}.ui-surface{background:var(--metro-card);border:1px solid var(--metro-border);transition:box-shadow var(--motion-base)var(--motion-ease),border-color var(--motion-base)var(--motion-ease)}.ui-surface-default{box-shadow:var(--metro-shadow-sm)}.ui-surface-elevated{box-shadow:var(--metro-shadow-md)}.ui-surface-inset{background:var(--metro-card-inset);box-shadow:inset 0 1px #ffffff0a}.ui-surface-sm{padding:var(--space-12)}.ui-surface-md{padding:var(--space-16)}.ui-surface-lg{padding:var(--space-24)}.ui-cta-primary{background:var(--metro-primary)}.ui-cta-primary:hover{background:var(--metro-primary-hover)}.ui-cta-primary:active{background:var(--metro-primary-pressed)}.ui-cta-secondary{background:color-mix(in srgb,var(--metro-primary)10%,transparent);color:var(--metro-primary-text)}.ui-cta-ghost{color:var(--metro-muted)}.ui-cta-danger{background:var(--metro-danger);color:var(--metro-on-danger)}.ui-list-row{padding:var(--space-12);border-radius:var(--radius-12);min-height:44px}.ui-list-row:hover{background:color-mix(in srgb,var(--metro-primary)7%,transparent)}.ui-list-row:focus-visible{outline:2px solid var(--metro-focus-ring);outline-offset:2px}.ui-row-list{margin-inline:calc(-1*var(--space-12));margin-block-end:calc(-1*var(--space-12))}.ui-row-list:first-child{margin-block-start:calc(-1*var(--space-12))}.ui-row-list .ui-row{padding:var(--space-12);border-radius:var(--radius-8)}.ui-row-list>*{border:0;position:relative}.ui-row-list>:not(:last-child):after{content:"";inset-inline:var(--space-12);background:var(--metro-border);height:1px;position:absolute;bottom:0}.mantine-Alert-icon{margin-inline-end:var(--space-8)!important}.history-desktop-row:hover{background:color-mix(in srgb,var(--metro-primary)4%,transparent)}.tap-scale{transition:transform var(--motion-fast)var(--motion-ease)}.tap-scale:active{transform:scale(.98)}.route-sheet-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ticket-option{background:var(--metro-card);flex-direction:column;justify-content:space-between;height:100%;display:flex}.ticket-option-active{border-color:var(--metro-primary-text)!important}.ticket-option-name{font-size:1.125rem;line-height:1.3}.ticket-option-price{white-space:nowrap;flex-shrink:0;font-size:1.25rem;font-weight:600;line-height:1.2}.dashboard-qr-hero{border-radius:var(--radius-16);padding:var(--space-16);color:var(--metro-on-primary);position:relative;overflow:hidden}.dashboard-qr-hero:after{content:"";z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--transit-card-border);pointer-events:none;position:absolute;inset:0}.dashboard-qr-layer{z-index:0;transition:opacity var(--motion-travel)var(--motion-ease);position:absolute;inset:0}.dashboard-qr-hero[data-mode=trip_credit] .dashboard-qr-hero-subscription,.dashboard-qr-hero[data-mode=subscription] .dashboard-qr-hero-trips{opacity:0}.dashboard-qr-arrive{animation:dashboard-qr-arrive var(--motion-travel)var(--motion-ease-track)both}@keyframes dashboard-qr-arrive{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:none}}.dashboard-qr-doors{border-radius:var(--radius-12);pointer-events:none;display:flex;position:absolute;inset:14px;overflow:hidden}.dashboard-qr-door{transition:transform var(--motion-travel)var(--motion-ease-track);background:linear-gradient(#071731d1 0%,#071731e6 100%);flex:1;position:relative}.dashboard-qr-door:before{content:"";background:#ffffff14;border-radius:8px;position:absolute;inset:14% 18% 46%}.dashboard-qr-door-left{border-right:1px solid #ffffff38}.dashboard-qr-door-right{border-left:1px solid #ffffff38}.dashboard-qr-doors-label{place-content:center;justify-items:center;gap:var(--space-8);padding:var(--space-16);color:var(--metro-on-primary);text-align:center;transition:opacity var(--motion-fast)var(--motion-ease);display:grid;position:absolute;inset:0}.dashboard-qr-doors[data-open=true] .dashboard-qr-door-left{transform:translate(-101%)}.dashboard-qr-doors[data-open=true] .dashboard-qr-door-right{transform:translate(101%)}.dashboard-qr-doors[data-open=true] .dashboard-qr-doors-label{opacity:0}.dashboard-qr-doors[data-open=false] .dashboard-qr-doors-label{transition-delay:var(--motion-travel)}.dashboard-qr-refresh-bar{background:color-mix(in srgb,currentColor 25%,transparent);border-radius:999px;width:min(100%,236px);height:4px;display:block;overflow:hidden}.dashboard-qr-refresh-bar-fill{transform-origin:0;background:currentColor;border-radius:999px;height:100%;transition:transform 1s linear;display:block}.dashboard-qr-hero-subscription{background:linear-gradient(140deg,var(--transit-card-sub-from),var(--transit-card-sub-to))}.dashboard-qr-hero-trips{background:var(--transit-card-trip-in-use)}.dashboard-qr-hero-layout{z-index:1;gap:var(--space-16);flex-direction:column;display:flex;position:relative}.dashboard-qr-hero-topbar{min-height:40px}.dashboard-qr-top-plan{letter-spacing:-.02em;color:var(--metro-on-primary);font-size:24px;font-weight:600;line-height:1.2}.dashboard-qr-hero-code-wrap{z-index:1;position:relative}.dashboard-qr-menu-trigger{color:var(--metro-on-primary)!important}.dashboard-qr-reveal{cursor:pointer;background:0 0;border:0;padding:0}.dashboard-qr-reveal:focus-visible{outline:2px solid var(--metro-on-primary);outline-offset:4px;border-radius:var(--radius-16)}.dashboard-qr-frame{background:var(--metro-qr-surface);border-radius:var(--radius-12);border:1px solid #d7dde5d1;padding:16px;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff59}.dashboard-qr-code{border-radius:var(--radius-12);transition:filter var(--motion-base)var(--motion-ease),transform var(--motion-base)var(--motion-ease),opacity var(--motion-slow)var(--motion-ease);position:relative;overflow:hidden}.dashboard-qr-code[data-revealed=false]{filter:blur(15px)saturate(.76);transform:scale(1.035)}.dashboard-qr-overlay{place-content:center;justify-items:center;gap:var(--space-8);padding:var(--space-16);border-radius:var(--radius-12);color:var(--metro-on-primary);text-align:center;pointer-events:none;opacity:0;transition:opacity var(--motion-base)var(--motion-ease);background:linear-gradient(#071731b3 0%,#071731cc 100%);display:grid;position:absolute;inset:14px}.dashboard-qr-overlay[data-visible=true]{opacity:1}.dashboard-qr-info-row{align-items:flex-end;gap:var(--space-12);min-height:44px}.dashboard-qr-token-timer{white-space:nowrap}.dashboard-qr-hero-empty{background:linear-gradient(140deg,var(--transit-card-sub-from),var(--transit-card-sub-to))}.dashboard-qr-empty-placeholder{filter:blur(3px)saturate(.5);opacity:.5}@media (min-width:64em){.dashboard-qr-hero-layout{gap:var(--space-16)}.dashboard-qr-hero-code-wrap{align-items:center!important}}.ui-skeleton-card{background:var(--metro-card);border:1px solid var(--metro-border)}.ui-skeleton-pulse{background:color-mix(in srgb,var(--metro-text)9%,transparent);animation:skeleton-pulse 1.6s var(--motion-ease-track)infinite}.ui-skeleton-still{animation:none}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (max-width:63.999em){.mantine-AppShell-main .mantine-Container-root,.mantine-AppShell-main .desktop-content,.mantine-AppShell-main .desktop-app-content,.mantine-AppShell-main .desktop-app-wide{padding-inline:0!important}}.dashboard-qr-trip-switch{align-self:center}.dashboard-qr-trip-switch .mantine-Switch-label{color:var(--metro-on-primary);font-weight:600}.metro-loader{padding:0 var(--space-8);display:inline-block}.metro-loader-rail{width:96px;height:12px;display:block;position:relative}.metro-loader-track{opacity:.45;background:currentColor;border-radius:999px;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.metro-loader-stop{background:var(--button-bg,var(--metro-primary));border:2px solid;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;transform:translate(-50%,-50%)}.metro-loader-train{width:16px;height:8px;animation:metro-loader-run 1.6s var(--motion-ease-track)infinite;background:currentColor;border-radius:999px;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}@keyframes metro-loader-run{0%{left:0%}18%,25%{left:25%}43%,50%{left:50%}68%,75%{left:75%}93%,to{left:100%}}.gps-ping{display:inline-flex;position:relative}.gps-ping[data-active=true]:before,.gps-ping[data-active=true]:after{content:"";border:2px solid;border-radius:50%;animation:1.4s cubic-bezier(0,0,.2,1) infinite gps-ping;position:absolute;inset:-4px}.gps-ping[data-active=true]:after{animation-delay:.7s}@keyframes gps-ping{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.9)}}@keyframes motion-rise{0%{opacity:0;transform:translateY(var(--motion-y,10px))}to{opacity:1;transform:none}}.motion-reveal,.motion-list-item{animation:motion-rise var(--motion-slow)var(--motion-ease)both}.motion-reveal{animation-delay:var(--motion-delay,0s)}.motion-list-item{--motion-y:10px}.motion-list-item:nth-child(2){animation-delay:calc(var(--motion-stagger)*1)}.motion-list-item:nth-child(3){animation-delay:calc(var(--motion-stagger)*2)}.motion-list-item:nth-child(4){animation-delay:calc(var(--motion-stagger)*3)}.motion-list-item:nth-child(5){animation-delay:calc(var(--motion-stagger)*4)}.motion-list-item:nth-child(n+6){animation-delay:calc(var(--motion-stagger)*5)}@media (prefers-reduced-motion:reduce){.routes-sheet{transition:none}.motion-reveal,.motion-list-item,.dashboard-qr-arrive,.checkout-success-enter,.ui-skeleton-pulse{animation:none}.checkout-success-check{stroke-dashoffset:0;animation:none}.metro-loader-train{animation:none;left:50%}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@media (min-width:64em){:root{--app-inline-gutter:20px;--app-bottom-nav-height:0px;--app-bottom-nav-edge-gap:0px;--app-main-bottom-space:0px}.desktop-content{width:min(100%,940px)}.desktop-app-content{width:min(100%,1160px)}.ui-page-title.ui-page-title{font-size:2rem}.ui-page-subtitle.ui-page-subtitle{font-size:1rem}.desktop-two-col{grid-template-columns:minmax(0,1.5fr) minmax(280px,360px);align-items:start;gap:24px;display:grid}.desktop-rail{align-self:start;position:sticky;top:80px}.profile-desktop-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.tickets-desktop-layout{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start;gap:24px;display:grid}.tickets-desktop-catalog{gap:var(--space-16)}.tickets-desktop-grid .mantine-Grid-col{display:flex}.tickets-desktop-rail{align-self:start;max-width:390px;position:sticky;top:80px}.tickets-desktop-rail .tickets-rail-card{padding:var(--space-16)}.qr-desktop-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.dashboard-desktop-bottom{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}}@media (min-width:75em){.desktop-app-wide{width:min(100%,1360px)}.tickets-desktop-layout{grid-template-columns:minmax(0,1fr) minmax(340px,390px)}.desktop-two-col{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr)}.routes-desktop-layout{grid-template-columns:minmax(360px,460px) minmax(0,1fr)}.profile-desktop-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.profile-card-main{grid-row:span 3}}@media (min-width:64em){.stations-sticky-toolbar{z-index:var(--z-sticky);width:100vw;box-shadow:none;transition:background-color var(--motion-fast)var(--motion-ease),border-color var(--motion-fast)var(--motion-ease),box-shadow var(--motion-fast)var(--motion-ease);background:0 0;border-bottom:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-inline:0;position:sticky;top:64px}.stations-sticky-toolbar.is-stuck{background:var(--metro-card-elevated);border-bottom:1px solid var(--metro-border);box-shadow:var(--metro-shadow-sm)}.stations-sticky-toolbar-inner{width:100%;margin-inline:0;padding-block:8px}.stations-sticky-toolbar.is-stuck .stations-sticky-toolbar-inner{width:min(calc(100vw - (var(--app-inline-gutter)*2)),1320px);margin-inline:auto}.stations-toolbar-surface{background:var(--metro-card-elevated);border-color:var(--metro-border);width:100%;box-shadow:var(--metro-shadow-md)}}@media (min-width:75em){.stations-sticky-toolbar.is-stuck .stations-sticky-toolbar-inner{width:min(calc(100vw - (var(--app-inline-gutter)*2)),1360px)}}.checkout-success-enter{--motion-y:12px;animation:motion-rise var(--motion-slow)var(--motion-ease)both}.checkout-success-check{stroke-dasharray:1;stroke-dashoffset:1px;animation:checkoutCheckDraw var(--motion-draw)var(--motion-ease-track)var(--motion-slow)forwards}@keyframes checkoutCheckDraw{to{stroke-dashoffset:0}}.qr-crossfade{transition:opacity var(--motion-slow)var(--motion-ease)}.qr-crossfade[data-refreshing=true]{opacity:.3}.field-error-hint{color:var(--metro-danger);animation:fieldErrorIn var(--motion-base)var(--motion-ease);margin-top:4px;font-size:12px}@keyframes fieldErrorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mantine-focus-auto:focus-visible,.mantine-focus-always:focus{outline-color:var(--metro-focus-ring)}.skip-to-content{width:1px;height:1px;z-index:var(--z-skip-link);padding:var(--space-12)var(--space-24);background:var(--metro-primary);color:var(--metro-on-primary);border-radius:0 0 var(--radius-12)var(--radius-12);font-size:.875rem;font-weight:600;text-decoration:none;position:absolute;top:auto;left:-9999px;overflow:hidden}.skip-to-content:focus{outline:2px solid var(--metro-on-primary);outline-offset:2px;width:auto;height:auto;position:fixed;top:0;left:50%;transform:translate(-50%)}.ui-cta-primary:focus-visible,.ui-cta-secondary:focus-visible,.ui-cta-ghost:focus-visible,.ui-cta-danger:focus-visible{outline:2px solid var(--metro-focus-ring);outline-offset:2px}.ui-cta-danger:focus-visible{outline-color:var(--metro-danger)}.route-od-card{padding:0 var(--space-8)0 var(--space-16);border:1.5px solid var(--metro-input-border);border-radius:var(--radius-12);background:var(--metro-card);transition:border-color var(--motion-fast)var(--motion-ease),box-shadow var(--motion-fast)var(--motion-ease);position:relative}.route-od-card:focus-within{border-color:var(--metro-primary-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--metro-primary)18%,transparent)}.route-od-card:before{content:"";left:calc(var(--space-16) + 6px);border-left:2px dotted var(--metro-muted);position:absolute;top:39px;bottom:39px}.route-od-row{align-items:center;gap:var(--space-12);min-height:56px;display:flex}.route-od-divider{height:1px;margin-left:calc(14px + var(--space-12));background:var(--metro-border)}.route-od-marker{flex:none;width:14px;height:14px}.route-od-marker-origin{border:4px solid var(--metro-primary-text);background:var(--metro-card);border-radius:50%}.route-od-marker-destination{background:var(--metro-text);border-radius:4px}.route-od-field{flex:1;min-width:0}.route-od-card .route-od-input{height:56px;color:var(--metro-text);padding:0;font-size:16px}.route-od-current{text-align:left;min-height:56px;color:var(--metro-primary-text);flex:1;font-size:16px;font-weight:500}.route-od-current:disabled{color:var(--metro-muted)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html.routes-map-mode,html.routes-map-mode body{overscroll-behavior:none;overflow:hidden}.routes-map-stage{top:var(--app-shell-header-height,56px);z-index:1;background:var(--metro-bg);position:fixed;bottom:0;left:0;right:0}.route-map-surface.route-map-fullbleed{position:absolute;inset:0}.route-map-fullbleed .maplibregl-ctrl-attrib{background:var(--map-chip-bg);color:var(--map-chip-text)}.route-map-fullbleed .maplibregl-ctrl-attrib a{color:var(--map-chip-link)}.routes-sheet{z-index:2;max-height:70dvh;padding-bottom:var(--app-main-bottom-space);border-radius:var(--radius-16)var(--radius-16)0 0;background:var(--metro-card-elevated);box-shadow:0 -10px 30px #0f172a29,0 -1px 0 var(--metro-border);transition:translate var(--motion-slow)var(--motion-ease);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.routes-sheet-scroll{overscroll-behavior:contain;min-height:0;padding:0 max(var(--app-inline-gutter),env(safe-area-inset-right,0px))var(--space-12)max(var(--app-inline-gutter),env(safe-area-inset-left,0px));flex:auto;overflow-y:auto}.routes-sheet-handle{width:100%;height:24px;padding:var(--space-8)0 0;border-radius:var(--radius-16)var(--radius-16)0 0;cursor:grab;touch-action:none;background:0 0;border:0;flex:none;justify-content:center;align-items:flex-start;display:flex;position:relative}.routes-sheet-handle:before{content:"";width:120px;height:20px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.routes-sheet-handle:active{cursor:grabbing}.routes-sheet-handle:focus-visible{outline:2px solid var(--metro-focus-ring);outline-offset:-4px}.routes-sheet-grabber{background:var(--metro-input-border);width:36px;height:4px;transition:background-color var(--motion-fast)var(--motion-ease);border-radius:999px}.routes-sheet-handle:hover .routes-sheet-grabber,.routes-sheet-handle:active .routes-sheet-grabber{background:var(--metro-muted)}.routes-sheet-error{padding:var(--space-12)var(--space-12);border:1px solid color-mix(in srgb,var(--metro-danger)32%,var(--metro-border));border-radius:var(--radius-12);background:color-mix(in srgb,var(--metro-danger)10%,transparent)}.routes-trip-summary{align-items:center;gap:var(--space-12);width:100%;padding:var(--space-12)var(--space-8)var(--space-12)var(--space-16);border:1.5px solid var(--metro-input-border);border-radius:var(--radius-12);background:var(--metro-card);color:var(--metro-text);text-align:left;transition:border-color var(--motion-fast)var(--motion-ease);display:flex}.routes-trip-summary:hover{border-color:var(--metro-primary-text)}.routes-trip-summary:focus-visible{outline:2px solid var(--metro-focus-ring);outline-offset:2px}.routes-trip-summary-markers{flex-direction:column;flex:none;align-items:center;gap:4px;display:flex}.routes-trip-summary-markers .route-od-marker{width:12px;height:12px}.routes-trip-summary-markers .route-od-marker-origin{border-width:3px}.routes-trip-summary-connector{border-left:2px dotted var(--metro-muted);height:10px}.routes-trip-summary-places{gap:var(--space-8);flex-direction:column;flex:1;min-width:0;display:flex}.routes-trip-summary-place{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:500;line-height:1.3;overflow:hidden}.routes-trip-summary-edit{width:40px;height:40px;color:var(--metro-primary-text);background:color-mix(in srgb,var(--metro-primary)10%,transparent);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.dashboard-desktop-grid{align-items:start;gap:var(--space-24);grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);display:grid}:root .mantine-Badge-root{--badge-height-xs:20px;--badge-height-sm:20px;--badge-height-md:24px;--badge-height-lg:28px;--badge-height-xl:32px;--badge-fz-xs:.75rem;--badge-fz-sm:.75rem;--badge-fz-md:.75rem;--badge-fz-lg:.875rem;--badge-fz-xl:1rem}:root .mantine-Badge-root[data-variant=dot]{color:var(--metro-text)}@media (min-width:48em) and (max-width:63.999em){.mantine-AppShell-main .mantine-Container-root{max-width:40rem;margin-inline:auto}.routes-sheet{width:min(40rem,100%);left:50%;right:auto;transform:translate(-50%)}}.ui-page-back{flex-shrink:0;margin-top:-7px;margin-left:-8px}.tickets-tab-switch{background:var(--metro-card);border:1px solid var(--metro-border);box-shadow:var(--metro-shadow-sm)}.mantine-SegmentedControl-label:not([data-active]){color:var(--metro-muted)}.notification-row{cursor:pointer}.notification-list>:not(:first-child) .notification-row{border-top:1px solid var(--metro-border)}.profile-category-list{border:1px solid var(--metro-border);border-radius:var(--radius-12);overflow:hidden}.profile-category-row.profile-category-row{padding:var(--space-12)var(--space-16);background:0 0;border:0}.profile-category-row.profile-category-row+.profile-category-row{border-top:1px solid var(--metro-border)}.profile-category-row.profile-category-row[data-checked]{background:color-mix(in srgb,var(--metro-primary)6%,transparent)}.profile-category-row:disabled,.profile-category-row[data-disabled]{opacity:.6;cursor:not-allowed}.station-list-panel{overflow:hidden;padding-block:0!important}.station-list{grid-template-columns:minmax(0,1fr);margin-bottom:-1px;display:grid}.station-row{padding-block:var(--space-12);border-bottom:1px solid var(--metro-border)}.station-row[data-inside]{box-shadow:inset 3px 0 0 var(--metro-success);padding-left:var(--space-12)}.station-exits{margin-top:var(--space-8)}.station-exit{padding-block:var(--space-8);border-top:1px solid var(--metro-border)}@media (min-width:64em){.station-list{column-gap:var(--space-24);grid-template-columns:repeat(2,minmax(0,1fr))}}
