.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}}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-vietnamese-700-normal-D6euyNzi.woff2) format("woff2"),url(/assets/barlow-vietnamese-700-normal-4Jt4k04K.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-ext-700-normal-BLuWmldJ.woff2) format("woff2"),url(/assets/barlow-latin-ext-700-normal-CctuGmmz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2) format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand: #0B2340;--brand-ink: #ffffff;--brand-deep: #071629;--accent: #D9E021;--accent-ink: #0B2340;--water: #29ABE2;--bg: #F2F4F6;--surface: #ffffff;--ink: #0B2340;--body: #3D4C5E;--muted: #4A5A6E;--mist: #C8D2DE;--line: #D5DBE1;--ok: #1e7a46;--warn: #8a5a00;--bad: #b3261e;--radius: 8px;--tap: 48px;--font-head: "Barlow Condensed", "Helvetica Neue", Arial, sans-serif;--font-body: "Barlow", "Helvetica Neue", Arial, sans-serif;font-family:var(--font-body);font-size:17px;line-height:1.5;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2{font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.5px;line-height:1.05}h1{font-size:1.9rem;margin:0 0 .35rem}h2{font-size:1.35rem;margin:0}p{color:var(--body)}.btn{min-height:var(--tap);padding:0 1.2rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn:focus-visible,.tab:focus-visible,.side-link:focus-visible{outline:3px solid var(--water);outline-offset:2px}.icon-btn{background:none;border:0;font-size:1.4rem;min-width:var(--tap);min-height:var(--tap);cursor:pointer;color:inherit}.link-btn{background:none;border:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.muted{color:var(--muted)}.small{font-size:.85rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.sync{font-size:.85rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;background:#ffffff26}.sync-ok{color:inherit}.sync-warn{background:#fff4d6;color:var(--warn)}.sync-bad{background:#fde7e5;color:var(--bad)}.notice{min-height:100%;display:grid;place-items:center;padding:16px;background:var(--brand)}.notice-card{background:var(--surface);border-radius:var(--radius);padding:2rem;width:min(420px,100%);text-align:center}.notice-body{display:grid;gap:1rem;margin-top:1rem;color:var(--muted)}.notice-lead{margin:0}.notice-foot{display:grid;gap:.35rem;margin:1.5rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}.notice-foot a{color:var(--brand);font-weight:600}.notice-version{font-size:.75rem}.field-shell{display:grid;grid-template-rows:auto 1fr auto;height:100%}.field-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:calc(env(safe-area-inset-top) + .4rem) 16px .4rem;background:var(--brand);color:var(--brand-ink)}.field-main{overflow-y:auto;padding:16px}.tabbar{display:flex;border-top:1px solid var(--line);background:var(--surface);align-items:stretch;padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 7px;line-height:1;color:var(--muted);text-decoration:none;font-weight:600;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.tab svg{box-sizing:content-box;padding:4px 18px;border-radius:999px;transition:background-color .15s}.tab.active{color:var(--brand);font-weight:700}.tab.active svg{background:var(--accent);color:var(--accent-ink)}.logo{display:block;height:auto}.field-head .logo{width:36px;height:36px;justify-self:center}.field-head .icon-btn{margin-left:-12px;justify-self:start}.field-head .sync-ind{justify-self:end;margin-right:-4px}.sidebar .logo{display:block;width:100%;max-width:212px;height:auto;margin:.25rem .5rem 1.25rem}.notice-card .logo{width:72px;height:72px;margin:0 auto 1.25rem}.office-shell{display:grid;grid-template-columns:256px 1fr;grid-template-rows:minmax(0,1fr);height:100%}.sidebar{background:var(--brand-deep);color:var(--brand-ink);padding:1rem .75rem;overflow-y:auto;display:flex;flex-direction:column}.side-link{display:flex;align-items:center;gap:.7rem;padding:.7rem .75rem;border-radius:8px;color:inherit;text-decoration:none;opacity:.85}.side-link:hover{background:#ffffff14;opacity:1}.side-link.active{background:#ffffff1a;box-shadow:inset 4px 0 0 var(--accent);opacity:1;font-weight:700}.office-body{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.office-shell .topbar{display:none}.topbar{display:flex;align-items:center;gap:.75rem;padding:.5rem 16px;background:var(--brand);color:var(--brand-ink)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:1rem}.office-main{overflow-y:auto;padding:24px;min-width:0}.menu-btn,.scrim{display:none}@media(max-width:899px){.office-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;transform:translate(-100%);transition:transform .2s;z-index:20}.menu-open .sidebar{transform:none}.menu-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:10}.menu-btn{display:inline-block}.office-shell .topbar{display:flex}.office-main{padding:16px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;padding:16px;z-index:50}.modal{background:var(--surface);border-radius:var(--radius);width:min(640px,100%);max-height:90vh;display:flex;flex-direction:column;outline:none}.modal-wide{width:min(900px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.modal-body{padding:1rem;overflow-y:auto}.modal-foot{padding:.75rem 1rem;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:.5rem}@media(max-width:599px){.modal-backdrop{padding:0}.modal{width:100%;height:100%;max-height:none;border-radius:0}}.stack{display:grid;gap:16px}.stack>*{min-width:0}.facts{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:.75rem 0 0}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600}a.btn{display:inline-flex;align-items:center;text-decoration:none}.field-shell .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:30}.drawer{position:fixed;inset:0 auto 0 0;width:min(300px,85vw);z-index:31;display:flex;flex-direction:column;gap:1rem;background:var(--brand-deep);color:var(--brand-ink);padding:calc(env(safe-area-inset-top) + .4rem) 16px calc(env(safe-area-inset-bottom) + 16px);animation:drawer-in .18s ease-out}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:none}}@media(prefers-reduced-motion:reduce){.drawer{animation:none}}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-head .icon-btn{margin-right:-12px}.drawer-badge{width:190px;height:auto}.drawer-who{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;row-gap:2px;align-items:center}.drawer-who .avatar{grid-row:span 2;color:var(--accent-ink);font-size:1.25rem;overflow-wrap:normal}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-family:var(--font-head);font-weight:700;font-size:1.25rem;letter-spacing:.5px}.drawer-who strong{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.5px;font-size:1.3rem}.drawer-who span{color:var(--mist);font-size:.9rem;overflow-wrap:anywhere}.drawer-links,.drawer-foot{display:grid;gap:2px}.drawer-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:.75rem}.drawer-link{display:flex;align-items:center;gap:.8rem;min-height:var(--tap);padding:0 .75rem;border-radius:8px;color:inherit;text-decoration:none;background:none;border:0;font:inherit;font-weight:600;text-align:left;cursor:pointer;width:100%}.drawer-link:hover{background:#ffffff14}.drawer-link.active{background:#ffffff1a;box-shadow:inset 4px 0 0 var(--accent)}.drawer-link:focus-visible{outline:3px solid var(--water);outline-offset:2px}.sync-ind{position:relative}.sync-ind-btn{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:4px 0}.sync-ind-icon{position:relative;display:grid;place-items:center}.sync-ind-word{font:600 10px/1 var(--font-body);letter-spacing:.2px;white-space:nowrap}.sync-ind-ok,.sync-ind-busy{color:#4ade80}.sync-ind-warn{color:#ff6b6b}.sync-ind-bad{color:#ffb547}.sync-ind-count{position:absolute;top:-6px;right:-12px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font:700 11px/18px var(--font-body);text-align:center}.sync-pop{position:absolute;right:0;top:calc(100% + 8px);width:min(300px,calc(100vw - 32px));z-index:40;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px #0b234040;padding:1rem;display:grid;gap:.6rem}.sync-pop .facts,.sync-pop p{margin:0}.sync-pop-title{font-weight:700;color:var(--ink)}.sync-pop-ok,.sync-pop-busy{color:var(--ok)}.sync-pop-warn{color:var(--bad)}.sync-pop-bad{color:var(--warn)}.sync-pop .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-head p{margin:.25rem 0 0}.btn.with-icon{display:inline-flex;align-items:center;gap:.5rem}.btn:disabled{opacity:.55;cursor:not-allowed}.danger-btn{background:var(--bad);border-color:var(--bad);color:#fff}.link-btn.danger{color:var(--bad)}.link-btn:disabled{opacity:.5;cursor:not-allowed}.notice-line{margin:.75rem 0 0;padding:.6rem .8rem;border-radius:var(--radius);font-weight:600}.notice-ok{background:#e6f4ec;color:var(--ok)}.notice-bad{background:#fde7e5;color:var(--bad)}.warn-text{color:var(--warn)}.tag{display:inline-block;margin-left:.5rem;padding:.05rem .5rem;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:.75rem;font-weight:600;color:var(--muted)}.empty{display:grid;gap:.75rem;justify-items:start}.search{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:var(--radius);padding:0 .75rem;min-height:var(--tap);background:var(--surface);color:var(--muted)}.search input{border:0;outline:0;flex:1;font:inherit;color:var(--ink);background:transparent;min-height:calc(var(--tap) - 2px)}.search:focus-within{outline:3px solid var(--water);outline-offset:1px}.card>.search{margin-bottom:1rem}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:.5rem;border-bottom:2px solid var(--line)}.table td{padding:.75rem .5rem;border-bottom:1px solid var(--line);vertical-align:middle}.table select{min-height:40px;padding:0 .5rem;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--surface);color:var(--ink)}.row-actions{text-align:right;white-space:nowrap}@media(max-width:699px){.table thead{display:none}.table tr{display:grid;gap:.35rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.table td{border:0;padding:0}.table td[data-label=Email]{overflow-wrap:anywhere}.row-actions{text-align:left}}.pick-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;max-height:260px;overflow-y:auto}.pick{width:100%;text-align:left;display:grid;gap:2px;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font:inherit;color:var(--ink);cursor:pointer}.pick:hover{border-color:var(--brand)}.pick.picked{border:2px solid var(--brand);background:var(--bg)}.levels{border:1px solid var(--line);border-radius:var(--radius);padding:.75rem;margin:0;display:grid;gap:.4rem}.levels legend{font-weight:700;padding:0 .25rem}.level-opt{display:flex;align-items:center;gap:.6rem;min-height:40px;cursor:pointer}.level-opt input{width:20px;height:20px;accent-color:var(--brand)}.group-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media(max-width:900px){.group-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.group-card{display:grid;gap:2px;text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.group-card:hover{border-color:var(--brand)}.group-card.active{border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--accent)}.group-count{font-family:var(--font-head);font-size:2rem;font-weight:700;line-height:1}.group-name{color:var(--muted);font-family:ui-monospace,Consolas,monospace;margin-top:4px}.filter-line{margin:0 0 .75rem}.push-banner{position:fixed;z-index:60;left:12px;right:12px;top:calc(env(safe-area-inset-top,0px) + 12px);display:flex;align-items:stretch;max-width:520px;margin:0 auto;background:var(--brand);color:var(--brand-ink);border-radius:var(--radius);box-shadow:0 8px 24px #0b23404d}.push-banner-main{flex:1;display:flex;gap:12px;align-items:flex-start;text-align:left;min-height:var(--tap);padding:12px 4px 12px 14px;background:none;border:0;color:inherit;font:inherit;cursor:pointer}.push-banner-main svg{color:var(--accent);flex:none;margin-top:2px}.push-banner-main span{display:grid;gap:2px}.push-banner-main .small{color:var(--mist)}.push-banner-close{width:var(--tap);background:none;border:0;color:var(--mist);cursor:pointer}.home-links{display:grid;gap:8px;padding:8px}.home-link{display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 12px;border-radius:var(--radius);color:var(--ink);text-decoration:none}.home-link:hover,.home-link:focus-visible{background:var(--bg)}.home-link svg{color:var(--brand);flex:none}.home-link>span{display:grid;gap:2px}.notice-warn{background:#fdf3df;color:var(--warn)}.empty svg{color:var(--muted)}.empty p{margin:0}.day-pick{display:grid;gap:.2rem}.day-pick input,.filters select{min-height:44px;padding:0 .6rem;border:1px solid var(--line);border-radius:6px;font:inherit;color:var(--ink);background:var(--surface)}.filters{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.filters .search{flex:1 1 260px;margin:0}.table tr.inactive td{opacity:.6}.form{display:grid;gap:1rem}.fld{display:grid;gap:.35rem;font-weight:600;color:var(--ink)}.fld input,.fld select,.fld textarea{min-height:44px;padding:0 .7rem;border:1px solid var(--line);border-radius:6px;font:inherit;font-weight:400;color:var(--ink);background:var(--surface);width:100%}.fld textarea{padding:.6rem .7rem;min-height:90px;resize:vertical}.fld input:disabled{background:var(--bg)}.fld.narrow{max-width:180px}.fld-row{display:flex;gap:.75rem;flex-wrap:wrap}.fld-row>.fld{flex:1 1 160px}.fld-row>.fld.narrow{flex:0 0 150px}.fld-group{border:1px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem 1rem;margin:0;display:grid;gap:.5rem}.fld-group legend{font-weight:700;padding:0 .3rem}.fld-group p{margin:0}.check{display:flex;align-items:center;gap:.6rem;font-weight:600;min-height:44px}.check input{width:20px;height:20px}.pick-list.short{max-height:240px;overflow-y:auto}.history{list-style:none;margin:.75rem 0 0;padding:0}.history li{display:grid;gap:.15rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.side-label{margin:1rem 0 .35rem;padding:.75rem .75rem 0;border-top:1px solid rgba(255,255,255,.1);font-size:.72rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--mist);opacity:.8}.head-actions{display:flex;gap:.5rem;flex-wrap:wrap}.table-scroll{overflow-x:auto}.roster{width:100%;min-width:0;font-size:.92rem}.roster th,.roster td{white-space:normal;padding-left:.35rem;padding-right:.35rem}.roster th{font-size:.72rem;letter-spacing:.3px;-webkit-hyphens:none;hyphens:none}.roster td .muted.small,.roster td .small.muted{overflow-wrap:anywhere}.roster td[data-label="In team since"],.roster td[data-label=Date],.roster td[data-label=Ref],.roster td[data-label=Postcode]{white-space:nowrap}.roster td[data-label=Active],.roster td[data-label="Daily target"],.roster td[data-label="Team target"]{text-align:center}.roster td select,.cell-input{min-height:38px;padding:0 .4rem;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--surface);color:var(--ink);width:100%;min-width:0;max-width:100%}.cell-input{text-transform:uppercase;max-width:6.8rem}.roster td select{text-overflow:ellipsis}.cell-btn{min-height:40px;min-width:56px;padding:0 .6rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:inherit;font-weight:700;color:var(--ink);cursor:pointer}.cell-btn:disabled{cursor:default;border-color:transparent;background:none}.cell-btn.overridden{border-color:var(--warn);color:var(--warn)}.roster input[type=checkbox]{width:20px;height:20px}.day-pick.inline{display:flex;align-items:center;gap:.5rem}@media(max-width:699px){.roster{min-width:0}.roster th,.roster td{white-space:normal}}.table.clickable tbody tr{cursor:pointer}.table.clickable tbody tr:hover td{background:var(--bg)}.table.clickable tbody tr:focus-visible{outline:3px solid var(--water);outline-offset:-3px}.roster td.wrap{white-space:normal}.filter-date,.filters input[type=date]{min-height:44px;padding:0 .6rem;border:1px solid var(--line);border-radius:6px;font:inherit;color:var(--ink);background:var(--surface)}.status{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.8rem;font-weight:700;border:1px solid var(--line);background:var(--bg);color:var(--ink)}.status-assigned{background:#e3f3fb;border-color:#9fd3ec}.status-on_the_way{background:#fff4d6;border-color:#e8c76a;color:var(--warn)}.status-completed{background:#e3f4ea;border-color:#93c9a8;color:var(--ok)}.status-no_access,.status-cancelled{background:#fbe7e6;border-color:#e3a19c;color:var(--bad)}.note-count{display:inline-flex;align-items:center;gap:.25rem;color:var(--muted);font-weight:600}.booking-notes{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:1rem}.booking-notes h3{margin:0;font-family:var(--font-head);text-transform:uppercase}.booking-notes p{margin:.25rem 0 .75rem}.note-add{display:grid;gap:.5rem;justify-items:start;margin-bottom:.75rem}.note-add textarea{width:100%;min-height:70px;padding:.6rem .7rem;border:1px solid var(--line);border-radius:6px;font:inherit;resize:vertical}.note-body{white-space:pre-wrap}.booking-history{margin-top:1rem}.booking-history summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}fieldset:disabled .fld input,fieldset:disabled .fld select,fieldset:disabled .fld textarea{background:var(--bg);color:var(--ink)}.view-toggle{display:inline-flex}.view-toggle .btn{border-radius:0}.view-toggle .btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.view-toggle .btn:last-child{border-radius:0 var(--radius) var(--radius) 0;margin-left:-1px}.view-toggle .btn.active{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.week-nav{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.btn.icon-only{padding:0;min-width:var(--tap);display:inline-flex;align-items:center;justify-content:center}.week-label{font-weight:700;margin-left:.25rem}.cal{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}.cal th,.cal td{border:1px solid var(--line);vertical-align:top}.cal thead th{padding:.5rem;text-align:left;font-size:.85rem;text-transform:uppercase;letter-spacing:.4px;background:var(--bg)}.cal th.cal-team{width:150px;padding:.6rem;text-align:left;background:var(--surface)}.cal thead th.cal-team{background:var(--bg)}.cal .cal-today{background:none}.cal thead th.cal-today{box-shadow:inset 0 -3px 0 var(--brand);color:var(--brand)}.month-cell.cal-today .month-day{background:var(--brand);color:var(--brand-ink)}.cal-unassigned th.cal-team{color:var(--muted);font-style:italic}.cal-cell{padding:.35rem;height:96px;position:relative}.cal-cell.cal-over{outline:3px dashed var(--water);outline-offset:-3px;background:#eaf6fc}.cal-load{font-size:.75rem;font-weight:700;color:var(--muted);margin-bottom:.25rem}.cal-load.full{color:var(--ok)}.cal-load.over{color:var(--bad)}.cal-chip{display:grid;width:100%;text-align:left;margin-bottom:.3rem;padding:.3rem .45rem;border-radius:6px;border:1px solid var(--line);background:var(--surface);font:inherit;font-size:.82rem;line-height:1.25;color:var(--ink);cursor:pointer}.cal-chip[draggable=true]{cursor:grab}.cal-chip:hover{border-color:var(--brand)}.cal-chip:focus-visible{outline:3px solid var(--water);outline-offset:1px}.cal-chip.status-assigned{border-left:4px solid var(--water)}.cal-chip.status-booked{border-left:4px solid var(--line)}.cal-chip-sub{color:var(--muted);font-size:.75rem}.cal-chip.status-cancelled,.cal-chip.status-no_access{opacity:.65;text-decoration:line-through}.cal-add{width:100%;min-height:32px;border:1px dashed var(--line);border-radius:6px;background:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0}.cal-cell:hover .cal-add,.cal-add:focus-visible{opacity:1}@media(hover:none){.cal-add{opacity:1}}.cell-input.wide{text-transform:none;max-width:16rem}.booking-types select{max-width:10rem}.table.bands input[type=number].cell-input{width:90px}.table.bands input[type=checkbox]{width:20px;height:20px}.table.bands .add-row td{background:var(--bg)}.roster tr.team-row td{background:color-mix(in srgb,var(--team) 7%,var(--surface))}.roster tr.team-row td:first-child{box-shadow:inset 6px 0 0 var(--team);padding-left:.9rem}.roster tr.team-start td{border-top:2px solid var(--team)}.roster tr.team-end td{border-bottom:2px solid var(--team)}.roster tr.team-row td[data-label=Team] select{border:2px solid var(--team);font-weight:700}.cal-leave{font-size:.78rem;font-weight:600;padding:.15rem .4rem;margin-bottom:.25rem;border-radius:4px;background:color-mix(in srgb,#D9A400 18%,var(--surface));border-left:3px solid #D9A400;color:var(--ink)}.tag.tag-leave{background:color-mix(in srgb,#D9A400 22%,var(--surface));border-color:#d9a400;color:var(--ink)}.cal tr[style] th.cal-team{box-shadow:inset 5px 0 0 var(--team);padding-left:.9rem}.team-cell{border-left:4px solid var(--team, var(--line));padding-left:.5rem}.crew{list-style:none;margin:.15rem 0 0;padding:0;font-size:.85rem;color:var(--body)}.crew li{display:flex;align-items:center;gap:.3rem;line-height:1.5}.crew li svg{flex:none;color:var(--team, var(--muted))}.crew .tag{margin-left:.35rem}.cal-month{min-width:760px}.cal-month thead th{text-align:center}.month-cell{height:118px}.month-cell.outside{background:var(--bg)}.month-cell.outside>*{opacity:.55}.month-day{display:inline-block;border:0;background:none;padding:.1rem .35rem;margin:-.1rem 0 .25rem -.1rem;font:inherit;font-weight:700;color:var(--ink);border-radius:4px;cursor:pointer}.month-day:hover,.month-day:focus-visible{background:var(--accent);color:var(--accent-ink)}.month-load{display:flex;justify-content:space-between;gap:.4rem;font-size:.78rem;font-weight:700;padding:.1rem .35rem;margin-bottom:.2rem;border-radius:4px;border-left:4px solid var(--team, var(--line));background:var(--bg);color:var(--ink);box-shadow:inset 0 0 0 2px var(--fill, transparent)}.month-load .month-team{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-load.empty{background:var(--bg);color:var(--muted)}.month-load.unassigned{background:var(--bg);color:var(--muted);font-style:italic}.cal-chip.compact{display:block;width:100%;text-align:left;font-size:.78rem;padding:.15rem .35rem;margin-bottom:.2rem}.route-map{width:100%;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#e8eef3;position:relative;z-index:0}.map-card{padding:.75rem}.map-card .small{margin:.5rem 0 0}.map-stop span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;font-weight:700;font-size:.85rem;border:2px solid #fff;box-shadow:0 1px 4px #00000059}.plan-team{border-left:6px solid var(--team, var(--line))}.plan-team h2{margin:0 0 .25rem}.crew-inline{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.seq{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 .3rem;border-radius:13px;background:var(--brand);color:#fff;font-weight:700;font-size:.85rem}.warn-text svg{vertical-align:-2px}.cal-day-link{color:inherit;text-decoration:none}.cal-day-link:hover,.cal-day-link:focus-visible{text-decoration:underline}.today-card{display:grid;gap:.75rem;color:inherit;text-decoration:none}.today-head{display:flex;align-items:center;gap:.75rem}.today-head>span{display:grid;flex:1}.today-head svg:first-child{color:var(--water);flex:none}.today-chevron{color:var(--muted);flex:none}.today-card .route-map{pointer-events:none}.day-switch{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.day-switch-label{text-align:center}.day-switch-label h1{margin:0}.team-line{margin:.75rem 0 .25rem}.job-list ol{list-style:none;margin:0;padding:0}.job-list li{border-top:1px solid var(--line)}.job-list li:first-child{border-top:0}.job-list .leg{padding:.35rem 0 0 2.4rem}.job-row{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.job-main{flex:1;display:flex;gap:.75rem;align-items:flex-start;text-align:left;background:none;border:0;padding:.25rem 0;font:inherit;color:inherit;cursor:pointer;min-width:0}.job-text{display:grid;gap:.1rem;min-width:0}.job-top .status{margin-left:.4rem}.job-address{font-style:normal;display:grid;margin-bottom:.75rem}.access-notes{margin-top:.75rem}.back-link{display:inline-flex;align-items:center;gap:.2rem}.center{text-align:center}.vans select{max-width:14rem}.link-btn{display:inline-flex;align-items:center;gap:.25rem;margin-top:.3rem;padding:0;border:0;background:none;color:var(--brand);text-decoration:underline;cursor:pointer;font:inherit}.due-due{color:#8a5a00;font-weight:700}.due-over{color:#9b2516;font-weight:700}.due-over svg{vertical-align:-2px}.tag.tag-warn{background:#fde3df;border-color:#e5533d;color:#9b2516}.van-link{font-weight:700}input[type=checkbox].switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:42px;height:24px;margin:0;border-radius:12px;background:#c3ccd6;cursor:pointer;transition:background .15s;vertical-align:middle;flex:none}input[type=checkbox].switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform .15s}input[type=checkbox].switch:checked{background:var(--ok, #1E9E6A)}input[type=checkbox].switch:checked:after{transform:translate(18px)}input[type=checkbox].switch:focus-visible{outline:3px solid var(--water);outline-offset:2px}input[type=checkbox].switch:disabled{opacity:.55;cursor:default}.roster input[type=checkbox].switch{width:42px;height:24px}.roster td[data-label=Role] select,.roster td[data-label=Team] select,.roster td[data-label=Band] select{min-width:6.4rem}.roster td[data-label=Supervisor] select,.roster td[data-label="Job Controller"] select,.roster td[data-label=Operations] select{min-width:5.5rem}.roster td[data-label=Name]{min-width:9rem}.section-title{margin:0 0 .75rem;font-family:var(--font-head);text-transform:uppercase;font-size:1.1rem}.teams-table tr.team-row+tr.team-row td{border-top:6px solid var(--surface)}.view-toggle .btn+.btn{margin-left:-1px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat{display:grid;gap:.15rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.stat-num{font-family:var(--font-head);font-size:1.9rem;font-weight:700;line-height:1;color:var(--ink)}.stat-label{font-size:.8rem;color:var(--muted);font-weight:600}.stat.stat-warn{border-color:#e8c76a;background:#fff8e3}.stat.stat-warn .stat-num{color:#8a5a00}.stat-detail{margin:.75rem 0 0}.cal-chip{display:flex;align-items:center;gap:.35rem;padding:.2rem .4rem;margin-bottom:.2rem;font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-slot{flex:none;min-width:2.2rem;padding:0 .25rem;border-radius:4px;background:var(--bg);font-size:.7rem;font-weight:700;text-align:center;color:var(--muted)}.cal-chip.status-completed{border-left:4px solid var(--ok);background:#f1faf4}.cal-chip.status-on_the_way{border-left:4px solid #e8c76a}.cal-chip.status-cancelled,.cal-chip.status-no_access{border-left:4px solid var(--bad)}.roster.audit td.nowrap{white-space:nowrap}.area-tag{margin-left:0;white-space:nowrap}.fill-low{--fill: #E5533D}.fill-mid{--fill: #F08C2E}.fill-high{--fill: #E8C21E}.fill-full{--fill: #1E9E6A}.cal-cell[class*=fill-]{box-shadow:inset 0 0 0 3px var(--fill)}.fill-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin:.5rem 0 0}.fill-key{display:inline-flex;align-items:center;gap:.35rem;font-weight:600}.fill-key:before{content:"";width:14px;height:14px;border-radius:3px;box-shadow:inset 0 0 0 3px var(--fill)}.cal-cell[class*=fill-]{padding-bottom:1.6rem}.cal-pct{position:absolute;left:.4rem;right:.4rem;bottom:.35rem;font-size:.75rem;font-weight:700;text-align:center;color:var(--fill)}.cal-cell.fill-high .cal-pct{color:#8a6d00}.address-finder{position:relative}.finder-input{display:flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:6px;padding:0 .6rem;background:var(--surface)}.finder-input input{border:0;flex:1;min-height:44px;font:inherit;background:none;outline:none}.finder-input:focus-within{outline:3px solid var(--water);outline-offset:1px}.finder-list{position:absolute;z-index:30;left:0;right:0;margin:.25rem 0 0;padding:.25rem;list-style:none;max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0b234026}.finder-list button{display:flex;align-items:center;gap:.4rem;width:100%;text-align:left;padding:.55rem .6rem;border:0;border-radius:6px;background:none;font:inherit;cursor:pointer;color:var(--ink)}.finder-list button:hover,.finder-list button:focus-visible{background:var(--bg)}.finder-list .tag{margin-left:auto}.finder-empty{padding:.55rem .6rem}.finder-credit{text-align:right;font-size:.72rem}.row-delete{color:var(--muted, #888);font-size:1rem;min-width:32px;min-height:32px}.row-delete:hover,.row-delete:focus-visible{color:var(--bad)}.status-in_progress{background:#e6eefc;border-color:#9db5e8;color:#1f4fa8}.cal-chip.status-in_progress{border-left:4px solid #6f93dc}.status-not_started{background:#f1f3f6;border-color:var(--line);color:var(--muted)}.job-progress{display:grid;gap:10px}.job-progress .btn{width:100%;justify-content:center;min-height:52px;font-size:1.05rem}.job-top .status{margin-left:6px}.topbar .link-btn{color:var(--brand-ink);margin-top:0}.schedule .day-switch-label{text-align:center;margin-bottom:10px}.schedule .day-switch{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.schedule .day-today{justify-content:center;font-weight:700}.schedule .day-today.current{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.route-map-simple .map-stop span{box-shadow:0 0 0 3px #d9e021}.route-map-simple .leaflet-control-attribution{font-size:9px;opacity:.7}.schedule .route-map{margin-top:12px;border-radius:8px;overflow:hidden}.schedule .job-list{list-style:none;margin:8px 0 0;padding:0}.schedule .job-list li{border-top:1px solid var(--line)}.schedule .job-list li:first-child{border-top:0}.schedule .job-row{padding:2px 0;gap:6px}.schedule .job-main{align-items:center;gap:10px;padding:6px 0;flex-wrap:nowrap}.schedule .job-main .status{margin:0;white-space:nowrap}.schedule .job-slot{min-width:3.6em}.schedule .job-ref{margin-left:auto;font-size:.85rem;white-space:nowrap}.schedule .job-row .btn.icon-only{min-width:40px;min-height:40px}.schedule .job-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.schedule .job-main{min-width:0;gap:8px;overflow:hidden}.schedule .job-main>*{flex-shrink:0}.schedule .job-slot{min-width:2.4em}.schedule .job-main .status{font-size:.78rem;padding:.1rem .45rem}.schedule .job-ref{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.schedule .job-main{gap:6px}.schedule .job-slot{min-width:0;width:2.1em}.schedule .job-row{gap:4px}.schedule .job-row .btn.icon-only{position:relative;width:26px;height:26px;min-width:26px;min-height:26px;padding:0;border-radius:13px;display:inline-grid;place-items:center}.schedule .job-row .btn.icon-only:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.schedule .job-main .status{margin:0 auto;text-align:center;line-height:1.3}.popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b23408c;display:grid;place-items:center;padding:24px 16px;z-index:60}.popup{background:var(--surface);border-radius:14px;width:min(380px,100%);padding:22px 18px 16px;text-align:center;display:grid;gap:10px;outline:none;box-shadow:0 12px 32px #00000040}.popup-kicker{margin:0;color:var(--muted);font-size:.9rem}.popup-title{margin:0;font-size:1.15rem;line-height:1.3}.popup-note{margin:4px 0 8px}.popup-btn{width:100%;min-height:50px;justify-content:center;gap:8px;font-weight:700}.popup-cancel{background:none;border:1px solid var(--bad);color:var(--bad)}.popup-cancel:hover{background:#fbe7e6}.popup-title{text-transform:none;font-family:inherit;letter-spacing:0}.schedule .current-btn{width:100%;min-height:54px;margin-top:12px;justify-content:center;gap:8px;font-size:1.05rem;font-weight:700}.schedule .job-list li.is-current{background:#f6f8d6;border-radius:8px}.schedule .job-list li .job-main{width:100%;padding:8px 6px}.schedule .job-tag{margin-left:auto;font-size:.78rem;font-weight:700;color:var(--muted);min-width:2.6em;text-align:right}.schedule .is-current .job-tag{color:var(--brand)}.reason-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:4px}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font:inherit;cursor:pointer}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}.popup-input{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}.popup-btn:disabled{opacity:.45;cursor:not-allowed}.schedule .job-list li .job-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;padding-right:6px}.schedule .job-row .btn.row-switch{background:var(--surface);border:1px solid var(--line);color:var(--brand)}.popup-field{display:grid;gap:4px;text-align:left;font-size:.9rem;font-weight:600}.popup-field .req{color:var(--bad);font-weight:600}.popup-hint{color:var(--bad);font-size:.8rem;font-weight:500}.status-aborted{background:#fbe7e6;border-color:#e3a19c;color:var(--bad)}.cal-chip.status-aborted{border-left:4px solid var(--bad);opacity:.8}.abort-btn{width:100%;justify-content:center;min-height:48px;color:var(--bad);border-color:var(--bad);background:none;font-weight:700}.abort-btn:hover{background:#fbe7e6}.popup-sub{margin:-4px 0 4px}.popup .danger-btn:disabled{opacity:.45}.popup{max-height:calc(100dvh - 48px);overflow-y:auto}.photo-picks{list-style:none;margin:4px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.photo-picks li{position:relative;aspect-ratio:1}.photo-picks img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block;border:1px solid var(--line)}.photo-remove{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;border:0;background:var(--bad);color:#fff;display:grid;place-items:center;cursor:pointer}.photo-add{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-add .btn{justify-content:center}.photo-open{padding:0;border:0;background:none;width:100%;height:100%;cursor:zoom-in}.photo-big{margin:0;background:var(--surface);border-radius:12px;padding:10px;display:grid;gap:8px;max-width:min(900px,100%);max-height:calc(100dvh - 48px)}.photo-big img{max-width:100%;max-height:calc(100dvh - 170px);object-fit:contain;border-radius:8px;justify-self:center}.photo-big figcaption{font-size:.85rem;color:var(--muted);text-align:center}.job-photos h3{margin-top:0}.photo-group+.photo-group{margin-top:10px}.photo-group h4{margin:0 0 4px;font-size:.9rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.photo-labelled{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.photo-labelled li{aspect-ratio:auto;display:grid;gap:4px;align-content:start}.photo-labelled .photo-open{aspect-ratio:1;height:auto}.photo-labelled li.replaced img{opacity:.5}.photo-caption{font-size:.8rem;line-height:1.25}.job-timing-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@media(max-width:560px){.job-timing-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.job-timing-row>div{display:grid;gap:2px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.job-timing-row strong{font-size:1.05rem}.job-timing .job-timing-row+.job-timing-row{margin-top:8px}.ra-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.ra-row>.photo-picks{flex:0 0 auto;grid-template-columns:repeat(2,96px);margin:4px 0}.ra-arrow{color:var(--muted);flex:none;margin-top:41px}.ra-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:4px;min-width:0}.btn.ra-tile{width:96px;height:96px;padding:6px;flex-direction:column;justify-content:center;gap:6px;border-radius:8px;text-align:center;white-space:normal;line-height:1.15;font-size:.8rem}.ra-actions p{margin:0}.ra-report-frame{width:100%;height:min(75vh,900px);border:1px solid var(--line);border-radius:6px;background:#fff}@media(max-width:520px){.ra-arrow{transform:rotate(90deg)}}.ra-digital{margin-top:8px;display:grid;gap:6px}.ra-digital .actions,.ra-digital p{margin:0}.ra-checks{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.875rem}.ra-check{padding:6px 8px;border-radius:6px;border:1px solid var(--line);background:var(--surface)}.ra-check-tag{display:inline-block;min-width:3.4em;margin-right:4px;padding:0 6px;border-radius:4px;font-size:.75rem;font-weight:700;text-align:center;color:#fff;background:#4a5361}.ra-check-stop{border-color:#e5533d;background:#fde3df}.ra-check-stop .ra-check-tag{background:#b3261e}.ra-check-check{border-color:#e8c76a;background:#fff8e3}.ra-check-check .ra-check-tag{background:#8a5a00}.photo-replaced{display:block;color:var(--muted);font-style:italic}.job-card{display:grid;gap:0}.job-card>p:first-child{margin:0 0 .5rem}.job-head{padding-bottom:1rem;border-bottom:1px solid var(--line)}.job-head-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.job-head-top h1{margin:0}.job-head .job-address{margin:.4rem 0 .25rem;font-weight:600}.job-head p{margin:.25rem 0}.job-reason{color:var(--bad)}.job-customer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.job-notes summary{cursor:pointer;font-weight:600;padding:.35rem 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.steps{list-style:none;margin:0;padding:0}.step{position:relative;padding:1rem 0 1rem 2.6rem;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0;padding-bottom:.25rem}.step-head{display:flex;align-items:center;min-height:28px}.step-head h2{margin:0;font-size:1.1rem}.step-n{position:absolute;left:0;top:1rem;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--brand);color:#fff}.step-done .step-n{background:var(--ok)}.step-locked .step-n{background:#e4e8ee;color:var(--muted)}.step-locked h2{color:var(--muted)}.step-body>:first-child{margin-top:.4rem}.step-body p{margin:.4rem 0}.step-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}.step-btn{width:100%;justify-content:center;min-height:48px;font-weight:700;white-space:nowrap;padding-left:.5rem;padding-right:.5rem}.step-btn svg{flex:none}.ra-sides{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.6rem}.ra-side{display:grid;gap:.35rem;align-content:start}.ra-label{display:flex;align-items:center;gap:.3rem;font-weight:700}.ra-side.has-photo .ra-label{color:var(--ok)}.ra-hint{font-size:.78rem;color:var(--muted);margin-top:-.3rem}.ra-side img,.ra-empty,.ra-saved{width:100%;aspect-ratio:3 / 4;border-radius:8px;border:1px solid var(--line);object-fit:cover;display:grid;place-items:center;background:var(--bg);color:var(--muted)}.ra-empty{border-style:dashed}.ra-btn{width:100%;justify-content:center;min-height:44px;font-weight:700;padding-left:.4rem;padding-right:.4rem}.job-card .abort-btn{margin-top:.6rem}.job-card .step-row .abort-btn{margin-top:0}.ra-sides{max-width:440px}.ra-side img,.ra-empty,.ra-saved{max-height:260px}.job-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.9rem}.job-back,.job-back:visited{display:inline-flex;align-items:center;gap:.2rem;min-height:40px;padding:0 .85rem 0 .5rem;color:var(--brand);text-decoration:none;font-weight:700;border-radius:999px}.job-kicker{margin:0;color:var(--muted);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.job-head h1{margin:.1rem 0 .6rem}.job-facts{margin:0;display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden}.fact{display:grid;grid-template-columns:7.2rem 1fr;gap:.75rem;padding:.65rem .8rem;border-bottom:1px solid var(--line);align-items:start}.fact:last-child{border-bottom:0}.fact dt{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding-top:.15rem}.fact dd{margin:0;min-width:0;overflow-wrap:anywhere}.fact .job-address{margin:0;font-weight:600}.fact-warn{background:#fff8e6}.fact-warn dt{color:var(--warn)}.fact-line{display:block;font-weight:600}.fact-call{margin-top:.4rem;min-height:40px}.fact-notes{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.fact-notes li{display:grid;gap:.1rem}@media(max-width:360px){.fact{grid-template-columns:1fr;gap:.25rem}}.job-nav .job-back,.job-nav .status{box-sizing:border-box;height:40px;min-height:40px;display:inline-flex;align-items:center;border-radius:999px;border-width:1px;border-style:solid;font-size:.95rem;font-weight:700;line-height:1}.job-nav .status{padding:0 .95rem}.step{padding-left:0}.step-head{gap:.6rem}.step-n{position:static;flex:none}.job-incidents{display:grid;gap:.5rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.incident-btn{display:flex;align-items:center;gap:.75rem;width:100%;min-height:64px;padding:.7rem .85rem;text-align:left;font:inherit;color:var(--text, #1d2733);background:#fff8e6;border:1px solid #e8b64c;border-left:5px solid #d99a1c;border-radius:10px;cursor:pointer}.incident-btn:hover{background:#fff1cc}.incident-btn:focus-visible{outline:3px solid #e8b64c;outline-offset:2px}.incident-btn-icon{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#d99a1c;color:#fff}.incident-btn-text{display:grid;gap:2px;flex:1;min-width:0}.incident-btn-text strong{font-size:1rem;color:#7a4f00}.incident-btn-text span{font-size:.82rem;color:#6b5a3a;line-height:1.3}.incident-btn-go{flex:none;color:#b07a10}.incident-line{display:flex;gap:.45rem;align-items:flex-start;margin:0;padding:.55rem .7rem;border-radius:8px;background:#fbe7e6;color:var(--bad);font-size:.9rem}.incident-line svg{flex:none;margin-top:2px}.incident-hurt{display:grid;gap:.5rem;text-align:left;padding:.75rem;border-radius:10px;background:#fbe7e6;color:var(--bad);border:1px solid #e3a19c}.popup-form{text-align:left}.popup-form .popup-title,.popup-form .popup-kicker{text-align:center}.reason-chips.left{justify-content:flex-start}.popup-form textarea.popup-input{resize:vertical;min-height:96px}.incident-card.is-open{border-color:var(--bad);box-shadow:0 0 0 2px #fbe7e6}.incident-head{display:flex;gap:.6rem;align-items:flex-start;color:var(--bad)}.incident-head h2{margin:0;font-size:1.1rem;color:var(--text, inherit)}.incident-head p{margin:.15rem 0 0}.incident-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}.incident-details{white-space:pre-wrap;margin:.4rem 0}.booking-incidents{display:grid;gap:.6rem;margin-bottom:1rem}.booking-incidents .incident-card{padding:.9rem}.reason-chips,.reason-chips.left{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 0}.reason-chips .chip{width:100%;min-height:46px;padding:8px 10px;border-radius:10px;border:1.5px solid var(--line);background:#f6f8fb;color:var(--brand);font-weight:600;font-size:.92rem;line-height:1.2;text-align:center;display:flex;align-items:center;justify-content:center}.reason-chips .chip:hover{border-color:var(--brand)}.reason-chips .chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700;box-shadow:0 0 0 2px #0b234026}.reason-chips .chip.on:before{content:"✓";margin-right:6px;color:var(--accent, #D9E021)}.popup-form .popup-field{padding-top:12px;border-top:1px solid var(--line);gap:6px}.popup-form .popup-field>span:first-child{font-size:.95rem;font-weight:700;color:var(--brand)}.popup-form .popup-title{margin-bottom:4px}.photo-add .btn{white-space:nowrap;gap:6px;padding:0 10px;min-height:44px;font-size:.92rem}.photo-add .btn svg{flex:none}.popup-form .popup-field,.popup-form .incident-hurt+.popup-field{border-top:0;padding-top:0}.popup-form hr.q-rule{border:0;border-top:1px solid #cfd6df;margin:6px 0 2px;width:100%}.ra-buttons .photo-add{grid-template-columns:1fr;gap:6px}.ra-buttons .photo-add .btn{width:100%;justify-content:center;min-height:42px;font-weight:700}.camera-popup{width:min(560px,100%)}.camera-view{background:#000;border-radius:10px;overflow:hidden}.camera-view video,.camera-view img{display:block;width:100%;max-height:60dvh;object-fit:contain}.camera-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.camera-flip{width:50px;height:50px}.camera-error p{margin:0 0 10px}.camera-backdrop{z-index:70}.q-head{display:flex;align-items:center;gap:.55rem}.q-n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:.85rem;font-weight:700}.q-n.q-sub{width:26px;height:0;background:none}.popup::-webkit-scrollbar{width:8px}.popup::-webkit-scrollbar-track{background:transparent;margin:14px 0}.popup::-webkit-scrollbar-thumb{background:#c5ccd6;border-radius:8px}.popup-x{position:sticky;top:0;justify-self:end;z-index:2;margin:-12px -6px -40px 0;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--surface);color:var(--muted);cursor:pointer;box-shadow:0 1px 4px #0000001f}.popup-x:hover{color:var(--brand)}.job-actions{display:grid;grid-auto-rows:1fr;gap:.5rem}.job-actions .incident-btn{height:100%}.incident-btn.support-btn{background:#f2f5f9;border-color:#c9d3e0;border-left-color:var(--brand)}.incident-btn.support-btn:hover{background:#e8edf4}.incident-btn.support-btn:focus-visible{outline-color:#9fb0c6}.support-btn .incident-btn-icon{background:var(--brand)}.support-btn .incident-btn-text strong{color:var(--brand)}.support-btn .incident-btn-text span{color:var(--muted)}.support-btn .incident-btn-go{color:var(--brand)}.support-line{display:flex;gap:.45rem;align-items:flex-start;margin:0;padding:.55rem .7rem;border-radius:8px;background:var(--bg);border:1px solid var(--line);font-size:.9rem}.support-line svg{flex:none;margin-top:2px}.support-notes{display:block;margin-top:2px;white-space:pre-wrap}.ra-photo{position:relative;display:block}.ra-remove{position:absolute;top:6px;right:6px;width:36px;height:36px;border-radius:50%;border:2px solid #fff;background:var(--bad);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 6px #0000004d}.ra-confirm{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-content:center;gap:.6rem;padding:.6rem;text-align:center;border-radius:8px;background:#fffffff0;color:var(--text, #1d2733)}.ra-confirm-row{display:grid;gap:.4rem}.ra-confirm .btn{justify-content:center;min-height:40px}.status-paused{background:#f1e9fb;border-color:#c4a8e6;color:#5b2f94}.cal-chip.status-paused{border-left:4px solid #9b72d0}.site-check{display:grid;gap:.6rem;padding:.75rem;border-radius:10px;background:#f1e9fb;border:1px solid #c4a8e6}.site-check p{margin:0}.update-bar{position:fixed;z-index:70;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .6rem .6rem .9rem;border-radius:12px;background:var(--brand);color:#fff;font-weight:600;box-shadow:0 6px 18px #0b23404d;max-width:560px;margin:0 auto}.update-bar .btn{flex:none}.job-notes-done{margin:.4rem 0 0;padding:.55rem .7rem;border-radius:8px;background:var(--bg);border:1px solid var(--line);white-space:pre-wrap}.job-notes-office{margin:0 0 .75rem;padding:.6rem .8rem;border-radius:8px;background:var(--bg);border:1px solid var(--line)}.job-notes-office p{margin:.25rem 0 0;white-space:pre-wrap}.nav-icon-badged{position:relative;display:inline-flex}.nav-badge{position:absolute;top:-6px;right:-10px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--bad);color:#fff;font-size:.7rem;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--surface)}.msg-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}.msg-row{display:grid;grid-template-columns:10px 1fr auto;gap:.75rem;align-items:center;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-decoration:none}.msg-row:hover{background:var(--bg)}.msg-row:focus-visible{outline:3px solid var(--water);outline-offset:2px}.msg-dot{width:10px;height:10px;border-radius:50%}.msg-row.unread .msg-dot{background:var(--water)}.msg-row.unread .msg-subject{font-weight:800}.msg-row:not(.unread) .msg-subject{font-weight:600}.msg-row-main{display:grid;gap:.15rem;min-width:0}.msg-row-top{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.msg-dept{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.5rem}.msg-subject{overflow-wrap:anywhere}.msg-tags{display:flex;gap:.35rem;flex-wrap:wrap}.msg-tags:empty{display:none}.msg-urgent{text-transform:none;letter-spacing:0}.msg-reader .back-link,.compose .back-link,.stack>.card>.back-link{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.75rem;text-decoration:none}.msg-title{margin:.25rem 0;overflow-wrap:anywhere}.msg-body{margin-top:1rem;display:grid;gap:.85rem}.msg-heading{margin:.5rem 0 0;font-size:1.2rem}.msg-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--body)}.msg-bullets{margin:0;padding-left:1.3rem;color:var(--body);display:grid;gap:.25rem}.msg-table-wrap{border:1px solid var(--line);border-radius:var(--radius)}.msg-table td,.msg-table th{padding:.5rem .6rem}.msg-figure{margin:0;display:grid;gap:.4rem}.msg-figure figcaption{font-size:.9rem;color:var(--muted)}.msg-img{max-width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line);display:block}.msg-img-loading{height:180px;border-radius:var(--radius);background:var(--bg)}.msg-img-missing{display:flex;align-items:center;gap:.5rem;padding:1rem;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}.msg-video{position:relative;padding-top:56.25%;border-radius:var(--radius);overflow:hidden;background:#000}.msg-video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.msg-link{display:inline-flex;align-items:center;gap:.25rem}.msg-ack{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);display:grid;gap:.5rem}.msg-ack p{margin:0}.ack-done{display:flex;align-items:center;gap:.4rem;color:var(--ok);font-weight:700}.ack-reminder{border-color:#e8c76a;background:#fff8e3;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.ack-reminder p{margin:0;color:var(--warn)}.ack-reminder-actions{display:flex;gap:.5rem}.compose-options{display:flex;flex-wrap:wrap;gap:0 1.5rem}.compose-count{font-family:var(--font-head);font-size:1.4rem}.compose-foot{display:grid;gap:.75rem}.compose-actions{display:flex;gap:.75rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.builder{display:grid;gap:.75rem}.builder-block{border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .75rem .75rem;background:var(--surface);display:grid;gap:.5rem}.builder-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.builder-type{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.builder-tools{display:inline-flex;gap:.15rem}.builder-tools .icon-btn{min-width:36px;min-height:36px}.builder-tools .icon-btn:disabled{opacity:.35}.builder-list{display:grid;gap:.45rem}.builder-row{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center}.builder-table .table td{padding:.25rem;border:0}.builder-table .popup-input{min-width:110px}.builder-table .popup-input.strong{font-weight:700;background:var(--bg)}.builder-table-tools{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center}.builder-img{max-width:360px}.builder-file{justify-self:start;cursor:pointer}.builder-add{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding-top:.25rem}.builder-add-btn{min-height:38px;padding:0 .7rem;font-size:.9rem}.bad-text{color:var(--bad)}.picker{display:grid;gap:.75rem}.picker-group{display:grid;gap:.4rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.picker-filter{width:auto;min-width:180px}.picker .filters{margin-bottom:0}.pick-col{width:44px}.pick-col input{width:20px;height:20px}.pager{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.meter{display:grid;gap:.2rem;min-width:120px}.meter-bar{height:8px;border-radius:999px;background:var(--bg);border:1px solid var(--line);overflow:hidden}.meter-bar>span{display:block;height:100%;background:var(--water)}.meter-bar>span.full{background:var(--ok)}.detail-actions{display:flex;gap:.5rem;flex-wrap:wrap}.comm-stats{margin-top:1rem}.comm-filter{margin-bottom:.75rem}.comm-fresh .link-btn{font-weight:700}.comm-preview{border:1px solid var(--line);border-radius:var(--radius);padding:0 1rem 1rem;max-width:720px}.modal-foot-check{margin-right:auto}.reads-chart{margin:1rem 0 0}.reads-chart svg{width:100%;height:140px;display:block;border-bottom:1px solid var(--line)}.reads-grid{stroke:var(--line);stroke-dasharray:4 4}.reads-area{fill:#29abe226}.reads-line{fill:none;stroke:var(--water);stroke-width:2.5;vector-effect:non-scaling-stroke}.acks-line{fill:none;stroke:var(--ok);stroke-width:2.5;vector-effect:non-scaling-stroke}.reads-chart figcaption{display:flex;justify-content:space-between;gap:.5rem;margin-top:.35rem}.key{display:inline-block;width:12px;height:3px;vertical-align:middle;margin:0 .2rem 0 .5rem}.key-read{background:var(--water)}.key-ack{background:var(--ok)}.dept-head{display:flex;align-items:center;gap:1rem}.dept-head h1{margin:0}.dept-head p{margin:.2rem 0 0}.dept-icon{display:inline-flex;color:var(--brand)}.dept-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:1fr;gap:1rem}.dept-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:.4rem;min-height:var(--dept-card-h, 0);padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:0 1px 2px #0b23400d;transition:box-shadow .15s,border-color .15s}.dept-card:hover{border-color:var(--water);box-shadow:0 6px 18px #0b23401a}.dept-card:focus-visible{outline:3px solid var(--water);outline-offset:2px}.dept-card-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--bg);color:var(--brand);margin-bottom:.25rem}.dept-card strong{font-size:1.05rem}.dept-card-go{justify-self:end;display:inline-flex;align-items:center;gap:.25rem;font-weight:700;color:var(--brand);font-size:.9rem}.side-foot{margin-top:auto;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:.25rem}.side-switch{width:100%;background:none;border:0;font:inherit;cursor:pointer;text-align:left}.profile{position:relative}.profile-btn{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.55rem .6rem;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.profile-btn:hover,.profile-btn[aria-expanded=true]{background:#ffffff14}.profile-btn:focus-visible{outline:3px solid var(--water);outline-offset:2px}.profile-btn .avatar{position:relative;width:36px;height:36px;font-size:.85rem;color:var(--accent-ink)}.profile-who{display:grid;min-width:0;line-height:1.25}.profile-who strong,.profile-who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-who span{font-size:.78rem;color:var(--mist)}.profile-chev{opacity:.7;transition:transform .15s}.profile-chev.closed{transform:rotate(180deg)}.profile-dot{position:absolute;top:-2px;right:-2px;width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 2px var(--brand-deep);background:var(--warn)}.profile-dot-bad{background:var(--bad)}.profile-dot-busy{background:var(--water)}.profile-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);background:var(--surface);color:var(--ink);border-radius:10px;box-shadow:0 8px 24px #0000004d;padding:.6rem;display:grid;gap:.4rem;z-index:5}.profile-menu .sync{justify-self:start}.profile-item{border:0;background:none;font:inherit;font-weight:600;color:var(--ink);text-align:left;padding:.55rem .5rem;border-radius:6px;cursor:pointer}.profile-item:hover,.profile-item:focus-visible{background:var(--bg)}.sidebar .logo-badge{display:none}.side-toggle{opacity:.7}@media(min-width:900px){.office-shell.side-rail{grid-template-columns:72px 1fr}.side-rail .sidebar{padding:.75rem .5rem;overflow-x:hidden}.side-rail .sidebar .logo-full{display:none}.side-rail .sidebar .logo-badge{display:block;width:40px;height:40px;margin:.25rem auto 1rem}.side-rail .side-link{justify-content:center;padding:.7rem 0}.side-rail .side-link>span:not(.nav-icon-badged){display:none}.side-rail .side-label{font-size:0;margin:.6rem .25rem .4rem;padding:0}.side-rail .profile-btn{grid-template-columns:auto;justify-content:center;padding:.4rem 0}.side-rail .profile-who,.side-rail .profile-chev{display:none}.side-rail .profile-menu{left:calc(100% + 8px);right:auto;bottom:0;width:220px}}@media(max-width:899px){.side-toggle{display:none}}.page-back{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 .75rem;text-decoration:none;font-weight:600}.rich{color:var(--body);overflow-wrap:anywhere}.rich>:first-child{margin-top:0}.rich>:last-child{margin-bottom:0}.rich p{margin:0 0 .75rem}.rich h3{margin:1rem 0 .4rem;font-size:1.25rem;color:var(--ink)}.rich h4{margin:.9rem 0 .35rem;font-size:1.05rem;color:var(--ink)}.rich ul,.rich ol{margin:0 0 .75rem;padding-left:1.4rem}.rich li>p{margin:0 0 .25rem}.rich blockquote{margin:0 0 .75rem;padding:.4rem 0 .4rem .9rem;border-left:4px solid var(--accent);color:var(--ink);background:var(--bg);border-radius:0 6px 6px 0}.rich blockquote p:last-child{margin-bottom:0}.rich hr{border:0;border-top:1px solid var(--line);margin:1rem 0}.rich a{color:#0b6aa2;text-decoration:underline}.rich table{margin:0 0 .75rem;border:1px solid var(--line)}.rich th,.rich td{border:1px solid var(--line);padding:.45rem .6rem;vertical-align:top;min-width:80px}.rich th{background:var(--bg);text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--ink)}.rich th p,.rich td p{margin:0}.rich-editor{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.rich-editor:focus-within{outline:3px solid var(--water);outline-offset:1px}.rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;border-bottom:1px solid var(--line);background:var(--bg);border-radius:8px 8px 0 0;position:sticky;top:0;z-index:2}.rich-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 6px;border:0;border-radius:6px;background:none;color:var(--ink);cursor:pointer}.rich-btn:hover:not(:disabled){background:var(--surface)}.rich-btn.on{background:var(--brand);color:#fff}.rich-btn:disabled{opacity:.35;cursor:default}.rich-txt{font-size:.78rem;font-weight:700}.rich-sep{width:1px;height:22px;background:var(--line);margin:0 4px}.rich-link{flex:1 1 100%;display:flex;gap:.5rem;align-items:center;padding:4px 2px 2px;flex-wrap:wrap}.rich-link .popup-input{flex:1 1 240px;min-height:38px}.rich-area .ProseMirror{min-height:140px;padding:.75rem .9rem;outline:none}.rich-area .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted);opacity:.7;float:left;height:0;pointer-events:none}.rich-area .ProseMirror .selectedCell{background:#29abe226}.rich-area .tableWrapper{overflow-x:auto}.builder-rich{padding-bottom:.6rem}.pdf-card{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;width:100%;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font:inherit;color:var(--ink);text-align:left;cursor:pointer}.pdf-card:hover{border-color:var(--water);background:var(--bg)}.pdf-card:focus-visible{outline:3px solid var(--water);outline-offset:2px}.pdf-card-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;background:#fde7e5;color:var(--bad)}.pdf-card-text{display:grid;min-width:0}.pdf-card-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-card-open{font-weight:700;color:var(--brand)}.pdf-chosen{display:flex;align-items:center;gap:.4rem;margin:0}.pdf-pages{display:grid;gap:12px;justify-items:center;background:var(--bg);padding:8px;border-radius:8px}.pdf-pages:empty{display:none}.pdf-page{max-width:100%;height:auto;background:#fff;box-shadow:0 1px 4px #0b234033}.req{color:var(--bad);font-weight:600}.ticket-new{display:grid;gap:1rem}.ticket-new h1,.ticket-new>p{margin:0}.ticket-cats{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem}.ticket-cats legend{font-weight:600;margin-bottom:.5rem;padding:0}.ticket-cat{display:grid;gap:.2rem;padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:var(--radius);background:#f6f8fb;cursor:pointer}.ticket-cat input{position:absolute;opacity:0;pointer-events:none}.ticket-cat:focus-within{outline:3px solid var(--water);outline-offset:2px}.ticket-cat.on{border-color:var(--brand);background:var(--surface);box-shadow:inset 4px 0 0 var(--accent)}.ticket{display:grid;gap:1rem}.ticket-head p{margin:0}.ticket-title{margin:.2rem 0 .4rem;overflow-wrap:anywhere}.ticket-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.ticket-msgs{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.ticket-msg{padding:.7rem .9rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);max-width:92%}.ticket-msg.is-mine{justify-self:end;background:#eef2f7}.ticket-msg.is-agent{border-left:4px solid var(--brand)}.ticket-msg.is-note{background:#fdf6e3;border-color:#ecd89a;max-width:100%}.ticket-msg-head{margin:0 0 .3rem;display:flex;flex-wrap:wrap;align-items:center;gap:.15rem}.ticket-msg-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.ticket-files{margin-top:.5rem}.ticket-pdf,.ticket-file-wait{display:grid;place-items:center;gap:.2rem;width:100%;height:100%;padding:.3rem;border:1px solid var(--line);border-radius:6px;text-align:center;color:var(--brand);overflow:hidden}.ticket-pdf span{overflow-wrap:anywhere}.ticket-reply{display:grid;gap:.6rem;padding-top:1rem;border-top:1px solid var(--line)}.ticket-reply.is-note textarea{background:#fdf6e3}.ticket-reply .actions{margin-top:0;align-items:center;justify-content:flex-end}.ticket-reply .check{margin-right:auto}.ticket-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.ticket-controls .fld{flex:1 1 160px}.ticket-controls .fld.narrow{flex:0 1 170px}.ticket-controls select{min-height:44px;padding:0 .6rem;border:1px solid var(--line);border-radius:6px;font:inherit;font-weight:400;background:var(--surface);width:100%}.ticket-quick{display:flex;flex-wrap:wrap;gap:.5rem}.ticket-more summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}.ticket-device-val{overflow-wrap:anywhere;font-weight:400}.ticket-tabs{margin-top:1rem}.ticket-views{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:1rem}.ticket-views .icon-only{margin-left:auto}.perm-step{display:grid;gap:4px;margin-bottom:12px}.perm-step .ticket-views{margin:0}.perm-title{margin:8px 0 2px}.perm-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:12px 0}.perm-tools .search{flex:1 1 240px;margin:0}.perm-tools .check{display:inline-flex;align-items:center;gap:6px}.stock-week{margin:4px 0 2px}.stock-done{display:flex;gap:12px;align-items:flex-start;padding:12px;background:var(--bg);border-radius:var(--radius);margin:8px 0}.stock-lines{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:2px}.stock-lines li{display:flex;justify-content:space-between;gap:16px}.link-btn.back-link{text-decoration:none}.stock-progress{display:flex}.stock-progress .stock-state{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:700}.stock-progress .stock-state.ok{background:#e3f2e9;color:var(--ok)}.stock-progress .stock-state.bad{background:#fbe7e5;color:var(--bad)}.stock-items{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.stock-group{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.stock-group-head{margin:0;font-size:1.1rem}.stock-group-head button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;text-align:left}.stock-group-head button:focus-visible{outline:3px solid var(--water);outline-offset:2px}.stock-group-head svg{flex:none;transition:transform .15s}.stock-group-head svg.folded{transform:rotate(-90deg)}.stock-group-n{margin-left:auto;font-family:var(--font-body);text-transform:none;letter-spacing:0;font-weight:700;color:var(--bad)}.stock-group-n.ok{color:var(--ok)}.stock-group-items{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.stock-group-items[hidden]{display:none}.stock-items+.fld .with-icon{display:inline-flex;align-items:center;gap:6px}.stock-row{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;align-items:center;gap:10px 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.stock-row.filled{border-color:#b9dcc7;background:#f3faf6}.stock-row label{display:grid;gap:2px;min-width:0;font-size:.95rem;line-height:1.25}.stepper{display:flex;align-items:center;gap:8px;flex:none}.stock-row .stepper{justify-self:stretch}.stock-row .stepper input{flex:1 1 0;width:0;min-width:0}.stepper input{width:56px;height:40px;padding:0;text-align:center;font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:8px}.stock-step{flex:none;width:44px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}.stock-step.plus{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.stock-row .stepper input:focus{outline:none;border-color:var(--accent-ink);box-shadow:0 0 0 3px var(--accent)}.stock-step:active{transform:scale(.94)}.stock-step:focus-visible{outline:3px solid var(--water);outline-offset:2px}.stock-grid td{vertical-align:top;min-width:140px}.stock-cell{display:grid;gap:2px;text-align:left;width:100%;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}.stock-cell .stock-lines{margin:0}.stock-title{margin:0 0 4px}.stock-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-auto-rows:1fr;gap:12px}.stock-tile{min-height:156px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;text-align:center;border:2px solid var(--line);border-radius:16px;background:var(--surface);color:var(--brand);text-decoration:none;box-shadow:0 1px 2px #0b23400d}.stock-tile strong{color:var(--ink);font-size:1rem}.stock-tile .small{color:var(--muted)}.stock-tile:active{background:var(--bg)}.stock-tile:focus-visible{outline:3px solid var(--water);outline-offset:2px}.stock-tile.ok{border:2px solid var(--ok)}.stock-tile.bad{border:2px solid var(--bad)}.stock-tile.wait{border:2px solid #f0c419}.stock-tile.off{opacity:.55}.stock-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--accent-ink)}.stock-week:after{content:"";display:block;width:48px;height:4px;margin-top:6px;border-radius:2px;background:var(--accent)}.stock-flag{display:grid;gap:4px;margin:8px 0;padding:10px 12px;border-radius:var(--radius);border-left:4px solid}.stock-flag.ok{background:#e6f4ec;border-color:var(--ok)}.stock-flag.late{background:#fde7e5;border-color:var(--bad)}.stock-flag-tag{display:inline-flex;align-items:center;gap:6px;font-weight:700}.stock-flag.ok .stock-flag-tag{color:var(--ok)}.stock-flag.wait{background:#fdf3df;border-color:#e8c76a}.stock-flag.wait .stock-flag-tag{color:var(--warn)}.stock-flag.done{background:var(--bg);border-color:var(--line)}.stock-qtys{display:flex;gap:8px}.stock-qty{flex:1;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:8px;background:var(--bg)}.stock-qty>span{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.stock-qty strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.stock-order-row.filled .stock-qty.picked{background:#e3f2e9}.stock-order-row.filled .stock-qty.picked>span,.stock-order-row.filled .stock-qty.picked strong{color:var(--ok)}.stock-order-row.short{border-color:#e8c76a;background:#fffbef}.stock-order-row.short .stock-qty.picked{background:#fdf3df}.stock-order-row.short .stock-qty.picked>span,.stock-order-row.short .stock-qty.picked strong,.stock-short{color:var(--warn);font-weight:700}.stock-order-actions{flex-wrap:wrap}.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.job-stock,.job-meters{display:grid;gap:8px;margin-bottom:12px}.job-notes{margin-bottom:14px}.job-stock-title{margin:4px 0 0;font-size:1rem;display:flex;align-items:center;justify-content:space-between;gap:8px}.job-stock-title .ok{color:var(--ok);font-weight:700}.job-stock-title .bad{color:var(--bad);font-weight:700}.job-meter-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.job-meter-list li{display:flex;align-items:center;gap:6px;color:var(--ok);font-weight:600}.job-meter-list .link-btn{margin:0 0 0 auto;color:var(--bad)}.job-stock-office{display:grid;gap:8px;margin-bottom:1rem}.job-stock-office h3{margin:0}.job-stock-edit{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.job-stock-edit input{max-width:120px}.stock-past-title{margin:0 0 8px;font-size:1.1rem}.stock-past-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.stock-past{border:1px solid var(--line);border-radius:12px;background:var(--surface)}.stock-past-head{display:grid;grid-template-columns:1fr auto;gap:2px 8px;width:100%;padding:10px 12px;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.stock-past-head:focus-visible{outline:3px solid var(--water);outline-offset:2px;border-radius:12px}.stock-past-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stock-past-head>svg{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--muted);transition:transform .15s}.stock-past-head>svg.up{transform:rotate(180deg)}.stock-past-body{padding:0 12px 12px;display:grid;gap:8px}.stock-placed{text-align:center;display:grid;gap:10px}.stock-placed-icon{justify-self:center;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#e3f2e9;color:var(--ok)}.stock-placed .popup-sub{margin:0 0 6px}.stock-placed .popup-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.stock-flag.late .stock-flag-tag{color:var(--bad)}.stock-flag-rows{display:grid;gap:2px;margin:0;color:var(--body)}.stock-flag-rows>div{display:flex;gap:8px}.stock-flag-rows dt{min-width:92px;color:var(--muted)}.stock-flag-rows dd{margin:0}.stock-tile .stock-state{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:700;background:var(--bg);color:var(--muted)}.stock-tile .stock-state svg{flex:none}.stock-tile .stock-state.ok{background:#e3f2e9;color:var(--ok)}.stock-tile .stock-state.bad{background:#fbe7e5;color:var(--bad)}.stock-tile .stock-state.wait{background:#fdf3df;color:var(--warn)}.stock-tile .stock-state.done{background:var(--bg);color:var(--muted)}@media(max-width:699px){.actions,.head-actions,.detail-actions,.compose-actions,.ack-reminder-actions,.ticket-quick,.modal-foot{display:flex;flex-wrap:wrap}:is(.actions,.head-actions,.detail-actions,.compose-actions,.ack-reminder-actions,.ticket-quick,.modal-foot)>.btn:not(.icon-only){flex:1 1 calc(50% - .5rem);min-width:calc(50% - .5rem);display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}:is(.head-actions,.detail-actions,.ticket-quick,.stock-order-actions)>.btn:not(.icon-only){flex-basis:100%}:is(.actions,.compose-actions,.modal-foot)>:is(.check,.link-btn){flex:1 1 100%}}.survey-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.survey-area h2{margin:0;font-size:1.15rem}.survey-area p{margin:.4rem 0}.survey-area-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.survey-area-counts{display:flex;flex-wrap:wrap;gap:.35rem}.survey-area-counts .status{cursor:pointer;font:inherit;font-size:.8rem;font-weight:700}.survey-bulk{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:.6rem .75rem;margin-bottom:.75rem;border-radius:var(--radius);background:var(--bg)}.survey-bulk span{display:inline-flex;gap:.4rem;align-items:center}.survey-bulk select{min-height:40px;border:1px solid var(--line);border-radius:6px;padding:0 .5rem;font:inherit;background:var(--surface)}.survey-table td{vertical-align:top}.survey-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem 1rem;margin:.75rem 0}.survey-facts dt{color:var(--muted);font-weight:600}.survey-facts dd{margin:.15rem 0 0}.survey-facts select{min-height:36px;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--surface)}.survey-history{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.survey-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;color:inherit;text-decoration:none}.survey-row-main{display:grid;gap:.15rem;min-width:0}.survey-title{font-size:1.3rem;margin:.5rem 0 .25rem}.survey-form .fld-row>.fld{min-width:0}.survey-gangs .cell-input.wide,.table .cell-input.wide{width:100%;min-width:220px;max-width:28rem}.file-btn{cursor:pointer;justify-self:start}.profile-card{display:grid;gap:.25rem;text-align:left;width:100%;padding:.75rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.profile-card:hover{background:var(--bg)}.row-actions .link-btn+.link-btn{margin-left:.75rem}.survey-views{display:grid;gap:.5rem;margin-top:.75rem}.survey-views .chip,.survey-views select,.survey-views .btn{width:100%;justify-content:center;text-align:center}.survey-views select{min-height:44px;border:1px solid var(--line);border-radius:999px;padding:0 1rem;font:inherit;background:var(--surface);color:var(--ink)}.survey-views .chip,.survey-views select,.survey-views .btn{border-radius:6px}.survey-job{display:grid;gap:.75rem}.survey-job-main{display:grid;gap:.2rem;color:inherit;text-decoration:none}.survey-job-main .status{justify-self:start;margin-top:.35rem}.survey-take{width:100%;justify-content:center;border-radius:6px}.status.sv-to-presite{background:#f1f3f6;border-color:#c9ced6;color:#4a5361}.status.sv-presited{background:#e3f3fb;border-color:#8fcbe8;color:#0d5c82}.status.sv-planned{background:#fff4d6;border-color:#e8c76a;color:#7a5600}.status.sv-completed{background:#e3f4ea;border-color:#93c9a8;color:var(--ok)}.survey-from{display:flex;align-items:center;gap:.3rem;margin:.25rem 0 0}.survey-km{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;font-size:.9rem}.survey-bar{position:sticky;top:0;z-index:5;box-shadow:0 -16px 0 0 var(--bg),0 2px 8px #0b23401f}.office-main .survey-bar{box-shadow:0 -24px 0 0 var(--bg),0 2px 8px #0b23401f}.survey-bar-row{display:flex;gap:.5rem;align-items:center}.survey-bar-toggle{flex:1;display:flex;align-items:center;gap:.5rem;min-height:44px;padding:0 .75rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.survey-bar-toggle span{flex:1}.survey-bar .icon-only{border-radius:6px;min-height:44px;min-width:44px}.survey-bar .survey-from{margin-top:.5rem}.scroll-top{position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:20;width:48px;height:48px;border-radius:6px;border:none;background:var(--brand);color:#fff;display:grid;place-items:center;box-shadow:0 3px 10px #00000040;cursor:pointer}.survey-bar .survey-area-head{margin-bottom:.6rem}.survey-bar .survey-bar-toggle{width:100%}.survey-refresh{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.5rem}.survey-refresh .btn{justify-content:center;border-radius:6px;min-height:44px;min-width:0;width:100%;padding:.35rem .5rem;white-space:normal;line-height:1.15;font-size:.9rem;text-align:center}.fld textarea.grow-text{min-height:0;resize:none;overflow:hidden;line-height:1.4}.survey-form .survey-becomes{margin:0}.survey-form .actions.survey-submit{margin-top:0}.survey-photos{gap:.6rem}.survey-photos h3{margin:0}.survey-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.survey-choice .btn{justify-content:center;border-radius:6px;min-height:44px;min-width:0;font-weight:600}.survey-choice .btn.on{background:var(--brand);border-color:var(--brand);color:#fff}.survey-section{border:1px solid var(--line);border-radius:8px;padding:.75rem .85rem .9rem;margin:0;display:grid;gap:.85rem;min-width:0}.survey-section legend{font-weight:700;padding:0 .35rem;color:var(--brand)}.survey-choice.many{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}.survey-choice .btn{white-space:normal;line-height:1.2}.survey-slot{display:grid;gap:.5rem;padding-top:.6rem;border-top:1px dashed var(--line)}.survey-slot-label{font-weight:600}.survey-skip{justify-self:start}.survey-missing{border:1px solid #e8c76a;background:#fff8e3;border-radius:8px;padding:.6rem .8rem;font-size:.9rem}.survey-missing ul{margin:.35rem 0 0;padding-left:1.1rem}.survey-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.survey-head h3{margin:0}.btn svg{flex:none}.team-picks{display:grid;gap:.5rem}.team-pick{display:grid;gap:.2rem;text-align:left;padding:.75rem .9rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;font-weight:400;cursor:pointer}.team-pick.on{border-color:var(--brand);background:var(--brand);color:#fff}.team-pick:disabled{cursor:default;opacity:.7}.update-note{margin:.25rem 0 0}.drawer-foot .update-note{padding:0 1rem;color:inherit;opacity:.85}.team-select{position:relative}.team-current{width:100%;display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;font-weight:400;text-align:left;cursor:pointer}.team-current:disabled{cursor:default;background:var(--bg)}.team-current-text{flex:1;display:grid;gap:.15rem;min-width:0}.team-sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0b234073;display:grid;place-items:center;padding:16px}.team-pop{width:min(520px,100%);max-height:min(640px,100%);display:flex;flex-direction:column;padding:.75rem;border-radius:6px;background:var(--surface);box-shadow:0 8px 24px #0b234040}.team-pop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}@media(max-width:900px){.team-sheet-back{padding:0;place-items:stretch}.team-pop{width:100%;max-height:none;height:100%;border-radius:0;padding:calc(12px + env(safe-area-inset-top)) 16px calc(12px + env(safe-area-inset-bottom))}}.team-pop input[type=search]{width:100%;min-height:44px;padding:0 .75rem;border:1px solid var(--line);border-radius:6px;font:inherit}.team-options{list-style:none;margin:.5rem 0 0;padding:0;display:grid;align-content:start;gap:.4rem;flex:1;min-height:0;overflow-y:auto}.team-options .team-pick{width:100%}.team-pick.clear{color:var(--muted)}.team-none{padding:.5rem}body.kb-open .tabbar{display:none}.survey-job{position:relative;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.survey-job.picked{outline:3px solid var(--brand);outline-offset:-3px}.pick-box{position:absolute;top:12px;right:12px;width:26px;height:26px;border:2px solid var(--line);border-radius:6px;display:grid;place-items:center;background:var(--surface)}.pick-box.on{background:var(--brand);border-color:var(--brand);color:#fff}.pick-bar{position:sticky;bottom:-16px;z-index:6;display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;padding:.75rem 1rem;margin:0 -16px -16px;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -4px 12px #0b23401f}.pick-bar .btn{border-radius:6px;min-height:44px}.route-totals{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.5rem}.route-totals>div{display:grid;gap:.1rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:6px}.route-totals strong{font-size:1.3rem}.route-stops{list-style:none;margin:.25rem 0 .75rem;padding:0;display:grid;align-content:start;gap:.4rem;overflow-y:auto;flex:1;min-height:0}.route-stops li{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.5rem .6rem;border:1px solid var(--line);border-radius:6px}.route-n{width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}.route-what{display:grid;min-width:0}.route-leg{text-align:right;white-space:nowrap}.route-maps{justify-content:center;border-radius:6px}.survey-bar.compact{padding-top:.5rem;padding-bottom:.5rem}.survey-bar.compact .survey-refresh,.survey-bar.compact .survey-from{display:none}.survey-bar.compact .survey-area-head{margin-bottom:.4rem}.survey-bar .survey-area-head{gap:.5rem}.survey-bar .survey-area-head h1{margin-right:auto}.survey-fold{border-radius:6px;min-height:40px;min-width:40px}.survey-bar .survey-bar-row{display:flex;gap:.4rem;align-items:stretch}.survey-bar .survey-bar-row .survey-bar-toggle{flex:1;min-width:0}.survey-bar.compact .survey-bar-toggle span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-sheet-map{flex:none;margin-bottom:.6rem;border-radius:6px;overflow:hidden}.table select.access-select{font-weight:600}.table select.access-edit{background:#e3f4ea;border-color:#93c9a8;color:#1d6b3c}.table select.access-view{background:#fff4d6;border-color:#e8c76a;color:#7a5600}.table select.access-none{background:#f1f3f6;border-color:#c9ced6;color:#4a5361}.table select.access-select option{background:var(--surface);color:var(--ink)}.perm-pick{width:36px}.perm-pick input{width:20px;height:20px}.table tr.is-picked td{background:#eef3fb}.perm-bulk{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:.6rem .75rem;margin:.5rem 0;border-radius:6px;background:var(--bg);position:sticky;top:0;z-index:4}.perm-bulk select{min-height:40px;border:1px solid var(--line);border-radius:6px;padding:0 .5rem;font:inherit;background:var(--surface)}.route-view{display:grid;gap:.6rem}.route-view .route-stops{overflow:visible;flex:none;margin:0}.route-view .route-sheet-map{margin:0}.route-head .survey-title{margin:.4rem 0 0}.teams-closed{display:inline-flex;gap:.4rem;align-items:center;margin-bottom:.75rem}.team-editor-more{border-top:1px solid var(--line);padding-top:.75rem}.team-editor-more .actions{margin-top:.5rem}.survey-table td{color:var(--ink);font-size:.92rem}.survey-table .cell-main{font-weight:600}.survey-table .cell-sub{color:#4a5361;font-size:.82rem;margin-top:.1rem}.survey-table .cell-none{color:#6b7380}.survey-table th{color:#3b4452}.survey-table th.drag-col{cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap}.survey-table th.drag-col.dragging{opacity:.4}.survey-table th.drag-col.drop-here{box-shadow:inset 3px 0 0 var(--brand);background:#eef3fb}.area-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.area-overview .area-metrics{border-left:1px solid var(--line);padding-left:1.25rem}@media(max-width:1000px){.area-overview{grid-template-columns:1fr}.area-overview .area-metrics{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:1rem}}.area-map{display:flex;flex-direction:column;gap:.6rem}.area-map-box{height:340px;border-radius:6px;overflow:hidden;position:relative;z-index:0}.area-legend{display:flex;flex-wrap:wrap;gap:.4rem}.area-key{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.area-key.on{border-color:var(--brand);background:#eef3fb}.area-key span,.area-dot{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:.35rem;vertical-align:-1px}.area-metrics h2{margin:0;font-size:1.2rem}.metric-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.metric-tiles>div{display:grid;gap:.1rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:6px}.metric-tiles strong{font-size:1.5rem;line-height:1.1}.metric-h{margin:0 0 .4rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.4px;color:#3b4452}.metric-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--bg);margin-bottom:.5rem}.metric-bar span{display:block;border:0}.metric-bar .sv-to-presite{background:#c9ced6}.metric-bar .sv-presited{background:#4aa3d4}.metric-bar .sv-planned{background:#e8b93a}.metric-bar .sv-completed{background:#3f9a63}.metric-list{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.metric-list li{display:flex;justify-content:space-between;gap:.75rem;align-items:center;font-size:.92rem}.metric-list li>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-full-btn{position:absolute;top:10px;right:10px;z-index:1000;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #00000040;cursor:pointer}.map-full{position:fixed!important;top:0;right:0;bottom:0;left:0;z-index:80;width:auto!important;height:auto!important;margin:0!important;border-radius:0!important;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:var(--surface)}.map-full .map-full-btn{top:calc(10px + env(safe-area-inset-top));width:44px;height:44px}body.map-full-open .tabbar,body.map-full-open .survey-bar{visibility:hidden}.partner-link{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.partner-link code{padding:.5rem .75rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);font-size:.95rem}.ok-text{color:var(--ok)}.metric-exports{display:inline-flex;gap:.4rem}.partner-fresh{display:grid;gap:.4rem;padding:.75rem 1rem;border:1px solid #93c9a8;border-radius:6px;background:#e3f4ea}.partner-pw{font-size:1.1rem;letter-spacing:1px;font-weight:700;background:#fff!important}.export-menu{position:relative;display:inline-flex}.export-list{position:absolute;right:0;top:calc(100% + 6px);z-index:1100;min-width:230px;display:grid;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px #0b23402e}.export-list button{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border:0;border-radius:6px;background:none;color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer}.export-list button:hover,.export-list button:focus-visible{background:#eef3fb;outline:none}.export-list button span{color:var(--muted);font-weight:400;font-size:.88rem}.export-list hr{border:0;border-top:1px solid var(--line);margin:4px 2px}.schedule-check{display:grid;gap:.5rem}.np-line{margin:.4rem 0 0}.block-dates .fld-row{align-items:end}.sched-dater{position:sticky;top:-1px;z-index:2;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:.6rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 2px 8px #0b234014}.sched-dater input[type=date]{min-height:40px;border:1px solid var(--line);border-radius:6px;padding:0 .5rem;font:inherit}.sched-gang{border:1px solid var(--line);border-radius:8px;overflow:hidden}.sched-gang-head{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;background:var(--brand);color:#fff;cursor:pointer}.sched-gang-head .muted{color:#ffffffbf}.sched-block{border-top:3px solid var(--bg)}.sched-block+.sched-block{border-top:6px dashed var(--line)}.sched-block-head{display:flex;align-items:center;gap:.6rem;padding:.45rem .75rem;background:#eef3fb;font-weight:700;color:var(--ink);cursor:pointer}.sched-date{margin-left:auto;padding:.1rem .6rem;border-radius:999px;background:#e3f4ea;color:#1d6b3c;font-size:.85rem}.sched-job{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.5rem .75rem;border-top:1px solid var(--line);cursor:pointer}.sched-job.on{background:#fffbe0}.sched-what{display:grid;min-width:0}.sched-res{display:grid;text-align:right;font-weight:700;color:var(--ink);white-space:nowrap}.sched-res .small{font-weight:400;color:var(--muted)}.sched-gang input[type=checkbox]{width:18px;height:18px}.slot-auto{margin-left:.35rem;padding:0 .4rem;border-radius:4px;background:#eef3fb;color:#3b4452;font-size:.72rem;font-weight:600;vertical-align:1px}.start-from{display:block;color:var(--muted);margin-left:1.3rem}.dept-group{display:grid;gap:.6rem}.dept-group-title{margin:.4rem 0 0;font-size:.85rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.where-stats{margin-top:.75rem}.where-team{position:relative;padding-top:1.4rem}.where-line{position:absolute;top:0;left:0;right:0;height:5px;border-radius:var(--radius) var(--radius) 0 0;background:color-mix(in srgb,var(--line) 70%,transparent)}.where-line-fill{position:absolute;inset:0 auto 0 0;width:var(--pct);background:var(--tone);border-radius:var(--radius) 0 0 0;transition:width .6s ease,background-color .6s ease}.where-line.done .where-line-fill{border-radius:var(--radius) var(--radius) 0 0}.where-line-dot{position:absolute;top:50%;left:clamp(7px,var(--pct),calc(100% - 7px));width:14px;height:14px;border-radius:50%;background:var(--tone);border:2px solid var(--surface);transform:translate(-50%,-50%);transition:left .6s ease,background-color .6s ease}.where-line.working .where-line-dot{animation:where-dot 1.6s ease-out infinite}@keyframes where-dot{0%{box-shadow:0 0 color-mix(in srgb,var(--tone) 60%,transparent)}70%{box-shadow:0 0 0 10px color-mix(in srgb,var(--tone) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--tone) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.where-line.working .where-line-dot{animation:none}}.where-pct{margin:.4rem 0}.where-pct strong{font-family:var(--font-head);font-size:1.2rem;color:var(--tone)}.where-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}.where-head h2{margin:0}.where-state{font-weight:700}.where-state.s-on_site{color:#1f4fa8}.where-state.s-on_route{color:#8a5a00}.where-state.s-finished{color:#1e6b41}.where-state.s-no_jobs,.where-state.s-not_started{color:var(--muted)}.where-crew{margin:.5rem 0}.where-crew li{display:inline-flex;align-items:center;gap:.3rem}.where-crew .where-away{color:var(--muted)}.where-off{margin-left:.25rem}.where-off.where-holiday{background:color-mix(in srgb,#D9A400 22%,var(--surface));border-color:#d9a400;color:var(--ink)}.where-off.where-sickness{background:#fde8e8;border-color:#e09a9a;color:#8f1d1d}.where-off.where-toil{background:#eef0ff;border-color:#a9b1e8;color:#2f3a8f}.where-off.where-other{background:#e8f5ee;border-color:#8cc5a4;color:#1e6b41}.where-jobs{list-style:none;margin:.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--jobs, 1),minmax(170px,1fr));gap:.5rem;overflow-x:auto}@media(max-width:720px){.where-jobs{grid-template-columns:minmax(0,1fr)}}.where-job{display:grid;align-content:start;gap:.2rem;min-width:0;padding:.55rem .65rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.where-job-top{display:flex;align-items:center;gap:.35rem}.where-job-top .status{margin-left:auto}.where-job-n{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bg);font-size:.75rem;font-weight:700;color:var(--muted)}.where-job-addr{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.where-job-reason{color:var(--muted)}.where-job.st-completed{background:#e3f3ea;border-color:#8cc5a4}.where-job.st-completed .where-job-n{background:#2e8b57;color:#fff}.where-job.st-aborted,.where-job.st-no_access{background:#fdf0f0;border-color:#e6b3b3}.where-job.now{border-color:#6f93dc;box-shadow:0 0 0 2px color-mix(in srgb,#6f93dc 35%,transparent)}.event-filter{position:relative}.event-filter-panel{position:absolute;z-index:40;top:calc(100% + 4px);left:0;min-width:270px;padding:.4rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0b234026}.event-filter-quick{display:flex;gap:.75rem;padding:.3rem .5rem .5rem;border-bottom:1px solid var(--line);margin-bottom:.25rem}.event-filter-quick .link-btn{margin:0}.event-filter-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.45rem .5rem;border-radius:6px;cursor:pointer;color:var(--ink)}.event-filter-row:hover{background:var(--bg)}.event-filter-row svg{color:var(--muted)}.event-filter-n{min-width:1.6rem;padding:0 .35rem;border-radius:999px;background:var(--bg);text-align:center;font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--muted)}.pulse-head h2{margin:0 0 .5rem;display:inline-flex;align-items:center;gap:.4rem}.pulse-list{list-style:none;margin:0;padding:0}.pulse-item{display:grid;grid-template-columns:3.2rem auto minmax(0,1fr) auto;align-items:start;gap:.6rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.pulse-item:last-child{border-bottom:0}.pulse-item>.status{align-self:center}.pulse-time{padding-top:.35rem;font-variant-numeric:tabular-nums;color:var(--muted);font-size:.85rem;white-space:nowrap}.pulse-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--bg);color:var(--muted)}.pulse-body{display:grid;gap:.1rem;min-width:0}.pulse-text{overflow-wrap:anywhere}.pulse-item.k-on_route .pulse-icon{background:#fff4d6;color:#8a5a00}.pulse-item.k-arrived .pulse-icon,.pulse-item.k-started .pulse-icon{background:#e6eefc;color:#1f4fa8}.pulse-item.k-completed .pulse-icon{background:#e3f3ea;color:#1e6b41}.pulse-item.k-not_done .pulse-icon,.pulse-item.k-incident .pulse-icon{background:#fde8e8;color:#8f1d1d}.pulse-item.k-photo .pulse-icon{background:#f0e9fb;color:#5b3a9a}.pulse-item.k-support .pulse-icon,.pulse-item.k-paused .pulse-icon{background:#fff0e0;color:#9a4f00}@media(max-width:640px){.pulse-item{grid-template-columns:auto minmax(0,1fr)}.pulse-time{grid-column:1 / -1;padding:0}.pulse-item>.status{grid-column:2;justify-self:start}}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.pager-pages{display:inline-flex;align-items:center;gap:.25rem}.pager-n{min-width:36px;justify-content:center;padding-inline:.5rem}.pager-n.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.pager-gap{padding:0 .25rem;color:var(--muted)}.booking-defects{margin-bottom:1rem}.booking-defects-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.defect-form,.defect-fix{padding:.75rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);margin:.5rem 0}.defect-card{padding:.6rem .75rem;border:1px solid var(--line);border-left:4px solid #c0392b;border-radius:8px;margin:.5rem 0;display:grid;gap:.3rem}.defect-card p{margin:0}.defect-card.d-fixed{border-left-color:#2e8b57}.defect-card>.btn{justify-self:start}.defect-tag.d-open{background:#fde8e8;border-color:#e09a9a;color:#8f1d1d}.defect-tag.d-fixed{background:#e3f3ea;border-color:#8cc5a4;color:#1e6b41}.defect-badge{display:inline-block;margin-left:.35rem;padding:0 .4rem;border-radius:4px;background:#fde8e8;border:1px solid #e09a9a;color:#8f1d1d;font-size:.72rem;font-weight:700;vertical-align:middle}.defect-search{display:flex;align-items:center;gap:.5rem;padding:0 .75rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.defect-search input{flex:1;border:0;outline:0;min-height:44px;font:inherit;background:none}.defect-search:focus-within{border-color:var(--brand)}.defect-results{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;max-height:55vh;overflow-y:auto}.defect-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .75rem;align-items:center;width:100%;padding:.55rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);font:inherit;text-align:left;cursor:pointer;color:var(--ink)}.defect-result:hover:not(:disabled),.defect-result:focus-visible{border-color:var(--brand);background:var(--bg)}.defect-result:disabled{cursor:not-allowed;opacity:.6}.defect-result-what{display:grid;min-width:0}.defect-result-why{grid-column:1 / -1}.pulse-item.k-defect .pulse-icon{background:#fde8e8;color:#8f1d1d}.pulse-item.k-storeroom .pulse-icon{background:#eef3d8;color:#4d5f12}.pulse-move{display:inline-flex;align-items:center;gap:.2rem}.pulse-arrow{color:var(--muted);flex:none}.pulse-item .pulse-icon.si-booked{background:var(--bg);color:var(--muted)}.pulse-item .pulse-icon.si-assigned{background:#e3f3fb;color:#1d6f96}.pulse-item .pulse-icon.si-on_the_way{background:#fff4d6;color:#8a5a00}.pulse-item .pulse-icon.si-in_progress{background:#e6eefc;color:#1f4fa8}.pulse-item .pulse-icon.si-paused{background:#fff0e0;color:#9a4f00}.pulse-item .pulse-icon.si-completed{background:#e3f3ea;color:#1e6b41}.pulse-item .pulse-icon.si-aborted,.pulse-item .pulse-icon.si-no_access,.pulse-item .pulse-icon.si-cancelled{background:#fde8e8;color:#8f1d1d}.defect-form .form-actions,.defect-fix .form-actions{display:flex;justify-content:flex-end;gap:.5rem}.filter-search{flex:1 1 260px;min-width:0}.filter-search input{min-height:40px}.defects-table td{vertical-align:top}.tasks-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1rem;align-items:start}@media(max-width:820px){.tasks-layout{grid-template-columns:minmax(0,1fr)}}.tasks-side{display:grid;gap:.15rem;padding:.6rem}.tasks-view{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;width:100%;min-height:40px;padding:.4rem .6rem;border:0;border-radius:6px;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.tasks-view span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tasks-view:hover{background:var(--bg)}.tasks-view.on{background:var(--brand);color:var(--brand-ink)}.tasks-view svg{color:currentColor;opacity:.75}.tasks-n{font-size:.8rem;font-variant-numeric:tabular-nums;opacity:.75}.tasks-n.due{min-width:1.4rem;padding:0 .35rem;border-radius:999px;background:#c0392b;color:#fff;text-align:center;opacity:1}.tasks-side-head{display:flex;align-items:center;justify-content:space-between;margin:.6rem 0 .1rem;padding:.5rem .6rem 0;border-top:1px solid var(--line);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tasks-side-empty{padding:0 .6rem;margin:.25rem 0}.task-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}.tasks-main-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem}.tasks-main-head h2{margin:0;display:inline-flex;align-items:center;gap:.5rem}.tasks-main-head .link-btn{margin:0}.tasks-search{margin-left:auto;flex:0 1 260px}.tasks-search input{min-height:38px}.task-add{display:flex;align-items:center;gap:.5rem;padding:.35rem .4rem .35rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);margin-bottom:.75rem}.task-add:focus-within{border-color:var(--brand)}.task-add>svg{color:var(--muted);flex:none}.task-add input{flex:1;min-width:0;min-height:40px;border:0;outline:0;background:none;font:inherit}.task-add select{flex:none}@media(max-width:560px){.task-add{flex-wrap:wrap}.task-add input{flex-basis:calc(100% - 2rem)}}.task-group+.task-group{margin-top:1rem}.task-group-head{margin:0 0 .35rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.task-group-head.late{color:#c0392b}.task-list{list-style:none;margin:0;padding:0}.task-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.35rem;border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:0}.task-check{display:grid;place-items:center;width:40px;height:44px;border:0;background:none;color:var(--muted);cursor:pointer}.task-check:hover,.task-row.done .task-check{color:#2e8b57}.task-row.p-high .task-check{color:#c0392b}.task-row.p-medium .task-check{color:#d9a400}.task-main{display:grid;gap:.2rem;padding:.6rem .25rem .6rem 0;border:0;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer;min-width:0}.task-title{overflow-wrap:anywhere}.task-row.done .task-title{text-decoration:line-through;color:var(--muted)}.task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem}.task-meta:empty{display:none}.task-due{font-size:.82rem;color:var(--muted)}.task-due.late{color:#c0392b;font-weight:700}.task-due.today{color:#8a5a00;font-weight:700}.task-flag{display:inline-flex;align-items:center;gap:.2rem;font-size:.78rem;font-weight:700}.task-flag.p-high{color:#c0392b}.task-flag.p-medium{color:#8a5a00}.task-flag.p-low{color:#2f6fd6}.task-list-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--muted)}.task-list-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--list)}.task-quick-dates{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:-.25rem}.task-quick-dates .btn.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.task-quick-dates .link-btn{margin:0}.task-steps{list-style:none;margin:0 0 .5rem;padding:0}.task-steps li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.task-steps .check{min-height:38px;font-weight:400}.task-steps .step-done{text-decoration:line-through;color:var(--muted)}.task-step-add{display:flex;gap:.5rem}.task-step-add input{flex:1;min-width:0}.task-delete{margin-right:auto;color:var(--bad)}.task-colours{display:flex;flex-wrap:wrap;gap:.5rem}.task-colour{width:30px;height:30px;border-radius:50%;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer}.task-colour.on{box-shadow:0 0 0 2px var(--ink)}.task-add select,.task-step-add input{min-height:38px;padding:0 .6rem;border:1px solid var(--line);border-radius:6px;font:inherit;color:var(--ink);background:var(--surface)}.tasks-main .empty{display:grid;justify-items:center;gap:.25rem;padding:2rem 0;text-align:center;color:var(--muted)}.tasks-main .empty p{margin:0}.tasks-layout-toggle{margin-left:auto}.tasks-layout-toggle+.tasks-search{margin-left:0}.task-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:start}@media(max-width:900px){.task-board{grid-template-columns:minmax(0,1fr)}}.task-col{display:grid;gap:.5rem;align-content:start;min-height:160px;padding:.6rem;border-radius:8px;background:var(--bg);border:2px dashed transparent;transition:border-color .15s,background .15s}.task-col.over{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--bg))}.task-col-head{margin:0 0 .15rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;display:flex;justify-content:space-between}.col-doing .task-col-head{color:#1f4fa8}.col-done .task-col-head{color:#1e6b41}.task-col-empty{margin:.5rem 0;text-align:center}.task-card{display:grid;gap:.35rem;padding:.6rem .65rem;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:8px;background:var(--surface);cursor:grab;box-shadow:0 1px 2px #0b23400f}.task-card:active{cursor:grabbing}.task-card.p-high{border-left-color:#c0392b}.task-card.p-medium{border-left-color:#d9a400}.task-card.p-low{border-left-color:#2f6fd6}.task-card.done .task-title{text-decoration:line-through;color:var(--muted)}.task-card-open{display:grid;gap:.3rem;padding:0;border:0;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.task-card-move{justify-self:end;min-height:30px;padding:0 .4rem;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:.8rem;color:var(--muted);background:var(--surface)}.task-doing{font-size:.75rem;font-weight:700;padding:0 .4rem;border-radius:4px;background:#e6eefc;color:#1f4fa8}.revisit-tray{margin-bottom:.75rem;padding:.6rem .75rem;border:1px dashed #D9A400;border-radius:8px;background:#fffaf0}.revisit-tray p{margin:0 0 .4rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.revisit-chips{display:flex;flex-wrap:wrap;gap:.4rem}.revisit-chips .cal-chip{cursor:grab}.cal-chip.cal-revisit{border-style:dashed}.chip-rv{margin-left:.3rem;padding:0 .25rem;border-radius:3px;background:#d9a400;color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.03em}.revisit-line{display:grid;gap:.4rem;justify-items:start;padding-top:.35rem;border-top:1px dashed var(--line)}.pager select{min-height:36px;padding:0 2rem 0 .6rem;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:.9rem;color:var(--ink);background:var(--surface);cursor:pointer}.pager select:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.pager .btn.icon-only,.pager-n{min-height:36px}.fix-revisit{margin:.25rem 0 .5rem;padding:.6rem .75rem;border:1px solid #e8c76a;border-radius:8px;background:#fff8e3;display:grid;gap:.35rem}.fix-revisit legend{font-weight:700;padding:0 .25rem}.fix-revisit p{margin:0}.sig-layout{display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start}@media(max-width:1100px){.sig-layout{grid-template-columns:minmax(0,1fr)}}.sig-form{display:grid;gap:.9rem}.sig-rule{border:0;border-top:1px solid var(--line);margin:0;width:100%}.sig-req{color:var(--bad)}.sig-error{color:var(--bad);font-size:.8rem;font-weight:400}.sig-picker{position:relative;display:grid;gap:.35rem}.sig-picker p{margin:0}.sig-search{position:relative;display:flex;align-items:center}.sig-search svg{position:absolute;left:.7rem;color:var(--muted);pointer-events:none}.sig-search input{width:100%;min-height:44px;padding:.5rem .7rem .5rem 2.2rem;border:1px solid var(--line);border-radius:var(--radius);font:inherit}.sig-options{position:absolute;top:calc(100% - 1.4rem);left:0;right:0;z-index:30;max-height:300px;overflow:auto;margin:0;padding:.25rem 0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0b234026}.sig-options button{display:grid;gap:2px;width:100%;padding:.5rem .75rem;border:0;background:none;text-align:left;font:inherit;cursor:pointer}.sig-options button:hover,.sig-options button:focus-visible{background:var(--bg)}.sig-opt-name{display:inline-flex;align-items:center;gap:.35rem;font-weight:600}.sig-opt-name svg{color:#2e7d32}.sig-none{padding:.5rem .75rem}.sig-phone{display:flex}.sig-phone select{flex:none;width:auto;border-radius:var(--radius) 0 0 var(--radius);border-right:0}.sig-phone input{flex:1;min-width:0;border-radius:0 var(--radius) var(--radius) 0}.sig-label{margin:0 0 .75rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.sig-preview{overflow-x:auto}.sig-preview canvas{display:block}.sig-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.sig-certs{min-height:40px;font-weight:500}.sig-status{margin:0}.sig-remove{margin:0 0 0 .25rem;color:var(--bad)}.sig-help ol{margin:0;padding-left:1.25rem;display:grid;gap:.25rem}.sig-side{gap:12px}.pulse-item.pulse-open{cursor:pointer;border-radius:8px}.pulse-item.pulse-open:hover,.pulse-item.pulse-open:focus-visible{background:var(--bg);outline:none}.pulse-job h3{margin:0 0 .4rem}.pulse-where{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.3rem}.pulse-mark{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;font-size:.7rem;font-weight:700;vertical-align:middle}.profile-page .with-icon{display:inline-flex;align-items:center;gap:.45rem}.profile-page h2.with-icon{margin-top:0}.profile-head{display:flex;align-items:center;gap:1rem}.profile-head h1{margin:0}.profile-head p{margin:.15rem 0 0}.profile-avatar{width:64px;height:64px;font-size:1.5rem;flex:none}.profile-facts{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin-top:.5rem!important}.profile-postcode{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.profile-postcode input{width:11rem;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px}.profile-stats{margin:.75rem 0 1rem}.profile-stat{position:relative}.profile-stat-icon{position:absolute;top:.7rem;right:.8rem;color:var(--muted)}.profile-weeks{list-style:none;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:end;gap:.4rem;height:150px;margin:.5rem 0 .75rem;padding:0}.profile-weeks li{display:grid;grid-template-rows:auto 1fr auto;justify-items:center;align-items:end;height:100%;gap:.2rem}.profile-bar{width:100%;max-width:38px;border-radius:6px 6px 2px 2px;background:#c9d6ea}.profile-weeks li.now .profile-bar{background:var(--accent)}.profile-bar-n{font-weight:700;font-size:.85rem}.profile-bar-label{font-size:.7rem;color:var(--muted);white-space:nowrap}.profile-stock td.num,.profile-stock th.num{text-align:right;font-variant-numeric:tabular-nums}a.profile-item{display:block;text-decoration:none}.assign-tools{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.assign-tools .search{flex:1 1 200px}.pick-list.assign-list{max-height:55vh}.survey-near svg{vertical-align:-1px}.assign-pick{grid-template-columns:auto 1fr auto;gap:.6rem;align-items:start}.assign-pick input{width:20px;height:20px;margin-top:2px;accent-color:var(--brand)}.assign-member{display:block}.assign-open{white-space:nowrap}@media(max-width:600px){.assign-pick{grid-template-columns:auto 1fr}.assign-open{grid-column:2}}.auto-assign-count{max-width:200px}.auto-assign-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}.auto-assign-sum>div{display:grid;gap:2px;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius)}.auto-assign-sum strong{font-size:1.3rem}.auto-assign-stops{margin:0;padding-left:1.4rem;display:grid;gap:.3rem;max-height:40vh;overflow-y:auto}.assign-estimate{padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.survey-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .6rem}.survey-tools .btn{border-radius:4px}.assign-estimate{display:grid;gap:.6rem}.van-prompt{border:2px solid var(--accent, #D9E021)}.van-prompt-q{display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1.05rem}.van-prompt .actions{margin-top:.6rem}.job-times-filters{align-items:end}.job-times-quick{display:flex;flex-wrap:wrap;gap:.4rem}.job-times-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;margin-top:.75rem}.job-times-sum>div{display:grid;gap:2px;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius)}.job-times-sum strong{font-size:1.3rem}.job-times-day{margin:0 0 .4rem;font-size:1.05rem}.job-times-chips{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-bottom:.6rem}.job-times-table td,.job-times-table th{white-space:nowrap}@media(min-width:700px){.job-times-table{table-layout:fixed;width:100%;min-width:980px}.job-times-table .jt-job{width:24%}.job-times-table .jt-outcome{width:16%}.job-times-table .jt-time{width:7.5%}.job-times-table td:nth-child(-n+2){white-space:normal;overflow-wrap:anywhere}}.warn-text.strong{font-weight:700}.stock-used{background:#eef3d8;color:var(--ink);font-weight:400;display:grid;gap:.35rem}.stock-used ul{margin:0;padding-left:1.1rem;display:grid;gap:.15rem}.stock-used p{margin:0}.jl-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}@media(min-width:1000px){.jl-grid{grid-template-columns:minmax(0,3fr) minmax(300px,2fr)}.jl-preview{position:sticky;top:16px}}.jl-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.jl-section-head h2{margin:0}.jl-name{flex:1 1 220px;font-weight:700}.jl-items{list-style:none;margin:0;padding:0;display:grid;gap:8px}.jl-item{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.jl-item.picked{border-color:var(--brand);box-shadow:0 0 0 2px var(--accent)}.jl-item.can-swap{border-style:dashed}.jl-item-text{display:grid;gap:2px;min-width:0;flex:1 1 200px}.jl-item-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.jl-move{width:auto;min-width:170px}.jl-add{display:flex;gap:8px;flex-wrap:wrap}.jl-add .popup-input{flex:1 1 220px;width:auto}.jl-preview h2{margin-top:0}@media(min-width:700px){.plan-list{table-layout:fixed;width:100%;min-width:820px}.plan-list .pl-n{width:48px}.plan-list .pl-slot{width:96px}.plan-list .pl-ref{width:120px}.plan-list .pl-pc{width:100px}.plan-list .pl-status{width:130px}.plan-list .pl-drive{width:170px}.plan-list td{overflow-wrap:anywhere}}.req-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#fdecea;color:var(--bad);font-size:.7rem;font-weight:700;vertical-align:middle;text-transform:uppercase;letter-spacing:.02em}.jl-req{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;font-weight:600;cursor:pointer}.jl-req.on{border-color:var(--bad);color:var(--bad);background:#fdecea}.jl-req input{width:18px;height:18px;accent-color:var(--bad)}.used-lines{list-style:none;margin:0;padding:0;display:grid;gap:4px}.used-tag{display:inline-block;padding:1px 8px;border-radius:999px;background:#fff4dc;color:var(--warn);font-size:.72rem;font-weight:700;white-space:nowrap}.used-tag.done{background:#e8f5ee;color:var(--ok)}@media(min-width:700px){.used-jobs{table-layout:fixed;width:100%;min-width:860px}.used-jobs .uj-day{width:100px}.used-jobs .uj-job{width:26%}.used-jobs .uj-team{width:110px}.used-jobs .uj-by{width:160px}.used-jobs td{overflow-wrap:anywhere}}.used-tag.off{background:var(--bg);color:var(--muted)}.jl-order.on{border-color:var(--ok);color:var(--ok);background:#e8f5ee}.jl-order.on input{accent-color:var(--ok)}.jl-req.disabled{opacity:.5;cursor:not-allowed}.used-tag.next{background:#e6f0fb;color:var(--brand)}.pack-note{color:var(--brand);font-weight:600}.jl-pack{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.jl-pack label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.jl-pack .popup-input{min-height:34px;padding:4px 8px}.jl-pack-size{width:80px}.jl-pack-unit{width:110px}.job-needs{margin:4px 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-size:.9rem}.job-needs ul{margin:6px 0 0;padding-left:18px}.job-needs.shout{border-color:var(--bad);background:#fdecea;color:var(--bad)}.btn.is-blocked{opacity:.6}
