.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(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);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(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.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}}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}:root{--bg-top: #141820;--bg-bottom: #000;--card: rgba(255, 255, 255, .08);--card-border: rgba(255, 255, 255, .12);--text: #f5f5f7;--muted: #a8b0c0;--accent: #5ac8fa;--danger: #ff6b6b;--success: #34c759;--field-bg: #1a1f2e;font-size:18px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text);color-scheme:dark;background:linear-gradient(180deg,var(--bg-top),var(--bg-bottom));min-height:100vh}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--accent)}button,input,select,textarea{font:inherit}select{color-scheme:dark;background-color:var(--field-bg);color:var(--text)}select option,select optgroup{background-color:var(--field-bg);color:var(--text)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--card-border);background:#00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:100}.app-header h1{margin:0;font-size:1.1rem;font-weight:600}.app-header .back{color:var(--text);text-decoration:none;font-size:.95rem}.app-main{flex:1;padding:20px;max-width:1200px;width:100%;margin:0 auto}.app-shell--hub{min-height:100vh;min-height:100dvh}.app-main--hub{padding:0;max-width:none;margin:0;flex:1;min-height:0;overflow:hidden}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.hub-tile{display:block;padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--card-border);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.hub-tile:hover{border-color:#5ac8fa80;transform:translateY(-1px)}.hub-tile h3{margin:8px 0 4px;font-size:1rem}.hub-tile p{margin:0;font-size:.8rem;color:var(--muted)}.hub-tile .icon{font-size:1.5rem}.badge{display:inline-block;min-width:20px;padding:2px 6px;border-radius:10px;background:var(--danger);color:#fff;font-size:.75rem;font-weight:700;text-align:center}.card{background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:16px;margin-bottom:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:10px;border:none;cursor:pointer;background:#2c3344;color:var(--text);text-decoration:none}a.btn,a.btn:visited,a.btn:active{color:var(--text)}.btn-primary{background:#0a84ff;color:#fff}a.btn-primary,a.btn-primary:visited,a.btn-primary:active{color:#fff}.btn-ghost{background:#ffffff14;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-danger{background:#c0392b;color:#fff}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.form-field input,.form-field textarea,.form-field select{padding:10px 12px;border-radius:8px;border:1px solid var(--card-border);background:#00000059;color:var(--text)}.auth-page{max-width:400px;margin:60px auto;padding:24px}.external-link-page{max-width:40rem}.wasco-cad-admin__lead{margin:0 0 12px;font-size:.9rem;color:var(--muted)}.wasco-cad-admin__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.wasco-cad-admin__error{color:#ffb4b4;font-size:.9rem;margin:0}.wasco-cad-admin__notice{color:#6ee7a0;font-size:.9rem;margin:0}.app-shell--cad{min-height:100vh;min-height:100dvh}.app-main--cad{padding:0;max-width:none;margin:0;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.wasco-cad-page{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.wasco-cad-page__banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--card-border);background:#00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:100}.wasco-cad-page__back{color:var(--text);text-decoration:none;font-size:.95rem;white-space:nowrap}.wasco-cad-page__title{margin:0;font-size:1.1rem;font-weight:600}.wasco-cad-page__banner-end{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.wasco-cad-page__user{display:flex;flex-direction:column;align-items:flex-end;font-size:.85rem;line-height:1.2;color:var(--text);max-width:180px;text-align:right}.wasco-cad-page__user-role{font-size:.75rem;color:var(--muted)}.wasco-cad-page__status{padding:8px 16px;font-size:.85rem;font-weight:600;color:#fff;background:#000000b8;border-bottom:1px solid rgba(255,255,255,.08)}.wasco-cad-page__settings{padding:12px 16px;border-bottom:1px solid var(--card-border);max-height:min(48vh,520px);overflow:auto}.wasco-cad-page__settings .wasco-cad-admin{margin:0}.wasco-cad-page__frame{flex:1;width:100%;min-height:0;border:none;background:#000}.auth-page h1{text-align:center;margin-bottom:24px}.error-banner{background:#ff6b6b33;border:1px solid var(--danger);color:#ffb4b4;padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:.9rem}.map-container{height:min(70vh,720px);border-radius:12px;overflow:hidden;border:1px solid var(--card-border)}.geo-page h2{margin:0}.geo-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.geo-page__subtitle{margin:4px 0 0;color:var(--muted);font-size:.9rem}.geo-page__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.apparatus-page__header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.apparatus-page__lead{margin:6px 0 0;color:var(--muted);font-size:.9rem;max-width:52rem}.apparatus-page__notice{color:#6ee7a0;font-size:.9rem}.apparatus-table{display:grid;gap:10px}.apparatus-row{display:grid;grid-template-columns:1fr minmax(160px,220px) auto;gap:12px 16px;align-items:end}.apparatus-row.oos{opacity:.72;border-color:#ff9500}.apparatus-row__label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.apparatus-row__title{font-weight:700;margin-top:2px}.apparatus-row__sub{font-size:.8rem;color:var(--muted)}.apparatus-row__picker{margin:0}.apparatus-row__oos{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted);white-space:nowrap;padding-bottom:8px}@media(max-width:720px){.apparatus-row{grid-template-columns:1fr}}.geo-layout{display:flex;flex-direction:column;gap:10px;min-height:0}.geo-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.geo-toolbar__field{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--muted);min-width:min(280px,100%)}.geo-toolbar__field select{padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.22);background:var(--field-bg);color:var(--text);min-width:220px}.geo-toolbar__field select:focus{outline:2px solid rgba(90,200,250,.55);outline-offset:1px}.geo-toolbar__field select option:checked{background:#0a84ff;color:#fff}.geo-toolbar__status{color:var(--muted);font-size:.85rem;align-self:center}.geo-map-wrap{position:relative;height:min(78vh,860px);min-height:420px;border-radius:12px;overflow:hidden;border:1px solid var(--card-border)}.geo-layout--fullscreen{position:absolute;top:0;right:0;bottom:0;left:0;gap:0}.geo-map-wrap--fullscreen{flex:1;height:100%;min-height:0;border:none;border-radius:0;touch-action:none}.geo-map-wrap .geo-toolbar--bottom{position:absolute;bottom:16px;left:16px;right:16px;z-index:850;margin:0;padding:10px 14px;border-radius:14px;background:#080a10e0;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);box-shadow:0 8px 32px #00000073}.geo-incident-stack{position:absolute;bottom:16px;right:12px;z-index:910;display:flex;flex-direction:column;gap:6px;width:196px;max-width:min(260px,calc(100vw - 280px));pointer-events:none}.geo-incident-stack>*{pointer-events:auto}.geo-incident-tile{width:100%;margin:0;cursor:default}.geo-incident-stack a.geo-incident-tile{cursor:pointer}.geo-incident-stack a.geo-incident-tile:hover,.geo-incident-stack .geo-incident-tile:hover{transform:translate(-2px)}.geo-incident-tile__select{display:block;width:100%;margin:0;padding:0 14px 0 0;border:none;border-radius:0;background:transparent;color:var(--muted);font-size:.68rem;line-height:1.25;text-align:left;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23a8b0c0' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 top .35em;background-size:10px 6px}.geo-incident-tile__select:focus{outline:none;color:var(--text)}.geo-incident-tile__select option{background:var(--field-bg);color:var(--text)}.geo-map-wrap .geo-toolbar--overlay{left:220px;right:220px}.geo-map-wrap .geo-station-panel--map{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:840;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:min(640px,calc(100% - 32px));pointer-events:none}.geo-map-wrap .geo-station-panel--map>*{pointer-events:auto}.geo-map-wrap .geo-station-panel__card{min-width:120px}.geo-error--overlay{position:absolute;top:84px;left:50%;transform:translate(-50%);z-index:860;width:min(520px,calc(100% - 460px));margin:0}.ops-hub{display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#0a0c12}.ops-hub--browser-fullscreen{width:100%;height:100%}html:fullscreen,html:-webkit-full-screen{width:100%;height:100%;background:#0a0c12}html:fullscreen body,html:-webkit-full-screen body{margin:0;overflow:hidden;background:#0a0c12}html:fullscreen .app-shell--hub,html:-webkit-full-screen .app-shell--hub,html:fullscreen .app-main--hub,html:-webkit-full-screen .app-main--hub{height:100%;min-height:0}.ops-hub:fullscreen,.ops-hub:-webkit-full-screen{width:100%;height:100%}.ops-hub__fullscreen-btn{border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:var(--text);border-radius:8px;padding:6px 10px;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap}.ops-hub__fullscreen-btn:hover{background:#ffffff1f}.ops-hub__fullscreen-btn--compact{width:40px;height:40px;padding:0;font-size:1.1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.ops-hub__fullscreen-float{position:absolute;top:12px;right:12px;z-index:920;box-shadow:0 4px 16px #00000059}.ops-hub__map-layer{position:relative;flex:1;min-height:0;z-index:0;overflow:hidden;--hub-incident-bottom: 16px;--hub-incident-gap: 12px;--hub-incident-reserve: 4.5rem}.ops-hub__header{position:relative;flex-shrink:0;z-index:1000;display:flex;align-items:center;gap:12px;padding:8px 16px;background:#080a109e;-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);border-bottom:1px solid rgba(255,255,255,.1)}.ops-hub__header-end{display:flex;flex-direction:row;align-items:stretch;gap:8px;flex-shrink:0;margin-left:auto}.ops-hub__header-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:4px;margin-left:0;flex-shrink:0;max-width:10.5rem}.ops-hub__header-actions .ops-hub__user-btn{width:100%}.ops-hub__header-actions .ops-hub__fullscreen-btn{width:100%;text-align:center;padding:6px 10px;font-size:.74rem}.ops-hub__header-actions .btn-ghost{width:100%;text-align:center;justify-content:center}.ops-hub:not(.ops-hub--tv-display) .ops-hub__header-actions .ops-hub__fullscreen-btn{font-weight:500}.ops-hub:not(.ops-hub--tv-display) .ops-hub__header-actions .btn-ghost{font-weight:500;font-size:.74rem;padding:6px 10px}.ops-hub__header-end .ops-hub__weather{align-self:stretch}.ops-hub--desktop:not(.ops-hub--tv-display) .ops-hub__header{flex-wrap:nowrap;align-items:center;row-gap:0;padding:6px 16px}.ops-hub--desktop:not(.ops-hub--tv-display) .ops-hub__stations-list{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent;padding-bottom:2px}.ops-hub:not(.ops-hub--tv-display) .ops-hub__header-end{flex-direction:row;align-items:stretch}.ops-hub:not(.ops-hub--tv-display) .ops-hub__header-actions{flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:center;max-width:10.5rem;gap:4px}.ops-hub:not(.ops-hub--tv-display) .ops-hub__header-actions .ops-hub__user-btn,.ops-hub:not(.ops-hub--tv-display) .ops-hub__header-actions .btn-ghost,.ops-hub:not(.ops-hub--tv-display) .ops-hub__header-actions .ops-hub__fullscreen-btn{width:100%}.ops-hub--desktop:not(.ops-hub--tv-display) .geo-map-bl-stack{left:12px}html.hub-ui-scaled .app-main--hub{overflow:hidden;height:100vh;height:100dvh}html.hub-ui-scaled .ops-hub:not(.ops-hub--tv-display){transform:scale(var(--hub-ui-scale, .8));transform-origin:top left;width:calc(100% / var(--hub-ui-scale, .8));height:calc(100vh / var(--hub-ui-scale, .8));height:calc(100dvh / var(--hub-ui-scale, .8))}.ops-hub--desktop .ops-hub__header{flex-wrap:wrap;align-items:flex-start;row-gap:10px;gap:16px;padding:10px 20px}.ops-hub--desktop .ops-hub__brand{flex:0 0 auto;align-self:center}.ops-hub--desktop .ops-hub__stations{flex:1 1 280px;min-width:0;justify-content:center;overflow:visible}.ops-hub--desktop .ops-hub__stations-list{overflow-x:visible;overflow-y:visible;flex-wrap:wrap;justify-content:center;align-content:flex-start}.ops-hub--desktop .ops-hub__header-end{flex:0 0 auto;align-self:center}.ops-hub--tv-display .ops-hub__header:has(.ops-hub__stations--many),.ops-hub--tv-display .ops-hub__header:has(.ops-hub__stations--overflow){display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"brand . actions" "stations stations stations";align-items:center;row-gap:8px}.ops-hub--tv-display .ops-hub__header:has(.ops-hub__stations--many) .ops-hub__brand,.ops-hub--tv-display .ops-hub__header:has(.ops-hub__stations--overflow) .ops-hub__brand{grid-area:brand}.ops-hub--tv-display .ops-hub__header:has(.ops-hub__stations--many) .ops-hub__header-end,.ops-hub--tv-display .ops-hub__header:has(.ops-hub__stations--overflow) .ops-hub__header-end{grid-area:actions;margin-left:0}.ops-hub--tv-display .ops-hub__header:has(.ops-hub__stations--many) .ops-hub__stations,.ops-hub--tv-display .ops-hub__header:has(.ops-hub__stations--overflow) .ops-hub__stations{grid-area:stations;flex:none;width:100%;max-width:none}.ops-hub--tv-display .ops-hub__header{gap:18px;padding:12px 22px}.ops-hub--tv-display .ops-hub__logo{width:64px;height:64px}.ops-hub--tv-display .ops-hub__title{font-size:clamp(1.28rem,2.4vw,1.75rem)}.ops-hub--tv-display .ops-hub__subtitle{font-size:.95rem;letter-spacing:.12em}.ops-hub--tv-display .ops-hub__weather{font-size:.88rem;max-width:260px;padding:8px 12px}.ops-hub--tv-display .ops-hub__weather-label{font-size:.76rem}.ops-hub--tv-display .ops-hub__weather-now{font-size:.82rem;max-width:13rem}.ops-hub--tv-display .ops-hub__weather-range-key{font-size:.72rem;flex-basis:2.5rem}.ops-hub--tv-display .ops-hub__weather-range-val{font-size:.88rem}.ops-hub--tv-display .ops-hub__weather-alert{font-size:.74rem}.ops-hub--tv-display .ops-hub__station-card{padding:8px 12px 10px}.ops-hub--tv-display .ops-hub__station-heading{font-size:.92rem}.ops-hub--tv-display .ops-hub__station-live,.ops-hub--tv-display .ops-hub__station-group-label{font-size:.68rem}.ops-hub--tv-display .ops-hub__station-unit{font-size:.96rem}.ops-hub--tv-display .ops-hub__station-onscene-name,.ops-hub--tv-display .ops-hub__station-empty{font-size:.78rem}.ops-hub--tv-display .ops-hub__stations-btn{font-size:.74rem;padding:4px 8px}.ops-hub--tv-display .ops-hub__stations--dense .ops-hub__station-heading{font-size:.82rem}.ops-hub--tv-display .ops-hub__stations--dense .ops-hub__station-unit{font-size:.86rem}.ops-hub--tv-display .ops-hub__stations--dense .ops-hub__station-onscene-name{font-size:.72rem;max-width:200px}.ops-hub--tv-display .ops-hub__stations--many .ops-hub__station-heading{font-size:.74rem}.ops-hub--tv-display .ops-hub__stations--many .ops-hub__station-unit{font-size:.76rem}.ops-hub--tv-display .ops-hub__stations--many .ops-hub__station-onscene-name{font-size:.66rem;max-width:170px}.ops-hub--tv-display .ops-hub__stations--overflow .ops-hub__station-heading,.ops-hub--tv-display .ops-hub__stations--overflow .ops-hub__station-unit{font-size:.68rem}.ops-hub--tv-display .ops-hub__stations--overflow .ops-hub__station-onscene-name{font-size:.6rem;max-width:150px}.ops-hub--tv-display .ops-hub__station-glyph .geo-unit-glyph{font-size:1.05rem}.ops-hub--tv-display .ops-hub__user-name{font-size:1rem;max-width:220px}.ops-hub--tv-display .ops-hub__user-role{font-size:.84rem}.ops-hub--tv-display .ops-hub__header-actions{max-width:13rem;gap:6px}.ops-hub--tv-display .ops-hub__header-actions .btn-ghost{font-size:.95rem;padding:8px 14px}.ops-hub--tv-display .ops-hub__fullscreen-btn{font-size:.92rem;padding:8px 12px;width:100%}.ops-hub--tv-display .ops-hub__stations-picker-label{font-size:.82rem}.ops-hub--tv-display .ops-hub__stations-picker-select{font-size:.95rem;padding:8px 10px}.ops-hub__stations{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0;overflow:visible;container-type:inline-size;container-name:hub-roster}.ops-hub__stations-list{display:flex;align-items:flex-start;justify-content:center;gap:8px;min-width:0;flex-wrap:wrap;align-content:flex-start;overflow-x:visible;overflow-y:visible}@container hub-roster (max-width: 1100px){.ops-hub__station-card{padding:5px 9px 6px}.ops-hub__station-heading{font-size:.66rem}.ops-hub__station-unit{font-size:.64rem}.ops-hub__station-onscene-name{max-width:180px;font-size:.58rem}}@container hub-roster (max-width: 820px){.ops-hub__station-card{padding:4px 8px 5px;border-width:2px}.ops-hub__station-heading{font-size:.62rem}.ops-hub__station-unit{font-size:.6rem}.ops-hub__station-group-label{font-size:.52rem}.ops-hub__station-onscene-name{max-width:150px;font-size:.56rem}}.ops-hub__stations--dense .ops-hub__station-card{padding:5px 8px 6px;border-width:2px}.ops-hub__stations--dense .ops-hub__station-heading{font-size:.64rem}.ops-hub__stations--dense .ops-hub__station-unit{font-size:.62rem}.ops-hub__stations--dense .ops-hub__station-onscene-name{max-width:170px;font-size:.58rem}.ops-hub__stations--many .ops-hub__station-card{padding:4px 7px 5px}.ops-hub__stations--many .ops-hub__station-heading{font-size:.6rem}.ops-hub__stations--many .ops-hub__station-unit{font-size:.58rem}.ops-hub__stations--many .ops-hub__station-onscene-name{max-width:140px;font-size:.54rem}.ops-hub__stations--overflow .ops-hub__station-card{padding:3px 6px 4px}.ops-hub__stations--overflow .ops-hub__station-heading{font-size:.56rem}.ops-hub__stations--overflow .ops-hub__station-unit{font-size:.54rem}.ops-hub__stations--overflow .ops-hub__station-onscene-name{max-width:120px;font-size:.52rem}.ops-hub__stations--scroll .ops-hub__stations-list{max-height:min(38vh,300px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent;padding-right:2px}.ops-hub--tv-display .ops-hub__stations--scroll .ops-hub__stations-list{max-height:min(44vh,400px)}.ops-hub--compact .ops-hub__stations--scroll .ops-hub__stations-list{max-height:min(34vh,220px)}.ops-hub__station-card{position:relative;box-sizing:border-box;flex:0 0 auto;display:flex;flex-direction:column;padding:6px 10px 8px;border-radius:12px;background:#0e121c8c;border:3px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ops-hub__station-card--staffed{border-color:#ffffff52}.ops-hub__station-card--open{border-color:#ff453aa6}.ops-hub__station-card--hospital{border-color:#007affbf}.ops-hub__station-card--onscene{border-color:#ff9500d9}.ops-hub__station-onscene-name{margin:0 0 4px;max-width:220px;text-align:center;font-size:.62rem;font-weight:600;line-height:1.25;color:#ffffffd1}.ops-hub__station-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 6px;margin:0 0 4px;width:100%}.ops-hub__station-heading{margin:0;width:auto;text-align:center;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;line-height:1.2}.ops-hub__station-heading--refresh{display:block;border:none;background:transparent;padding:0;cursor:pointer;transition:color .15s,opacity .15s}.ops-hub__station-heading--refresh:hover:not(:disabled){color:var(--accent)}.ops-hub__station-heading--refresh:disabled{cursor:default;opacity:.65}.ops-hub__station-live{position:static;flex-shrink:0;display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:999px;background:#dc2626;color:#fff;font-size:.54rem;font-weight:800;letter-spacing:.08em;line-height:1.2;box-shadow:0 1px 6px #00000073}.ops-hub__station-live:before{content:"";width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 6px #ffffffe6;animation:ops-hub-live-pulse 1.4s ease-in-out infinite}@keyframes ops-hub-live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.ops-hub__station-groups{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:8px}.ops-hub__station-card--station1 .ops-hub__station-groups{gap:10px}.ops-hub__station-group{display:flex;flex-direction:column;align-items:center;gap:2px;flex:0 0 auto}.ops-hub__station-group-label{font-size:.52rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff6;line-height:1.2;white-space:nowrap}.ops-hub__station-units{display:flex;flex-direction:column;align-items:center;gap:1px;margin:0;padding:0;list-style:none}.ops-hub__station-unit{display:flex;align-items:center;gap:2px;font-size:.74rem;font-weight:800;white-space:nowrap;line-height:1.15}.ops-hub__station-glyph{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}.ops-hub__station-glyph .geo-unit-glyph{color:inherit}.ops-hub__station-empty{margin:0;font-size:.62rem;color:#ffffff80;text-align:center}.ops-hub__stations-controls{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex-shrink:0}.ops-hub__stations-btn{padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#0e121c80;color:#ffffffe0;font-size:.6rem;font-weight:600;letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.ops-hub__stations-btn:hover{background:#141c2cbf;border-color:#5ac8fa66}.ops-hub__stations-btn--clear{border-color:#ff6b6b59;color:#ffc8c8f2}.ops-hub__stations-btn--clear:hover{border-color:#ff6b6b99;background:#301212b3}.ops-hub__stations-btn:disabled{opacity:.55;cursor:not-allowed}.ops-hub__brand{display:flex;align-items:center;gap:14px;min-width:0}.ops-hub__logo{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45));flex-shrink:0}.ops-hub__titles{min-width:0}.ops-hub__title{margin:0;font-size:clamp(1rem,2.2vw,1.35rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;background:linear-gradient(135deg,#fff,#b8d4f0 45%,#5ac8fa);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.ops-hub__subtitle{margin:2px 0 0;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#a8b0c0eb}.ops-hub:not(.ops-hub--tv-display) .ops-hub__title{font-weight:600;background:none;-webkit-background-clip:unset;background-clip:unset;color:#ffffffeb}.ops-hub:not(.ops-hub--tv-display) .ops-hub__subtitle{font-weight:500;letter-spacing:.1em;color:#a8b0c0c7}.ops-hub:not(.ops-hub--tv-display) .ops-hub__station-heading{font-weight:700}.ops-hub:not(.ops-hub--tv-display) .ops-hub__station-unit{font-weight:600}.ops-hub:not(.ops-hub--tv-display) .ops-hub__weather-label{font-weight:600}.ops-hub:not(.ops-hub--tv-display) .ops-hub__weather-range-val{font-weight:600}.ops-hub:not(.ops-hub--tv-display) .ops-hub__user-name{font-weight:500}.ops-hub:not(.ops-hub--tv-display) .ops-hub__user-role{font-weight:500}.ops-hub__weather{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:6px 10px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.72rem;line-height:1.25;color:inherit;text-decoration:none;flex-shrink:0;max-width:220px;transition:border-color .15s,background .15s}.ops-hub__weather:hover{border-color:#5ac8fa73;background:#ffffff17}.ops-hub__weather-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ops-hub__weather-label{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#ffffffb8}.ops-hub__weather-now{font-size:.66rem;font-weight:600;color:#ffffffe0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:11rem;text-align:right}.ops-hub__weather-ranges{display:flex;flex-direction:column;gap:2px}.ops-hub__weather-range{display:flex;align-items:baseline;gap:6px;min-width:0}.ops-hub__weather-range-key{flex:0 0 2.1rem;font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#ffffff73}.ops-hub__weather-range-val{font-size:.72rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-hub__weather-alerts{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.ops-hub__weather-alert{padding:3px 6px;border-radius:6px;font-size:.6rem;font-weight:800;letter-spacing:.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-hub__weather-alert--fire{background:#ff453a38;border:1px solid rgba(255,69,58,.55);color:#ff8a80}.ops-hub__weather-alert--storm{background:#ff950033;border:1px solid rgba(255,149,0,.55);color:#ffb340}.ops-hub__weather-alert--wind{background:#5ac8fa29;border:1px solid rgba(90,200,250,.45);color:#8cd3ff}.ops-hub__weather-alert--flood{background:#0a84ff2e;border:1px solid rgba(10,132,255,.5);color:#7ec8ff}.ops-hub__weather-alert--heat{background:#ff3b302e;border:1px solid rgba(255,59,48,.5);color:#ff9f9a}.ops-hub__weather-alert--default{background:#ffd60a24;border:1px solid rgba(255,214,10,.45);color:#ffe066}.ops-hub__weather--compact{max-width:168px;padding:5px 8px;gap:3px}.ops-hub__weather--compact .ops-hub__weather-range-val{font-size:.66rem}.ops-hub__weather--compact .ops-hub__weather-alert{font-size:.56rem}.weather-page-alerts{margin:12px 0}.weather-page-alerts ul{margin:8px 0 0;padding-left:1.1rem}.weather-page-alerts li{margin-bottom:8px}.weather-page-alerts li span{display:block;font-size:.85rem;color:var(--muted);margin-top:2px}.wx-warn{color:#ff9500!important;font-weight:800}.wx-alert{color:#ff453a!important;font-weight:800}.weather-page{max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.weather-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.weather-page__title{margin:0;font-size:1.5rem}.weather-page__subtitle{margin:4px 0 0;font-size:.9rem;color:var(--muted)}.weather-page__refresh{flex-shrink:0}.weather-page__loading{color:var(--muted);margin:0}.weather-page__section-title{margin:0 0 12px;font-size:1rem;font-weight:700}.weather-page__hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px}.weather-page__hero-main{display:flex;align-items:center;gap:16px}.weather-page__hero-icon{font-size:3rem;line-height:1}.weather-page__hero-conditions{margin:0 0 4px;font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.weather-page__hero-temp{margin:0;font-size:3rem;font-weight:800;line-height:1;letter-spacing:-.03em}.weather-page__hero-unit{font-size:1.25rem;font-weight:600;color:var(--muted);margin-left:2px}.weather-page__hero-stats{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px 20px;margin:0}.weather-page__hero-stats div{min-width:0}.weather-page__hero-stats dt{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.weather-page__hero-stats dd{margin:2px 0 0;font-size:.95rem;font-weight:700}.weather-page__alerts{padding:16px 18px}.weather-page__alert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.weather-page__alert{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a}.weather-page__alert strong{display:block;font-size:.92rem}.weather-page__alert span{display:block;margin-top:4px;font-size:.85rem;color:var(--muted);line-height:1.35}.weather-page__alert-expires{font-size:.78rem!important;opacity:.85}.weather-page__alert--fire{border-color:#ff950073;background:#ff95001a}.weather-page__alert--storm{border-color:#ffcc0073;background:#ffcc0014}.weather-page__alert--wind{border-color:#5ac8fa66;background:#5ac8fa14}.weather-page__alert--flood{border-color:#30b0c773;background:#30b0c714}.weather-page__alert--heat{border-color:#ff453a73;background:#ff453a14}.weather-page__forecast{padding:16px 18px 10px;overflow-x:auto}.weather-page__forecast-head,.weather-page__day{display:grid;grid-template-columns:minmax(96px,1.15fr) minmax(130px,2fr) minmax(72px,.9fr) minmax(88px,1fr) minmax(56px,.7fr) minmax(64px,.75fr) 18px;gap:10px;align-items:center}.weather-page__forecast-head{padding:0 10px 8px;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.08)}.weather-page__day-list{list-style:none;margin:0;padding:0}.weather-page__day-wrap{border-bottom:1px solid rgba(255,255,255,.06)}.weather-page__day-wrap:last-child{border-bottom:none}.weather-page__day-wrap--today .weather-page__day--today{background:#5ac8fa14}.weather-page__day-wrap--fire{box-shadow:inset 3px 0 #ff9500d9}.weather-page__day-wrap--open .weather-page__day{background:#ffffff0a}.weather-page__day{width:100%;margin:0;padding:11px 10px;border:none;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;font-size:.88rem;transition:background .15s}.weather-page__day:hover{background:#ffffff0d}.weather-page__day-when{display:flex;flex-direction:column;gap:2px;min-width:0}.weather-page__day-label{font-weight:800}.weather-page__day-date{font-size:.76rem;color:var(--muted)}.weather-page__day-sun{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:2px}.weather-page__sun-note{font-size:.7rem;font-weight:600;color:#ffc878eb;white-space:nowrap}.weather-page__day-conditions{display:flex;align-items:center;gap:8px;min-width:0}.weather-page__day-icon{font-size:1.35rem;line-height:1;flex-shrink:0}.weather-page__day-text{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weather-page__fire-tag{flex-shrink:0;padding:2px 6px;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#ffb340;background:#ff950029;border:1px solid rgba(255,149,0,.35)}.weather-page__day-temp{display:flex;align-items:baseline;gap:6px;font-weight:700}.weather-page__temp-high{font-size:1rem}.weather-page__temp-low{font-size:.82rem;color:var(--muted);font-weight:600}.weather-page__day-wind,.weather-page__day-precip,.weather-page__day-rh{font-weight:600;line-height:1.25}.weather-page__wind-dir{display:block;font-size:.72rem;color:var(--muted);font-weight:700}.weather-page__day-chevron{color:var(--muted);font-size:.85rem;text-align:center}.weather-page__hourly-panel{padding:0 10px 12px 14px;border-top:1px solid rgba(255,255,255,.06);background:#0000002e;border-radius:0 0 10px 10px}.weather-page__hourly-title{margin:10px 0 8px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.weather-page__hourly-head,.weather-page__hour-row{display:grid;grid-template-columns:64px 28px minmax(100px,1.4fr) 52px minmax(88px,1fr) 48px;gap:8px;align-items:center}.weather-page__hourly-head{padding:0 0 6px;font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.06)}.weather-page__hourly-list{list-style:none;margin:0;padding:0}.weather-page__hour-row{padding:7px 0;font-size:.82rem;border-bottom:1px solid rgba(255,255,255,.04)}.weather-page__hour-row:last-child{border-bottom:none}.weather-page__hour-time{font-weight:700;color:#ffffffe6}.weather-page__hour-icon{font-size:1rem;line-height:1;text-align:center}.weather-page__hour-conditions{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weather-page__hour-temp{font-weight:800}.weather-page__hour-wind,.weather-page__hour-rh{font-weight:600;font-size:.78rem;color:#ffffffe0}.weather-page__sun-row{display:flex;align-items:center;gap:10px;padding:8px 0;margin:2px 0;border-top:1px dashed rgba(255,200,120,.22);border-bottom:1px dashed rgba(255,200,120,.22);background:#ffb4500f;font-size:.82rem}.weather-page__sun-row-icon{font-size:1.1rem;line-height:1}.weather-page__sun-row-label{font-weight:800;letter-spacing:.03em;text-transform:uppercase;font-size:.68rem;color:#ffc878f2}.weather-page__sun-row-time{margin-left:auto;font-weight:700;color:#ffdca0f2}.weather-page__hourly-empty{margin:8px 0 0;font-size:.85rem;color:var(--muted)}.weather-page__radar{padding:16px 18px}.weather-page__radar-copy{margin:0 0 12px;font-size:.9rem;color:var(--muted);line-height:1.45}.weather-page__credit{margin:0;font-size:.78rem;color:var(--muted);line-height:1.45}@media(max-width:720px){.weather-page__forecast-head,.weather-page__hourly-head{display:none}.weather-page__day{grid-template-columns:1fr auto;grid-template-areas:"when chevron" "conditions conditions" "temp temp" "wind precip" "rh rh";gap:8px 12px;padding:12px 10px}.weather-page__day-when{grid-area:when}.weather-page__day-chevron{grid-area:chevron;align-self:start;padding-top:2px}.weather-page__day-conditions{grid-area:conditions}.weather-page__day-temp{grid-area:temp;justify-content:flex-start}.weather-page__day-wind{grid-area:wind}.weather-page__day-precip{grid-area:precip;text-align:right}.weather-page__day-rh{grid-area:rh;font-size:.82rem;color:var(--muted)}.weather-page__day-rh:before{content:"RH ";font-weight:800;text-transform:uppercase;letter-spacing:.04em}.weather-page__day-wind:before{content:"Wind ";display:block;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.weather-page__day-precip:before{content:"Precip ";display:block;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.weather-page__hour-row{grid-template-columns:58px 24px 1fr auto;grid-template-areas:"time icon temp temp" "conditions conditions wind rh";gap:4px 8px}.weather-page__hour-time{grid-area:time}.weather-page__hour-icon{grid-area:icon}.weather-page__hour-conditions{grid-area:conditions;font-size:.78rem;color:var(--muted)}.weather-page__hour-temp{grid-area:temp;text-align:right}.weather-page__hour-wind{grid-area:wind}.weather-page__hour-rh{grid-area:rh;text-align:right}.weather-page__hero-stats{width:100%}}.ops-hub__user-btn{display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);cursor:pointer;text-align:right}.ops-hub__user-btn:hover{border-color:#5ac8fa73}.ops-hub__user-name{font-size:.85rem;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-hub__user-role{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.ops-hub__live-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:990;display:flex;align-items:center;gap:12px;padding:8px 16px;border-radius:999px;background:#b91c1ceb;border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;font-size:.85rem;box-shadow:0 4px 24px #dc262673;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ops-hub__live-banner:hover{background:#dc2626f5}.ops-hub__live-pulse{width:8px;height:8px;border-radius:50%;background:#fff;animation:ops-live-pulse 1.4s ease-in-out infinite}@keyframes ops-live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.ops-hub__live-name{display:block;font-size:.75rem;opacity:.9}.ops-hub__live-cta{font-weight:700;white-space:nowrap}.hub-collapsible{position:absolute;z-index:900;display:flex;align-items:stretch;pointer-events:none}.hub-collapsible--left{left:12px;top:12px;bottom:16px;flex-direction:row}.hub-collapsible--right,.hub-collapsible--staffing{right:12px;top:12px;bottom:calc(var(--hub-incident-bottom) + var(--hub-incident-gap) + var(--hub-incident-reserve));flex-direction:row}.hub-collapsible__panel{position:relative;width:196px;max-width:min(260px,calc(100vw - 280px));min-width:0;overflow:hidden;pointer-events:auto;transition:width .24s ease,opacity .2s ease,transform .24s ease}.hub-collapsible--left .hub-collapsible__panel{transform-origin:left center}.hub-collapsible--right .hub-collapsible__panel,.hub-collapsible--staffing .hub-collapsible__panel{transform-origin:right center}.hub-collapsible--collapsed .hub-collapsible__panel{width:0;opacity:0;pointer-events:none}.hub-collapsible--left.hub-collapsible--collapsed .hub-collapsible__panel{transform:translate(-12px)}.hub-collapsible--right.hub-collapsible--collapsed .hub-collapsible__panel,.hub-collapsible--staffing.hub-collapsible--collapsed .hub-collapsible__panel{transform:translate(12px)}.hub-collapsible__tab{position:relative;z-index:3;pointer-events:auto;flex-shrink:0;align-self:flex-start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:28px;min-height:72px;margin:0;padding:10px 4px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#0e121cf0;color:#ffffffe6;box-shadow:0 4px 16px #00000052;-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);cursor:pointer;font:inherit}.hub-collapsible--left .hub-collapsible__tab{border-top-right-radius:4px;border-bottom-right-radius:4px;margin-left:4px}.hub-collapsible--right .hub-collapsible__tab,.hub-collapsible--staffing .hub-collapsible__tab{border-top-left-radius:4px;border-bottom-left-radius:4px;margin-right:4px}.hub-collapsible__tab:hover{background:#161c2afa;border-color:#ffffff3d}.hub-collapsible__chevron{font-size:1rem;font-weight:700;line-height:1}.hub-collapsible__label{writing-mode:vertical-rl;text-orientation:mixed;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1;color:#ffffffc7}.hub-collapsible__panel .hub-rail,.hub-collapsible__panel .hub-rail.hub-rail--left{position:absolute;left:0;right:0;top:0;bottom:0;width:auto}.hub-collapsible__panel .hub-rail-stack--right{position:static;width:100%;height:100%;max-width:none;top:auto;right:auto;bottom:auto}.hub-rail-stack--right{position:absolute;right:12px;top:12px;bottom:calc(var(--hub-incident-bottom) + var(--hub-incident-gap) + var(--hub-incident-reserve));width:196px;max-width:min(260px,calc(100vw - 280px));z-index:900;display:flex;flex-direction:column;align-items:stretch;gap:0;pointer-events:none}.hub-rail-stack--right>*{pointer-events:auto;flex:1 1 auto;min-height:0;width:100%}.hub-rail-stack--right .hub-rail--right{position:static;flex:0 0 auto;width:100%;padding:0;overflow:visible}.ops-hub__staffing-panel{position:static;flex:1 1 auto;min-height:0;height:100%;width:100%;display:flex;flex-direction:column;border-radius:12px;background:#0e121ceb;border:1px solid var(--card-border);-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);box-shadow:0 8px 28px #00000061;overflow:hidden}.ops-hub__staffing-panel--flyout{max-height:min(56vh,calc(100dvh - 120px))}.ops-hub__staffing-title-row{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px 10px 2px}.ops-hub__staffing-shift-badge{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;flex-shrink:0}.ops-hub__staffing-shift-label{font-size:.56rem;font-weight:700;letter-spacing:.04em;color:var(--muted);text-align:center;line-height:1.15;white-space:nowrap}.ops-hub__staffing-head{display:block;width:100%;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer;flex-shrink:0}.ops-hub__staffing-head:hover{background:#ffffff0a}.ops-hub__staffing-title{margin:0;padding:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffe0;line-height:1.2}.ops-hub__staffing-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.ops-hub__staffing-units{list-style:none;margin:0;padding:5px 7px 7px;display:flex;flex-direction:column;gap:6px}.ops-hub__staffing-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:4px 10px 8px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.ops-hub__staffing-stat{display:inline-flex;align-items:baseline;gap:4px;font-size:.58rem;color:var(--muted);line-height:1.2}.ops-hub__staffing-stat strong{font-size:.82rem;font-weight:800;color:#fff}.ops-hub__staffing-shift-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #00000059}.ops-hub__staffing-link{flex-shrink:0;font-size:.62rem;font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap;padding-top:2px}.ops-hub__staffing-link:hover{text-decoration:underline}.ops-hub__staffing-unit{display:flex;flex-direction:column;gap:0;padding:6px 7px 5px;border-radius:8px;background:#06080ed1;border:1px solid rgba(255,255,255,.1);border-left-width:3px;border-left-style:solid;border-left-color:#ffffff38;box-shadow:0 2px 8px #00000038}.ops-hub__staffing-unit--engine{border-color:#ff453a47;border-left-color:#ff453a;background:#16080ae0}.ops-hub__staffing-unit--medic{border-color:#0a84ff47;border-left-color:#0a84ff;background:#080c16e0}.ops-hub__staffing-unit--duty{border-color:#ffffff38;border-left-color:#fff;background:#0a0a0ee0}.ops-hub__staffing-unit--wildland{border-color:#ff453a47;border-left-color:#ff453a;background:#16080ae0}.ops-hub__staffing-unit--default{border-color:#ffffff24;border-left-color:#ffffff73}.ops-hub__staffing-unit-label{font-size:.8rem;font-weight:800;letter-spacing:.03em;line-height:1.25}.ops-hub__staffing-unit-label-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding-bottom:5px}.ops-hub__staffing-unit-label--engine{color:#ff453a}.ops-hub__staffing-unit-label--medic{color:#0a84ff}.ops-hub__staffing-unit-label--duty{color:#fff}.ops-hub__staffing-unit-label--wildland{color:#ff453a}.ops-hub__staffing-unit-label--default{color:#ffffffb8}.ops-hub__staffing-unit-shifts{display:flex;flex-direction:column;gap:3px;min-width:0;padding-top:5px;border-top:1px solid rgba(255,255,255,.12)}.ops-hub__staffing-unit--engine .ops-hub__staffing-unit-shifts{border-top-color:#ff453a47}.ops-hub__staffing-unit--medic .ops-hub__staffing-unit-shifts{border-top-color:#0a84ff47}.ops-hub__staffing-unit--duty .ops-hub__staffing-unit-shifts{border-top-color:#fff3}.ops-hub__staffing-unit--wildland .ops-hub__staffing-unit-shifts{border-top-color:#ff453a47}.ops-hub__staffing-shift-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;font-size:.66rem;line-height:1.3}.ops-hub__staffing-name{color:#ffffffe0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-hub__staffing-name--officer{color:#ff9500;font-weight:700}.ops-hub__staffing-name--duty{color:#fff;font-weight:800}.ops-hub__staffing-time{color:var(--muted);font-size:.58rem;font-weight:500;font-variant-numeric:tabular-nums}.staffing-contact-phone{color:#5ac8fa;text-decoration:none;font-weight:700;white-space:nowrap}.staffing-contact-phone:hover{text-decoration:underline}.staffing-contact-phone--hub{margin-left:4px;font-size:.72rem;font-weight:800}.staffing-contact-phone--page{font-size:.95rem;font-weight:700}.staffing-contact-phone--unit{font-weight:600;opacity:.92}.staffing-contact-phone--unit.staffing-contact-phone--hub{margin-left:0;font-size:.62rem;font-weight:700}.staffing-contact-phone--unit.staffing-contact-phone--page{font-size:.95rem}.staffing-phones-admin-stack{display:flex;flex-direction:column;gap:16px}.duty-phones-admin__head--units,.duty-phones-admin__row--units{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto}.duty-phones-admin__lead{margin:0 0 16px;color:var(--muted);font-size:.9rem;line-height:1.45}.duty-phones-admin__quick{margin-bottom:16px}.duty-phones-admin__quick-label{display:block;margin-bottom:8px;font-size:.82rem;font-weight:600;color:var(--muted)}.duty-phones-admin__quick-list{display:flex;flex-wrap:wrap;gap:8px}.duty-phones-admin__quick-btn{font-size:.78rem;padding:4px 10px}.duty-phones-admin__table{display:grid;gap:8px}.duty-phones-admin__head,.duty-phones-admin__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:8px;align-items:center}.duty-phones-admin__head{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.duty-phones-admin__row input{width:100%;min-width:0}.duty-phones-admin__remove{min-width:36px;padding-inline:8px}.duty-phones-admin__actions-col{text-align:center}.duty-phones-admin__toolbar{margin-top:12px}.duty-phones-admin__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.duty-phones-admin__error{margin:12px 0 0;color:#dc2626}.duty-phones-admin__notice{margin:12px 0 0;color:#16a34a}.ops-hub__staffing-empty,.ops-hub__staffing-error{margin:0;padding:10px 12px;font-size:.68rem}.ops-hub__staffing-error{color:#ff8a80}.hub-rail{position:absolute;top:12px;bottom:16px;width:196px;z-index:900;display:flex;flex-direction:column;gap:6px;overflow-y:auto;overflow-x:hidden;padding:4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;pointer-events:none}.hub-rail>*{pointer-events:auto}.hub-rail--left{left:12px}.hub-rail--right{right:12px;bottom:132px}.hub-rail--mobile{display:none}.hub-tools-menu{display:none;position:absolute;top:10px;left:10px;z-index:920;max-width:min(220px,calc(100vw - 24px));pointer-events:auto}.hub-tools-menu__field{display:flex;flex-direction:column;gap:3px;margin:0}.hub-tools-menu__label{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.hub-tools-menu__select{width:100%;margin:0;padding:8px 28px 8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#0e121ceb;color:var(--text);font-size:.78rem;font-weight:600;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23a8b0c0' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:10px 6px;box-shadow:0 4px 16px #00000047}.hub-tools-menu__select:focus{outline:none;border-color:#5ac8fa8c}.ops-hub__staffing-flyout{display:none;position:absolute;top:10px;right:10px;z-index:920;width:max-content;max-width:min(280px,calc(100vw - 24px));max-height:min(56vh,calc(100dvh - 120px));pointer-events:auto}.ops-hub__stations--stacked{flex:1 1 100%;min-width:0}.ops-hub__stations--stacked .ops-hub__stations-list{flex-direction:column;align-items:stretch;overflow:visible;width:100%;gap:6px}.ops-hub__stations-picker{display:flex;flex-direction:column;gap:3px;width:100%;margin:0 0 2px}.ops-hub__stations-picker-label{font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ops-hub__stations-picker-select{width:100%;margin:0;padding:7px 28px 7px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#0a0c12e6;color:var(--text);font-size:.74rem;font-weight:600;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23a8b0c0' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:10px 6px}.ops-hub__stations-picker-select:focus{outline:none;border-color:#5ac8fa8c}.ops-hub--compact .hub-tools-menu,.ops-hub--compact .ops-hub__staffing-flyout,.ops-hub--mobile .hub-tools-menu,.ops-hub--mobile .ops-hub__staffing-flyout{display:block}.ops-hub--compact .ops-hub__header{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);grid-template-areas:"brand stations actions";align-items:center;gap:6px 10px;padding:4px 10px;flex-wrap:nowrap}.ops-hub--compact .ops-hub__brand{grid-area:brand;flex:0 0 auto;min-width:0;gap:8px}.ops-hub--compact .ops-hub__stations{grid-area:stations;order:unset;flex:none;justify-content:center;align-items:center;min-width:0;max-width:none;overflow:hidden}.ops-hub--compact .ops-hub__header-end{grid-area:actions;margin-left:0;flex-shrink:0;gap:6px}.ops-hub--compact:not(.ops-hub--tv-display) .ops-hub__header-actions{flex-direction:column;flex-wrap:nowrap;align-items:stretch;max-width:9rem;gap:3px}.ops-hub--compact:not(.ops-hub--tv-display) .ops-hub__header-end{flex-direction:row;align-items:center}.ops-hub--compact .ops-hub__header-actions{gap:3px;max-width:8.5rem}.ops-hub--compact .ops-hub__weather{max-width:148px;padding:4px 8px;font-size:.6rem}.ops-hub--compact .ops-hub__weather-now{max-width:7.5rem;font-size:.58rem}.ops-hub--compact .ops-hub__weather-label{font-size:.56rem}.ops-hub--compact .ops-hub__weather-range-key{font-size:.52rem}.ops-hub--compact .ops-hub__weather-range-val{font-size:.58rem}.ops-hub--compact .ops-hub__title{font-size:.76rem;max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-hub--compact .ops-hub__subtitle{display:none}.ops-hub--compact .ops-hub__logo{width:32px;height:32px}.ops-hub--compact .ops-hub__fullscreen-btn{width:100%;padding:3px 8px;font-size:.66rem;font-weight:500;text-align:center}.ops-hub--compact .ops-hub__user-btn{padding:3px 8px;max-width:8.5rem;align-items:flex-end}.ops-hub--compact .ops-hub__user-name{font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-hub--compact .ops-hub__user-role{font-size:.56rem}.ops-hub--compact .ops-hub__header-actions .btn-ghost{padding:3px 8px;font-size:.66rem;font-weight:500;width:100%;text-align:center}.ops-hub--compact .ops-hub__stations--stacked{flex:none;width:100%}.ops-hub--compact .ops-hub__stations--stacked .ops-hub__stations-list{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;gap:6px 8px}.ops-hub--compact .ops-hub__stations-picker{flex:0 0 auto;flex-direction:row;align-items:center;width:auto;min-width:0;max-width:168px;margin:0;gap:0}.ops-hub--compact .ops-hub__stations-picker-label{display:none}.ops-hub--compact .ops-hub__stations-picker-select{padding:5px 26px 5px 8px;font-size:.68rem}.ops-hub--compact .ops-hub__station-card{padding:4px 8px 5px;border-width:2px}.ops-hub--compact .ops-hub__station-heading{font-size:.62rem}.ops-hub--compact .ops-hub__station-unit{font-size:.66rem}.ops-hub--compact .ops-hub__station-onscene-name{font-size:.58rem;max-width:180px}.ops-hub--compact .ops-hub__station-groups{gap:6px}.ops-hub--compact .ops-hub__stations-controls{align-items:center}.ops-hub--compact .ops-hub__stations-btn{font-size:.58rem;padding:2px 7px}.ops-hub--mobile .ops-hub__header{flex-wrap:wrap;align-items:flex-start;gap:6px;padding:6px 10px}.ops-hub--mobile .ops-hub__brand{flex:0 1 auto;min-width:0}.ops-hub--mobile .ops-hub__stations{order:3;flex:1 1 100%;justify-content:center;max-width:100%}.ops-hub--mobile .ops-hub__header-end{margin-left:auto;flex-shrink:0;flex-wrap:nowrap;align-items:stretch;gap:6px}.ops-hub--mobile .ops-hub__title{font-size:.88rem}.ops-hub--mobile .ops-hub__subtitle{display:none;font-size:.64rem}.ops-hub--mobile .ops-hub__logo{width:36px;height:36px}.ops-hub--mobile .ops-hub__stations--stacked .ops-hub__stations-list{align-items:center}.ops-hub--mobile .ops-hub__stations-picker{width:100%;max-width:320px;margin:0 auto}.ops-hub--mobile .ops-hub__weather-now{max-width:9rem;text-align:right;white-space:nowrap}.ops-hub--mobile .ops-hub__weather{max-width:min(160px,42vw)}.ops-hub--compact .geo-incident-stack,.ops-hub--mobile .geo-incident-stack{bottom:12px;right:12px;left:auto;width:min(200px,calc(100vw - 24px))}.ops-hub--compact .geo-map-bl-stack,.ops-hub--mobile .geo-map-bl-stack{left:12px;bottom:12px}.ops-hub--tv-display .geo-map-bl-stack{left:16px;bottom:16px;gap:8px}.ops-hub--tv-display .geo-zoom-bar__btn{width:44px;height:40px;font-size:1.45rem}.ops-hub--compact .geo-map-wrap .geo-toolbar--overlay,.ops-hub--mobile .geo-map-wrap .geo-toolbar--overlay{left:12px;right:12px}.ops-hub--compact .geo-error--overlay,.ops-hub--mobile .geo-error--overlay{top:48px;width:calc(100% - 24px)}.ops-hub--compact .ops-hub__account-panel{right:12px;left:12px;width:auto;top:52px;max-height:calc(100dvh - 64px)}.ops-hub--mobile .ops-hub__account-panel{right:12px;left:12px;width:auto;top:64px;max-height:calc(100dvh - 80px)}.ops-hub--mobile .ops-hub__header-actions .btn-ghost{padding:6px 10px;font-size:.78rem}.ops-hub--mobile .ops-hub__user-role{display:none}.ops-hub--mobile .ops-hub__live-banner{left:10px;right:10px;max-width:none}.ops-hub--mobile .hub-tools-menu,.ops-hub--mobile .ops-hub__staffing-flyout{max-width:min(180px,calc(50vw - 16px))}.ops-hub--mobile .hub-tools-menu__select,.ops-hub--mobile .ops-hub__staffing-toggle{font-size:.72rem;min-height:34px;padding:7px 10px}.ops-hub--mobile .ops-hub__station-card{width:100%;max-width:100%}.ops-hub--mobile .ops-hub__station-onscene-name{max-width:none}.hub-rail__tile{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:14px;background:#0e121cc7;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);color:var(--text);text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s,background .18s;box-shadow:0 4px 20px #00000040}.hub-rail__tile:hover{border-color:#5ac8fa8c;background:#141c2ce0;transform:translate(2px);box-shadow:0 6px 28px #0a84ff26}.hub-rail--right .hub-rail__tile:hover{transform:translate(-2px)}.hub-rail__icon{font-size:1.35rem;line-height:1;flex-shrink:0;margin-top:1px}.hub-rail__text{display:flex;flex-direction:column;gap:2px;min-width:0}.hub-rail__title{font-size:.82rem;font-weight:700;line-height:1.2;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.hub-rail__subtitle{font-size:.68rem;color:var(--muted);line-height:1.25}.hub-rail__badge{display:inline-block;min-width:18px;padding:1px 5px;border-radius:8px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:800;text-align:center}.hub-rail__badge--live{background:#dc2626;letter-spacing:.04em}.ops-hub__account-panel{position:absolute;top:76px;right:220px;z-index:1100;width:min(360px,calc(100vw - 240px));max-height:calc(100dvh - 100px);overflow:auto;padding:16px;border-radius:16px;background:#0c101af0;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 16px 48px #00000080}.ops-hub__account-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.ops-hub__account-head h2{margin:0;font-size:1rem}.ops-hub__account-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ops-hub__upgrade{display:flex;gap:8px;flex-wrap:wrap}.ops-hub__upgrade input{flex:1;min-width:120px;padding:10px 12px;border-radius:8px;border:1px solid var(--card-border);background:#00000059;color:var(--text)}.ops-hub__upgrade-msg{margin:10px 0 0;font-size:.9rem;color:#6ee7a0}.geo-map{height:100%;width:100%;background:#c8ced6}.geo-map-layer-control{background:#10141ee0;border:1px solid var(--card-border);border-radius:10px;font-size:.72rem;color:var(--muted);display:grid;gap:0;width:196px;box-sizing:border-box;box-shadow:0 4px 16px #00000059}.geo-map-layer-control--collapsed{width:max-content;max-width:min(240px,calc(100vw - 24px))}.geo-map-layer-control--open{max-height:min(72vh,640px);overflow:hidden}.geo-map-layer-control__head{display:flex;align-items:center;gap:6px;width:100%;margin:0;padding:8px 10px;border:none;border-radius:10px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.geo-map-layer-control--open .geo-map-layer-control__head{border-bottom:1px solid rgba(255,255,255,.08);border-radius:10px 10px 0 0}.geo-map-layer-control__head-title{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;flex-shrink:0}.geo-map-layer-control__head-summary{flex:1;min-width:0;font-size:.68rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geo-map-layer-control__chevron{flex-shrink:0;font-size:.7rem;color:#ffffff73;line-height:1}.geo-map-layer-control__body{display:grid;gap:8px;padding:8px 10px 10px;overflow-y:auto;max-height:min(calc(72vh - 40px),600px)}.geo-map-layer-control__label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;margin-bottom:4px}.geo-map-layer-control__options{display:flex;flex-wrap:wrap;gap:6px 10px}.geo-map-layer-control__option{display:inline-flex;align-items:center;gap:4px;color:var(--text);cursor:pointer;font-size:.72rem}.geo-map-layer-control__option input{margin:0;accent-color:var(--accent)}.geo-map-layer-control__toggle{display:flex;align-items:center;gap:6px;color:var(--text);cursor:pointer;font-size:.72rem}.geo-map-layer-control__toggle input{margin:0;accent-color:#ff9500}.geo-map-layer-control__hint{font-size:.64rem;color:#ffffff80}.geo-map-layer-control__hint--error{color:#ff8a80}.geo-wind-legend{display:grid;gap:4px;padding-top:2px;border-top:1px solid rgba(255,255,255,.08)}.geo-map-layer-control .geo-wind-legend{width:100%;background:transparent;border:none;border-radius:0;padding:6px 0 0;box-shadow:none}.geo-live-tracking-status{position:absolute;top:12px;right:12px;z-index:820;max-width:min(240px,calc(100% - 24px));padding:6px 10px;border-radius:8px;background:#10141ee6;border:1px solid rgba(255,255,255,.12);color:#ffffffe0;font-size:.68rem;line-height:1.35;pointer-events:none;box-shadow:0 4px 16px #00000059}.geo-live-tracking-status--vessel{top:44px}.geo-live-tracking-status--error{color:#ffb4a9;border-color:#ff786459}.geo-tracking-marker{background:transparent!important;display:flex;flex-direction:column;align-items:center}.geo-tracking-marker__stack{display:flex;flex-direction:column;align-items:center;pointer-events:none}.geo-tracking-marker--labeled .geo-tracking-marker__body{flex-shrink:0}.geo-tracking-marker__body--vehicle{display:flex;align-items:center;justify-content:center;overflow:visible;flex-shrink:0}.geo-unit-map__label{margin-top:4px;max-width:140px;padding:2px 10px;border-radius:9999px;background:#fffffff0;color:#1c1c1e;font-size:12px;font-weight:700;text-align:center;line-height:1.25;box-shadow:0 1px 4px #00000047;white-space:nowrap;pointer-events:none;flex-shrink:0;position:relative;z-index:2}.geo-unit-map__label--gold{background:#ffd60af5;color:#3d2e00;box-shadow:0 1px 4px #00000052}.geo-map--road-map .geo-unit-map__label{font-size:15px;padding:3px 12px;line-height:1.35}.geo-tracking-marker__body{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:transparent;transform-origin:center center}.geo-unit-flat-marker{display:inline-flex;align-items:center;justify-content:center;line-height:0;background:transparent}.geo-unit-asset--vehicle{filter:drop-shadow(0 0 .45px #000) drop-shadow(0 0 .9px #000) drop-shadow(1px 0 .35px rgba(0,0,0,.9)) drop-shadow(-1px 0 .35px rgba(0,0,0,.9)) drop-shadow(0 1px .35px rgba(0,0,0,.9)) drop-shadow(0 -1px .35px rgba(0,0,0,.9))}.geo-unit-asset--map.geo-unit-asset--vehicle{filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 0 2px rgba(255,255,255,.75)) drop-shadow(0 0 .6px #000) drop-shadow(0 0 1.2px #000) drop-shadow(0 1px 1.5px rgba(0,0,0,.85)) drop-shadow(1px 0 .5px rgba(0,0,0,.8)) drop-shadow(-1px 0 .5px rgba(0,0,0,.8))}.geo-unit-asset--map{width:auto;object-fit:contain;background:transparent!important}.leaflet-marker-pane .geo-unit-asset,.leaflet-marker-pane .geo-tracking-marker__body,.leaflet-marker-pane .geo-unit-flat-marker{background:transparent!important}.geo-unit-glyph--asset .geo-unit-asset{background:transparent}.geo-tracking-marker__svg{display:block}.geo-wind-legend__title{font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffff8c}.geo-wind-legend__scale{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:start}.geo-wind-legend__bar-wrap{display:grid;gap:2px;justify-items:center}.geo-wind-legend__bar{width:100%;height:8px;border-radius:4px;border:1px solid rgba(255,255,255,.15)}.geo-wind-legend__mid{font-size:.58rem;font-weight:700;color:#facc15;line-height:1}.geo-wind-legend__cap{font-size:.64rem;font-weight:700;color:#ffffffc7;line-height:1;min-width:1.1rem;text-align:center;padding-top:1px}.geo-map-bl-stack{position:absolute;left:12px;bottom:16px;z-index:920;display:flex;flex-direction:row;align-items:flex-end;gap:6px;width:max-content;max-width:calc(100% - 24px);pointer-events:none}.geo-map-bl-stack>*{pointer-events:auto}.geo-map-bl-stack .geo-map-layer-control{flex:0 0 auto;width:196px;max-width:min(196px,calc(100vw - 120px))}.geo-zoom-bar{display:flex;flex-direction:row;align-items:stretch;flex:0 0 auto;border-radius:10px;overflow:hidden;border:1px solid var(--card-border);background:#10141ee0;box-shadow:0 4px 16px #00000059}.geo-zoom-bar__btn{width:36px;height:32px;padding:0;border:none;background:#10141ee0;color:#fff;font-size:1.25rem;font-weight:600;line-height:1;cursor:pointer;transition:background .15s,color .15s}.geo-zoom-bar__btn:first-child{border-right:1px solid var(--card-border)}.geo-zoom-bar__btn:hover{background:#1e2638f2;color:var(--accent)}.geo-zoom-bar__btn:active{background:#0a84ff40}.geo-station-panel{margin-top:0!important}.geo-station-panel__addr{font-size:.8rem;color:var(--muted);margin:0 0 8px}.geo-empty-hint,.geo-phone-hint{font-size:.85rem;color:var(--muted);margin:0}.leaflet-marker-pane{z-index:650}.leaflet-interactive:focus,.leaflet-interactive:focus-visible,.leaflet-marker-icon:focus,.leaflet-marker-icon:focus-visible,.leaflet-container:focus,.leaflet-container:focus-visible{outline:none!important}.leaflet-div-icon.geo-marker-root{background:transparent!important;border:none!important;overflow:visible!important}.leaflet-div-icon.geo-marker-root:focus,.leaflet-div-icon.geo-marker-root:focus-visible{outline:none!important;border:none!important}.leaflet-marker-icon{overflow:visible!important}.leaflet-marker-pane{overflow:visible}.geo-wasco-structure__pin{display:inline-flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none}.geo-wasco-structure__pin--compact .geo-wasco-structure__glyph{transform:scale(.72)}.geo-wasco-structure__glyph{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#ff9500eb;border:1.5px solid #fff;box-shadow:0 2px 6px #00000059;font-size:11px;line-height:1}.geo-wasco-structure__label{max-width:168px;padding:2px 5px;border-radius:4px;background:#000000c7;border:1px solid rgba(255,149,0,.45);color:#fff;font-size:9px;font-weight:600;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.geo-cad-dispatch-marker{display:flex;flex-direction:column;align-items:center;width:36px;pointer-events:none}.geo-cad-dispatch-marker__symbol{display:block;width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.cad-incident-row{display:flex;align-items:flex-start;gap:12px}.cad-incident-row__symbol{flex:0 0 auto}.weekly-report-page__badge-icon-img{width:22px;height:22px;object-fit:contain;border-radius:999px}.geo-mk-pin{position:relative;width:34px;height:42px;pointer-events:none}.geo-mk-pin__stack{display:flex;flex-direction:column;align-items:center;width:34px;height:42px}.geo-mk-pin__head{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2.5px solid #fff;box-shadow:0 2px 6px #00000061}.geo-mk-pin__glyph{display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;color:#fff;font-weight:700}.geo-mk-pin__glyph--dark{color:#1c1c1e}.geo-unit-glyph{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.geo-unit-emoji{display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.geo-unit-emoji--native{filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.geo-unit-emoji--dot{display:inline-block;color:#d1d1d6;font-weight:700}.geo-mk-pin__glyph .geo-unit-emoji{filter:none}.geo-unit-glyph--crew{color:#fc0}.geo-unit-glyph--truck{display:inline-flex;align-items:center;justify-content:center}.geo-mk-pin__glyph .geo-unit-glyph--command .geo-unit-truck{filter:drop-shadow(0 0 .6px #000) drop-shadow(0 1px 2px rgba(0,0,0,.55))}.geo-mk-pin__glyph .geo-unit-glyph--crew{color:#fff}.geo-unit-crew{display:block}.geo-mk-pin__head--station{padding:2px;background:#000000b8!important;border-color:#ffffff47}.geo-station-map__svg,.geo-station-asset--map{width:auto;object-fit:contain;background:transparent!important}.geo-station-asset--map{display:block;filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 0 2px rgba(255,255,255,.75)) drop-shadow(0 0 .6px #000) drop-shadow(0 0 1.2px #000)}.geo-station-pin__svg,.geo-station-map__svg{display:block;filter:drop-shadow(0 1px 0 rgba(0,0,0,.45)) drop-shadow(0 2px 5px rgba(0,0,0,.35))}.geo-hospital-marker{filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));pointer-events:none}.geo-hospital-marker__svg{display:block}.geo-mk-pin__point{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid;margin-top:-2px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}.geo-mk-pin__label{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:3px;max-width:120px;padding:2px 6px;border-radius:6px;background:#fffffff0;color:#1c1c1e;font-size:10px;font-weight:600;text-align:center;line-height:1.2;box-shadow:0 1px 4px #00000047;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geo-unit-pin{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;border-radius:10px;background:#ffffffeb;box-shadow:0 2px 8px #00000059;color:#111}.geo-unit-pin__icon{font-size:22px;line-height:1}.geo-unit-pin__label{font-size:11px;font-weight:600;max-width:110px;text-align:center;line-height:1.15}.geo-station-badge{box-sizing:border-box;padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#000000e6;color:#fff;box-shadow:0 4px 18px #0000008c;line-height:1.1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.geo-station-badge--staffed{border-color:#ffffff61}.geo-station-badge--open{border-color:#ff453abf}.geo-station-badge__title{font-size:11px;font-weight:800;margin-bottom:5px;letter-spacing:.04em;text-transform:uppercase;color:#ffffffeb;opacity:1}.geo-station-badge__cols{display:flex;gap:6px;align-items:flex-start}.geo-station-badge__col{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0}.geo-station-badge__unit{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:800;white-space:nowrap;letter-spacing:-.01em}.geo-station-badge__glyph{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}.geo-station-badge__glyph .geo-unit-glyph{color:inherit}.geo-unit-glyph--dot{display:inline-flex;align-items:center;justify-content:center;width:12px;font-size:10px;font-weight:800;line-height:1}.geo-unit-glyph--asset{display:inline-flex;align-items:center;justify-content:center}.geo-unit-asset{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.geo-mk-pin__glyph .geo-unit-asset{width:18px;height:18px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}.geo-station-badge__glyph .geo-unit-asset,.ops-hub__station-glyph .geo-unit-asset{width:24px;height:24px}.geo-station-badge__name{font-weight:800}.geo-station-badge__empty{font-size:10px;color:#ffffff8c;list-style:none}.geo-roster{box-sizing:border-box;width:100%;padding:3px 5px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#06080e61;color:#fff;box-shadow:0 1px 5px #0003;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%);cursor:pointer;text-align:center;line-height:1.15}.geo-roster--compact{max-width:132px}.geo-roster--expanded{background:#06080eb8;border-width:1.5px;text-align:left;padding:5px 7px;max-width:168px}.geo-roster__title{font-size:9px;font-weight:800;letter-spacing:.01em}.geo-roster__supervisor,.geo-roster__radio{font-size:8px;font-weight:600;color:#ffffffe0;margin-top:1px}.geo-roster__designation{font-size:8px;font-weight:600;color:#ffffffd1;margin-top:4px}.geo-roster__hint{font-size:8px;color:#ffffffa6;margin-top:2px}.geo-roster__summary{font-size:8px;color:#ffffffc7;margin-top:4px;white-space:pre-wrap}.geo-roster__units{margin:4px 0 0;padding-left:14px;font-size:9px;color:#ffffffeb}.geo-op-pin{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;color:#fff;font-size:11px;font-weight:700;border:2px solid #fff;box-shadow:0 2px 8px #00000059;white-space:nowrap}.geo-op-pin__glyph{font-size:12px}.leaflet-container{background:#c8ced6;font-family:inherit;font-size:14px;touch-action:none}.leaflet-container.geo-map{cursor:grab}.leaflet-container.geo-map.leaflet-drag-target{cursor:grabbing}.geo-map--tv-browser .leaflet-tile-pane{transform:translateZ(0);-webkit-transform:translateZ(0)}.geo-map--tv-browser .leaflet-tile-container img.leaflet-tile{box-shadow:0 0 1px #00000014;image-rendering:auto}.simple-slippy-map{position:relative;width:100%;height:100%;overflow:hidden;background:#c8ced6;touch-action:none;outline:none}.simple-slippy-map--hub{min-height:100%}.simple-slippy-map__tiles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.simple-slippy-map__tile{position:absolute;display:block;border:0;margin:0;padding:0;pointer-events:none;image-rendering:auto}.simple-slippy-map__overlay{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.simple-slippy-map__marker{position:absolute;transform:translate(-50%,-100%);pointer-events:auto}.tv-map-pin{min-width:28px;height:28px;padding:0 6px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;border:2px solid rgba(255,255,255,.95);box-shadow:0 2px 8px #00000059}.simple-slippy-map__zoom{position:absolute;left:12px;bottom:12px;z-index:500;display:flex;flex-direction:column;gap:6px}.simple-slippy-map__zoom button{width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#10141ee0;color:#fff;font-size:22px;line-height:1;cursor:pointer}.geo-map-tiles-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:450;max-width:min(92%,360px);padding:12px 16px;border-radius:10px;background:#10141eeb;border:1px solid var(--card-border);color:var(--text);font-size:.82rem;text-align:center;pointer-events:none}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:100vh;padding:24px}.auth-loading__logo{width:72px;height:72px;object-fit:contain}.auth-loading__title{margin:0;font-size:1.1rem;font-weight:600}.auth-loading__status{margin:0;color:var(--muted);font-size:.95rem}.leaflet-popup-content-wrapper{background:var(--field-bg);color:var(--text);border:1px solid var(--card-border);border-radius:10px;box-shadow:0 8px 24px #00000073}.leaflet-popup-content{margin:12px 14px;color:var(--text);line-height:1.35}.leaflet-popup-tip{background:var(--field-bg)}.leaflet-popup-close-button{color:var(--text)!important}.iframe-full{width:100%;height:min(75vh,800px);border:none;border-radius:12px;background:#000}.pdf-viewer{height:min(80vh,900px);overflow:auto;background:#222;border-radius:12px}.list-item-link{display:block;padding:12px 14px;border-radius:10px;background:var(--card);border:1px solid var(--card-border);color:var(--text);text-decoration:none;margin-bottom:8px}.list-item-link:hover{border-color:var(--accent)}.station-roster{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.station-card{padding:5px 7px;border-radius:6px;border:2px solid rgba(255,59,48,.72)}.station-card.staffed{border-color:#000000eb}.station-card h4{margin:0 0 3px;font-size:.78rem;font-weight:700}.station-card__units{display:grid;grid-template-columns:1fr 1fr;gap:1px 6px;margin:0;padding:0;list-style:none}.station-card__unit{font-size:.68rem;font-weight:800;line-height:1.15;white-space:nowrap}.station-card__empty{grid-column:1 / -1;font-size:.65rem;color:var(--muted)}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tab{padding:8px 14px;border-radius:8px;background:var(--card);border:1px solid var(--card-border);color:var(--text);cursor:pointer}.tab.active{background:#0a84ff;border-color:#0a84ff}.training-hub__tabs{margin-bottom:20px}.training-hub__row{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:10px;text-align:left;cursor:pointer;color:var(--text);text-decoration:none}.training-hub__row--doc{cursor:default}.training-hub__row--doc a{flex:1}.training-hub__icon{flex-shrink:0}.training-hub__back{margin-bottom:12px}.training-hub__empty{text-align:center;padding:24px 16px}.training-hub__video-note{margin-top:12px;font-size:.85rem;color:var(--muted)}.vimeo-embed{position:relative;width:100%;max-width:480px;overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#000}.vimeo-embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.cameras-odot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cameras-odot-card{display:flex;flex-direction:column;gap:8px;min-width:0}.cameras-odot-card__title{font-size:.9rem;line-height:1.25}.cameras-odot-card__img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;background:#00000040}.cameras-odot-card__link{font-size:.85rem}@media(max-width:900px){.cameras-odot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.cameras-odot-grid{grid-template-columns:1fr}}@media(max-width:600px){.station-roster{grid-template-columns:1fr}}@media(min-width:1400px)and (max-width:1599px){.hub-rail{width:172px}.hub-rail-stack--right,.geo-incident-stack{width:196px;max-width:min(260px,calc(100vw - 280px))}.geo-map-wrap .geo-toolbar--overlay{left:196px;right:196px}.ops-hub--desktop:not(.ops-hub--tv-display) .geo-map-bl-stack,.ops-hub--compact:not(.ops-hub--tv-display) .geo-map-bl-stack{left:12px}}.weekly-report-page{display:grid;gap:16px;max-width:980px}.weekly-report-page__hero{display:flex;gap:20px;align-items:center}.weekly-report-page__logo{width:84px;height:auto;flex:0 0 auto}.weekly-report-page__eyebrow{margin:0 0 4px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.weekly-report-page__lead{margin:8px 0 0;color:var(--muted);max-width:62ch}.weekly-report-page__panel h2{margin-top:0}.weekly-report-page__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.weekly-report-page__status{padding:10px 12px;border-radius:10px;background:#34c7591f;border:1px solid rgba(52,199,89,.28)}.weekly-report-page__hint{color:var(--muted);font-size:.9rem}.weekly-report-page__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:12px 0}.weekly-report-page__stats div{padding:12px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.weekly-report-page__stats span{display:block;font-size:.82rem;color:var(--muted)}.weekly-report-page__stats strong{font-size:1.4rem}.weekly-report-page__badge-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.weekly-report-page__badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);font-size:.9rem;color:#f2f2f7}.weekly-report-page__badge-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;color:#fff;font-size:.72rem;font-weight:700}.weekly-report-page__summary-list{margin:0 0 16px;padding-left:0;list-style:none;display:grid;gap:8px}.weekly-report-page__pdf-frame{width:100%;min-height:720px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff;color-scheme:light}.weekly-report-page__toggle{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px}.weekly-report-page__group{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.weekly-report-page__group-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.weekly-report-page__group-name{flex:1 1 220px;min-width:180px}.weekly-report-page__new-group{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.weekly-report-page__new-group input{flex:1 1 220px}.weekly-report-page__recipient-table-wrap{overflow-x:auto;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#00000026}.weekly-report-page__recipient-table{width:100%;border-collapse:collapse;min-width:480px}.weekly-report-page__recipient-table th,.weekly-report-page__recipient-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:middle}.weekly-report-page__recipient-table th{text-align:left;font-size:.8rem;font-weight:600;color:var(--muted);background:#ffffff0a}.weekly-report-page__recipient-table tbody tr:last-child td{border-bottom:none}.weekly-report-page__recipient-table input{width:100%;min-width:0}.weekly-report-page__recipient-add{margin-top:10px}.weekly-report-page__recipient-remove{white-space:nowrap}.availability-report-page{display:grid;gap:16px;max-width:1080px}.availability-report-page__hero{display:flex;gap:20px;align-items:center}.availability-report-page__logo{width:84px;height:auto;flex:0 0 auto}.availability-report-page__eyebrow{margin:0 0 4px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.availability-report-page__lead{margin:8px 0 0;color:var(--muted);max-width:68ch}.availability-report-page__panel h2,.availability-report-page__group h2{margin-top:0}.availability-report-page__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.availability-report-page__hint,.availability-report-page__data-note{margin:12px 0 0;color:var(--muted);max-width:68ch}.availability-report-page__stats{display:flex;gap:24px;flex-wrap:wrap;margin-top:12px}.availability-report-page__stats>div{display:grid;gap:4px}.availability-report-page__stats span{font-size:.82rem;color:var(--muted)}.availability-report-page__group-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}.availability-report-page__group-meta{margin:6px 0 0;color:var(--muted);font-size:.92rem}.availability-report-page__group-stat{display:grid;gap:4px;text-align:right}.availability-report-page__group-stat span{font-size:.82rem;color:var(--muted)}.availability-report-page__metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.availability-report-page__metric{display:grid;gap:4px;padding:12px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.availability-report-page__metric-label,.availability-report-page__metric-hours{font-size:.82rem;color:var(--muted)}.availability-report-page__metric-help{font-size:.75rem;line-height:1.35;color:var(--muted);opacity:.9}.availability-report-page__cross-staff-note{margin:0 0 12px;color:var(--muted);font-size:.9rem;max-width:72ch}.availability-report-page__metrics-grid--group{grid-template-columns:repeat(auto-fit,minmax(220px,320px))}.availability-report-page__unit-list{display:grid;gap:20px;margin:16px 0}.availability-report-page__unit-block{display:grid;gap:12px;padding:14px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#0000001f}.availability-report-page__unit-samples{margin:0 0 10px;font-size:.85rem;color:var(--muted)}.availability-report-page__unit-panel h3{margin:0 0 10px;font-size:1rem}.availability-report-page__charts--group{margin-top:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.availability-report-page__charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.availability-report-page__chart h3{margin:0 0 12px;font-size:.95rem}.availability-report-page__chart-empty{margin:0;color:var(--muted);font-size:.9rem}.availability-report-page__chart-plot{display:flex;flex-direction:column;gap:8px}.availability-report-page__chart-bars{display:flex;align-items:flex-end;gap:3px;height:150px;padding:18px 2px 0;border-bottom:1px solid rgba(0,0,0,.08)}.availability-report-page__chart-bars--hourly{height:140px;padding-top:8px}.availability-report-page__chart-bar-wrap{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}.availability-report-page__chart-value{font-size:.58rem;line-height:1;color:var(--muted);min-height:.7rem}.availability-report-page__chart-bar{width:100%;max-width:28px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#34c759f2,#34c7598c);min-height:4px}.availability-report-page__chart-labels{display:flex;gap:3px;min-height:2.4rem;align-items:flex-start}.availability-report-page__chart-labels--crowded{min-height:3.6rem;padding-top:.35rem}.availability-report-page__chart-labels--hourly{min-height:1.45rem;padding-top:.2rem}.availability-report-page__chart-label{flex:1 1 0;min-width:0;font-size:.62rem;color:var(--muted);text-align:center;line-height:1.15;overflow-wrap:anywhere}.availability-report-page__chart-labels--hourly .availability-report-page__chart-label{font-size:.55rem;white-space:nowrap;transform:none}.availability-report-page__chart-labels--crowded .availability-report-page__chart-label{font-size:.55rem;display:inline-block;transform:rotate(-40deg) translateY(.15rem);transform-origin:top left;width:100%;white-space:nowrap;overflow:visible}.availability-report-page__shift-table-block{margin-top:16px}.availability-report-page__shift-table-block h3{margin:0 0 8px;font-size:1rem}.availability-report-page__shift-table-wrap{overflow-x:auto}.availability-report-page__shift-table{width:100%;border-collapse:collapse;font-size:.88rem}.availability-report-page__shift-table th,.availability-report-page__shift-table td{padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.08);text-align:center}.availability-report-page__shift-table th:first-child,.availability-report-page__shift-table td:first-child{text-align:left}.availability-report-page__shift-table th{color:var(--muted);font-weight:600;font-size:.78rem}.availability-report-page__shift-row--group td,.availability-report-page__shift-row--staffing td{font-weight:600}.availability-report-page__range-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px;margin-bottom:12px}.availability-report-page__shift-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#00000008;border:1px solid rgba(0,0,0,.06)}.availability-report-page__shift-legend-label{font-size:.78rem;color:var(--muted);font-weight:600}.availability-report-page__shift-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text)}.availability-report-page__shift-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;color:#fff;font-size:.68rem;font-weight:700;line-height:1}.availability-report-page__shift-badge--chart{min-width:16px;height:16px;font-size:.6rem}
