:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url("./media/layers.png");width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url("./media/layers-2x.png");background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url("./media/marker-icon.png")}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}html body{position:static;max-height:none;transform:none}body ion-app{height:auto;max-height:none;contain:none!important}:root{--ion-font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ion-color-primary:#087c66;--ion-color-primary-rgb:8,124,102;--ion-color-primary-contrast:#fff;--ion-color-primary-shade:#066651;--ion-color-primary-tint:#23947d;--ion-color-danger:#b42b3e;--ion-color-danger-rgb:180,43,62;--ion-color-danger-contrast:#fff;--ion-color-danger-shade:#932136;--ion-color-danger-tint:#c44054;--ink:#202b2b;--muted:#657171;--line:#dce3e2;--surface:#f5f7f7;--ion-background-color:#fff;--ion-text-color:var(--ink);color-scheme:light}*{box-sizing:border-box;letter-spacing:0}body{margin:0;font-family:var(--ion-font-family);font-size:16px;color:var(--ink);background:var(--surface)}ion-app{position:relative!important;display:block!important;min-height:100vh;overflow:visible!important;background:var(--surface)}body,html{overflow:auto!important;height:auto!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #0a8db6;outline-offset:3px}a{color:#087c66;text-decoration:none}a:hover{text-decoration:underline}ion-icon{font-size:22px;flex-shrink:0;vertical-align:middle}ion-button{--border-radius:5px;--box-shadow:none;font-size:14px;min-height:44px;font-weight:600;text-transform:none;letter-spacing:0;margin:0}ion-button::part(native){white-space:normal;text-align:center}h1,h2,p{margin-top:0}h1{font-size:30px;line-height:1.2;margin-bottom:0;font-weight:650}h2{font-size:19px;line-height:1.3;font-weight:650;margin-bottom:20px}small{font-size:13px}strong{font-weight:600}hr{border:0;border-top:1px solid var(--line);margin:26px 0}input,select,textarea{border:1px solid #becbc8;border-radius:5px;padding:11px 12px;background:#fff;color:var(--ink);width:100%;min-width:0;min-height:44px}input[type=checkbox]{width:18px;min-height:18px;accent-color:#087c66}textarea{resize:vertical}label{font-size:14px;font-weight:600;display:block;min-width:0}label input,label select,label textarea{display:block;margin-top:8px;font-weight:400}form>label{margin-bottom:19px}.optional,.muted{color:var(--muted);font-weight:400;font-size:14px}.eyebrow{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:10px;line-height:1.4}.topbar{height:82px;padding:0 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;color:var(--ink)}.brand:hover{text-decoration:none}.brand small{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-top:4px}.brand-symbol{width:40px;height:40px;background:#087c66;color:#fff;display:grid;place-items:center;border-radius:6px}.brand-symbol ion-icon{font-size:24px}.account{display:flex;align-items:center;gap:24px;font-size:14px}.connection{color:#076b56;font-size:13px;display:flex;align-items:center;gap:7px}.connection:before{content:"";width:7px;height:7px;border-radius:50%;background:#139573}.connection.disconnected{color:#9a5910}.connection.disconnected:before{background:#b87920}.icon-button{background:transparent;border:0;width:40px;height:40px;display:inline-grid;place-items:center;color:var(--muted);flex-shrink:0;border-radius:4px}.icon-button:hover{background:#edf3f1;color:#087c66}.page{max-width:1600px;margin:0 auto;padding:32px 4% 56px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.date-label,.vehicle-label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}.message{padding:13px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.message.error{background:#fff0f0;color:#9c2334;border-bottom:1px solid #f0c6cb}.message.success{background:#e5f5ed;color:#076249;border-bottom:1px solid #c8e8d7}.message button{background:none;border:0;color:inherit;font-size:20px}.auth-layout{max-width:1000px;margin:65px auto 70px;display:grid;grid-template-columns:1fr 380px;gap:90px;align-items:center}.auth-brand h1{font-size:38px;max-width:410px;margin-bottom:18px}.auth-brand p{color:var(--muted);line-height:1.6}.auth-form{background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px}.auth-line{display:flex;align-items:center;gap:10px;font-size:14px;margin-top:40px}.auth-line span{height:1px;background:#aebeba;width:80px}.text-button{background:none;border:0;color:#087c66;padding:16px 0 0;font-size:14px;line-height:1.5;width:100%}.role-links{display:flex;justify-content:center;gap:26px;font-size:14px}.role-links a{color:var(--muted)}ion-segment{max-width:490px;margin-bottom:28px;--background:transparent;border-bottom:1px solid var(--line)}ion-segment-button{font-size:14px;text-transform:none;letter-spacing:0;--color:var(--muted);--color-checked:#087c66;--indicator-color:#087c66;min-height:48px;min-width:0;--padding-start:12px;--padding-end:12px}.booking-grid{display:grid;grid-template-columns:minmax(320px,450px) minmax(0,1fr);gap:42px}.booking-form{background:#fff;padding:26px;border:1px solid var(--line);border-radius:6px}.booking-form h2{margin-bottom:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.field-detail{font-size:13px;color:var(--muted);margin:-10px 0 20px;min-height:18px}.booking-map{min-width:0;align-self:start;position:sticky;top:24px}.map-wrap{position:relative;min-width:0;background:#e6eeed;border:1px solid #ccd8d4;overflow:hidden}.map-canvas{width:100%;height:470px;z-index:0}.booking-map .map-canvas{height:565px}.map-caption{position:absolute;left:12px;bottom:38px;z-index:400;background:#fff;padding:8px 12px;font-size:12px;border:1px solid var(--line);max-width:calc(100% - 24px);border-radius:4px;color:#354543}.map-legend{position:absolute;top:12px;right:12px;z-index:400;background:#fff;border:1px solid var(--line);display:flex;gap:12px;padding:9px 11px;font-size:12px;border-radius:4px}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend b{width:17px;height:17px;display:inline-grid;place-items:center;color:#fff;border-radius:50%;font-size:11px}.legend-p,.pin-P{background:#087c66}.legend-d,.pin-D{background:#243c43}.legend-s,.pin-S{background:#147fac}.pin-V{background:#9d6513}.map-pin{border:3px solid white;border-radius:50% 50% 50% 0;box-shadow:0 2px 7px #0004;color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center}.map-foot{padding:18px 0;display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:14px;color:var(--muted);line-height:1.5}.map-foot span{display:flex;gap:8px;align-items:center}.fare{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);margin-top:14px;font-size:14px}.fare strong{font-size:22px}.arrival-notice{background:#e7f3ed;border-left:4px solid #087c66;padding:14px 18px;display:flex;align-items:center;gap:14px;margin-bottom:20px;line-height:1.5}.arrival-notice span{flex:1}.trip-workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:30px}.trip-list{border-top:1px solid var(--line)}.trip-row{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;background:transparent;padding:21px 16px;color:var(--ink)}.trip-row.selected{background:#e8f2ee;border-left-color:#087c66}.trip-row:hover,.queue-row:hover{background:#edf3f0}.trip-row>div{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-bottom:14px}.trip-row>strong,.trip-row>span,.trip-row>small{display:block;line-height:1.5}.trip-row>small{margin-top:8px;color:var(--muted)}.trip-row>span{font-size:14px;color:var(--muted)}.reference{font-size:13px;font-weight:600;color:#50635e;white-space:nowrap}.status{padding:5px 8px;background:#e8edef;color:#46585d;font-size:12px;line-height:1.3;font-weight:600;border-radius:4px;display:inline-block;white-space:normal;text-align:center}.status[data-status=REQUESTED],.status[data-status=ASSIGNED]{color:#8a5510;background:#fff0d9}.status[data-status=EN_ROUTE],.status[data-status=ARRIVING],.status[data-status=IN_TRANSIT]{color:#086584;background:#dff2f8}.status[data-status=ACCEPTED],.status[data-status=COMPLETED],.status[data-status=BOARDING]{color:#096644;background:#e0f1e7}.status[data-status=CANCELLED]{color:#a43a48;background:#fae9ec}.selected-trip{min-width:0;background:#fff;padding:24px;border-top:3px solid #087c66}.tracking-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.tracking-heading h2{margin-bottom:7px;font-size:24px}.tracking-heading p{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:0}.selected-trip .map-canvas{height:350px}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px;margin-bottom:22px}.route-summary>div{position:relative;padding:0 0 22px 27px;border-left:1px solid #c6d5d0;margin-left:5px}.route-summary>div:last-child{border:0;padding-bottom:6px}.route-summary small,.route-summary strong,.route-summary span:not(.route-dot){display:block;line-height:1.5}.route-summary small{color:var(--muted);font-size:12px}.route-summary strong{font-size:16px}.route-summary span:not(.route-dot){font-size:13px;color:var(--muted)}.route-dot{position:absolute;top:6px;left:-5px;width:9px;height:9px;border-radius:50%;background:#087c66}.route-dot.destination{background:#243c43}.route-dot.via{background:#9d6513}.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 0;margin-top:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts>div{display:flex;align-items:center;gap:10px;font-size:14px}.facts ion-icon{color:#6b7c78;font-size:19px}.driver-info{display:flex;align-items:center;gap:14px;padding:20px 0}.driver-info>ion-icon{font-size:28px;color:#087c66}.driver-info strong,.driver-info span{display:block;font-size:14px;line-height:1.6}.driver-info span{color:var(--muted)}.note{font-size:14px;line-height:1.6;color:var(--muted);padding-top:15px;white-space:pre-wrap;overflow-wrap:anywhere}.note strong{display:block;color:var(--ink);margin-bottom:4px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}.download-link{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;padding:12px 0}.activity{border-top:1px solid var(--line);padding:16px 0}.activity summary,.route-editor summary{cursor:pointer;font-size:14px;font-weight:600;padding:4px 0}.activity ol{padding-left:22px;margin-bottom:0}.activity li{padding:8px 0;font-size:14px;line-height:1.5}.activity small{display:block;color:var(--muted)}.empty{text-align:center;padding:70px 20px;color:var(--muted);line-height:1.6}.empty>ion-icon{font-size:40px;color:#839991;margin-bottom:20px}.empty h2{color:var(--ink);margin-bottom:14px}.empty.compact{padding:30px 16px;font-size:14px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:0 0 25px;border-bottom:1px solid var(--line);margin-bottom:26px}.metrics>div{padding:0 24px;border-right:1px solid var(--line)}.metrics>div:first-child{padding-left:0}.metrics>div:last-child{border:0}.metrics span{display:block;font-size:14px;color:var(--muted);margin-bottom:12px}.metrics strong{font-size:30px;font-weight:600}.metrics>div:first-child strong{color:#a36a19}.dispatch-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(390px,1fr);gap:28px}.dispatch-map{position:sticky;top:20px;align-self:start;min-width:0}.dispatch-map .map-canvas{height:640px}.dispatch-controls{min-width:0;background:#fff;padding:24px;border-top:3px solid #087c66}.section-heading,.override-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2,.override-heading h2{margin:0}.section-heading>span,.override-heading>span{font-size:13px;color:var(--muted)}.queue-filters{display:grid;grid-template-columns:1fr 160px;gap:12px;padding:20px 0}.queue{max-height:300px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.queue-row{display:grid;grid-template-columns:65px minmax(0,1fr) 100px;gap:12px;align-items:center;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:16px 10px;width:100%;color:var(--ink)}.queue-row.selected{background:#eaf4ee}.queue-row>span{min-width:0}.queue-row strong{display:block;font-size:14px}.queue-row small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:4px}.queue-time{font-size:13px;font-weight:600}.override-heading{margin:24px 0 20px}.assignment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:15px}.assignment-form>label{margin-bottom:0}.route-editor{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.route-editor form{padding-top:20px}.driver-toolbar{display:flex;align-items:center;gap:28px;padding:0 0 24px;margin-bottom:26px;border-bottom:1px solid var(--line)}.driver-toolbar>span{margin-left:auto;font-size:14px;color:var(--muted)}.checkbox-label{display:flex;align-items:center;gap:9px;padding-top:24px}.checkbox-label input{margin:0}.driver-actions{padding:22px 0;border-bottom:1px solid var(--line)}.location-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}.location-controls>label{max-width:190px}.location-controls>.muted{flex:1;min-width:170px}.language-picker{margin:0}.language-picker select{width:auto;min-width:92px;min-height:36px;padding:6px 28px 6px 9px;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.menu-button{order:-1;font-size:25px}.side-nav{position:fixed;z-index:1200;top:0;bottom:0;left:0;width:280px;background:#fff;border-right:1px solid var(--line);box-shadow:8px 0 24px #193b3420;transform:translate(-105%);transition:transform .2s ease;padding:22px 16px}.side-nav.open{transform:translate(0)}.nav-scrim{position:fixed;inset:0;z-index:1100;background:#152f2b55}.side-nav-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px 22px;border-bottom:1px solid var(--line);font-size:16px}.side-nav nav{display:grid;gap:5px;padding-top:18px}.side-nav-link{display:flex;align-items:center;gap:12px;width:100%;padding:13px 12px;border:0;background:transparent;color:var(--ink);font-size:14px;text-align:left;border-radius:5px}.side-nav-link:hover,.side-nav-link.active{background:#e8f2ee;color:#087c66}.side-nav-link ion-icon{font-size:20px}@media(min-width:1600px){.page{padding-left:50px;padding-right:50px}}@media(max-width:1100px){.dispatch-layout{grid-template-columns:1fr 1fr;gap:18px}.dispatch-controls{padding:16px}.queue-row{grid-template-columns:55px minmax(0,1fr);gap:8px}.queue-row>.status{grid-column:2;justify-self:start}.booking-grid{gap:25px}.assignment-form{grid-template-columns:1fr}.auth-layout{gap:45px}}@media(max-width:800px){h1{font-size:25px}.page{padding:24px 20px 40px}.topbar{padding:0 20px;height:74px}.connection{display:none}.account{gap:10px}.user-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-grid{grid-template-columns:1fr}.booking-map{position:static;grid-row:2}.booking-map .map-canvas{height:330px}.booking-form{padding:22px}.dispatch-layout{grid-template-columns:1fr}.dispatch-map{position:static}.dispatch-map .map-canvas{height:330px}.trip-workspace{grid-template-columns:1fr;gap:24px}.trip-list{display:flex;overflow-x:auto;border-top:0;padding-bottom:8px}.trip-row{min-width:270px;max-width:310px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.auth-layout{grid-template-columns:1fr;margin:20px auto 40px;max-width:420px;gap:28px}.auth-brand h1{font-size:30px}.auth-line{margin-top:20px}.auth-form{padding:24px}.metrics>div{padding:0 14px}.metrics span{min-height:34px;line-height:1.4}.date-label{font-size:13px}.selected-trip{padding:18px}.page-heading{gap:14px}.vehicle-label{max-width:180px;font-size:12px}.driver-toolbar{gap:16px;flex-wrap:wrap}.driver-toolbar>span{margin-left:0}.map-foot{flex-wrap:wrap}.queue-row{grid-template-columns:70px minmax(0,1fr) 105px}.queue-row>.status{grid-column:auto}.assignment-form{grid-template-columns:minmax(0,1fr) auto}}@media(max-width:800px){.resource-content{grid-template-columns:1fr;gap:24px}.resource-panel{padding:18px}.resource-panel .section-heading{align-items:flex-start;flex-wrap:wrap}}@media(max-width:480px){.page{padding:22px 14px 35px}.topbar{padding:0 14px}.brand{font-size:16px;gap:8px}.brand-symbol{width:34px;height:34px}.user-name{display:none}.page-heading{align-items:flex-start;flex-wrap:wrap}.page-heading ion-button{min-height:38px}.form-row{grid-template-columns:1fr;gap:18px}.booking-form{padding:20px 16px}.booking-form h2{font-size:18px}.metrics{grid-template-columns:1fr 1fr;gap:20px}.metrics>div{border:0;padding:0}.metrics span{min-height:0}.metrics strong{font-size:26px}.queue-filters{grid-template-columns:1fr}.queue-row{grid-template-columns:60px minmax(0,1fr);padding:15px 6px}.queue-row>.status{grid-column:2}.assignment-form{grid-template-columns:1fr}.tracking-heading{align-items:flex-start;flex-wrap:wrap}.facts{grid-template-columns:1fr}.map-legend{gap:7px;font-size:11px;padding:7px;right:8px}.selected-trip{padding:16px}.selected-trip .map-canvas{height:300px}.map-caption{font-size:12px}.auth-brand h1{font-size:28px}.role-links{gap:18px}.detail-title{gap:8px}.driver-toolbar .checkbox-label{padding-top:20px}.override-heading{flex-wrap:wrap}.location-controls{align-items:stretch}.location-controls>label{max-width:none;width:100%}}.place-suggestions{position:relative;z-index:20}.place-suggestions button{display:block;width:100%;padding:10px 12px;text-align:left;background:#fff;border:1px solid var(--line);border-top:0;color:var(--ink)}.place-suggestions button:hover{background:#e8f2ee}.place-suggestions small{display:block;color:var(--muted);margin-top:3px;font-weight:400}.vehicle-icon{background:transparent;border:0}.vehicle-marker{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#243c43;border:3px solid white;box-shadow:0 3px 10px #0006;font-size:23px;line-height:1;transform:rotate(-8deg)}.profile-avatar.has-image,.profile-menu-avatar.has-image{overflow:hidden;background:#d7e0f2}.profile-avatar img,.profile-menu-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-small{width:86px;height:86px;margin:0}.profile-photo-editor{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:-10px 0 28px}.profile-photo-editor .muted{width:100%;margin-left:100px;margin-top:-4px}.photo-upload{display:inline-flex;align-items:center;gap:7px;width:auto;margin:0!important;padding:10px 13px;border:1px solid var(--line);border-radius:5px;color:var(--ink);font-size:14px;cursor:pointer}.photo-upload:hover{background:#edf3f0}.photo-upload input{display:none}.photo-upload ion-icon{font-size:18px}.photo-remove{border:0;background:transparent;color:#b42b3e;font-size:13px;padding:8px}.profile-menu-avatar{overflow:hidden}.resource-panel{background:#fff;border-top:3px solid #087c66;padding:24px;margin-bottom:28px}.resource-panel .section-heading>div{min-width:0}.resource-panel .section-heading h2{margin-bottom:5px}.resource-panel .section-heading span{display:block;color:var(--muted);font-size:13px}.resource-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr);gap:30px;border-top:1px solid var(--line);margin-top:20px;padding-top:22px}.resource-content h3{font-size:16px;margin:0 0 18px}.driver-form .form-row{margin-bottom:16px}.driver-form .actions{margin-top:4px}.compact-button{width:auto;padding-top:0}.driver-directory{min-width:0}.driver-record{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:13px 0}.driver-record-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d7e0f2;color:#344363;font-size:12px;font-weight:700;flex-shrink:0}.driver-record>span:nth-child(2){min-width:0;flex:1}.driver-record strong,.driver-record small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-record small{color:var(--muted);font-size:12px;margin-top:3px}.driver-record .icon-button{width:34px;height:34px}.dark-mode .resource-panel{background:#182523}.dark-mode .photo-upload{color:var(--ink)}.label-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.add-vehicle-button{display:grid;place-items:center;width:28px;height:28px;border:1px solid #087c66;border-radius:50%;background:transparent;color:#087c66;font-size:22px;line-height:1;padding:0}.add-vehicle-button:hover{background:#e8f2ee}.vehicle-summary{margin:8px 0 0!important;min-height:0}.vehicle-modal-backdrop{position:fixed;inset:0;z-index:1500;background:#10211f80;display:grid;place-items:center;padding:20px}.vehicle-modal{width:min(100%,520px);max-height:calc(100vh - 40px);overflow:auto;background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 50px #0006;padding:24px}.vehicle-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.vehicle-modal-heading h2{margin:0}.vehicle-modal form{display:grid;gap:14px}.vehicle-modal form>label{margin:0}.vehicle-modal .checkbox-label{padding-top:8px}.dark-mode .vehicle-modal{background:#182523}.dark-mode .add-vehicle-button:hover{background:#29423c}.profile-menu{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 8px 22px;border-bottom:1px solid var(--line);color:var(--ink)}.profile-menu:hover{text-decoration:none}.profile-menu-avatar,.profile-avatar{display:grid;place-items:center;border-radius:50%;background:#d7e0f2;color:#344363;font-weight:700}.profile-menu-avatar{width:62px;height:62px;font-size:20px;margin-bottom:4px}.profile-menu span{font-size:13px;color:#087c66}.profile-page{max-width:760px;margin:0 auto;background:var(--surface)}.profile-heading{display:flex;align-items:center;gap:14px;margin-bottom:36px}.profile-heading h1{font-size:28px}.back-link{display:grid;place-items:center;width:42px;height:42px;color:var(--ink)}.back-link ion-icon{font-size:28px}.profile-identity{text-align:center}.profile-avatar{width:112px;height:112px;margin:0 auto 18px;font-size:36px}.profile-identity h2{font-size:30px;margin-bottom:8px}.profile-identity a{font-size:16px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:34px 0 42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.profile-stats>div{text-align:center;border-right:1px solid var(--line)}.profile-stats>div:last-child{border-right:0}.profile-stats strong,.profile-stats span{display:block}.profile-stats strong{font-size:24px}.profile-stats span{margin-top:5px;color:var(--muted);font-size:14px}.profile-section-title{font-size:22px;margin-bottom:14px}.profile-setting{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding:18px 4px;color:var(--ink)}.profile-setting:hover{text-decoration:none;background:#edf3f0}.profile-setting>ion-icon:first-child{font-size:25px}.profile-setting>ion-icon:last-child{margin-left:auto;color:var(--muted)}.profile-setting strong,.profile-setting small{display:block}.profile-setting small{color:var(--muted);margin-top:4px}.info-page{max-width:640px}.profile-form{background:var(--panel,#fff);border:1px solid var(--line);padding:26px;border-radius:6px}.profile-form label{margin-bottom:20px}.profile-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:28px}.profile-form-actions a{color:var(--muted)}.profile-form label{color:var(--ink)}.dark-mode .profile-form{background:#182523;color:var(--ink);border-color:var(--line)}:root.dark-mode{--ink:#edf4f1;--muted:#a9bab5;--line:#334541;--surface:#111b1a;--ion-background-color:#182523;--ion-text-color:#edf4f1;color-scheme:dark}.dark-mode body,.dark-mode ion-app{background:var(--surface);color:var(--ink)}.dark-mode .topbar,.dark-mode .auth-form,.dark-mode .booking-form,.dark-mode .selected-trip,.dark-mode .dispatch-controls,.dark-mode .queue-row,.dark-mode .side-nav{background:#182523;color:var(--ink)}.dark-mode input,.dark-mode select,.dark-mode textarea{background:#223330;color:var(--ink);border-color:#536762}.dark-mode .icon-button:hover,.dark-mode .trip-row:hover,.dark-mode .queue-row:hover{background:#29423c}.dark-mode .trip-row.selected,.dark-mode .queue-row.selected,.dark-mode .side-nav-link.active,.dark-mode .side-nav-link:hover{background:#23483e}.dark-mode .map-wrap{background:#263936;border-color:#536762}.dark-mode .map-caption,.dark-mode .map-legend{background:#182523;color:var(--ink);border-color:#536762}.dark-mode .message.error{background:#3a2227;color:#ffb9c1;border-color:#70404a}.dark-mode .message.success{background:#1b3b31;color:#a9ebc9;border-color:#316a54}.dark-mode .status[data-status=REQUESTED],.dark-mode .status[data-status=ASSIGNED]{color:#ffd48a;background:#5b421f}.dark-mode .status[data-status=EN_ROUTE],.dark-mode .status[data-status=ARRIVING],.dark-mode .status[data-status=IN_TRANSIT]{color:#a9e8ff;background:#164357}.dark-mode .status[data-status=ACCEPTED],.dark-mode .status[data-status=COMPLETED],.dark-mode .status[data-status=BOARDING]{color:#b7f0cf;background:#1e4c39}.dark-mode .status[data-status=CANCELLED]{color:#ffb9c1;background:#572b34}.dark-mode .place-suggestions button{background:#223330;color:var(--ink);border-color:#536762}.dark-mode .place-suggestions button:hover{background:#29423c}.vehicle-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:13px}.clear-vehicle-button{border:0;background:transparent;color:#b42b3e;font-size:18px;line-height:1;padding:0 4px;cursor:pointer}.clear-vehicle-button:hover{background:#fae9ec;border-radius:4px}.dark-mode .clear-vehicle-button{color:#ff9aa8}.dark-mode .clear-vehicle-button:hover{background:#4d2930}.fleet-form-heading-actions{display:flex;align-items:center;gap:12px}.fleet-record>.icon-button{flex:0 0 30px;width:30px;height:30px;visibility:visible}.danger-icon{color:#932136!important;background:transparent;border:0;font-size:22px}.danger-icon ion-icon{display:none}.danger-icon:after{content:"\d7";font-size:22px;line-height:1;font-weight:500}.danger-icon:hover{background:#fae9ec;color:#741628!important}.danger-action{border:0;background:#b42b3e;color:#fff;padding:11px 16px;border-radius:5px;font-weight:600}.danger-action:hover{background:#932136}.confirm-backdrop{position:fixed;inset:0;z-index:1600;background:#10211f80;display:grid;place-items:center;padding:20px}.confirm-dialog{width:min(100%,440px);background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 50px #0006;padding:28px;text-align:center}.confirm-dialog-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 16px;border-radius:50%;background:#fae9ec;color:#b42b3e}.confirm-dialog-icon ion-icon{font-size:26px}.confirm-dialog h2{margin-bottom:10px}.confirm-dialog p{color:var(--muted);line-height:1.6;margin-bottom:22px}.confirm-dialog p strong{color:var(--ink)}.confirm-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px}.confirm-dialog-actions .text-button{width:auto}.dark-mode .confirm-dialog{background:#182523}.dark-mode .confirm-dialog-icon{background:#572b34;color:#ffb9c1}.dark-mode .danger-icon{color:#ffb9c1!important}.dark-mode .danger-icon:hover{background:#572b34;color:#fff!important}.fleet-form-heading .compact-button,.fleet-form-actions .secondary-action{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px 14px;border-radius:5px;font-weight:600;width:auto}.fleet-form-heading .compact-button:hover,.fleet-form-actions .secondary-action:hover{background:#edf3f0}.dark-mode .fleet-form-heading .compact-button,.dark-mode .fleet-form-actions .secondary-action{background:#223330;color:var(--ink);border-color:#536762}.dark-mode .fleet-form-heading .compact-button:hover,.dark-mode .fleet-form-actions .secondary-action:hover{background:#29423c}.fleet-page{max-width:1180px;margin:0 auto}.fleet-page-heading{align-items:flex-start;margin-bottom:10px}.fleet-intro{color:var(--muted);font-size:14px;margin:8px 0 0;line-height:1.5}.fleet-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.fleet-action-link{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:10px 14px;color:var(--ink);font-size:14px;border-radius:5px}.fleet-action-link:hover{background:#edf3f0;text-decoration:none}.fleet-accordion{border:1px solid var(--line);background:var(--panel,#fff);margin-bottom:14px}.fleet-accordion>summary{display:flex;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;list-style:none}.fleet-accordion>summary::-webkit-details-marker{display:none}.fleet-accordion>summary:after{content:"+";margin-left:auto;font-size:22px;color:var(--muted)}.fleet-accordion[open]>summary:after{content:"\2212"}.fleet-accordion>summary>b{min-width:30px;text-align:center;color:var(--muted);font-size:13px}.fleet-accordion>summary>span:nth-child(2){min-width:0;display:grid;gap:4px}.fleet-accordion>summary strong,.fleet-accordion>summary small{display:block}.fleet-accordion>summary small{color:var(--muted);font-size:13px;font-weight:400}.fleet-summary-icon{display:grid;place-items:center;width:38px;height:38px;background:#e8f2ee;color:#087c66;border-radius:5px;flex-shrink:0}.fleet-accordion-body{border-top:1px solid var(--line);padding:22px 20px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:28px}.fleet-form{min-width:0}.fleet-form-heading,.fleet-list-heading,.assignment-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.fleet-form-heading h2,.fleet-list-heading h3,.assignment-panel-heading h2{margin:0}.fleet-form-heading h2{font-size:17px}.fleet-form .form-row{margin-bottom:16px}.fleet-form-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:16px}.primary-action{border:0;background:#087c66;color:#fff;padding:11px 15px;border-radius:5px;font-weight:600}.primary-action:hover{background:#066651}.primary-action:disabled{opacity:.55}.fleet-list-heading{padding-bottom:12px;border-bottom:1px solid var(--line)}.fleet-list-heading h3{font-size:16px}.fleet-list-heading>span{color:var(--muted);font-size:13px}.fleet-record-list{min-width:0}.fleet-record{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);min-width:0}.fleet-record:last-of-type{border-bottom:0}.fleet-record-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8f2ee;color:#087c66;flex-shrink:0}.fleet-record-main{min-width:0;flex:1}.fleet-record-main strong,.fleet-record-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-record-main small{color:var(--muted);font-size:12px;margin-top:4px}.danger-text{color:#b42b3e!important;width:auto}.assignment-panel{background:var(--panel,#fff);border:1px solid var(--line);border-top:3px solid #087c66;padding:24px}.assignment-panel-heading p{color:var(--muted);font-size:14px;margin:7px 0 0;line-height:1.5}.assignment-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;margin:26px 0;border-bottom:1px solid var(--line);padding-bottom:24px}.assignment-form label{margin:0}.assignment-list h3{font-size:16px;margin:0 0 12px}.assignment-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.assignment-row strong,.assignment-row small{display:block}.assignment-row small{color:var(--muted);font-size:12px;margin-top:4px}.dark-mode .fleet-accordion,.dark-mode .assignment-panel{background:#182523}.dark-mode .fleet-summary-icon,.dark-mode .fleet-record-icon{background:#23483e}.dark-mode .fleet-action-link:hover{background:#29423c}@media(max-width:760px){.fleet-accordion-body{grid-template-columns:1fr;padding:18px 14px}.assignment-form{grid-template-columns:1fr}.fleet-page-heading{margin-bottom:18px}.fleet-action-link{width:100%;justify-content:center}.fleet-actions{margin-bottom:14px}}@media(max-width:800px){html,body{position:relative!important;width:100%;height:auto!important;min-height:100%!important;max-height:none!important;overflow-x:hidden!important;overflow-y:scroll!important;-webkit-overflow-scrolling:touch}body ion-app,ion-app{position:relative!important;display:block!important;width:100%;height:auto!important;min-height:100dvh;max-height:none!important;overflow:visible!important;contain:none!important;transform:none!important}.topbar{position:relative}main.page{display:block;width:100%;height:calc(100vh - 74px)!important;height:calc(100dvh - 74px)!important;min-height:0;max-height:none;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:calc(48px + env(safe-area-inset-bottom))}.auth-layout{display:block;height:auto!important;min-height:0;overflow:visible;padding-bottom:16px}.auth-brand{margin-bottom:24px}.auth-form{height:auto;min-height:0;overflow:visible;margin-bottom:16px}.role-links{padding-bottom:20px}input,select,textarea{font-size:16px}}.history-filters{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(130px,180px)) 125px;gap:12px;align-items:end;margin-bottom:22px}.history-filters label{margin:0}.history-layout{display:grid;grid-template-columns:minmax(270px,390px) minmax(0,1fr);gap:24px}.history-list{border-top:1px solid var(--line)}.history-row{display:block;text-align:left;width:100%;padding:16px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.history-row.selected{background:var(--surface);border-left:3px solid #087c66}.history-row div{display:flex;justify-content:space-between;gap:8px;align-items:center}.history-row strong,.history-row small{display:block;margin-top:7px}.history-row small{color:var(--muted)}.history-detail{background:var(--surface);padding:22px;border-top:3px solid #087c66;min-width:0}.history-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.history-pager button{padding:9px 14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px}.history-pager button:disabled{opacity:.45}@media(max-width:820px){.history-filters{grid-template-columns:1fr 1fr}.history-filters label:first-child{grid-column:1/-1}.history-layout{grid-template-columns:1fr}.history-detail{order:-1}}.fx-attribution{display:block;margin:-8px 0 16px;text-align:right;font-size:11px;color:var(--muted)}.fx-attribution a,.receipt-attribution a{color:inherit;text-decoration:underline}.view-receipt-button{display:inline-flex;align-items:center;gap:9px;margin-top:18px;padding:11px 16px;border:1px solid #087c66;border-radius:5px;background:#087c66;color:#fff;font-weight:650}.view-receipt-button:hover{background:#066651}.view-receipt-button ion-icon{font-size:19px}.receipt-backdrop{position:fixed;inset:0;z-index:1700;display:grid;place-items:center;padding:22px;background:#071511a8;overflow:auto}.receipt-dialog{width:min(100%,620px);max-height:min(92vh,900px);overflow:auto;background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 80px #0007;border-radius:9px;padding:22px}.receipt-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.receipt-dialog-header h2{margin:0}.receipt-header-actions{display:flex;align-items:center;gap:10px}.receipt-download{display:flex;align-items:center;gap:8px;border:0;border-radius:5px;padding:10px 14px;background:#087c66;color:#fff;font-weight:650}.receipt-download:hover{background:#066651}.receipt-download:disabled{opacity:.55}.receipt-download ion-icon{font-size:19px}.receipt-paper{max-width:480px;margin:0 auto;padding:30px 34px;background:#fff;color:#202b2b;border:1px solid #e0e7e4;box-shadow:0 7px 24px #15282012}.receipt-brand{display:flex;align-items:center;gap:12px;padding-bottom:21px;margin-bottom:16px;border-bottom:1px dashed #b7c7c1}.receipt-brand .brand-symbol{border-radius:50%}.receipt-brand strong,.receipt-brand small{display:block}.receipt-brand small{margin-top:3px;color:#657171}.receipt-pair{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid #e8eeeb;font-size:14px}.receipt-pair>span{color:#657171}.receipt-pair>strong{text-align:right;font-weight:600}.receipt-total{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:14px;padding:15px 0;border-top:2px solid #087c66;font-size:16px;font-weight:700}.receipt-total strong{font-size:20px;color:#076b56}.receipt-disclaimer{margin:18px 0 8px;color:#657171;font-size:12px;line-height:1.5}.receipt-attribution{color:#657171;font-size:11px}.dark-mode .receipt-dialog{background:#182523;border-color:#334541}.dark-mode .receipt-paper{background:#fdfefd;color:#202b2b}
