/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.h-9{height:calc(var(--spacing) * 9)}.h-full{height:100%}.w-36{width:calc(var(--spacing) * 36)}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[var\(--muted\)\]{color:var(--muted)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}@media (min-width:80rem){.xl\:block{display:block}}}:root{--background:#f3f4f5;--surface:#fff;--surface-soft:#f8f9fa;--surface-muted:#eef0f2;--ink:#121416;--ink-soft:#2c3035;--muted:#6b7179;--muted-2:#9298a0;--line:#e2e5e8;--line-strong:#d5d9de;--scarlet:#ba0c2f;--scarlet-strong:#9e0827;--scarlet-soft:#fbeaec;--green:#19754b;--green-soft:#e7f6ee;--amber:#a55d08;--amber-soft:#fff4df;--red:#b42318;--red-soft:#feeceb;--blue:#2865b6;--blue-soft:#e9f1fc;--shadow-sm:0 1px 2px #1018280a;--shadow-md:0 16px 38px -24px #10182847,0 3px 10px #1018280a;--shadow-lg:0 30px 80px -30px #0c101857,0 8px 24px #0c101814;--radius-sm:10px;--radius:16px;--radius-lg:22px;--page-width:1600px}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth;overflow-x:clip}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 10% -20%,#ba0c2f12,transparent 28rem),var(--background);font-feature-settings:"ss01" 1,"cv02" 1,"tnum" 1;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;overflow-x:hidden}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}a{text-decoration:none}::selection{color:#fff;background:var(--scarlet)}:focus-visible{outline-offset:2px;outline:3px solid #2865b64d}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c6cbd1 padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}.app-frame{min-height:100vh}.topbar{z-index:50;-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);background:#ffffffdb;border-bottom:1px solid #12141612;position:sticky;top:0;box-shadow:0 1px #ffffffbf}.topbar__inner{width:min(calc(100% - 40px),var(--page-width));gap:28px;min-height:72px;margin:0 auto}.brand,.topbar__inner{align-items:center;display:flex}.brand{cursor:pointer;text-align:left;background:0 0;border:0;flex:none;gap:11px;padding:0}.brand__mark{color:#fff;background:linear-gradient(145deg,#d0173d,#9e0827 72%),var(--scarlet);border-radius:13px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 8px 18px -9px #ba0c2fa6,inset 0 1px #fff3}.brand__mark svg{width:23px;height:23px}.brand__mark--small{border-radius:11px;width:34px;height:34px}.brand>span:last-child,.site-footer>div>span:last-child{gap:1px;display:grid}.brand strong,.site-footer strong{letter-spacing:-.02em;font-size:14px;font-weight:760}.brand small,.site-footer small{color:var(--muted);letter-spacing:.14em;font-size:9px;font-weight:750}.desktop-nav{align-self:stretch;align-items:center;gap:4px;margin-left:18px;display:flex}.desktop-nav a,.desktop-nav button{height:100%;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;padding:0 15px;font-size:13px;font-weight:650;display:grid;position:relative}.desktop-nav .is-active,.desktop-nav a:hover,.desktop-nav button:hover{color:var(--ink)}.desktop-nav .is-active:after{background:var(--scarlet);content:"";border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:16px;right:16px}.topbar__actions{gap:10px;margin-left:auto}.time-display,.topbar__actions{align-items:center;display:flex}.time-display{min-height:44px;color:var(--ink);gap:12px}.time-display__local,.time-display__primary{align-items:center;gap:8px;display:flex}.time-display__icon{border:1px solid var(--line);width:30px;height:30px;color:var(--scarlet);background:var(--surface);border-radius:10px;place-items:center;display:grid}.time-display__icon svg{width:17px;height:17px}.time-display span>small,.time-display span>strong{line-height:1.2;display:block}.time-display small{color:var(--muted);letter-spacing:.03em;white-space:nowrap;font-size:9px;font-weight:700}.time-display strong{font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;margin-top:3px;font-size:13px}.time-display__divider{background:var(--line);width:1px;height:26px}.time-display__local strong{color:var(--blue)}.permit-quick-button{border:1px solid var(--line);background:var(--surface);max-width:255px;height:46px;box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;border-radius:13px;align-items:center;gap:10px;padding:5px 10px 5px 6px;display:flex}.permit-quick-button:hover{border-color:#c7cbd1;box-shadow:0 5px 15px #10182812}.permit-quick-button>span:first-child{width:34px;height:34px;color:var(--scarlet);background:var(--scarlet-soft);border-radius:10px;flex:none;place-items:center;display:grid}.permit-quick-button>span:nth-child(2){flex:1;min-width:0}.permit-quick-button small,.permit-quick-button strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.permit-quick-button small{color:var(--muted);font-size:9px;font-weight:650}.permit-quick-button strong{margin-top:2px;font-size:11px;font-weight:730}.permit-quick-button>svg{width:14px;color:var(--muted)}.dashboard-shell{width:min(calc(100% - 40px),var(--page-width));margin:0 auto;padding:30px 0 32px}.dashboard-heading{justify-content:space-between;align-items:flex-end;gap:36px;display:flex}.eyebrow{color:var(--scarlet);letter-spacing:.15em;font-size:10px;font-weight:800}.dashboard-heading h1{letter-spacing:-.045em;margin:7px 0 8px;font-size:clamp(30px,3vw,46px);font-weight:780;line-height:1.08}.dashboard-heading h1 span{color:var(--muted-2);font-weight:600}.dashboard-heading>div:first-child>p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.dashboard-heading__right{flex:none;align-items:center;gap:16px;display:flex}.feed-status{border:1px solid var(--line);background:var(--surface);min-width:196px;min-height:50px;box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;border-radius:15px;align-items:center;gap:10px;padding:8px 12px;display:flex}.feed-status>svg{width:20px;height:20px;color:var(--muted)}.feed-status.is-live>svg{color:var(--green)}.feed-status.is-error>svg{color:var(--red)}.feed-status small,.feed-status strong{display:block}.feed-status strong{font-size:11px}.feed-status small{max-width:155px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 14px;display:grid}.metric-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;min-height:80px;box-shadow:var(--shadow-sm);align-items:center;gap:13px;padding:13px 14px;display:flex;position:relative;overflow:hidden}button.metric-card{cursor:pointer;text-align:left}button.metric-card:hover{box-shadow:var(--shadow-md);border-color:#cbd0d6}.metric-card__icon{width:44px;height:44px;color:var(--scarlet);background:var(--scarlet-soft);border-radius:13px;flex:none;place-items:center;display:grid}.metric-card__icon svg{width:24px;height:24px}.metric-card__icon--dark{color:var(--ink);background:#eceef0}.metric-card__icon--green{color:var(--green);background:var(--green-soft)}.metric-card__icon--blue{color:var(--blue);background:var(--blue-soft)}.metric-card>span:nth-child(2){min-width:0}.metric-card small,.metric-card strong{display:block}.metric-label--mobile{display:none}.metric-card small{color:var(--muted);font-size:10px;font-weight:650}.metric-card strong{letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:25px;font-weight:780;overflow:hidden}.metric-card>i{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:9px;font-style:normal;font-weight:650}.metric-card--scarlet{color:#fff;background:radial-gradient(circle at 90% 10%,#ffffff24,#0000 42%),linear-gradient(145deg,#c10e33,#980722);border-color:#a5092a;box-shadow:0 13px 26px -18px #ba0c2fcc}.metric-card--scarlet .metric-card__icon{color:#fff;background:#ffffff24}.metric-card--scarlet small,.metric-card--scarlet>i{color:#ffffffb3}.metric-card--permit>svg{width:18px;color:var(--muted);flex:none;margin-left:auto}.metric-progress{background:var(--surface-muted);border-radius:999px;width:24%;height:5px;position:absolute;bottom:18px;right:16px;overflow:hidden}.metric-progress i{border-radius:inherit;background:var(--ink);height:100%;display:block}.workspace-grid{grid-template-columns:minmax(360px,.8fr) minmax(0,1.45fr);align-items:start;gap:18px;display:grid}.map-workspace,.parking-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm)}.parking-panel{flex-direction:column;height:min(780px,100vh - 116px);min-height:640px;display:flex;overflow:hidden}.sidebar-tabs{border-bottom:1px solid var(--line);background:var(--surface-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:9px 10px;display:grid}.ev-panel-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow:hidden}.sidebar-tabs button{border:1px solid var(--line);min-width:0;height:45px;color:var(--muted);cursor:pointer;text-align:left;background:#fff;border-radius:11px;align-items:center;gap:8px;padding:5px 8px;display:flex}.sidebar-tabs button>svg{flex:0 0 22px;width:22px;height:22px}.sidebar-tabs button>span{min-width:0}.sidebar-tabs small,.sidebar-tabs strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-tabs strong{color:var(--ink);font-size:9px}.sidebar-tabs small{margin-top:2px;font-size:7px}.sidebar-tabs button.is-active{color:var(--scarlet);background:var(--scarlet-soft);box-shadow:inset 0 -2px var(--scarlet);border-color:#ba0c2f59}.transit-route-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.transit-route-panel__state{min-height:320px;color:var(--muted);text-align:center;flex:1;align-content:center;place-items:center;gap:7px;padding:24px;display:grid}.transit-route-panel__state svg{width:40px;height:40px;color:var(--blue)}.transit-route-panel__state strong{color:var(--ink);font-size:12px}.transit-route-panel__state span{font-size:8px}.transit-route-panel__warning{color:#8d5508;background:#fff7e8;border:1px solid #f1d6aa;border-radius:9px;align-items:center;gap:6px;margin:9px 10px 0;padding:7px 8px;font-size:7px;display:flex}.transit-route-panel__warning svg{flex:0 0 15px;width:15px;height:15px}.transit-route-panel__intro{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 13px;display:grid}.transit-route-panel__intro>span{width:36px;height:36px;color:var(--blue);background:var(--blue-soft);border-radius:11px;place-items:center;display:grid}.transit-route-panel__intro svg{width:20px;height:20px}.transit-route-panel__intro small,.transit-route-panel__intro strong{display:block}.transit-route-panel__intro strong{font-size:11px}.transit-route-panel__intro small{color:var(--muted);margin-top:2px;font-size:7px}.transit-route-panel__intro>b{min-width:28px;height:24px;color:var(--blue);background:var(--blue-soft);border-radius:99px;place-items:center;font-size:9px;display:grid}.transit-route-list{flex:1;min-height:0;padding:9px 9px 18px;overflow-y:auto}.transit-route-card{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:7px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.transit-route-card.is-selected{border-color:var(--route-color)}@supports (color:color-mix(in lab,red,red)){.transit-route-card.is-selected{border-color:color-mix(in srgb,var(--route-color) 42%,#fff)}}.transit-route-card.is-selected{box-shadow:0 10px 24px -20px var(--route-color)}.transit-route-card__summary{align-items:stretch;min-width:0;display:flex}.transit-route-card__main{cursor:pointer;text-align:left;background:0 0;border:0;flex:1;grid-template-columns:42px minmax(0,1fr) 15px;align-items:center;gap:9px;min-width:0;min-height:58px;padding:7px 9px;display:grid}.transit-route-card__code{color:#fff;background:var(--route-color);width:42px;height:38px;box-shadow:0 6px 14px -10px var(--route-color);border-radius:10px 10px 10px 4px;place-items:center;font-size:11px;font-weight:950;display:grid}.transit-route-card__copy{min-width:0}.transit-route-card__copy small,.transit-route-card__copy strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.transit-route-card__copy strong{font-size:10px}.transit-route-card__copy small{color:var(--muted);margin-top:4px;font-size:7px}.transit-route-card__copy small i{background:var(--muted-2);border-radius:50%;width:3px;height:3px;margin:0 5px 1px;display:inline-block}.transit-route-card__main>svg{width:14px;color:var(--muted)}.transit-route-card__map-toggle{border:0;border-left:1px solid var(--line);width:55px;color:var(--muted);background:var(--surface-soft);cursor:pointer;flex:0 0 55px;align-content:center;place-items:center;gap:2px;display:grid}.transit-route-card__map-toggle svg{width:16px;height:16px}.transit-route-card__map-toggle span{font-size:6px;font-weight:720}.transit-route-card__map-toggle.is-active{color:var(--route-color);background:var(--route-color)}@supports (color:color-mix(in lab,red,red)){.transit-route-card__map-toggle.is-active{background:color-mix(in srgb,var(--route-color) 8%,#fff)}}.transit-route-card__detail{border-top:1px solid var(--line);background:#f8fafb;padding:8px}.transit-route-directions{scrollbar-width:none;gap:5px;padding-bottom:7px;display:flex;overflow-x:auto}.transit-route-directions::-webkit-scrollbar{display:none}.transit-route-directions>span{border:1px solid var(--route-color);grid-template-columns:8px minmax(0,1fr);align-items:center;gap:0 5px;min-width:132px;display:grid}@supports (color:color-mix(in lab,red,red)){.transit-route-directions>span{border:1px solid color-mix(in srgb,var(--route-color) 22%,#fff)}}.transit-route-directions>span{background:#fff;border-radius:8px;padding:6px 7px}.transit-route-directions i{background:var(--route-color);border-radius:50%;grid-row:span 2;width:7px;height:7px}.transit-route-directions b,.transit-route-directions small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transit-route-directions b{font-size:7px}.transit-route-directions small{color:var(--muted);font-size:6px}.transit-vehicle-board>header{color:#fff;background:var(--route-color);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;display:grid}.transit-vehicle-board>header>span{width:30px;height:30px;color:var(--route-color);background:#fff;border-radius:8px;place-items:center;display:grid}.transit-vehicle-board>header svg{width:17px;height:17px}.transit-vehicle-board>header div{min-width:0}.transit-vehicle-board>header small,.transit-vehicle-board>header strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.transit-vehicle-board>header strong{font-size:8px}.transit-vehicle-board>header strong em{color:#875000;background:#fff0c5;border-radius:4px;margin-left:4px;padding:2px 4px;font-size:5.5px;font-style:normal}.transit-vehicle-board>header small{color:#ffffffbd;margin-top:2px;font-size:6px}.transit-vehicle-board>header>b{white-space:nowrap;font-size:6.5px}.transit-vehicle-board__destination{padding:6px 8px;display:flex}.transit-vehicle-board__destination strong{font-size:7.5px}.transit-vehicle-board__stops{padding:5px 7px;display:grid;position:relative}.transit-vehicle-board__stops:before{background:var(--route-color);content:"";width:2px;position:absolute;top:17px;bottom:17px;left:17px}.transit-vehicle-board__stops>div{border-radius:7px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;min-height:39px;padding:4px 5px 4px 0;display:grid;position:relative}.transit-vehicle-board__stops>div.is-next{background:var(--route-color)}@supports (color:color-mix(in lab,red,red)){.transit-vehicle-board__stops>div.is-next{background:color-mix(in srgb,var(--route-color) 8%,#fff)}}.transit-vehicle-board__stops i{z-index:1;border:2px solid var(--route-color);background:#fff;border-radius:50%;justify-self:center;place-items:center;width:10px;height:10px;display:grid}.transit-vehicle-board__stops .is-current i{border-color:#83919a}.transit-vehicle-board__stops .is-next i{color:#fff;background:var(--route-color);border:0;width:17px;height:17px}.transit-vehicle-board__stops .is-next i svg{width:10px;height:10px}.transit-vehicle-board__stops span{min-width:0}.transit-vehicle-board__stops small,.transit-vehicle-board__stops strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.transit-vehicle-board__stops small{color:var(--muted);font-size:5.8px}.transit-vehicle-board__stops strong{margin-top:2px;font-size:7.2px}.transit-vehicle-board__stops>div>b{color:var(--route-color);white-space:nowrap;background:#fff;border-radius:5px;padding:3px 5px;font-size:6px}.transit-route-card__empty{min-height:64px;color:var(--muted);background:#fff;border:1px dashed #cfd8de;border-radius:9px;align-items:center;gap:9px;padding:9px;display:flex}.transit-route-card__empty>svg{width:26px;height:26px;color:var(--route-color)}.transit-route-card__empty small,.transit-route-card__empty strong{display:block}.transit-route-card__empty strong{color:var(--ink);font-size:8px}.transit-route-card__empty small{margin-top:3px;font-size:6px;line-height:1.4}.transit-route-card__note{color:var(--muted);margin:7px 1px 0;font-size:6px;line-height:1.45}.transit-route-card__detail{gap:8px;display:grid}.transit-route-card__path{border:1px solid var(--route-color);min-width:0;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.transit-route-card__path{border:1px solid color-mix(in srgb,var(--route-color) 18%,#dfe5e9)}}.transit-route-card__path{background:#fff;border-radius:10px}.transit-route-card__path>header,.transit-vehicle-list__heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.transit-route-card__path>header{background:var(--route-color);border-bottom:1px solid #e5eaed}@supports (color:color-mix(in lab,red,red)){.transit-route-card__path>header{background:color-mix(in srgb,var(--route-color) 5%,#fff)}}.transit-route-card__path>header span{color:var(--route-color);align-items:center;gap:4px;font-size:7px;font-weight:850;display:flex}.transit-route-card__path>header svg{width:12px;height:12px}.transit-route-card__path>header small,.transit-vehicle-list__heading small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:5.7px;overflow:hidden}.transit-pattern-list{display:grid}.transit-pattern-board{border-bottom:1px solid #e8edef;grid-template-columns:85px minmax(0,1fr);align-items:stretch;min-width:0;display:grid}.transit-pattern-board:last-child{border-bottom:0}.transit-pattern-board__label{background:#f7f9fa;border-right:1px solid #e8edef;flex-direction:column;justify-content:center;min-width:0;padding:7px 8px;display:flex}.transit-pattern-board__label small,.transit-pattern-board__label strong{text-overflow:ellipsis;display:block;overflow:hidden}.transit-pattern-board__label strong{color:#25313a;font-size:6.5px;line-height:1.25}.transit-pattern-board__label small{color:var(--muted);white-space:nowrap;margin-top:3px;font-size:5.5px}.transit-pattern-board>ol,.transit-trip-strip{overscroll-behavior-inline:contain;scrollbar-color:var(--route-color) transparent;min-width:0;display:flex;overflow-x:auto}@supports (color:color-mix(in lab,red,red)){.transit-pattern-board>ol,.transit-trip-strip{scrollbar-color:color-mix(in srgb,var(--route-color) 35%,#d9e0e4) transparent}}.transit-pattern-board>ol,.transit-trip-strip{scrollbar-width:thin;scroll-snap-type:x proximity}.transit-pattern-board>ol{min-height:61px;margin:0;padding:7px 5px 5px;list-style:none}.transit-pattern-board>ol li{scroll-snap-align:start;text-align:center;grid-template-rows:15px minmax(0,1fr);justify-items:center;width:78px;min-width:78px;padding:0 4px;display:grid;position:relative}.transit-pattern-board>ol li:before{background:var(--route-color);width:100%;height:2px;position:absolute;top:6px;right:50%}@supports (color:color-mix(in lab,red,red)){.transit-pattern-board>ol li:before{background:color-mix(in srgb,var(--route-color) 58%,#fff)}}.transit-pattern-board>ol li:before{content:""}.transit-pattern-board>ol li:first-child:before{display:none}.transit-pattern-board>ol i{z-index:1;border:2px solid var(--route-color);background:#fff;border-radius:50%;width:9px;height:9px}.transit-pattern-board>ol li:first-child i,.transit-pattern-board>ol li:last-child i{background:var(--route-color);border-radius:3px}.transit-pattern-board>ol span{color:#3c4952;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:5.8px;font-weight:680;line-height:1.25;display:-webkit-box;overflow:hidden}.transit-pattern-board>p,.transit-route-card__path-empty{min-height:61px;color:var(--muted);align-items:center;gap:5px;margin:0;padding:8px;font-size:6px;display:flex}.transit-route-card__path-empty svg{width:13px;height:13px;color:var(--route-color)}.transit-vehicle-list{gap:5px;display:grid}.transit-vehicle-list__heading{padding:0 2px 1px}.transit-vehicle-list__heading strong{color:#34414a;font-size:6.5px}.transit-vehicle-board{background:#fff;border:1px solid #dce3e8;border-radius:10px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.transit-vehicle-board.is-expanded{border-color:var(--route-color)}@supports (color:color-mix(in lab,red,red)){.transit-vehicle-board.is-expanded{border-color:color-mix(in srgb,var(--route-color) 35%,#dce3e8)}}.transit-vehicle-board.is-expanded{box-shadow:0 8px 18px -18px var(--route-color)}.transit-vehicle-board__summary{width:100%;min-width:0;min-height:54px;color:inherit;cursor:pointer;text-align:left;background:#fff;border:0;grid-template-columns:31px minmax(76px,.9fr) minmax(75px,1.1fr) auto 11px;align-items:center;gap:6px;padding:6px 7px;display:grid}.transit-vehicle-board.is-expanded .transit-vehicle-board__summary{background:var(--route-color)}@supports (color:color-mix(in lab,red,red)){.transit-vehicle-board.is-expanded .transit-vehicle-board__summary{background:color-mix(in srgb,var(--route-color) 4%,#fff)}}.transit-vehicle-board__icon{color:#fff;background:var(--route-color);border-radius:9px 9px 9px 4px;place-items:center;width:31px;height:31px;display:grid}.transit-vehicle-board__icon svg{width:17px;height:17px}.transit-vehicle-board__identity,.transit-vehicle-board__next{min-width:0;display:block}.transit-vehicle-board__identity small,.transit-vehicle-board__identity strong,.transit-vehicle-board__next small,.transit-vehicle-board__next strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.transit-vehicle-board__identity strong{color:#24313a;font-size:7px}.transit-vehicle-board__identity strong em{color:#8d5700;background:#fff0c8;border-radius:4px;margin-left:3px;padding:1px 3px;font-size:5px;font-style:normal}.transit-vehicle-board__identity small,.transit-vehicle-board__next small{color:var(--muted);margin-top:3px;font-size:5.3px}.transit-vehicle-board__identity small i{background:var(--muted-2);border-radius:50%;width:2px;height:2px;margin:0 3px 1px;display:inline-block}.transit-vehicle-board__next{border-left:1px solid #e6ebee;padding-left:7px}.transit-vehicle-board__next strong{color:#1d2b33;margin-top:2px;font-size:6.5px}.transit-vehicle-board__summary>b{max-width:50px;color:var(--route-color);background:var(--route-color);border-radius:6px;padding:4px 5px}@supports (color:color-mix(in lab,red,red)){.transit-vehicle-board__summary>b{background:color-mix(in srgb,var(--route-color) 8%,#fff)}}.transit-vehicle-board__summary>b{text-align:center;white-space:nowrap;font-size:5.8px}.transit-vehicle-board__chevron{width:11px;height:11px;color:var(--muted)}.transit-vehicle-board__trip{background:#f8fafb;border-top:1px solid #e1e7ea;min-width:0}.transit-vehicle-board__destination{background:#eef3f5;border-bottom:1px solid #e3e8eb;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;padding:5px 7px;display:grid}.transit-vehicle-board__destination span{color:#fff;background:var(--route-color);border-radius:4px;padding:2px 4px;font-size:5.2px;font-weight:800}.transit-vehicle-board__destination strong{color:#26333b;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:6.4px;overflow:hidden}.transit-vehicle-board__destination small{color:var(--muted);font-size:5.3px}.transit-trip-strip{min-height:91px;margin:0;padding:8px 7px 7px;list-style:none}.transit-trip-strip li{scroll-snap-align:start;text-align:center;grid-template-rows:18px 11px 25px 13px;align-content:start;justify-items:center;width:96px;min-width:96px;padding:0 5px;display:grid;position:relative}.transit-trip-strip li:before{background:var(--route-color);width:100%;height:2px;position:absolute;top:8px;right:50%}@supports (color:color-mix(in lab,red,red)){.transit-trip-strip li:before{background:color-mix(in srgb,var(--route-color) 58%,#fff)}}.transit-trip-strip li:before{content:""}.transit-trip-strip li:first-child:before{display:none}.transit-trip-strip i{z-index:1;border:2px solid var(--route-color);color:#fff;background:#fff;border-radius:50%;place-items:center;width:12px;height:12px;display:grid}.transit-trip-strip .is-current i{border-color:#7d8c95}.transit-trip-strip .is-next i{background:var(--route-color);border:0;width:17px;height:17px}.transit-trip-strip .is-next i svg{width:10px;height:10px}.transit-trip-strip b,.transit-trip-strip small,.transit-trip-strip strong{max-width:100%;display:block;overflow:hidden}.transit-trip-strip small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:5px}.transit-trip-strip strong{color:#2b3840;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;align-self:center;font-size:5.8px;line-height:1.2;display:-webkit-box}.transit-trip-strip b{color:var(--route-color);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:4px;align-self:end;padding:2px 4px;font-size:5.1px}@media (max-width:430px){.transit-vehicle-board__summary{grid-template-columns:29px minmax(68px,.9fr) minmax(64px,1.1fr) auto 10px;gap:5px;padding-inline:6px}.transit-vehicle-board__icon{width:29px;height:29px}.transit-pattern-board{grid-template-columns:78px minmax(0,1fr)}}.parking-panel__header{justify-content:space-between;align-items:flex-end;padding:20px 20px 13px;display:flex}.parking-panel__header h2{letter-spacing:-.03em;margin:4px 0 0;font-size:20px;font-weight:750}.result-count{min-width:48px;height:28px;color:var(--muted);background:var(--surface-muted);border-radius:999px;place-items:center;font-size:10px;font-weight:750;display:grid}.search-field{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;align-items:center;gap:9px;height:43px;margin:0 16px;padding:0 12px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.search-field:focus-within{background:var(--surface);border-color:#ba0c2f61;box-shadow:0 0 0 4px #ba0c2f12}.search-field>svg{width:17px;color:var(--muted);flex:none}.search-field input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:12px}.search-field input::placeholder{color:var(--muted-2)}.search-field button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px;display:grid}.filter-row{scrollbar-width:none;gap:7px;padding:10px 16px 8px;display:flex}.filter-row::-webkit-scrollbar{display:none}.filter-chip,.filter-row select{border:1px solid var(--line);min-height:31px;color:var(--muted);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;padding:0 11px;font-size:10px;font-weight:680}.filter-chip{align-items:center;gap:5px;display:inline-flex}.filter-chip svg{width:13px;height:13px}.filter-chip:hover,.filter-row select:hover{color:var(--ink);border-color:#c7ccd2}.filter-chip.is-active{border-color:var(--ink);color:#fff;background:var(--ink)}.filter-toolbar{border-bottom:1px solid var(--line)}.filter-row--quick{overflow:visible}.filter-row--quick .filter-chip{justify-content:center;min-width:0}.filter-chip--advanced{margin-left:auto}.filter-chip__count{color:#fff;background:var(--scarlet);border-radius:999px;place-items:center;min-width:16px;height:16px;font-size:7px;font-weight:800;display:grid}.filter-chip__chevron{transition:transform .16s}.filter-chip--advanced[aria-expanded=true] .filter-chip__chevron{transform:rotate(180deg)}.filter-advanced{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:8px;padding:0 16px 11px;animation:filter-reveal .15s ease-out;display:grid}@keyframes filter-reveal{0%{opacity:0;transform:translateY(-4px)}}.filter-advanced__field{min-width:0;color:var(--muted);gap:4px;font-size:7px;font-weight:700;display:grid}.filter-advanced__field select{border:1px solid var(--line);width:100%;min-width:0;height:32px;color:var(--ink);background:var(--surface);cursor:pointer;border-radius:9px;outline:0;padding:0 8px;font-size:8px;font-weight:680}.filter-advanced__field select:focus{border-color:#ba0c2f5c;box-shadow:0 0 0 3px #ba0c2f12}.filter-advanced__reset{border:1px solid var(--line);height:32px;color:var(--muted);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:4px;padding:0 9px;font-size:8px;font-weight:700;display:inline-flex}.filter-advanced__reset svg{width:12px;height:12px}.filter-advanced__reset:hover{color:var(--scarlet)}.filter-row select{outline:0;padding-right:26px}.list-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:37px;padding:0 17px 8px;display:flex}.map-legend,.occupancy-legend{align-items:center;gap:10px;min-width:0;display:flex}.map-legend span,.occupancy-legend span{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:8px;font-weight:650;display:flex}.map-legend i,.occupancy-legend i{background:currentColor;border-radius:50%;width:6px;height:6px}.level-open{color:var(--green)!important}.level-steady{color:#8b6b16!important}.level-busy{color:var(--amber)!important}.level-critical{color:var(--red)!important}.map-legend .access-key{border-right:1px solid var(--line);padding-right:9px;font-weight:750}.map-legend .access-key--later{color:#9a6700}.map-legend .access-key--included{color:var(--green)}.map-legend .access-key--included i{background:#31a46c;border-radius:3px;width:9px;height:9px}.map-legend .access-key--paid{color:#c2410c}.map-legend .access-key--paid i{background:#c2410c;border-radius:3px;width:9px;height:9px}.map-legend .access-key--later i{background:repeating-linear-gradient(-45deg,#fef3c7 0 2px,#d9a441 2px 3px);border:1px solid #b7791f;border-radius:3px;width:9px;height:9px}.map-legend .access-key--unavailable{color:#64748b}.map-legend .access-key--unavailable i{background:#cbd5e1;border-radius:3px;width:9px;height:9px}.list-toolbar label{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:9px;display:flex}.list-toolbar select{color:var(--ink);cursor:pointer;background:0 0;border:0;outline:0;font-size:9px;font-weight:700}.parking-list{flex:1;min-height:0;padding:10px 10px 18px;overflow-y:auto}.parking-card{border:1px solid var(--line);background:var(--surface);border-radius:15px;margin-bottom:8px;transition:border-color .16s,box-shadow .16s,transform .16s;position:relative;overflow:hidden}.parking-card:hover{z-index:1;border-color:#cbd0d6;transform:translateY(-1px);box-shadow:0 11px 25px -19px #10182852}.parking-card--selected{border-color:#ba0c2f8c;box-shadow:0 0 0 3px #ba0c2f12,0 12px 25px -20px #ba0c2f73}.parking-card--closed{opacity:.7}.parking-card__main{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:13px 14px 11px;display:block}.parking-card__top{align-items:center;gap:11px;padding-right:29px;display:flex}.parking-card h3{letter-spacing:-.02em;margin:0;font-size:13px;font-weight:760}.parking-card__top p{color:var(--muted);align-items:center;gap:4px;margin:5px 0 0;font-size:9px;display:flex}.parking-card__top p svg{width:13px;height:13px;color:var(--muted-2)}.mini-tag{border-radius:6px;flex:none;align-items:center;gap:3px;height:19px;padding:0 5px;font-size:8px;font-weight:800;display:inline-flex}.mini-tag svg{width:11px;height:11px}.mini-tag--ev{color:var(--green);background:var(--green-soft)}.parking-card__availability{justify-content:space-between;align-items:flex-end;margin-top:12px;display:flex}.parking-card__availability>div:first-child{align-items:baseline;gap:6px;display:flex}.parking-card__availability strong{letter-spacing:-.04em;font-size:21px;font-weight:790;line-height:1}.parking-card__availability span{color:var(--muted);font-size:8px}.parking-card__capacity{gap:7px;display:flex}.parking-card__bar{background:var(--surface-muted);border-radius:999px;height:4px;margin-top:9px;overflow:hidden}.parking-card__bar span{border-radius:inherit;background:currentColor;min-width:2px;height:100%;display:block}.parking-card__footer{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.parking-card__footer>span{color:var(--muted);align-items:center;gap:4px;font-size:8px;font-weight:650;display:flex}.parking-card__footer>span:last-child svg{width:12px;height:12px}.availability-label i{background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px}@supports (color:color-mix(in lab,red,red)){.availability-label i{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent)}}.parking-card__favorite{z-index:2;width:28px;height:28px;color:var(--muted-2);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.parking-card__favorite:hover{color:var(--ink);background:var(--surface-muted)}.parking-card__favorite.is-active{color:#c68700}.parking-card__favorite svg{width:16px;height:16px}.parking-card__identity{align-items:center;min-width:0;padding-right:30px;display:flex}.parking-card__title-row{align-items:center;gap:7px;min-width:0;display:flex}.parking-card__meta{color:var(--muted);align-items:center;gap:4px;margin:5px 0 0;font-size:8px;display:flex}.parking-card__meta svg{width:12px;height:12px;color:var(--muted-2);flex:none}.parking-access-strip{border:1px solid var(--access-border,#cfe8dc);min-width:0;color:var(--access-ink,#145a3c);background:var(--access-bg,var(--green-soft));border-radius:9px;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:9px;padding:6px 7px;display:grid}.parking-access-strip>svg{width:15px;height:15px;color:var(--access-icon,var(--green))}.parking-access-strip>span{align-items:baseline;gap:6px;min-width:0;display:flex}.parking-access-strip strong{flex:none;font-size:8px;font-weight:800}.parking-access-strip small{color:var(--access-detail,currentColor);opacity:.82;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:620;overflow:hidden}.parking-access-strip em{color:#fff;background:var(--access-icon,var(--green));white-space:nowrap;border-radius:999px;padding:2px 5px;font-size:7px;font-style:normal;font-weight:800}.access-callout--included,.parking-access-strip--included{--access-border:#b9dfca;--access-bg:#edf9f2;--access-icon:#168252;--access-ink:#125d3d;--access-detail:#39745b}.access-callout--later,.parking-access-strip--later{--access-border:#efd38a;--access-bg:#fff8e5;--access-icon:#a56b00;--access-ink:#765000;--access-detail:#846621}.access-callout--visitor-paid,.parking-access-strip--visitor-paid{--access-border:#fdc5a6;--access-bg:#fff2eb;--access-icon:#d14b16;--access-ink:#943514;--access-detail:#a85433}.access-callout--unavailable,.parking-access-strip--unavailable{--access-border:#d7dce2;--access-bg:#f2f4f6;--access-icon:#6c737e;--access-ink:#4f5661;--access-detail:#707782}.parking-card__metrics{border-top:1px solid var(--line);grid-template-columns:minmax(74px,.72fr) minmax(82px,.9fr) auto;align-items:center;gap:11px;margin-top:10px;padding-top:9px;display:grid}.parking-card__available{align-items:baseline;gap:5px;display:flex}.parking-card__available strong{letter-spacing:-.045em;font-size:21px;font-weight:800;line-height:1}.parking-card__available span,.parking-card__occupancy-value small,.parking-card__totals dt{color:var(--muted);font-size:7px;font-weight:650}.parking-card__occupancy{border-left:1px solid var(--line);gap:4px;padding-left:11px;display:grid}.parking-card__occupancy-value{align-items:baseline;gap:4px;display:flex}.parking-card__occupancy-value strong{font-size:12px;font-weight:780}.parking-card__status{white-space:nowrap;align-items:center;gap:5px;font-size:7px;font-weight:720;display:flex}.parking-card__totals{border-left:1px solid var(--line);grid-template-columns:repeat(2,auto);gap:9px;min-width:68px;margin:0;padding-left:11px;display:grid}.parking-card__totals div{gap:2px;display:grid}.parking-card__totals dd{font-variant-numeric:tabular-nums;margin:0;font-size:10px;font-weight:750}.occupancy-ring{flex:none;place-items:center;display:grid;position:relative}.occupancy-ring svg{position:absolute;inset:0}.occupancy-ring__track{stroke:var(--surface-muted)}.occupancy-ring__value{stroke:currentColor}.occupancy-ring b{color:var(--ink);letter-spacing:-.03em;font-size:10px;font-weight:780}.detail-sheet__hero .occupancy-ring b,.metric-card--scarlet .occupancy-ring b{color:#fff}.empty-state{text-align:center;align-content:center;place-items:center;min-height:300px;padding:35px;display:grid}.empty-state>span{width:54px;height:54px;color:var(--muted);background:var(--surface-muted);border-radius:18px;place-items:center;display:grid}.empty-state>span svg{width:26px;height:26px}.empty-state h3{margin:15px 0 4px;font-size:14px}.empty-state p{color:var(--muted);margin:0;font-size:11px}.empty-state button{color:var(--scarlet);cursor:pointer;background:0 0;border:0;margin-top:16px;font-size:11px;font-weight:700}.map-workspace{height:min(780px,100vh - 116px);min-height:640px;position:sticky;top:89px;overflow:hidden}.map-workspace__toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 16px;display:flex}.map-title{align-items:center;gap:9px;display:flex}.live-dot{background:#20a566;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #20a5661f,0 0 12px #20a56647}.map-title small,.map-title strong{display:block}.map-title small{color:var(--muted);letter-spacing:.12em;font-size:8px;font-weight:800}.map-title strong{margin-top:2px;font-size:11px}.map-canvas{background:#e9ebed;height:calc(100% - 56px);position:relative;overflow:hidden}.map-loading{height:100%;color:var(--muted);background:radial-gradient(circle,#ba0c2f0f,#0000 18rem),#eff1f2;align-content:center;place-items:center;gap:12px;display:grid}.map-loading>span{border:3px solid var(--line-strong);border-top-color:var(--scarlet);border-radius:50%;width:32px;height:32px;animation:spin .8s linear infinite}.map-loading p{margin:0;font-size:11px}.campus-parking-map,.mapcn-map{width:100%;height:100%;position:relative;overflow:hidden}.mapcn-map{background:#e9edef}.mapcn-map__loader{z-index:30;background:#eff2f4e0;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.mapcn-map__loader span{background:var(--scarlet);border-radius:50%;width:6px;height:6px;animation:mapcn-loader-pulse .9s ease-in-out infinite alternate}.mapcn-map__loader span:nth-child(2){animation-delay:.15s}.mapcn-map__loader span:nth-child(3){animation-delay:.3s}@keyframes mapcn-loader-pulse{to{opacity:.28;translate:0 -4px}}.mapcn-marker-root{will-change:transform;position:absolute}.mapcn-marker-content{pointer-events:auto;position:relative}.mapcn-popup{min-width:180px;color:var(--ink);background:var(--surface);position:relative}.mapcn-popup__close{z-index:2;border:1px solid var(--line);width:22px;height:22px;color:var(--muted);cursor:pointer;background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:-5px;right:-5px}.mapcn-popup__close svg{width:15px;height:15px}.mapcn-overlay{z-index:18;pointer-events:none;position:absolute}.mapcn-overlay>*{pointer-events:auto}.mapcn-overlay--top-left{top:12px;left:12px}.mapcn-overlay--top-right{top:12px;right:12px}.mapcn-overlay--bottom-left{bottom:24px;left:12px}.mapcn-overlay--bottom-right{bottom:24px;right:12px}.mapcn-controls-wrap{justify-items:end;display:grid}.mapcn-controls{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #1214161f;border-radius:13px;display:grid;overflow:hidden;box-shadow:0 10px 24px -14px #0a0f1473}.mapcn-controls button{border:0;border-bottom:1px solid var(--line);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;place-items:center;display:grid}.mapcn-controls button:last-child{border-bottom:0}.mapcn-controls button:hover{color:var(--scarlet);background:var(--scarlet-soft)}.mapcn-controls button.is-active{color:#1677d2;background:#e8f4ff}.mapcn-controls svg{width:18px;height:18px}.mapcn-location-status{width:max-content;max-width:min(260px,100vw - 86px);min-height:36px;color:var(--ink-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #1214161f;border-radius:11px;align-items:center;gap:7px;padding:7px 9px;font-size:8px;font-weight:720;line-height:1.35;display:flex;position:absolute;bottom:0;right:44px;box-shadow:0 10px 24px -14px #0a0f1473}.mapcn-location-status svg{flex:0 0 16px;width:16px;height:16px}.mapcn-location-status.is-loading svg{animation:spin .9s linear infinite}.mapcn-location-status.is-success{color:#1467b5;border-color:#1677d23d}.mapcn-location-status.is-error,.mapcn-location-status.is-outside{color:#9a4f04;background:#fffaf0f5;border-color:#d9770647}.mapcn-user-location{pointer-events:none;place-items:center;width:30px;height:30px;display:grid}.mapcn-user-location>span{background:#1677d2;border:3px solid #fff;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:relative;box-shadow:0 0 0 2px #1677d247,0 5px 14px #12406857}.mapcn-user-location>span:before{z-index:-1;content:"";background:#1677d21f;border:1px solid #1677d242;border-radius:50%;width:30px;height:30px;animation:user-location-pulse 1.8s ease-out infinite;position:absolute}.mapcn-user-location i{background:#fff;border-radius:50%;width:4px;height:4px}@keyframes user-location-pulse{0%,35%{opacity:.9;scale:.62}to{opacity:0;scale:1.35}}.parking-layer-dock{z-index:15;-webkit-backdrop-filter:blur(16px)saturate(135%);backdrop-filter:blur(16px)saturate(135%);background:#fffffff0;border:1px solid #1214161f;border-radius:16px;width:min(252px,100% - 24px);position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 16px 38px -20px #0a0f147a}.parking-layer-dock__toggle,.parking-layer-section__toggle{width:100%;min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;display:flex}.parking-layer-dock__toggle{gap:9px;min-height:58px;padding:8px 10px}.parking-layer-dock__toggle:hover,.parking-layer-dock__toggle[aria-expanded=true]{background:#f6f8f9cc}.parking-layer-dock__toggle>span:first-child,.parking-layer-section__toggle>span:first-child{border-radius:10px;flex:none;place-items:center;display:grid}.parking-layer-dock__toggle>span:first-child{width:34px;height:34px;color:var(--scarlet);background:var(--scarlet-soft)}.parking-layer-dock__toggle>span:nth-child(2),.parking-layer-section__toggle>span:nth-child(2){flex:1;min-width:0}.parking-layer-dock__toggle small,.parking-layer-dock__toggle strong,.parking-layer-section__toggle small,.parking-layer-section__toggle strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.parking-layer-dock__toggle small{color:var(--muted);letter-spacing:.04em;font-size:9px;font-weight:780}.parking-layer-dock__toggle strong{margin-top:2px;font-size:11px}.parking-layer-dock__toggle>svg,.parking-layer-section__toggle>svg{width:15px;height:15px;color:var(--muted);flex:0 0 15px}.parking-layer-dock__body{border-top:1px solid var(--line);overscroll-behavior:contain;scrollbar-width:thin;max-height:min(460px,100vh - 190px);overflow:hidden auto}.map-layer-settings-dock{width:min(336px,100% - 24px);transition:width .18s,border-radius .18s}.map-layer-settings-dock:not(.is-open){width:232px}.map-layer-settings-dock .parking-layer-dock__toggle>span:first-child{color:#6d28d9;background:#f1eaff}.map-layer-settings__summary-icons{align-items:center;gap:3px;min-width:0;margin-top:5px;display:flex}.map-layer-settings__summary-icons i{--map-layer-summary-tone:#64748b;border:1px solid var(--map-layer-summary-tone);flex:0 0 17px;place-items:center;width:17px;height:17px;display:grid}@supports (color:color-mix(in lab,red,red)){.map-layer-settings__summary-icons i{border:1px solid color-mix(in srgb,var(--map-layer-summary-tone) 28%,#fff)}}.map-layer-settings__summary-icons i{color:var(--map-layer-summary-tone);background:var(--map-layer-summary-tone);border-radius:5px}@supports (color:color-mix(in lab,red,red)){.map-layer-settings__summary-icons i{background:color-mix(in srgb,var(--map-layer-summary-tone) 10%,#fff)}}.map-layer-settings__summary-icons i{transition:opacity .14s,filter .14s}.map-layer-settings__summary-icons i.is-inactive{color:#89929a;filter:grayscale();opacity:.48;background:#f1f3f5;border-color:#d7dce1}.map-layer-settings__summary-icons i.is-green{--map-layer-summary-tone:#168454}.map-layer-settings__summary-icons i.is-scarlet{--map-layer-summary-tone:#ba0c2f}.map-layer-settings__summary-icons i.is-blue{--map-layer-summary-tone:#1677d2}.map-layer-settings__summary-icons i.is-orange{--map-layer-summary-tone:#c25700}.map-layer-settings__summary-icons i.is-violet{--map-layer-summary-tone:#7c3aed}.map-layer-settings__summary-icons i.is-navy{--map-layer-summary-tone:#253a78}.map-layer-settings__summary-icons i.is-amber{--map-layer-summary-tone:#d97706}.map-layer-settings__summary-icons svg{width:11px;height:11px}.map-layer-settings__intro{background:linear-gradient(135deg,#f7f4fff5,#fbfdfff5);border-bottom:1px solid #12141612;align-items:center;gap:9px;padding:11px 12px;display:flex}.map-layer-settings__intro>span{color:#6d28d9;background:#ebe2ff;border-radius:9px;flex:0 0 29px;place-items:center;width:29px;height:29px;display:grid}.map-layer-settings__intro svg{width:16px;height:16px}.map-layer-settings__intro p{flex:1;min-width:0;margin:0}.map-layer-settings__intro small,.map-layer-settings__intro strong{display:block}.map-layer-settings__intro strong{font-size:10px}.map-layer-settings__intro small{color:var(--muted);margin-top:2px;font-size:8px;line-height:1.35}.map-layer-settings__quick-actions{flex:none;gap:4px;display:flex}.map-layer-settings__quick-actions button{color:#5b21b6;cursor:pointer;background:#fffc;border:1px solid #d9d0ef;border-radius:8px;min-height:26px;padding:4px 7px;font-size:8px;font-weight:820}.map-layer-settings__quick-actions button:hover:not(:disabled){background:#fff;border-color:#8b5cf6}.map-layer-settings__quick-actions button:disabled{cursor:default;opacity:.38}.map-layer-settings__group{padding:10px 11px 11px}.map-layer-settings__group+.map-layer-settings__group{border-top:1px solid #12141612}.map-layer-settings__details>p,.map-layer-settings__group h3{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 6px;font-size:8px;font-weight:850}.map-layer-settings__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.map-layer-setting{--map-layer-tone:#64748b;--map-layer-tone-soft:#f1f5f9;border:1px solid var(--line);min-width:0;min-height:58px;color:var(--ink-soft);cursor:pointer;text-align:left;background:#ffffffe0;border-radius:12px;grid-template-columns:31px minmax(0,1fr) 26px;align-items:center;gap:7px;padding:7px;transition:border-color .14s,background .14s,translate .14s;display:grid}.map-layer-setting:hover{border-color:var(--map-layer-tone)}@supports (color:color-mix(in lab,red,red)){.map-layer-setting:hover{border-color:color-mix(in srgb,var(--map-layer-tone) 38%,var(--line))}}.map-layer-setting:hover{translate:0 -1px}.map-layer-setting.is-active{border-color:var(--map-layer-tone)}@supports (color:color-mix(in lab,red,red)){.map-layer-setting.is-active{border-color:color-mix(in srgb,var(--map-layer-tone) 34%,var(--line))}}.map-layer-setting.is-active{background:var(--map-layer-tone)}@supports (color:color-mix(in lab,red,red)){.map-layer-setting.is-active{background:color-mix(in srgb,var(--map-layer-tone) 5%,#fff)}}.map-layer-setting:disabled{cursor:not-allowed;opacity:.48;translate:none}.map-layer-setting.is-green{--map-layer-tone:#168454;--map-layer-tone-soft:#e8f8f0}.map-layer-setting.is-scarlet{--map-layer-tone:#ba0c2f;--map-layer-tone-soft:#fff0f3}.map-layer-setting.is-blue{--map-layer-tone:#1677d2;--map-layer-tone-soft:#e8f4ff}.map-layer-setting.is-orange{--map-layer-tone:#c25700;--map-layer-tone-soft:#fff3e8}.map-layer-setting.is-violet{--map-layer-tone:#7c3aed;--map-layer-tone-soft:#f1eaff}.map-layer-setting.is-navy{--map-layer-tone:#253a78;--map-layer-tone-soft:#edf1ff}.map-layer-setting.is-amber{--map-layer-tone:#d97706;--map-layer-tone-soft:#fff4df}.map-layer-setting__icon{width:31px;height:31px;color:var(--map-layer-tone);background:var(--map-layer-tone-soft);border-radius:8px;place-items:center;display:grid}.map-layer-setting__icon svg{width:15px;height:15px}.map-layer-setting__copy{min-width:0}.map-layer-setting__copy small,.map-layer-setting__copy strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.map-layer-setting__copy strong{color:var(--ink);font-size:9px}.map-layer-setting__copy small{color:var(--muted);margin-top:2px;font-size:7px}.map-layer-setting__switch{background:#cfd5da;border-radius:999px;width:23px;height:14px;transition:background .15s;position:relative}.map-layer-setting__switch i{background:#fff;border-radius:50%;width:10px;height:10px;transition:translate .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000038}.map-layer-setting.is-active .map-layer-setting__switch{background:var(--map-layer-tone)}.map-layer-setting.is-active .map-layer-setting__switch i{translate:9px}.map-layer-settings__details{border-top:1px solid var(--line);background:#f7f9fab8;padding-top:8px}.map-layer-settings__details>p{margin-inline:9px}.parking-layer-section+.parking-layer-section{border-top:1px solid var(--line)}.parking-layer-section__toggle{gap:8px;min-height:48px;padding:7px 9px}.parking-layer-section__toggle:hover,.parking-layer-section__toggle[aria-expanded=true]{background:#f8f9fae0}.parking-layer-section__toggle>span:first-child{width:31px;height:31px}.parking-layer-section__toggle>span.is-location{color:#1677d2;background:#e8f4ff}.parking-layer-section__toggle>span.is-permit{color:var(--permit-zone-color);background:var(--permit-zone-color)}@supports (color:color-mix(in lab,red,red)){.parking-layer-section__toggle>span.is-permit{background:color-mix(in srgb,var(--permit-zone-color) 10%,#fff)}}.parking-layer-section__toggle svg{width:16px;height:16px}.parking-layer-section__toggle small{color:var(--muted);font-size:7px;font-weight:720}.parking-layer-section__toggle strong{margin-top:2px;font-size:8.5px}.parking-layer-dock .parking-category-dock__tickets,.parking-permit-layer-detail{background:#f6f8f9b8;border-top:1px solid #1214160f}.parking-permit-layer-detail{gap:8px;padding:9px;display:grid}.parking-permit-layer-detail>p{color:var(--muted);margin:0;font-size:7px;line-height:1.55}.parking-permit-layer-detail__zones{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.parking-permit-layer-detail__zones button{border:1px solid var(--permit-zone-color);align-items:center;gap:6px;min-width:0;height:32px;display:flex}@supports (color:color-mix(in lab,red,red)){.parking-permit-layer-detail__zones button{border:1px solid color-mix(in srgb,var(--permit-zone-color) 28%,var(--line))}}.parking-permit-layer-detail__zones button{color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:9px;padding:3px 6px}.parking-permit-layer-detail__zones button.is-active,.parking-permit-layer-detail__zones button:hover{color:var(--permit-zone-color);border-color:var(--permit-zone-color);background:var(--permit-zone-color)}@supports (color:color-mix(in lab,red,red)){.parking-permit-layer-detail__zones button.is-active,.parking-permit-layer-detail__zones button:hover{background:color-mix(in srgb,var(--permit-zone-color) 7%,#fff)}}.parking-permit-layer-detail__zones button:disabled{cursor:not-allowed;opacity:.52}.parking-permit-layer-detail__zones button.is-unavailable{color:#75404b;background:repeating-linear-gradient(-45deg,#8b404f0a 0 5px,#8b404f1c 5px 7px),#fffafb;border-color:#7e304157}.parking-permit-layer-detail__zones button.is-unavailable b{background:#914457}.parking-permit-layer-detail__zones button.is-unavailable span{color:#8a4252}.parking-permit-layer-detail__zones b{color:#fff;background:var(--permit-zone-color);border-radius:6px;flex:0 0 23px;place-items:center;width:23px;height:22px;font-size:7px;display:grid}.parking-permit-layer-detail__zones span{text-overflow:ellipsis;white-space:nowrap;font-size:6.5px;font-weight:740;overflow:hidden}.parking-permit-layer-detail__all{min-height:32px;color:var(--ink-soft);cursor:pointer;background:#fff;border:1px solid #1214161a;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:5px 7px;font-size:6.8px;font-weight:760;display:flex}.parking-permit-layer-detail__all:hover,.parking-permit-layer-detail__all[aria-pressed=true]{color:var(--scarlet);background:var(--scarlet-soft);border-color:#ba0c2f47}.parking-permit-layer-detail__all:disabled{cursor:not-allowed;opacity:.55}.parking-permit-layer-detail__all svg{width:15px;height:15px}.parking-category-dock{z-index:15;-webkit-backdrop-filter:blur(16px)saturate(135%);backdrop-filter:blur(16px)saturate(135%);background:#ffffffed;border:1px solid #1214161f;border-radius:16px;width:min(218px,100% - 24px);position:absolute;top:78px;right:12px;overflow:hidden;box-shadow:0 16px 38px -20px #0a0f147a}.parking-category-dock__heading{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:45px;padding:7px 9px;display:flex}.parking-category-dock__heading>span{width:30px;height:30px;color:var(--scarlet);background:var(--scarlet-soft);border-radius:9px;place-items:center;display:grid}.parking-category-dock__heading svg{width:18px;height:18px}.parking-category-dock__heading small,.parking-category-dock__heading strong{display:block}.parking-category-dock__heading small{color:var(--muted);letter-spacing:.04em;font-size:7px;font-weight:760}.parking-category-dock__heading strong{margin-top:1px;font-size:9px}.parking-category-dock__tickets{gap:6px;padding:7px;display:grid}.parking-category-ticket{border:1px solid var(--parking-category-color);align-items:stretch;min-width:0;height:47px;display:flex;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.parking-category-ticket{border:1px solid color-mix(in srgb,var(--parking-category-color) 24%,var(--line))}}.parking-category-ticket{color:var(--ink);cursor:pointer;text-align:left;background:#ffffffe0;border-radius:11px;padding:0;transition:border-color .15s,box-shadow .15s,translate .15s}.parking-category-ticket.is-active,.parking-category-ticket:hover{border-color:var(--parking-category-color)}@supports (color:color-mix(in lab,red,red)){.parking-category-ticket.is-active,.parking-category-ticket:hover{border-color:color-mix(in srgb,var(--parking-category-color) 65%,#fff)}}.parking-category-ticket.is-active,.parking-category-ticket:hover{box-shadow:0 8px 18px -13px var(--parking-category-color);translate:-2px}.parking-category-ticket__code{color:#fff;background:var(--parking-category-color);flex:0 0 52px;align-content:center;place-items:center;width:52px;display:grid;position:relative}.parking-category-ticket__code:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:-4px;box-shadow:0 25px #fff}.parking-category-ticket__code svg{opacity:.52;width:15px;height:15px}.parking-category-ticket__code b{letter-spacing:.03em;font-size:9px;font-weight:900}.parking-category-ticket__copy{flex:1;align-content:center;min-width:0;padding:6px 7px 6px 10px;display:grid}.parking-category-ticket__copy small,.parking-category-ticket__copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.parking-category-ticket__copy strong{color:var(--parking-category-color);font-size:9px}.parking-category-ticket__copy small{color:var(--muted);margin-top:2px;font-size:7px}.parking-category-ticket__chevron{width:14px;color:var(--parking-category-color);flex:0 0 14px;margin-right:7px}.permit-zone-dock{z-index:14;gap:6px;width:min(190px,100% - 28px);display:grid;position:absolute;top:80px;right:14px}.permit-zone-dock__ticket{border:1px solid var(--permit-zone-color);align-items:center;gap:7px;min-width:0;height:42px;display:flex;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.permit-zone-dock__ticket{border:1px solid color-mix(in srgb,var(--permit-zone-color) 30%,#fff)}}.permit-zone-dock__ticket{cursor:pointer;text-align:left;background:#fffffff0;border-radius:11px;padding:4px 7px 4px 4px;box-shadow:0 8px 20px -15px #0a0f1480}.permit-zone-dock__ticket>b{color:#fff;background:var(--permit-zone-color);border-radius:8px 8px 8px 3px;flex:0 0 36px;place-items:center;width:36px;height:32px;font-size:8px;font-weight:900;display:grid}.permit-zone-dock__ticket>span{flex:1;min-width:0}.permit-zone-dock__ticket small,.permit-zone-dock__ticket strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.permit-zone-dock__ticket strong{color:var(--permit-zone-color);font-size:8px}.permit-zone-dock__ticket small{color:var(--muted);margin-top:2px;font-size:6.5px}.permit-zone-dock__ticket>svg{width:13px;color:var(--permit-zone-color);flex:0 0 13px}.permit-zone-dock__ticket.is-active{border-color:var(--permit-zone-color);box-shadow:0 0 0 2px var(--permit-zone-color)}@supports (color:color-mix(in lab,red,red)){.permit-zone-dock__ticket.is-active{box-shadow:0 0 0 2px color-mix(in srgb,var(--permit-zone-color) 15%,transparent)}}.permit-zone-dock__ticket.is-unavailable{background:repeating-linear-gradient(-45deg,#8b404f08 0 6px,#8b404f1a 6px 8px),#fffafbf2;border-color:#7e30415c;--permit-zone-color:#914457!important}.permit-zone-dock__ticket.is-unavailable small{color:#8a4252}.permit-map-summary{z-index:8;-webkit-backdrop-filter:blur(15px)saturate(130%);backdrop-filter:blur(15px)saturate(130%);background:#fffffff0;border:1px solid #1214161f;border-radius:15px;align-items:stretch;max-width:min(340px,100% - 24px);min-height:52px;display:flex;position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 13px 34px -18px #0a0f1475}.permit-map-summary__ticket{color:#fff;background:radial-gradient(circle at 100% 12px,#fff 0 4px,transparent 4.5px),radial-gradient(circle at 100% 40px,#fff 0 4px,transparent 4.5px),var(--permit-zone-color);align-content:center;place-items:center;gap:1px;min-width:62px;display:grid;position:relative;overflow:hidden}.permit-map-summary__ticket svg{width:16px;height:16px}.permit-map-summary__ticket b{letter-spacing:.04em;font-size:10px;font-weight:900}.permit-map-summary__copy{flex:1;align-content:center;min-width:112px;padding:8px 10px;display:grid;position:relative}.permit-map-summary__copy small,.permit-map-summary__copy strong{display:block}.permit-map-summary__copy small{color:var(--muted);font-size:7px;font-weight:720}.permit-map-summary__copy strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;overflow:hidden}.permit-map-summary__colors{gap:3px;display:flex;position:absolute;bottom:5px;right:8px}.permit-map-summary__colors i{border:1px solid #fffc;border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 1px #12141612}.permit-map-summary>button:not(.permit-map-summary__overview){border:0;border-left:1px solid var(--line);min-width:51px;color:var(--permit-zone-color);background:var(--permit-zone-color);align-content:center;place-items:center;gap:1px;display:grid}@supports (color:color-mix(in lab,red,red)){.permit-map-summary>button:not(.permit-map-summary__overview){background:color-mix(in srgb,var(--permit-zone-color) 7%,#fff)}}.permit-map-summary>button:not(.permit-map-summary__overview){cursor:pointer;font-size:7px;font-weight:800}.permit-map-summary>button:not(.permit-map-summary__overview):hover,.permit-map-summary>button:not(.permit-map-summary__overview)[aria-pressed=true]{background:var(--permit-zone-color)}@supports (color:color-mix(in lab,red,red)){.permit-map-summary>button:not(.permit-map-summary__overview):hover,.permit-map-summary>button:not(.permit-map-summary__overview)[aria-pressed=true]{background:color-mix(in srgb,var(--permit-zone-color) 14%,#fff)}}.permit-map-summary>button:not(.permit-map-summary__overview) svg{width:17px;height:17px}.permit-map-summary__overview{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:stretch;padding:0;display:flex}.permit-map-summary__overview:hover .permit-map-summary__copy,.permit-map-summary__overview[aria-pressed=true] .permit-map-summary__copy{background:var(--permit-zone-color)}@supports (color:color-mix(in lab,red,red)){.permit-map-summary__overview:hover .permit-map-summary__copy,.permit-map-summary__overview[aria-pressed=true] .permit-map-summary__copy{background:color-mix(in srgb,var(--permit-zone-color) 7%,transparent)}}.permit-period-switcher{background:#fffffff5;border:1px solid #1214161a;border-radius:11px;min-width:0;overflow:hidden}.permit-period-switcher__heading{border-bottom:1px solid #12141612;align-items:center;gap:7px;min-width:0;min-height:36px;padding:5px 7px;display:flex}.permit-period-switcher__heading>span:first-child{color:#6b46b8;background:#f0ebff;border-radius:7px;flex:0 0 25px;place-items:center;width:25px;height:25px;display:grid}.permit-period-switcher__heading svg{width:14px;height:14px}.permit-period-switcher__heading>span:nth-child(2){flex:1;min-width:0}.permit-period-switcher__heading small,.permit-period-switcher__heading strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.permit-period-switcher__heading small{color:#6745a9;font-size:6px;font-weight:820}.permit-period-switcher__heading strong{color:var(--ink-soft);margin-top:1px;font-size:6.6px}.permit-period-switcher__heading>b{color:#16734b;white-space:nowrap;background:#eaf8f1;border-radius:999px;flex:none;padding:3px 5px;font-size:5.6px}.permit-period-switcher__options{overscroll-behavior-inline:contain;scrollbar-color:#c7cdd2 transparent;scrollbar-width:thin;gap:4px;min-width:0;padding:5px 6px;display:flex;overflow-x:auto}.permit-period-switcher__options button{border:1px solid var(--line);min-width:83px;min-height:35px;color:var(--muted);cursor:pointer;text-align:left;background:#fff;border-radius:8px;flex:none;align-content:center;padding:4px 6px;display:grid;position:relative}.permit-period-switcher__options button>i{background:var(--green);width:5px;height:5px;box-shadow:0 0 0 2px var(--green-soft);border-radius:50%;position:absolute;top:5px;right:5px}.permit-period-switcher__options button small,.permit-period-switcher__options button span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.permit-period-switcher__options button span{color:inherit;font-size:6.4px;font-weight:800}.permit-period-switcher__options button small{margin-top:2px;font-size:5.4px}.permit-period-switcher__options button.is-active{color:#fff;background:#6f4abc;border-color:#6f4abc;box-shadow:0 7px 14px -10px #553394}.permit-period-switcher__options button.is-active small{color:#ffffffc7}.permit-period-switcher>p{color:var(--muted);border-top:1px solid #12141612;margin:0;padding:5px 7px;font-size:5.8px;line-height:1.45}.permit-period-switcher__legend{color:var(--muted);flex-wrap:wrap;gap:5px 10px;padding:0 7px 6px;font-size:5.7px;font-weight:700;display:flex}.permit-period-switcher__legend span{align-items:center;gap:3px;display:inline-flex}.permit-period-switcher__legend i{background:#31a46c;border-radius:3px;width:8px;height:8px}.permit-period-switcher__legend .is-unavailable i{background:repeating-linear-gradient(-45deg,#f8e8eb 0 2px,#914457 2px 3px);border:1px solid #7c3343}.permit-period-switcher-wrap{z-index:10;width:min(215px,100% - 232px);min-width:150px;position:absolute;top:78px;left:14px;box-shadow:0 10px 24px -17px #0a0f1480}@keyframes spin{to{transform:rotate(1turn)}}.map-controls{z-index:3;pointer-events:none;max-width:calc(100% - 84px);position:absolute;left:12px}.map-controls>*{pointer-events:auto}.map-controls--top{gap:7px;display:grid;top:12px}.map-controls--bottom{bottom:28px}.map-layer-button{cursor:pointer;text-align:left;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#ffffffeb;border:1px solid #1214161f;border-radius:14px;align-items:center;gap:9px;min-width:146px;max-width:min(250px,100vw - 96px);height:48px;padding:6px 10px;display:flex;box-shadow:0 9px 26px -14px #0a0f1459}.map-layer-button>svg{width:24px;height:24px;color:var(--green);flex:0 0 24px}.map-layer-button--permit>svg{color:var(--scarlet)}.map-layer-button--permit.is-error{background:#fff8f7f0;border-color:#b423183d}.map-layer-button--permit.is-error strong,.map-layer-button--permit.is-error>svg{color:var(--red)}.map-layer-button--permit.is-unavailable>svg{color:var(--muted-2)}.map-layer-button--permit.is-unavailable strong{max-width:150px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-layer-button--permit.is-active>i{background:var(--scarlet)}.map-layer-button small,.map-layer-button strong{display:block}.map-layer-button>span{flex:auto;min-width:0}.map-layer-button small{color:var(--muted);font-size:8px;font-weight:700}.map-layer-button strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;overflow:hidden}.map-layer-button>i{background:#cdd1d6;border-radius:999px;flex:0 0 26px;width:26px;height:16px;margin-left:auto;transition:background .16s;position:relative}.map-layer-button>i:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.map-layer-button.is-active>i{background:var(--green)}.map-layer-button.is-active>i:after{transform:translate(10px)}.map-control-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #1214161f;border-radius:15px;width:min(360px,100vw - 48px);overflow:hidden;box-shadow:0 12px 32px -16px #0a0f1461}.map-control-card__header{align-items:stretch;display:flex}.map-control-card__summary{cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:9px;min-width:0;height:54px;padding:7px 10px;display:flex}.map-control-card__visibility{border:0;border-left:1px solid var(--line);width:58px;color:var(--muted);cursor:pointer;background:#f8f9fabf;flex:0 0 58px;align-content:center;place-items:center;gap:3px;display:grid}.map-control-card__visibility>svg{width:16px;height:16px}.map-control-card__visibility>i{background:#cdd3d8;border-radius:99px;width:25px;height:14px;position:relative}.map-control-card__visibility>i:after{content:"";background:#fff;border-radius:50%;width:10px;height:10px;transition:translate .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000038}.map-control-card__visibility.is-active{color:var(--blue);background:var(--blue-soft)}.map-control-card__visibility.is-active>i{background:var(--blue)}.map-control-card__visibility.is-active>i:after{translate:11px}.map-control-card__icon{width:36px;height:36px;color:var(--blue);background:var(--blue-soft);border-radius:11px;place-items:center;display:grid}.map-control-card__icon svg{width:20px;height:20px}.map-control-card__summary>span:nth-child(2){flex:1}.map-control-card__summary small,.map-control-card__summary strong{display:block}.map-control-card__summary small{color:var(--muted);font-size:8px;font-weight:700}.map-control-card__summary strong{margin-top:2px;font-size:11px}.map-control-card__chevron{width:15px;color:var(--muted)}.map-control-card__routes{border-top:1px solid var(--line);padding:9px 10px 10px}.map-control-card__routes>div{flex-wrap:wrap;gap:5px;display:flex}.route-chip{border:1px solid var(--line);max-width:156px;min-height:29px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:5px;padding:0 8px;font-size:8px;font-weight:800;display:inline-flex}.route-chip b{color:var(--ink);flex:none;font-size:8px;font-weight:900}.route-chip span{text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:680;overflow:hidden}.route-chip i{background:var(--route-color);border-radius:50%;width:7px;height:7px}.route-chip.is-active{border-color:var(--route-color)}@supports (color:color-mix(in lab,red,red)){.route-chip.is-active{border-color:color-mix(in srgb,var(--route-color) 55%,#fff)}}.route-chip.is-active{color:var(--ink);background:var(--route-color)}@supports (color:color-mix(in lab,red,red)){.route-chip.is-active{background:color-mix(in srgb,var(--route-color) 8%,#fff)}}.map-control-card__routes p{color:var(--muted);margin:8px 0 0;font-size:8px;line-height:1.45}.map-control-card__routes a{color:var(--blue);margin-left:4px;font-weight:700}.maplibregl-ctrl-group{overflow:hidden;border:1px solid #1214161f!important;border-radius:11px!important;box-shadow:0 7px 18px -10px #0a0f1459!important}.maplibregl-ctrl button{width:32px!important;height:32px!important}.maplibregl-popup-content{border:1px solid var(--line);font-family:inherit;font-size:10px;line-height:1.45;box-shadow:var(--shadow-md)!important;border-radius:11px!important;padding:10px 12px!important}.campus-parking-map .maplibregl-popup{z-index:40}.map-svg-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.permit-area-svg-overlay{z-index:1}.cabs-route-svg-overlay{z-index:2}.permit-ticket-map-marker{z-index:6;height:42px;box-shadow:0 9px 22px -8px #0a0f147a,0 0 0 1px var(--permit-zone-color);background:#fffffff5;border:2px solid #fff;border-radius:10px 10px 10px 3px;align-items:stretch;padding:0;display:flex;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.permit-ticket-map-marker{box-shadow:0 9px 22px -8px #0a0f147a,0 0 0 1px color-mix(in srgb,var(--permit-zone-color) 35%,transparent)}}.permit-ticket-map-marker{cursor:pointer;pointer-events:auto;text-align:left;transition:box-shadow .16s,filter .16s,scale .16s}.permit-ticket-map-marker.is-expanded,.permit-ticket-map-marker:hover{z-index:9;box-shadow:0 12px 28px -8px #0a0f148a,0 0 0 3px var(--permit-zone-color)}@supports (color:color-mix(in lab,red,red)){.permit-ticket-map-marker.is-expanded,.permit-ticket-map-marker:hover{box-shadow:0 12px 28px -8px #0a0f148a,0 0 0 3px color-mix(in srgb,var(--permit-zone-color) 22%,transparent)}}.permit-ticket-map-marker.is-expanded,.permit-ticket-map-marker:hover{scale:1.06}.permit-ticket-map-marker__code{color:#fff;background:var(--permit-zone-color);place-items:center;min-width:43px;display:grid;position:relative;overflow:hidden}.permit-ticket-map-marker__code:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:5px;right:-4px;box-shadow:0 16px #fff}.permit-ticket-map-marker__code svg{fill:currentColor;opacity:.28;width:15px;height:15px;position:absolute;left:5px}.permit-ticket-map-marker__code b{z-index:1;letter-spacing:.03em;padding-left:8px;font-size:10px;font-weight:900;position:relative}.permit-ticket-map-marker__name{min-width:72px;color:var(--permit-zone-color);white-space:nowrap;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 5px 0 8px;display:flex}.permit-ticket-map-marker__name b{font-size:8px;font-weight:850}.permit-ticket-map-marker__name small{color:var(--muted);margin-top:1px;font-size:6.5px;font-weight:680}.permit-ticket-map-marker__chevron{fill:none;width:12px;stroke:var(--permit-zone-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;margin-right:6px;transition:transform .16s}.permit-ticket-map-marker.is-expanded .permit-ticket-map-marker__chevron{transform:rotate(90deg)}.permit-lot-map-marker{z-index:5;max-width:156px;min-height:27px;color:var(--permit-zone-color);box-shadow:0 6px 15px -6px #0a0f146b,0 0 0 1px var(--permit-zone-color);background:#fffffff2;border:2px solid #fff;border-radius:9px 9px 9px 2px;align-items:center;gap:5px;padding:3px 7px 3px 3px;display:flex}@supports (color:color-mix(in lab,red,red)){.permit-lot-map-marker{box-shadow:0 6px 15px -6px #0a0f146b,0 0 0 1px color-mix(in srgb,var(--permit-zone-color) 28%,transparent)}}.permit-lot-map-marker{cursor:pointer;animation:marker-pop .18s ease-out}@keyframes marker-pop{0%{opacity:0;translate:0 5px;scale:.9}}.permit-lot-map-marker:hover{z-index:10;translate:0 -2px;scale:1.04}.permit-lot-map-marker.is-unavailable{color:#7b3545;background:repeating-linear-gradient(-45deg,#8b404f0a 0 5px,#8b404f1f 5px 7px),#fffafbf5}.permit-lot-map-marker b{color:#fff;background:var(--permit-zone-color);border-radius:6px 6px 6px 2px;place-items:center;min-width:27px;height:19px;font-size:7px;font-weight:900;display:grid}.permit-lot-map-marker span{text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:760;overflow:hidden}.parking-map-marker{z-index:4;height:32px;color:var(--parking-marker-color,#475569);background:var(--parking-marker-background,var(--parking-marker-color,#475569));cursor:pointer;border:2px solid #fff;border-radius:11px 11px 11px 3px;align-items:center;gap:5px;padding:3px 7px 3px 4px;transition:filter .15s,scale .15s,translate .15s;display:flex;rotate:-2deg;box-shadow:0 8px 18px -6px #0a0f147a,0 0 0 1px #0a0f141a}.parking-map-marker>*{rotate:2deg}.parking-map-marker.is-selected,.parking-map-marker:hover{z-index:10;filter:saturate(1.15);translate:0 -2px;scale:1.12}.parking-map-marker.is-selected{box-shadow:0 10px 24px -5px #0a0f148c,0 0 0 4px #ffffff8f}.parking-map-marker:after{background:var(--occupancy-color,#178154);content:"";border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:-3px;right:-3px;box-shadow:0 2px 5px #0a0f1438}.parking-map-marker.occupancy-open{--occupancy-color:#178154}.parking-map-marker.occupancy-steady{--occupancy-color:#937014}.parking-map-marker.occupancy-busy{--occupancy-color:#bd6c0d}.parking-map-marker.is-closed,.parking-map-marker.occupancy-critical{--occupancy-color:#ba2a24}.parking-map-marker__icon{color:currentColor;background:#fff;border-radius:7px;place-items:center;width:22px;height:22px;display:grid}.parking-map-marker__icon svg{fill:currentColor;width:15px;height:15px}.parking-map-marker__count{color:#fff;font-variant-numeric:tabular-nums;font-size:10px;font-weight:850}.parking-map-marker.access-unavailable{color:#64748b;filter:saturate(.35);opacity:.78}.parking-map-marker.access-unavailable .parking-map-marker__count{color:#334155}.parking-map-marker.access-later{background-image:repeating-linear-gradient(-45deg,#fff0 0 5px,#ffffff2e 5px 9px)}.parking-map-marker.access-visitor-paid{box-shadow:0 8px 18px -6px #0a0f147a,0 0 0 2px #ffedd5d9}.parking-map-marker__access{width:17px;height:17px;color:var(--parking-marker-color);background:#fff;border:2px solid #fff;border-radius:6px;place-items:center;display:grid;position:absolute;bottom:-8px;left:-7px;box-shadow:0 2px 6px #0a0f1438}.parking-map-marker__access svg{width:9px;height:9px}.parking-map-marker.access-included .parking-map-marker__access{color:#168252}.parking-map-marker.access-later .parking-map-marker__access{color:#a56b00}.parking-map-marker.access-visitor-paid .parking-map-marker__access{color:#d14b16}.parking-map-marker.access-unavailable .parking-map-marker__access{color:#64748b}.transit-map-marker{z-index:7;color:#fff;background:var(--route-color);cursor:pointer;isolation:isolate;width:38px;height:42px;transform:scale(var(--transit-marker-scale,1));transform-origin:bottom;border:2px solid #fff;border-radius:13px 13px 11px 4px;grid-template-rows:26px 9px;place-items:center;padding:3px 3px 2px;transition:filter .14s,transform .18s ease-out;display:grid;position:relative;box-shadow:0 8px 18px -5px #0a0f147a,0 0 0 1px #0a0f141a}.transit-map-marker:focus-visible,.transit-map-marker:hover{filter:brightness(1.05);transform:scale(var(--transit-marker-scale,1)) translateY(-1px)}.transit-map-marker.is-delayed:after{z-index:-1;content:"";border:2px solid #f59e0b;border-radius:16px 16px 14px 6px;animation:transit-delay-pulse 1.5s ease-out infinite;position:absolute;inset:-4px}@keyframes transit-delay-pulse{70%,to{opacity:0;transform:scale(1.16)}}.transit-map-marker__bus{width:26px;height:25px;color:var(--route-color);background:#fff;border-radius:8px 8px 7px 3px;place-items:center;display:grid}.transit-map-marker__bus svg{fill:currentColor;width:15px;height:15px}.transit-map-marker b{color:#fff;min-width:0;height:9px;box-shadow:none;letter-spacing:.04em;background:0 0;border:0;place-items:center;padding:0;font-size:6.5px;font-weight:950;line-height:1;display:grid;position:static}.transit-map-marker__direction{z-index:2;border:1px solid var(--route-color);place-items:center;width:11px;height:11px;display:grid;position:absolute;top:4px;left:auto;right:4px}@supports (color:color-mix(in lab,red,red)){.transit-map-marker__direction{border:1px solid color-mix(in srgb,var(--route-color) 18%,#fff)}}.transit-map-marker__direction{color:var(--route-color);transform-origin:50%;background:#fff;border-radius:50%;font-style:normal;box-shadow:0 1px 3px #0a0f1433}.transit-map-marker__direction svg{width:7px;height:7px}.cabs-route-map-label{z-index:5;max-width:112px;color:var(--ink);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 4px 10px -5px #0a0f1473,0 0 0 1px var(--route-color);background:#ffffffc7;border:1px solid #ffffffe0;border-radius:7px;align-items:center;gap:3px;padding:2px 5px 2px 2px;display:flex}@supports (color:color-mix(in lab,red,red)){.cabs-route-map-label{box-shadow:0 4px 10px -5px #0a0f1473,0 0 0 1px color-mix(in srgb,var(--route-color) 22%,transparent)}}.cabs-route-map-label{opacity:.9;pointer-events:none}.cabs-route-map-label>b{color:#fff;background:var(--route-color);border-radius:5px;place-items:center;min-width:18px;height:18px;font-size:6px;font-weight:900;display:grid}.cabs-route-map-label small,.cabs-route-map-label span,.cabs-route-map-label strong{min-width:0;display:block}.cabs-route-map-label strong{text-overflow:ellipsis;white-space:nowrap;max-width:82px;font-size:6px;overflow:hidden}.cabs-route-map-label small{display:none}.map-info-popup{gap:4px;min-width:170px;display:grid}.map-info-popup>small{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:7px;font-weight:800}.map-info-popup>strong{font-size:10px;line-height:1.3}.map-info-popup>p{color:var(--muted);margin:0;font-size:8px;line-height:1.45}.map-info-popup>div{flex-wrap:wrap;gap:4px;display:flex}.map-info-popup>div span,.map-info-popup>span{width:fit-content;color:var(--muted);background:var(--surface-muted);border-radius:5px;padding:3px 5px;font-size:7px}.map-info-popup>div span.is-warning{color:#9a5700;background:#fff3d4}.map-info-popup>a{color:var(--blue);margin-top:2px;font-size:8px;font-weight:750}.map-info-popup--transit{gap:7px;min-width:248px}.transit-popup-trip{background:#f8fafb;border:1px solid #dce3e8;border-radius:10px;gap:0;display:grid;overflow:hidden}.transit-popup-trip>div{border-bottom:1px solid #e5eaee;justify-content:space-between;align-items:center;gap:10px;min-height:39px;padding:6px 8px;display:flex}.transit-popup-trip>div:last-child{border-bottom:0}.transit-popup-trip>div.is-next{color:#0f5f91;background:#eaf5fb}.transit-popup-trip small,.transit-popup-trip span,.transit-popup-trip strong{display:block}.transit-popup-trip small{color:var(--muted);font-size:6.5px}.transit-popup-trip strong{margin-top:2px;font-size:8px}.transit-popup-trip>div>b{color:inherit;background:#ffffffbf;border-radius:6px;flex:none;padding:3px 5px;font-size:6.5px}.maplibregl-popup-content:has(.transit-station-board){overflow:hidden;border-radius:16px!important;padding:0!important}.mapcn-popup:has(.transit-station-board){width:min(318px,100vw - 44px)}.transit-station-board{color:#172027;background:#fff;width:100%;min-width:0;overflow:hidden}.transit-station-board__header{color:#fff;background:radial-gradient(circle at 92% -20%,#ffffff2e,transparent 7rem),var(--route-color);grid-template-columns:51px minmax(0,1fr) 29px;align-items:center;gap:9px;min-width:0;padding:11px 12px 10px;display:grid}.transit-station-board__header>span{letter-spacing:-.03em;background:#ffffff1f;border:2px solid #ffffffd1;border-radius:9px;place-items:center;min-width:51px;height:38px;font-size:17px;font-weight:950;display:grid}.transit-station-board__header>div{min-width:0}.transit-station-board__header small,.transit-station-board__header strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.transit-station-board__header small{color:#ffffffb8;letter-spacing:.03em;font-size:7px;font-weight:720}.transit-station-board__header strong{margin-top:3px;font-size:12px;font-weight:850}.transit-station-board__header>svg{opacity:.86;width:27px;height:27px}.transit-station-board__destination{color:#25333c;background:#f0f4f6;border-bottom:1px solid #d9e1e6;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:8px 11px;display:grid}.transit-station-board__destination>span{color:#fff;background:var(--route-color);border-radius:5px;padding:2px 5px;font-size:6.5px;font-weight:850}.transit-station-board__destination strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-size:9px;line-height:1.25;display:-webkit-box;overflow:hidden}.transit-station-board__destination small{color:#667681;text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:6.5px;overflow:hidden}.transit-station-board__stops{padding:6px 10px 6px 8px;display:grid;position:relative}.transit-station-board__stops:before{z-index:0;background:var(--route-color);border-radius:999px;width:3px;position:absolute;top:20px;bottom:20px;left:20px}@supports (color:color-mix(in lab,red,red)){.transit-station-board__stops:before{background:color-mix(in srgb,var(--route-color) 72%,#fff)}}.transit-station-board__stops:before{content:""}.transit-station-board__stops>div{z-index:1;border-radius:9px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:48px;padding:5px 6px 5px 0;display:grid;position:relative}.transit-station-board__stops>div.is-next{background:var(--route-color);margin:2px 0}@supports (color:color-mix(in lab,red,red)){.transit-station-board__stops>div.is-next{background:color-mix(in srgb,var(--route-color) 8%,#fff)}}.transit-station-board__stops>div>i{border:3px solid var(--route-color);color:#fff;background:#fff;border-radius:50%;justify-self:center;place-items:center;width:13px;height:13px;font-style:normal;display:grid;box-shadow:0 0 0 2px #fff}.transit-station-board__stops>div.is-current>i{border-color:#84939c}.transit-station-board__stops>div.is-next>i{background:var(--route-color);border:0;width:21px;height:21px}.transit-station-board__stops>div.is-next>i svg{width:13px;height:13px}.transit-station-board__stops>div.is-terminal>i{background:var(--route-color);border-radius:3px}.transit-station-board__stops>div>span{min-width:0;display:block;overflow:hidden}.transit-station-board__stops em,.transit-station-board__stops small,.transit-station-board__stops strong{min-width:0;display:block}.transit-station-board__stops small{color:#788791;font-size:6.5px;font-weight:720}.transit-station-board__stops strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:9px;line-height:1.25;display:-webkit-box;overflow:hidden}.transit-station-board__stops em{color:#788791;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:6.3px;font-style:normal;overflow:hidden}.transit-station-board__stops>div>b{border:1px solid var(--route-color);flex:none;max-width:70px}@supports (color:color-mix(in lab,red,red)){.transit-station-board__stops>div>b{border:1px solid color-mix(in srgb,var(--route-color) 24%,#fff)}}.transit-station-board__stops>div>b{color:var(--route-color);white-space:nowrap;background:#fff;border-radius:7px;padding:4px 6px;font-size:7px;font-weight:850}.transit-station-board__meta{background:#f8fafb;border-top:1px solid #e2e7ea;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;padding:7px 10px 8px;display:flex}.transit-station-board__meta span{color:#52636e;background:#e9eef1;border-radius:5px;padding:3px 5px;font-size:6.3px}.transit-station-board__meta span.is-warning{color:#965600;background:#fff0cc}.transit-station-board__meta small{color:#82909a;min-width:100%;margin-top:2px;font-size:6.2px}.campus-impact-map-marker{color:#fff;background:var(--impact-color,#d97706);width:23px;height:23px;box-shadow:0 6px 15px -5px #0a0f147a,0 0 0 1px var(--impact-color,#d97706);border:2px solid #fff;border-radius:8px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.campus-impact-map-marker{box-shadow:0 6px 15px -5px #0a0f147a,0 0 0 1px color-mix(in srgb,var(--impact-color,#d97706) 36%,#fff)}}.campus-impact-map-marker{cursor:pointer;opacity:.88;transition:scale .14s,opacity .14s,translate .14s}.campus-impact-map-marker:focus-visible,.campus-impact-map-marker:hover{z-index:10;opacity:1;translate:0 -1px;scale:1.12}.campus-impact-map-marker svg{width:13px;height:13px}.map-info-popup--impact{--impact-color:#d97706;gap:7px;min-width:250px}.map-info-popup--impact>small{color:var(--impact-color)}.map-info-popup--impact .map-info-popup__date-range{color:#6c583b;font-size:7px;font-weight:760}.map-info-popup__impact-tags{flex-wrap:wrap;gap:4px;display:flex}.map-info-popup__impact-tags span{color:var(--impact-color);border-radius:6px;padding:3px 6px}@supports (color:color-mix(in lab,red,red)){.map-info-popup__impact-tags span{color:color-mix(in srgb,var(--impact-color) 78%,#2b1b00)}}.map-info-popup__impact-tags span{background:var(--impact-color)}@supports (color:color-mix(in lab,red,red)){.map-info-popup__impact-tags span{background:color-mix(in srgb,var(--impact-color) 10%,#fff)}}.map-info-popup__impact-tags span{font-size:6.5px;font-weight:760}.map-info-popup--impact p{color:var(--ink-soft);-webkit-line-clamp:6;-webkit-box-orient:vertical;margin:0;font-size:7.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.map-info-popup--impact>a{color:var(--impact-color);font-size:7px;font-weight:780}.ev-map-marker{z-index:7;color:#fff;cursor:pointer;background:#1769aa;border:2px solid #fff;border-radius:50% 50% 50% 4px;place-items:center;width:32px;height:32px;transition:filter .15s,scale .15s,translate .15s;display:grid;rotate:-12deg;box-shadow:0 8px 18px -5px #0a0f147a,0 0 0 1px #0a0f141a}.ev-map-marker.is-selected,.ev-map-marker:hover{z-index:10;filter:saturate(1.12);translate:0 -2px;scale:1.1}.ev-map-marker.is-selected{box-shadow:0 10px 22px -5px #0a0f148c,0 0 0 4px #ffffffb8,0 0 0 6px #1769aa59}.ev-map-marker.is-tesla.is-selected{box-shadow:0 10px 22px -5px #0a0f148c,0 0 0 4px #ffffffb8,0 0 0 6px #d2263057}.ev-map-marker svg{fill:currentColor;width:15px;height:15px;rotate:12deg}.ev-map-marker b{font-size:13px;font-weight:900;rotate:12deg}.ev-map-marker.is-tesla{background:#d22630}.ev-map-marker.is-third-party{background:#1769aa}.map-info-popup--ev{gap:7px;min-width:245px}.ev-popup-availability{color:#10548a;background:#f0f7fc;border:1px solid #cddfee;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.ev-popup-availability span,.ev-popup-availability strong{display:block}.ev-popup-availability strong{font-size:8px}.ev-popup-availability span{color:#4d718e;font-size:7px}.map-info-popup--ev .ev-popup-connectors{flex-wrap:wrap;gap:4px;display:flex}.map-info-popup--ev .ev-popup-connectors span{color:#245b84;background:#f5f9fc;border:1px solid #d8e5ef;border-radius:6px;padding:4px 6px;font-size:7px;font-weight:720}.map-info-popup--ev dl{gap:4px;margin:0;display:grid}.map-info-popup--ev dl>div{grid-template-columns:38px minmax(0,1fr);gap:6px;display:grid}.map-info-popup--ev dd,.map-info-popup--ev dt{margin:0;font-size:7px;line-height:1.4}.map-info-popup--ev dt{color:var(--muted)}.map-info-popup--ev dd{color:var(--ink)}.map-info-popup--ev footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding-top:6px;font-size:6.5px;display:flex}.map-info-popup--ev footer a{color:var(--blue);font-weight:750}.insight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.insight-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);padding:18px}.insight-card__heading{align-items:center;gap:10px;display:flex}.insight-card__heading>span{width:39px;height:39px;color:var(--scarlet);background:var(--scarlet-soft);border-radius:12px;flex:none;place-items:center;display:grid}.insight-card--ev .insight-card__heading>span{color:var(--green);background:var(--green-soft)}.insight-card--event .insight-card__heading>span{color:var(--amber);background:var(--amber-soft)}.insight-card--transit .insight-card__heading>span{color:var(--blue);background:var(--blue-soft)}.insight-card__heading>span svg{width:21px;height:21px}.insight-card__heading>div{flex:1;min-width:0}.insight-card__heading small{color:var(--muted);letter-spacing:.04em;font-size:8px;font-weight:700;display:block}.insight-card__heading h3{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:13px;font-weight:750;overflow:hidden}.insight-card__heading>button{color:var(--muted);background:var(--surface-muted);cursor:pointer;white-space:nowrap;border:0;border-radius:8px;padding:6px 8px;font-size:8px;font-weight:700}.insight-card__heading>button:hover{color:var(--ink)}.current-window{background:var(--surface-soft);border-radius:10px;align-items:center;gap:6px;margin:15px 0 11px;padding:9px 10px;display:flex}.current-window strong{font-size:9px}.current-window small{color:var(--muted);margin-left:auto;font-size:7px}.insight-card--permit>p{color:var(--ink-soft);margin:8px 0 0;font-size:9px;line-height:1.55}.insight-planning-notice{color:#225b86;cursor:pointer;text-align:left;background:#f0f7fc;border:1px solid #cfddea;border-radius:11px;align-items:center;gap:7px;width:100%;margin-top:10px;padding:8px;display:flex}.insight-planning-notice>svg:first-child{flex:none;width:17px;height:17px}.insight-planning-notice>span{flex:1;min-width:0}.insight-planning-notice small,.insight-planning-notice strong{display:block}.insight-planning-notice strong{font-size:7.5px}.insight-planning-notice small{color:#4a708c;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:6.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.insight-planning-notice>svg:last-child{flex:none;width:13px}.insight-planning-notice.is-warning{color:#8a5909;background:#fff8e7;border-color:#ead7a6}.insight-planning-notice.is-warning small{color:#816a3f}.insight-planning-notice.is-night{color:#5b42a5;background:#f5f2ff;border-color:#d9d4f2}.insight-planning-notice.is-night small{color:#6d6192}.insight-night-cost{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.insight-night-cost b,.insight-night-cost span{border-radius:6px;padding:4px 6px;font-size:6.5px}.insight-night-cost span{color:var(--muted);background:var(--surface-muted)}.insight-night-cost b{color:#5b42a5;background:#f1edff}.insight-card__fine-print{border-top:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:5px;margin-top:13px;padding-top:10px;font-size:7px;line-height:1.45;display:flex}.insight-card__fine-print svg{width:12px;height:12px;color:var(--amber);flex:none}.insight-empty{align-content:center;min-height:140px;padding:10px 2px 0;display:grid}.insight-empty p{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.insight-empty button{color:var(--scarlet);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:3px;margin-top:12px;padding:0;font-size:9px;font-weight:750;display:flex}.insight-empty svg{width:13px;height:13px}.ev-stats,.transit-summary{grid-template-columns:1fr 1fr;gap:8px;margin:15px 0 11px;display:grid}.ev-stats>div,.transit-summary>div{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;padding:10px}.ev-stats strong,.transit-summary strong{letter-spacing:-.04em;font-size:18px;font-weight:780;display:block}.ev-stats span,.transit-summary span{color:var(--muted);margin-top:2px;font-size:7px;display:block}.charger-row{background:var(--green-soft);border-radius:11px;align-items:center;gap:8px;padding:9px;display:flex}.charger-row>span:first-child{color:#fff;background:#d22630;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.charger-row>span:first-child svg{width:17px;height:17px}.charger-row>span:nth-child(2){flex:1;min-width:0}.charger-row em,.charger-row small,.charger-row strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.charger-row small{color:var(--green);font-size:7px;font-weight:750}.charger-row strong{margin-top:1px;font-size:9px}.charger-row em{color:var(--muted);margin-top:2px;font-size:7px;font-style:normal}.charger-row>svg{width:15px;color:var(--green);flex:none}.source-note{color:var(--muted);margin:10px 0 0;font-size:7px;line-height:1.45}.event-callout{background:var(--amber-soft);border:1px solid #f1dfbb;border-radius:12px;gap:9px;margin:15px 0 12px;padding:10px;display:flex}.event-callout>span{width:28px;height:28px;color:var(--amber);background:#fff;border-radius:8px;flex:none;place-items:center;display:grid}.event-callout>span svg{width:15px;height:15px}.event-callout strong{font-size:9px;display:block}.event-callout p{color:#72521f;margin:4px 0 0;font-size:7px;line-height:1.45}.official-links{gap:2px;display:grid}.official-links a{color:var(--muted);border-radius:8px;justify-content:space-between;align-items:center;padding:7px 8px;font-size:8px;font-weight:680;display:flex}.official-links a:hover{color:var(--ink);background:var(--surface-soft)}.official-links svg{width:13px;height:13px}.official-links--row{flex-wrap:wrap;margin-top:9px;display:flex}.insight-card--transit>p{color:var(--muted);margin:10px 0 0;font-size:8px;line-height:1.55}.site-footer{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:28px;margin-top:18px;padding:24px 3px 4px;display:grid}.site-footer>div{align-items:center;gap:9px;display:flex}.site-footer p{text-align:center;justify-self:center;max-width:680px;margin:0;font-size:8px;line-height:1.5}.site-footer nav{gap:13px;font-size:8px;font-weight:650;display:flex}.site-footer a:hover{color:var(--ink)}.detail-layer,.modal-layer{z-index:100;display:grid;position:fixed;inset:0}.modal-layer{z-index:110;place-items:center;padding:22px}.detail-backdrop,.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c0f146b;border:0;animation:fade-in .18s ease-out;position:absolute;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0f1485}@keyframes fade-in{0%{opacity:0}}.detail-sheet{z-index:1;background:var(--surface);grid-template-rows:auto minmax(0,1fr);justify-self:end;width:min(475px,100%);height:100%;min-height:0;animation:sheet-in .26s cubic-bezier(.2,.75,.25,1);display:grid;position:relative;overflow:hidden;box-shadow:-24px 0 70px -32px #0a0f147a}@keyframes sheet-in{0%{transform:translate(100%)}}.detail-sheet__handle{display:none}.detail-sheet__hero{color:#fff;background:radial-gradient(circle at 88% 8%,#ffffff21,#0000 15rem),linear-gradient(145deg,#25272b,#101214);padding:24px 24px 28px;position:relative}.detail-sheet__hero:after{content:"";border:30px solid #ffffff08;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-80px;right:-36px}.detail-sheet__hero-actions{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.detail-sheet__hero-actions>div{gap:7px;display:flex}.detail-sheet__eyebrow{color:#ffffff8a;letter-spacing:.14em;font-size:9px;font-weight:800}.circle-button{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:11px;place-items:center;display:grid}.circle-button:hover{color:var(--ink)}.circle-button svg{width:19px;height:19px}.circle-button--glass{color:#ffffffb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border-color:#ffffff21}.circle-button--glass.is-active,.circle-button--glass:hover{color:#fff;background:#ffffff24}.circle-button--glass.is-active{color:#ffd15c}.detail-sheet__title-row{z-index:1;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:31px;display:flex;position:relative}.detail-sheet__title-row>div{min-width:0}.detail-sheet__title-row h2{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0;font-size:27px;font-weight:770;line-height:1.15}.detail-sheet__title-row p{color:#ffffff94;align-items:flex-start;gap:5px;max-width:310px;margin:8px 0 0;font-size:9px;line-height:1.45;display:flex}.detail-sheet__title-row p svg{flex:none;width:13px;height:13px}.detail-sheet__hero .occupancy-ring__track{stroke:#ffffff1f}.detail-sheet__body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:19px 22px 108px;overflow-y:auto}.detail-availability{border:1px solid var(--line);background:var(--surface-soft);border-radius:15px;justify-content:space-between;align-items:center;gap:18px;padding:15px 16px;display:flex}.detail-availability>div:first-child>small,.detail-availability>div:first-child>span{color:var(--muted);font-size:8px;display:block}.detail-availability>div:first-child>strong{letter-spacing:-.05em;margin:2px 0;font-size:31px;font-weight:800;line-height:1.05;display:block}.detail-availability dl{grid-template-columns:1fr 1fr;gap:18px;margin:0;display:grid}.detail-availability dt{color:var(--muted);font-size:8px}.detail-availability dd{margin:4px 0 0;font-size:14px;font-weight:730}.detail-section{border-bottom:1px solid var(--line);padding:20px 1px}.detail-section--quiet{border-bottom:0}.detail-section__heading{align-items:center;gap:10px;display:flex}.detail-section__heading>div{min-width:0}.section-icon{width:37px;height:37px;color:var(--muted);background:var(--surface-muted);border-radius:11px;flex:none;place-items:center;display:grid}.section-icon svg{width:19px;height:19px}.section-icon--scarlet{color:var(--scarlet);background:var(--scarlet-soft)}.section-icon--green{color:var(--green);background:var(--green-soft)}.section-icon--blue{color:var(--blue);background:var(--blue-soft)}.section-icon--amber{color:#b86500;background:#fff2dc}.detail-section__heading h3{margin:0;font-size:12px;font-weight:750}.detail-section__heading p{color:var(--muted);margin:3px 0 0;font-size:8px}.access-callout{border:1px solid var(--access-border,#cfe8dc);background:var(--access-bg,var(--green-soft));border-radius:12px;align-items:flex-start;gap:9px;margin-top:12px;padding:11px;display:flex;position:relative}.access-callout>svg{width:18px;height:18px;color:var(--access-icon,var(--green));flex:none}.access-callout strong{color:var(--access-ink,#145a3c);font-size:9px;display:block}.access-callout p{color:var(--access-detail,#386f58);margin:4px 0 0;font-size:8px;line-height:1.5}.access-callout>div{flex:1;min-width:0}.access-callout__next{color:var(--access-ink,#145a3c);background:#ffffffad;border-radius:6px;align-items:center;gap:4px;margin-top:7px;padding:4px 6px;font-size:8px;font-weight:760;display:inline-flex}.access-callout__next svg{width:12px;height:12px}.access-callout__payment{color:#fff;background:var(--access-icon,var(--green));white-space:nowrap;border-radius:999px;flex:none;align-self:flex-start;padding:4px 6px;font-size:7px;font-weight:800}.facility-facts{border:1px solid var(--line);background:var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:12px 0 0;display:grid;overflow:hidden}.facility-facts>div{background:#fff;min-width:0;padding:9px 10px}.facility-facts dd,.facility-facts dt{margin:0}.facility-facts dt{color:var(--muted);font-size:7px;font-weight:720}.facility-facts dd{color:var(--ink-soft);overflow-wrap:anywhere;margin-top:3px;font-size:8px;font-weight:760;line-height:1.4}.facility-facts dd.is-closed{color:#b42318}.facility-access-warning,.facility-payment-card{border-radius:11px;align-items:flex-start;gap:9px;margin-top:9px;padding:10px;display:flex}.facility-access-warning{color:#a22920;background:#fff4f2;border:1px solid #f2c0bc}.facility-payment-card{color:#315467;background:#f5f9fb;border:1px solid #d9e2e7}.facility-access-warning>svg,.facility-payment-card>svg{flex:0 0 18px;width:18px;height:18px}.facility-access-warning span,.facility-payment-card span{min-width:0}.facility-access-warning small,.facility-access-warning strong,.facility-payment-card small,.facility-payment-card strong{display:block}.facility-access-warning strong,.facility-payment-card strong{font-size:8.5px}.facility-access-warning small,.facility-payment-card small{color:currentColor;opacity:.82;margin-top:3px;font-size:7px;line-height:1.45}.facility-rate-card{background:#f0d6a5;border:1px solid #f0d6a5;border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:9px;display:grid;overflow:hidden}.facility-rate-card>span{background:#fffbf2;min-width:0;padding:8px}.facility-rate-card small,.facility-rate-card strong{display:block}.facility-rate-card small{color:#886329;text-overflow:ellipsis;white-space:nowrap;font-size:6.5px;overflow:hidden}.facility-rate-card strong{color:#6f4200;overflow-wrap:anywhere;margin-top:3px;font-size:8.5px}.facility-rate-card>p{color:#795a28;background:#fff8e8;grid-column:1/-1;margin:0;padding:7px 9px;font-size:7px;line-height:1.45}.facility-services{flex-wrap:wrap;gap:5px;margin-top:9px;display:flex}.facility-services span{color:#17603f;background:#eaf7f0;border-radius:7px;align-items:center;gap:4px;padding:5px 7px;font-size:7px;font-weight:720;display:inline-flex}.facility-services svg{width:12px;height:12px}.facility-nearby{border-top:1px dashed var(--line);margin-top:9px;padding-top:8px}.facility-nearby small{color:var(--muted);font-size:7px;font-weight:760}.facility-nearby p,.facility-source-note{color:var(--ink-soft);margin:4px 0 0;font-size:7px;line-height:1.5}.facility-source-note{color:var(--muted)}.detail-info-list{gap:7px;margin-top:12px;display:grid}.detail-info-list>button,.detail-info-list>div{border:1px solid var(--line);width:100%;color:inherit;text-align:left;background:#fff;border-radius:11px;align-items:center;gap:9px;padding:10px;display:flex}.detail-info-list>button{cursor:pointer;min-height:44px;transition:border-color .14s,background .14s,translate .14s}.detail-info-list>button:focus-visible,.detail-info-list>button:hover:not(:disabled){border-color:var(--green)}@supports (color:color-mix(in lab,red,red)){.detail-info-list>button:focus-visible,.detail-info-list>button:hover:not(:disabled){border-color:color-mix(in srgb,var(--green) 38%,var(--line))}}.detail-info-list>button:focus-visible,.detail-info-list>button:hover:not(:disabled){background:var(--green)}@supports (color:color-mix(in lab,red,red)){.detail-info-list>button:focus-visible,.detail-info-list>button:hover:not(:disabled){background:color-mix(in srgb,var(--green) 4%,#fff)}}.detail-info-list>button:focus-visible,.detail-info-list>button:hover:not(:disabled){translate:0 -1px}.detail-info-list>button:disabled{cursor:default}.detail-info-list>button>svg,.detail-info-list>div>svg{width:18px;height:18px;color:var(--green);flex:none}.detail-info-list>button>span{flex:1;min-width:0}.detail-info-list>button>.detail-info-list__locate{color:#71808a;width:17px;height:17px}.detail-info-list small,.detail-info-list strong{display:block}.detail-info-list strong{font-size:9px}.detail-info-list small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:7px;line-height:1.4}.route-pills{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.route-pills button{--route-color:var(--blue);border:1px solid var(--route-color);align-items:center;gap:6px;min-height:34px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.route-pills button{border:1px solid color-mix(in srgb,var(--route-color) 24%,var(--line))}}.route-pills button{color:var(--muted);background:var(--route-color);border-radius:10px;padding:4px 8px 4px 5px}@supports (color:color-mix(in lab,red,red)){.route-pills button{background:color-mix(in srgb,var(--route-color) 4%,#fff)}}.route-pills button{cursor:pointer;text-align:left;font-size:8px;transition:border-color .14s,background .14s,translate .14s}.route-pills button:focus-visible,.route-pills button:hover:not(:disabled){border-color:var(--route-color);background:var(--route-color)}@supports (color:color-mix(in lab,red,red)){.route-pills button:focus-visible,.route-pills button:hover:not(:disabled){background:color-mix(in srgb,var(--route-color) 9%,#fff)}}.route-pills button:focus-visible,.route-pills button:hover:not(:disabled){translate:0 -1px}.route-pills button:disabled{cursor:default}.route-pills button>span{max-width:120px;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-weight:720;overflow:hidden}.route-pills b{color:#fff;background:var(--route-color);border-radius:7px;place-items:center;min-width:22px;height:22px;font-size:7px;display:grid}.route-pills button>svg{width:14px;height:14px;color:var(--route-color);flex:0 0 14px}.detail-note{color:var(--muted);margin:11px 0 0;font-size:8px;line-height:1.55}.detail-sheet__footer{z-index:2;border-top:1px solid var(--line);padding:12px 16px max(12px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;grid-template-columns:1.25fr .8fr;gap:8px;display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -13px 30px -25px #10182861}.button{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 14px;font-size:10px;font-weight:750;display:inline-flex}.button svg{width:16px;height:16px}.button--primary{color:#fff;background:var(--scarlet);box-shadow:0 9px 20px -13px #ba0c2fb3}.button--primary:hover{background:var(--scarlet-strong)}.button--secondary{border-color:var(--line);color:var(--ink);background:var(--surface)}.button--ghost:hover,.button--secondary:hover{background:var(--surface-soft)}.button--ghost{color:var(--muted);background:0 0;border-color:#0000}.permit-modal{z-index:1;background:var(--surface);border:1px solid #ffffff29;border-radius:24px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1320px,100%);height:min(850px,100vh - 44px);animation:modal-in .24s cubic-bezier(.2,.75,.25,1);display:grid;position:relative;overflow:hidden;box-shadow:0 36px 100px -28px #05080ca8}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.985)}}.permit-modal__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 24px 19px;display:flex}.permit-modal__header h2{letter-spacing:-.035em;margin:5px 0 4px;font-size:24px;font-weight:770}.permit-modal__header p{color:var(--muted);margin:0;font-size:9px}.permit-modal__content{grid-template-columns:270px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.permit-picker{border-right:1px solid var(--line);background:var(--surface-soft);padding:14px;overflow-y:auto}.permit-identity-selector{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0 0 12px;padding:11px}.permit-identity-selector>div:first-child{gap:2px;margin-bottom:9px;display:grid}.permit-identity-selector strong{color:var(--ink);font-size:10px}.permit-identity-selector small,.permit-identity-selector>p{color:var(--muted);font-size:8px;line-height:1.45}.permit-identity-selector>div[role=group]{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.permit-identity-selector button{border:1px solid var(--line);min-width:0;min-height:34px;color:var(--muted);background:var(--surface-soft);cursor:pointer;text-align:left;border-radius:9px;align-items:center;gap:5px;padding:5px 7px;font-size:8px;font-weight:700;display:flex}.permit-identity-selector button svg{flex:none;width:14px;height:14px}.permit-identity-selector button span{text-overflow:ellipsis;overflow:hidden}.permit-identity-selector button.is-active{color:var(--scarlet);background:#ba0c2f12;border-color:#ba0c2f47}.permit-identity-selector>p{border-top:1px solid var(--line);margin:8px 0 0;padding-top:8px}.permit-choice{width:100%;min-height:52px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:9px;padding:6px 8px 6px 6px;display:flex}.permit-choice:hover{color:var(--ink);background:#fff;box-shadow:0 7px 18px -15px #1018285c}.permit-choice.is-active{color:var(--ink);box-shadow:0 5px 15px -12px #1018283d,inset 3px 0 var(--scarlet);background:#fff;border-color:#ba0c2f33}.permit-choice>b{color:#fff;background:var(--scarlet);border-radius:9px 9px 9px 3px;place-items:center;min-width:46px;height:36px;font-size:9px;font-weight:880;display:grid;position:relative;overflow:hidden;box-shadow:inset -1px 0 #ffffff38}.permit-choice>b:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:-4px;box-shadow:0 16px #fff}.permit-choice>span:nth-last-child(2){flex:1;min-width:0}.permit-choice small,.permit-choice strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.permit-choice strong{color:inherit;font-size:9px;font-weight:730}.permit-choice small{color:var(--muted);align-items:center;gap:5px;margin-top:3px;font-size:7px;display:flex}.permit-choice small span{text-overflow:ellipsis;overflow:hidden}.permit-choice small em{color:#8a4d05;background:#fff2d8;border-radius:999px;flex:none;padding:2px 4px;font-size:5.7px;font-style:normal;font-weight:780}.permit-choice.is-active small em{color:#8f0824;background:var(--scarlet-soft)}.permit-choice>svg{opacity:.55;flex:none;width:13px;height:13px}.permit-choice--special{border-color:var(--line);background:var(--surface);min-height:50px;margin-bottom:6px}.permit-choice--special>span:first-child{width:32px;height:32px;color:var(--blue);background:var(--blue-soft);border-radius:9px;flex:none;place-items:center;display:grid}.permit-choice--special>span:first-child svg{width:17px;height:17px}.permit-group{margin-top:14px}.permit-group__title{align-items:center;gap:8px;padding:2px 8px 6px;display:flex}.permit-group__title>svg{width:17px;height:17px;color:var(--muted);flex:none}.permit-group__title small,.permit-group__title strong{display:block}.permit-group__title strong{font-size:9px}.permit-group__title small{color:var(--muted);margin-top:2px;font-size:6.5px;line-height:1.3}.permit-detail{min-width:0;padding:24px 26px 32px;overflow-y:auto}.permit-detail-workspace{grid-template-columns:minmax(320px,.92fr) minmax(440px,1.28fr);min-width:0;min-height:0;display:grid}.permit-preview{border-right:1px solid var(--line);background:radial-gradient(circle at 45% 42%,#ba0c2f12,#0000 17rem),#e9ebed;min-width:0;min-height:0;position:relative;overflow:hidden}.permit-preview>.campus-parking-map{position:absolute;inset:0}.campus-parking-map--preview .permit-map-summary{max-width:none;top:14px;left:14px;right:14px}.permit-preview__status{z-index:3;min-height:34px;color:var(--muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #1214161a;border-radius:11px;align-items:center;gap:6px;padding:7px 9px;font-size:8px;font-weight:680;display:flex;position:absolute;bottom:28px;left:14px;right:14px;box-shadow:0 10px 24px -18px #0a0f1473}.permit-preview__period{z-index:9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #1214161c;border-radius:10px;gap:3px;padding:3px;display:flex;position:absolute;top:78px;left:14px;box-shadow:0 9px 22px -16px #0a0f1480}.permit-preview__period button{height:27px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 9px;font-size:7px;font-weight:800}.permit-preview__period button.is-active{color:#fff;background:var(--scarlet)}.permit-preview__status svg{width:15px;height:15px;color:var(--green);flex:none}.permit-preview__status.is-error{color:var(--red)}.permit-preview__status.is-error svg{color:currentColor}.permit-preview__empty{z-index:2;text-align:center;align-content:center;place-items:center;padding:34px;display:grid;position:absolute;inset:0}.permit-preview__empty>span{width:58px;height:58px;color:var(--scarlet);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #ba0c2f1a;border-radius:19px;place-items:center;display:grid}.permit-preview__empty>span svg{width:29px;height:29px}.permit-preview__empty strong{margin-top:15px;font-size:13px}.permit-preview__empty p{max-width:280px;color:var(--muted);margin:6px 0 0;font-size:9px;line-height:1.55}.permit-placeholder{text-align:center;align-content:center;place-items:center;min-height:370px;display:grid}.permit-placeholder>span{width:70px;height:70px;color:var(--scarlet);background:var(--scarlet-soft);border-radius:23px;place-items:center;display:grid}.permit-placeholder>span svg{width:35px;height:35px}.permit-placeholder h3{letter-spacing:-.025em;margin:17px 0 5px;font-size:18px}.permit-placeholder p{max-width:480px;color:var(--muted);margin:0;font-size:10px;line-height:1.7}.permit-detail__inner{max-width:720px;margin:0 auto}.permit-code-badge{color:#fff;background:var(--scarlet);letter-spacing:.04em;border-radius:10px;justify-content:center;align-items:center;gap:5px;min-width:54px;min-height:34px;padding:0 10px;font-size:11px;font-weight:850;display:inline-flex}.permit-code-badge svg{width:16px;height:16px}.permit-code-badge--visitor{background:var(--blue)}.permit-detail__inner>h3{letter-spacing:-.035em;margin:14px 0 0;font-size:24px}.permit-detail__headline{align-items:center;gap:14px;display:flex}.permit-detail__headline small{color:var(--muted);font-size:8px}.permit-detail__headline h3{letter-spacing:-.035em;margin:3px 0 0;font-size:23px;font-weight:770}.permit-detail__lead{color:var(--ink-soft);margin:15px 0 0;font-size:11px;line-height:1.7}.current-rule{background:linear-gradient(135deg,#ffffffd9,transparent),var(--green-soft);border:1px solid #cfe8dc;border-radius:15px;margin-top:19px;padding:14px 15px}.current-rule>div{align-items:center;gap:7px;display:flex}.current-rule>div small{color:var(--green);font-size:8px;font-weight:750}.current-rule>strong{color:#125639;margin:9px 0 5px;font-size:12px;display:block}.current-rule p{color:#376e57;margin:4px 0 0;font-size:8.5px;line-height:1.55}.permit-planning-notice{color:#225b86;background:#f0f7fc;border:1px solid #cfddea;border-radius:13px;align-items:flex-start;gap:9px;margin-top:11px;padding:10px 11px;display:flex}.permit-planning-notice>svg{flex:none;width:20px;height:20px}.permit-planning-notice strong{font-size:9px;display:block}.permit-planning-notice p{color:#4a708c;margin:3px 0 0;font-size:7.5px;line-height:1.5}.permit-planning-notice.is-warning{color:#8a5909;background:#fff8e7;border-color:#ead7a6}.permit-planning-notice.is-warning p{color:#816a3f}.permit-planning-notice.is-night{color:#5b42a5;background:#f5f2ff;border-color:#d9d4f2}.permit-planning-notice.is-night p{color:#6d6192}.overnight-cost-planner{background:#fbfaff;border:1px solid #d9d4f2;border-radius:15px;margin-top:13px;overflow:hidden}.overnight-cost-planner>header{border-bottom:1px solid #e5e1f4;align-items:center;gap:8px;padding:9px 10px;display:flex}.overnight-cost-planner>header>span{color:#6248ac;background:#eee9ff;border-radius:9px;flex:none;place-items:center;width:31px;height:31px;display:grid}.overnight-cost-planner>header>span svg{width:17px;height:17px}.overnight-cost-planner>header>div:nth-child(2){flex:1;min-width:0}.overnight-cost-planner>header small,.overnight-cost-planner>header strong{display:block}.overnight-cost-planner>header small{color:var(--muted);font-size:6.5px}.overnight-cost-planner>header strong{margin-top:2px;font-size:8.5px}.overnight-cost-planner__duration{gap:3px;display:flex}.overnight-cost-planner__duration button{color:#6a5b92;cursor:pointer;background:#fff;border:1px solid #d8d2ed;border-radius:7px;min-width:28px;height:24px;font-size:6.5px;font-weight:800}.overnight-cost-planner__duration button.is-active{color:#fff;background:#674bb0;border-color:#674bb0}.overnight-cost-planner__rates{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.overnight-cost-planner__rates>span{border-right:1px solid #e8e4f4;min-width:0;padding:9px 10px}.overnight-cost-planner__rates>span:last-child{border-right:0}.overnight-cost-planner__rates i,.overnight-cost-planner__rates small,.overnight-cost-planner__rates strong{display:block}.overnight-cost-planner__rates small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:6.5px;overflow:hidden}.overnight-cost-planner__rates strong{color:#4f3893;margin-top:3px;font-size:13px}.overnight-cost-planner__rates i{color:#81749f;margin-top:2px;font-size:5.8px;font-style:normal}.overnight-cost-planner>p{color:#6e6586;border-top:1px solid #ece8f6;margin:0;padding:8px 10px 3px;font-size:6.6px;line-height:1.5}.overnight-cost-planner>a{color:#5c43a2;align-items:center;gap:3px;padding:3px 10px 9px;font-size:6.5px;font-weight:780;display:inline-flex}.overnight-cost-planner>a svg{width:11px;height:11px}.permit-facts{border:1px solid var(--line);border-radius:15px;grid-template-columns:1fr 1fr;gap:0;margin:20px 0 0;display:grid;overflow:hidden}.permit-facts>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:118px;padding:14px}.permit-facts>div:nth-child(2n){border-right:0}.permit-facts>div:nth-last-child(-n+2){border-bottom:0}.permit-facts dt{color:var(--muted);font-size:8px;font-weight:700}.permit-facts dd{color:var(--ink-soft);margin:8px 0 0;font-size:9px;line-height:1.58}.permit-facts dd small{color:var(--muted);margin-top:4px;font-size:7px;display:block}.permit-notes{gap:6px;margin-top:13px;display:grid}.permit-notes p{color:var(--muted);background:var(--surface-soft);border-radius:9px;align-items:flex-start;gap:6px;margin:0;padding:8px 9px;font-size:8px;line-height:1.5;display:flex}.permit-notes svg{flex:none;width:13px;height:13px}.permit-detail__links{flex-wrap:wrap;gap:7px;margin-top:15px;display:flex}.inline-link,.permit-detail__links a{border:1px solid var(--line);height:33px;color:var(--muted);border-radius:9px;align-items:center;gap:5px;padding:0 10px;font-size:8px;font-weight:700;display:inline-flex}.inline-link:hover,.permit-detail__links a:hover{color:var(--ink);background:var(--surface-soft)}.inline-link svg,.permit-detail__links svg{width:13px;height:13px}.rule-grid{grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 16px;display:grid}.rule-grid>div{border:1px solid var(--line);border-radius:14px;padding:14px}.rule-grid>div>span{width:36px;height:36px;color:var(--blue);background:var(--blue-soft);border-radius:11px;place-items:center;display:grid}.rule-grid>div>span svg{width:20px;height:20px}.rule-grid strong{margin-top:12px;font-size:10px;display:block}.rule-grid p{color:var(--muted);margin:6px 0 0;font-size:8px;line-height:1.55}.ada-note{border-top:1px solid var(--line);align-items:flex-start;gap:10px;max-width:720px;margin:26px auto 0;padding-top:18px;display:flex}.ada-note>svg{width:22px;height:22px;color:var(--blue);flex:none}.ada-note>span{flex:1}.ada-note strong{font-size:9px;display:block}.ada-note p{margin:4px 0 0;font-size:8px;line-height:1.5}.ada-note p,.ada-note>a{color:var(--muted)}.ada-note>a svg{width:15px;height:15px}.permit-modal__footer{border-top:1px solid var(--line);background:#fffffff0;justify-content:space-between;align-items:center;gap:20px;min-height:67px;padding:11px 18px;display:flex}.permit-modal__footer p{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:8px;display:flex}.permit-modal__footer p svg{width:16px;height:16px;color:var(--green)}.permit-modal__footer>div{gap:7px;display:flex}.mobile-bottom-nav{display:none}.app-loading,.error-page{text-align:center;align-content:center;place-items:center;min-height:100vh;padding:30px;display:grid}.app-loading__mark,.error-page>span{color:#fff;background:var(--scarlet);border-radius:20px;place-items:center;width:64px;height:64px;font-size:27px;font-weight:850;display:grid;box-shadow:0 16px 30px -20px #ba0c2fb3}.app-loading>div{gap:4px;margin-top:18px;display:flex}.app-loading>div i{background:var(--scarlet);border-radius:50%;width:6px;height:6px;animation:loading-bounce .9s ease-in-out infinite alternate}.app-loading>div i:nth-child(2){animation-delay:.15s}.app-loading>div i:nth-child(3){animation-delay:.3s}@keyframes loading-bounce{to{opacity:.35;transform:translateY(-5px)}}.app-loading p,.error-page p{color:var(--muted);margin:10px 0 0;font-size:11px}.error-page>span{color:var(--red);background:var(--red-soft)}.error-page>span svg{width:34px;height:34px}.error-page h1{margin:18px 0 0;font-size:23px}.error-page button{color:#fff;background:var(--scarlet);cursor:pointer;border:0;border-radius:11px;align-items:center;gap:6px;min-height:40px;margin-top:18px;padding:0 15px;font-size:10px;font-weight:730;display:inline-flex}.error-page button svg{width:16px;height:16px}@media (min-width:821px){.detail-layer--workspace{z-index:1;min-width:0;height:min(780px,100vh - 116px);min-height:640px;display:block;position:sticky;top:89px}.detail-layer--workspace .detail-backdrop{display:none}.detail-layer--workspace .detail-sheet{border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;height:100%;box-shadow:var(--shadow-sm);justify-self:stretch;animation:detail-panel-in .18s ease-out}@keyframes detail-panel-in{0%{opacity:0;transform:translate(-8px)}}.detail-layer--workspace .detail-sheet__hero{padding:21px 20px 24px}.detail-layer--workspace .detail-sheet__title-row{gap:12px}.detail-layer--workspace .detail-sheet__title-row h2{font-size:23px}.detail-layer--workspace .detail-sheet__body{padding-left:18px;padding-right:18px}}@media (max-width:1280px){.desktop-nav{margin-left:0}.desktop-nav a,.desktop-nav button{padding:0 9px}.topbar__actions>.time-display{display:none}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1180px) and (min-width:821px){.permit-modal__content{grid-template-columns:280px minmax(0,1fr)}.permit-detail-workspace{grid-template-rows:220px minmax(0,1fr);grid-template-columns:1fr}.permit-preview{border-right:0;border-bottom:1px solid var(--line)}.permit-preview__status{bottom:12px;left:auto;right:12px}}@media (max-width:1080px){.desktop-nav{display:none}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid{grid-template-columns:minmax(330px,.76fr) minmax(0,1.2fr)}.dashboard-heading__right>.time-display{display:none}.map-legend{gap:6px}}@media (min-width:821px) and (max-width:1080px){.permit-map-summary{width:200px;max-width:calc(100% - 24px)}.permit-map-summary__ticket{min-width:54px}.permit-map-summary__copy{min-width:0;padding:7px 8px}.permit-map-summary>button:not(.permit-map-summary__overview){min-width:45px}.map-controls--top{width:min(186px,100% - 224px);max-width:none}.map-controls--top .map-layer-button{width:100%;min-width:0}}@media (max-width:820px){body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.mapcn-controls button,.maplibregl-ctrl button{width:40px!important;height:40px!important}.parking-layer-dock{border-radius:13px;width:min(174px,100% - 16px);top:8px;right:8px}.parking-layer-dock__toggle{gap:7px;min-height:44px;padding:5px 7px}.parking-layer-dock__toggle>span:first-child{border-radius:8px;width:29px;height:29px}.parking-layer-dock__toggle strong{font-size:8px}.parking-layer-dock__body{max-height:min(390px,100vh - 170px)}.parking-layer-section__toggle{gap:6px;min-height:43px;padding:5px 7px}.parking-layer-section__toggle>span:first-child{width:28px;height:28px}.parking-layer-section__toggle strong{font-size:7.5px}.parking-permit-layer-detail{gap:6px;padding:7px}.parking-permit-layer-detail__zones{grid-template-columns:1fr}.parking-category-dock{border-radius:13px;width:170px;top:66px;right:8px}.parking-category-dock__heading{gap:6px;min-height:36px;padding:5px 7px}.parking-category-dock__heading>span{border-radius:7px;width:25px;height:25px}.parking-category-dock__heading svg{width:15px;height:15px}.parking-category-dock__heading small{display:none}.parking-category-dock__heading strong{margin:0;font-size:8px}.parking-category-dock__tickets{gap:4px;padding:5px}.parking-category-ticket{border-radius:9px;height:40px}.parking-category-ticket__code{flex-basis:43px;width:43px}.parking-category-ticket__code:after{top:5px;box-shadow:0 22px #fff}.parking-category-ticket__copy{padding:5px 5px 5px 8px}.parking-category-ticket__copy strong{font-size:8px}.parking-category-ticket__copy small{font-size:6px}.parking-category-ticket__chevron{margin-right:5px}.map-controls--top{width:min(174px,100% - 210px);max-width:none}.map-controls--top .map-layer-button{width:100%;min-width:0}.permit-map-summary{max-width:174px;min-height:46px}.permit-map-summary__ticket{min-width:49px}.permit-map-summary__copy{min-width:0;padding:6px 7px}.permit-map-summary__colors,.permit-map-summary__copy small{display:none}.permit-map-summary__copy strong{margin:0;font-size:8px}.permit-map-summary>button:not(.permit-map-summary__overview){min-width:42px}.cabs-route-map-label small{display:none}.dashboard-shell,.topbar__inner{width:min(calc(100% - 24px),var(--page-width))}.topbar__inner{min-height:62px}.brand__mark{border-radius:11px;width:36px;height:36px}.brand__mark svg{width:21px;height:21px}.brand strong{font-size:12px}.brand small{font-size:7px}.topbar__actions .permit-quick-button{border-radius:12px;width:42px;height:42px;padding:4px}.permit-quick-button>span:first-child{width:32px;height:32px}.permit-quick-button>span:nth-child(2),.permit-quick-button>svg{display:none}.dashboard-shell{padding-top:14px}.dashboard-heading{align-items:flex-start;gap:12px}.dashboard-heading h1{margin:4px 0 0;font-size:25px;line-height:1.05}.dashboard-heading>div:first-child>p{display:none}.dashboard-heading .eyebrow{font-size:8px}.dashboard-heading__right{padding-top:2px}.feed-status{border-radius:12px;justify-content:center;min-width:42px;min-height:42px;padding:8px}.feed-status>svg{width:19px;height:19px}.feed-status>span{display:none}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:13px 0 10px}.metric-card{text-align:center;border-radius:13px;align-content:center;place-items:center;gap:2px;min-height:62px;padding:7px 5px;display:grid}.metric-card__icon{display:none}.metric-card strong{margin-top:3px;font-size:16px}.metric-card small{white-space:nowrap;font-size:7px}.metric-label--desktop{display:none}.metric-label--mobile{display:inline}.metric-card--permit>svg,.metric-card>i,.metric-progress{display:none}.workspace-grid{display:block}.map-workspace,.parking-panel{border-radius:19px;height:calc(100dvh - 198px);min-height:540px}.map-workspace.mobile-hidden-map,.parking-panel.mobile-hidden{display:none}.map-workspace{scroll-margin-top:70px;position:relative;top:auto}.parking-list{padding-bottom:84px}.parking-panel__header{padding:13px 15px 9px}.parking-panel__header h2{font-size:17px}.search-field{height:40px;margin:0 11px}.filter-row--quick{gap:5px;padding:8px 11px}.filter-row--quick .filter-chip{flex:1 1 0;min-height:29px;padding:0 7px;font-size:8px}.filter-row--quick .filter-chip svg{width:12px;height:12px}.filter-chip--advanced{margin-left:0}.filter-advanced{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 11px 9px}.filter-advanced__reset{grid-column:1/-1}.parking-list{padding:8px 7px 84px}.parking-card{margin-bottom:6px}.parking-card__main{padding:10px 11px 9px}.parking-card__metrics{grid-template-columns:minmax(65px,.7fr) minmax(75px,.9fr) auto;gap:8px;margin-top:8px;padding-top:7px}.parking-card__available strong{font-size:19px}.parking-card__occupancy,.parking-card__totals{padding-left:8px}.parking-card__totals{gap:7px}.map-legend{display:none}.map-controls--bottom{bottom:22px}.insight-grid{grid-template-columns:1fr}.insight-card{padding:16px}.site-footer{grid-template-columns:1fr;justify-items:center;gap:13px;padding-bottom:10px}.site-footer p{max-width:420px}.mobile-bottom-nav{z-index:80;height:calc(62px + env(safe-area-inset-bottom));padding:5px 10px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:#ffffffeb;border-top:1px solid #1214161a;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 32px -26px #1018287a}.mobile-bottom-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;align-content:center;place-items:center;gap:3px;display:grid}.mobile-bottom-nav button.is-active{color:var(--scarlet);background:var(--scarlet-soft)}.mobile-bottom-nav svg{width:21px;height:21px}.mobile-bottom-nav span{font-size:8px;font-weight:700}.detail-sheet{border-radius:22px 22px 0 0;align-self:end;width:100%;height:min(90dvh,880px);animation-name:sheet-up}@keyframes sheet-up{0%{transform:translateY(100%)}}.detail-sheet__handle{z-index:3;background:#ffffff52;border-radius:999px;width:36px;height:4px;display:block;position:absolute;top:7px;left:50%;transform:translate(-50%)}.detail-sheet__hero{padding-top:24px}.access-guide__header .circle-button,.detail-sheet .circle-button{flex:0 0 42px;width:42px;height:42px}.modal-layer{padding:0}.permit-modal{border:0;border-radius:0;width:100%;height:100dvh}.permit-modal__content{display:block;overflow-y:auto}.permit-detail-workspace{display:block}.permit-preview{display:none}.permit-picker{border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none;padding:10px;display:flex;overflow:auto hidden}.permit-picker::-webkit-scrollbar{display:none}.permit-choice,.permit-choice--special{border-color:var(--line);background:var(--surface);width:168px;min-width:168px;height:54px;margin:0 6px 0 0}.permit-choice.is-active{box-shadow:inset 0 -3px var(--scarlet)}.permit-group{margin:0;display:flex}.permit-group__title{width:135px;min-width:135px;height:54px;padding:5px 8px}.permit-group>div:last-child{display:flex}.permit-detail{padding:24px 18px 40px;overflow:visible}.permit-modal__footer{min-height:70px;padding-bottom:max(11px,env(safe-area-inset-bottom))}.permit-modal__footer p{display:none}.permit-modal__footer>div{width:100%}.permit-modal__footer .button{flex:1}}@media (max-width:360px){.map-controls--top{width:min(154px,100% - 118px)}.parking-layer-dock{width:172px}.parking-category-dock{width:150px}.permit-map-summary__copy{display:none}}@media (max-width:520px){.dashboard-heading h1 span{margin-top:3px;display:block}.metric-card small{font-size:8px}.metric-card strong{font-size:16px}.metric-card--permit>svg{display:none}.occupancy-legend{gap:6px}.occupancy-legend span:nth-child(2){display:none}.map-workspace,.parking-panel{height:calc(100dvh - 145px);min-height:520px}.map-workspace__toolbar{height:50px}.map-canvas{height:calc(100% - 50px)}.detail-sheet__hero{padding-left:18px;padding-right:18px}.detail-sheet__title-row h2{font-size:23px}.detail-sheet__body{padding-left:16px;padding-right:16px}.permit-modal__header{padding:17px 16px 14px}.permit-modal__header h2{font-size:20px}.permit-modal__header p{max-width:260px;line-height:1.4}.permit-detail__headline{align-items:flex-start}.permit-detail__headline h3,.permit-detail__inner>h3{font-size:20px}.permit-facts,.rule-grid{grid-template-columns:1fr}.permit-facts>div{border-right:0;min-height:auto}.permit-facts>div:nth-last-child(2){border-bottom:1px solid var(--line)}.detail-sheet__footer{grid-template-columns:1fr .75fr}}.metric-period--mobile{display:none}.metric-card--permit strong{letter-spacing:-.025em;font-size:clamp(15px,1.35vw,20px)}.metric-card__period-label{max-width:100%;color:var(--blue);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:8px;font-style:normal;font-weight:760;display:block;overflow:hidden}.access-guide-layer{padding:24px}.access-guide{z-index:1;background:var(--surface);border:1px solid #ffffff2e;border-radius:25px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1040px,100%);max-height:min(900px,100dvh - 48px);animation:modal-in .24s cubic-bezier(.2,.75,.25,1);display:grid;position:relative;overflow:hidden;box-shadow:0 36px 100px -28px #05080ca8}.access-guide__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px 17px;display:flex}.access-guide__header h2{letter-spacing:-.04em;margin:5px 0 4px;font-size:24px;font-weight:790}.access-guide__header p{color:var(--muted);margin:0;font-size:9px;line-height:1.45}.access-guide__body{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:18px 22px 22px;overflow:hidden auto}.access-guide-current{background:radial-gradient(circle at 88% 20%,#277cc51a,#0000 34%),linear-gradient(135deg,#f5faff,#eef7ff);border:1px solid #c9ddee;border-radius:17px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 14px;display:grid;overflow:hidden}.access-guide-current__icon{width:44px;height:44px;color:var(--blue);background:#fff;border-radius:13px;place-items:center;display:grid;box-shadow:0 8px 22px -14px #1a64a68c}.access-guide-current__icon svg{width:24px;height:24px}.access-guide-current small,.access-guide-current strong{display:block}.access-guide-current small{color:#52728d;letter-spacing:.03em;font-size:7.5px;font-weight:760}.access-guide-current strong{letter-spacing:-.025em;margin-top:2px;font-size:16px}.access-guide-current p{flex-wrap:wrap;gap:5px;margin:6px 0 0;display:flex}.access-guide-current p b,.access-guide-current p span{border-radius:999px;padding:4px 7px;font-size:7px}.access-guide-current p b{color:#0e5d98;background:#fffc}.access-guide-current p span{color:#4a6479;background:#277cc517}.access-guide-current>button{color:#175f96;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #bfd5e7;border-radius:10px;align-items:center;gap:6px;min-height:34px;padding:7px 10px;font-size:8px;font-weight:760;display:flex}.access-guide-current>button svg{width:14px;height:14px}.access-guide-paid-fallback{background:linear-gradient(145deg,#faf8ff,#f3efff);border:1px solid #d9cdf8;border-radius:17px;margin-top:14px;overflow:hidden}.access-guide-paid-fallback>header{align-items:flex-start;gap:10px;padding:13px 14px 11px;display:flex}.access-guide-paid-fallback>header>span{color:#6842bc;background:#fff;border-radius:11px;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 8px 20px -15px #6842bc}.access-guide-paid-fallback>header svg{width:20px;height:20px}.access-guide-paid-fallback>header small{color:#7357ad;letter-spacing:.04em;font-size:7px;font-weight:800}.access-guide-paid-fallback>header h3{color:#392260;margin:3px 0 4px;font-size:13px}.access-guide-paid-fallback>header p{color:#685a7d;margin:0;font-size:7.5px;line-height:1.45}.access-guide-paid-fallback__groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 10px 10px;display:grid}.access-guide-paid-fallback__groups article{background:#ffffffc7;border:1px solid #6942bc21;border-radius:11px;min-width:0;padding:9px}.access-guide-paid-fallback__groups b{color:#49306f;font-size:8px;display:block}.access-guide-paid-fallback__groups p{color:#655977;margin:5px 0;font-size:6.8px;line-height:1.45}.access-guide-paid-fallback__groups span{color:#76500b;background:#fff3d8;border-radius:6px;padding:4px 6px;font-size:6.5px;font-weight:760;display:inline-block}.access-guide-paid-fallback>footer{background:#ffffff7a;border-top:1px solid #6942bc21;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;display:flex}.access-guide-paid-fallback>footer p{color:#7d4d18;align-items:flex-start;gap:5px;min-width:0;margin:0;font-size:6.8px;line-height:1.4;display:flex}.access-guide-paid-fallback>footer p svg{color:#bd6800;flex:0 0 13px;width:13px;height:13px}.access-guide-paid-fallback>footer>div{flex:none;gap:8px;display:flex}.access-guide-paid-fallback>footer a{color:#6740b1;white-space:nowrap;align-items:center;gap:3px;font-size:7px;font-weight:760;display:inline-flex}.access-guide-paid-fallback>footer a svg{width:12px;height:12px}.access-guide-section{margin-top:22px}.access-guide-section__title{justify-content:space-between;align-items:end;gap:14px;margin-bottom:10px;display:flex}.access-guide-section__title small{color:var(--scarlet);letter-spacing:.13em;font-size:7px;font-weight:800}.access-guide-section__title h3{letter-spacing:-.025em;margin:3px 0 0;font-size:16px}.access-guide-section__title a,.event-parking-alert>a{color:var(--blue);white-space:nowrap;align-items:center;gap:4px;font-size:7.5px;font-weight:720;display:inline-flex}.access-guide-section__title a svg,.event-parking-alert>a svg{width:13px;height:13px}.access-window-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.access-window-card{--window-color:#596675;--window-bg:#f4f6f8;border:1px solid var(--window-color);grid-template-columns:auto minmax(0,1fr);gap:9px;min-width:0;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.access-window-card{border:1px solid color-mix(in srgb,var(--window-color) 22%,var(--line))}}.access-window-card{background:var(--window-bg);border-radius:14px;padding:11px}@supports (color:color-mix(in lab,red,red)){.access-window-card{background:color-mix(in srgb,var(--window-bg) 72%,#fff)}}.access-window-card.is-peak{--window-color:#bb3a14;--window-bg:#fff1e8}.access-window-card.is-off-peak{--window-color:#2473b3;--window-bg:#eaf5ff}.access-window-card.is-weekend{--window-color:#16815b;--window-bg:#eaf9f2}.access-window-card.is-holiday{--window-color:#a76a04;--window-bg:#fff7df}.access-window-card.is-overnight{--window-color:#6447b4;--window-bg:#f1edff}.access-window-card.is-event{--window-color:#bc1237;--window-bg:#fff0f3}.access-window-card.is-current{border-color:var(--window-color);box-shadow:0 10px 24px -19px var(--window-color)}.access-window-card.is-current:after{color:#fff;background:var(--window-color);content:"当前";border-radius:999px;padding:3px 5px;font-size:6px;font-weight:800;position:absolute;top:7px;right:7px}.access-window-card>span{width:31px;height:31px;color:var(--window-color);background:#fff;border-radius:9px;place-items:center;display:grid}.access-window-card>span svg{width:18px;height:18px}.access-window-card small{color:var(--window-color);padding-right:27px;font-size:6.5px;font-weight:780;display:block}.access-window-card h4{margin:3px 0 5px;font-size:10px}.access-window-card em,.access-window-card p{margin:0;font-size:7.2px;line-height:1.48;display:block}.access-window-card p{color:var(--ink-soft)}.access-window-card em{color:var(--window-color);margin-top:5px}@supports (color:color-mix(in lab,red,red)){.access-window-card em{color:color-mix(in srgb,var(--window-color) 72%,#303943)}}.access-window-card em{font-style:normal}.access-zone-intro{color:var(--muted);margin:-2px 0 10px;font-size:7.5px;line-height:1.5}.access-zone-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.access-zone-card{--zone-color:#596675;border:1px solid var(--zone-color);grid-template-columns:auto minmax(0,1fr);align-content:start;gap:8px;min-width:0;min-height:128px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.access-zone-card{border:1px solid color-mix(in srgb,var(--zone-color) 25%,var(--line))}}.access-zone-card{background:linear-gradient(145deg,var(--zone-color),#fff 62%);border-radius:13px;padding:10px}@supports (color:color-mix(in lab,red,red)){.access-zone-card{background:linear-gradient(145deg,color-mix(in srgb,var(--zone-color) 7%,#fff),#fff 62%)}}.access-zone-card.is-a{--zone-color:#bb1236}.access-zone-card.is-b{--zone-color:#d45b15}.access-zone-card.is-c{--zone-color:#8e5c09}.access-zone-card.is-cx{--zone-color:#713be0}.access-zone-card.is-wa{--zone-color:#1477b8}.access-zone-card.is-wb{--zone-color:#16899a}.access-zone-card.is-wc{--zone-color:#126a6e}.access-zone-card.is-wco{--zone-color:#414d62}.access-zone-card>b{color:#fff;background:var(--zone-color);width:34px;height:34px;box-shadow:0 8px 18px -13px var(--zone-color);border-radius:9px;place-items:center;font-size:9px;display:grid}.access-zone-card small{color:var(--zone-color);font-size:6.5px;font-weight:760}.access-zone-card h4{text-overflow:ellipsis;white-space:nowrap;margin:2px 0 5px;font-size:9px;overflow:hidden}.access-zone-card p{color:var(--muted);margin:0;font-size:7px;line-height:1.42}.access-zone-card>span{color:#146c46;background:#eaf8f1;border-radius:7px;grid-column:1/-1;align-self:end;align-items:center;gap:4px;margin-top:3px;padding:5px 7px;font-size:6.5px;font-weight:760;display:flex}.access-zone-card>span svg{width:12px;height:12px}.access-zone-card.state-unavailable{background:#f5f6f7;border-color:#d5d9df}.access-zone-card.state-unavailable>b{filter:grayscale(.55);opacity:.66}.access-zone-card.state-unavailable>span{color:#9f2536;background:#fff0f2}.access-zone-card.state-visitor>span{color:#a25b00;background:#fff5df}.access-zone-card.state-unset>span{color:#596675;background:#edf0f3}.event-parking-alert{background:radial-gradient(circle at 94% 15%,#ba0c2f1a,#0000 32%),#fff5f7;border:1px solid #efbdc8;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;margin-top:22px;padding:13px;display:grid;overflow:hidden}.event-parking-alert>span{width:38px;height:38px;color:var(--scarlet);background:#fff;border-radius:11px;place-items:center;display:grid}.event-parking-alert>span svg{width:21px;height:21px}.event-parking-alert small{color:var(--scarlet);letter-spacing:.04em;font-size:7px;font-weight:780}.event-parking-alert h3{margin:3px 0 7px;font-size:11px}.event-parking-alert ul{color:#684d54;gap:4px;margin:0;padding-left:15px;font-size:7.2px;line-height:1.42;display:grid}.event-parking-alert>a{color:var(--scarlet);background:#fff;border:1px solid #e6aebb;border-radius:9px;align-self:center;padding:8px 9px}.access-guide-sources{flex-wrap:wrap;align-items:center;gap:6px;margin-top:11px;display:flex}.access-guide-sources a,.access-guide-sources span{border-radius:999px;padding:5px 8px;font-size:6.8px;font-weight:720}.access-guide-sources span{color:var(--muted);background:var(--surface-muted)}.access-guide-sources a{border:1px solid var(--line);color:var(--ink-soft);background:#fff;align-items:center;gap:3px;display:inline-flex}.access-guide-sources a:hover{color:var(--blue);border-color:#b9c2cc}.access-guide-sources svg{width:11px;height:11px}.access-guide__footer{border-top:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;gap:16px;padding:12px 22px;display:flex}.access-guide__footer p{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:7px;line-height:1.4;display:flex}.access-guide__footer p svg{width:14px;height:14px;color:var(--amber);flex:none}.access-guide__footer .button{min-height:36px;padding:8px 14px}@media (max-width:820px){.metric-period--desktop{display:none}.metric-period--mobile{display:inline}.metric-card--permit strong{letter-spacing:-.035em;text-align:center;width:100%;font-size:15px}.metric-card__period-label{max-width:72px;margin:1px auto 0;font-size:6px}.access-guide-layer{padding:0}.access-guide{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.access-guide__header{padding:max(14px,env(safe-area-inset-top)) 15px 13px;gap:10px}.access-guide__header h2{font-size:20px}.access-guide__header p{max-width:290px;font-size:8px}.access-guide__body{scrollbar-gutter:auto;padding:13px 14px 18px}.access-guide-current{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:11px}.access-guide-current__icon{width:39px;height:39px}.access-guide-current strong{font-size:14px}.access-guide-current>button{grid-column:1/-1;justify-content:center;min-height:40px}.access-guide-paid-fallback__groups{grid-template-columns:1fr}.access-guide-paid-fallback>footer{flex-direction:column;align-items:stretch}.access-guide-paid-fallback>footer>div{flex-wrap:wrap;justify-content:flex-end}.access-guide-paid-fallback>footer a,.access-guide-section__title a,.access-guide-sources a{align-items:center;min-height:32px;padding-block:6px}.access-guide-section{margin-top:18px}.access-guide-section__title{align-items:flex-start}.access-guide-section__title h3{font-size:14px}.access-window-grid{grid-template-columns:1fr}.access-window-card{min-height:auto}.access-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-parking-alert{grid-template-columns:auto minmax(0,1fr)}.event-parking-alert>a{grid-column:1/-1;justify-content:center;min-height:40px}.access-guide__footer{padding:10px 14px max(10px,env(safe-area-inset-bottom))}.access-guide__footer p{display:none}.access-guide__footer .button{width:100%;min-height:44px}}@media (max-width:440px){.access-zone-grid{grid-template-columns:1fr}.access-zone-card{min-height:112px}.access-guide-section__title a{white-space:normal;text-align:right;max-width:100px}}@media (max-width:820px){.permit-detail,.permit-detail-workspace,.permit-modal,.permit-modal__content,.permit-modal__footer,.permit-modal__header,.permit-picker{min-width:0;max-width:100vw}.permit-modal__header>div{min-width:0}.permit-modal__header .circle-button{flex:none}.permit-modal__content{overscroll-behavior:contain;flex-direction:column;display:flex;overflow:hidden auto}.permit-picker{border-right:0;border-bottom:1px solid var(--line);flex:none;width:100%;padding:12px;display:block;overflow:visible}.permit-choice,.permit-choice--special{width:100%;min-width:0;height:auto;min-height:52px;margin:0 0 6px}.permit-choice>b{flex:0 0 46px;min-width:46px}.permit-choice small,.permit-choice small span,.permit-choice strong{min-width:0}.permit-choice.is-active{box-shadow:inset 3px 0 var(--scarlet)}.permit-group{width:100%;margin-top:14px;display:block}.permit-group__title{width:100%;min-width:0;height:auto;padding:2px 8px 6px}.permit-group>div:last-child{min-width:0;display:block}.permit-detail-workspace{flex-direction:column;flex:none;width:100%;display:flex}.permit-preview{border-right:0;border-bottom:1px solid var(--line);flex:0 0 340px;width:100%;height:340px;min-height:340px;display:block;position:relative}.permit-preview__status{min-width:0;font-size:7px;bottom:8px;left:8px;right:54px}.campus-parking-map--preview .permit-map-summary{width:auto;max-width:none;top:8px;left:8px;right:8px}.campus-parking-map--preview .permit-zone-dock{display:none}.campus-parking-map--preview .permit-period-switcher-wrap{width:auto;min-width:0;top:62px;left:8px;right:8px}.campus-parking-map--preview .permit-period-switcher__heading{min-height:32px}.campus-parking-map--preview .permit-period-switcher__options{padding-block:4px}.campus-parking-map--preview .permit-period-switcher__options button{min-width:92px;min-height:32px}.campus-parking-map--preview .permit-period-switcher>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.permit-detail{overflow-wrap:anywhere;width:100%;padding:22px 16px 38px;overflow:visible}.ada-note,.overnight-cost-planner,.permit-detail__inner,.permit-facts,.rule-grid{min-width:0;max-width:100%}.inline-link,.permit-detail__links a{white-space:normal;max-width:100%;height:auto;min-height:33px}.permit-modal__footer{flex:none;overflow:hidden}.permit-modal__footer>div{min-width:0}.permit-modal__footer .button{white-space:nowrap;min-width:0;padding-inline:8px;font-size:8px}}@media (max-width:520px){.permit-modal__header{gap:10px}.permit-modal__header h2{overflow-wrap:anywhere}.permit-identity-selector{padding:10px}.permit-identity-selector>div[role=group]{grid-template-columns:repeat(2,minmax(0,1fr))}.permit-identity-selector button{min-width:0;padding-inline:5px}.permit-identity-selector button span{white-space:normal;min-width:0}.permit-choice small{flex-wrap:wrap;align-items:flex-start}.overnight-cost-planner>header{flex-wrap:wrap}.overnight-cost-planner__duration{justify-content:flex-end;width:100%;padding-left:39px}.overnight-cost-planner__rates{grid-template-columns:1fr}.overnight-cost-planner__rates>span{border-bottom:1px solid #e8e4f4;border-right:0}.overnight-cost-planner__rates>span:last-child{border-bottom:0}.permit-modal__footer>div{gap:5px}}@media (max-width:430px){.map-controls--top{width:min(168px,52% - 12px);max-width:none;left:8px;right:auto}.map-controls--top .map-layer-button{width:100%;max-width:none}.map-layer-button{gap:7px;min-width:0;padding-inline:8px}.map-layer-button strong,.map-layer-button--permit.is-unavailable strong{max-width:100%}.parking-layer-dock{width:min(162px,48% - 8px);max-width:calc(100% - 16px);top:8px;right:8px}.parking-layer-dock__body{max-height:min(360px,100dvh - 285px)}.map-layer-settings-dock.is-open{width:min(306px,100% - 16px);max-width:none;top:8px;right:8px}.map-layer-settings-dock:not(.is-open){width:min(162px,48% - 8px);top:8px;left:auto;right:8px}.map-layer-settings-dock .parking-layer-dock__body{max-height:min(480px,100dvh - 76px)}.map-layer-settings-dock:not(.is-open) .parking-layer-dock__toggle{gap:6px;min-height:58px;padding:5px 6px}.map-layer-settings-dock:not(.is-open) .parking-layer-dock__toggle>span:first-child{width:27px;height:27px}.map-layer-settings__summary-icons{grid-template-columns:repeat(4,11px);gap:2px;width:50px;margin-top:3px;display:grid}.map-layer-settings__summary-icons i{border-radius:3px;width:11px;height:11px}.map-layer-settings__summary-icons svg{width:7px;height:7px}.map-layer-settings__intro{flex-wrap:wrap;align-items:flex-start}.map-layer-settings__quick-actions{justify-content:flex-end;width:100%}}@media (min-width:431px) and (max-width:820px){.map-layer-settings-dock.is-open{width:min(320px,100% - 16px)}.map-layer-settings-dock:not(.is-open){width:min(214px,100% - 210px)}.map-layer-settings-dock .parking-layer-dock__body{max-height:min(460px,100dvh - 150px)}}@media (max-width:340px){.map-layer-settings__list{grid-template-columns:1fr}.map-layer-settings-dock.is-open{max-width:calc(100% - 16px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}