.held-note{margin:6px 0 0;font-weight:700;font-size:.9rem}.held-note.waiting{color:#b91c1c}.held-note.swap,.held-note.reschedule{color:#92400e}.held-note.go{color:#15803d}.call-held .call-card{border-left:5px solid #dc2626}.call-held[data-held=swap] .call-card,.call-held[data-held=reschedule] .call-card{border-left-color:#d97706;opacity:.8}.start-day-card.held{border-color:#dc2626;background:#fef2f2;align-items:flex-start}.start-day-card.held.swap,.start-day-card.held.reschedule{border-color:#d97706;background:#fffbeb}.held-parts{margin:8px 0 0;padding-left:18px;font-size:.9rem}.held-actions{display:flex;gap:8px;flex-wrap:wrap}.held-actions .btn{flex:1 1 140px;min-height:48px;text-align:center}.nav-flag-badge{display:inline-block;margin-left:8px;min-width:20px;padding:0 6px;border-radius:10px;background:#dc2626;color:#fff;font-size:.75rem;font-weight:800;text-align:center;line-height:20px;animation:flagpulse 1.6s ease-in-out infinite}@keyframes flagpulse{0%,to{box-shadow:0 0 #dc262680}50%{box-shadow:0 0 0 5px #dc262600}}.flag-toasts{position:fixed;top:14px;right:14px;z-index:3000;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 28px))}.flag-toast{background:#fff;border:2px solid #dc2626;border-left-width:8px;border-radius:10px;padding:12px 14px;box-shadow:0 8px 24px #0f172a47}.flag-toast h3{margin:0 0 4px;font-size:1rem;color:#b91c1c}.flag-toast .ft-part{margin:2px 0;font-size:.9rem}.flag-toast .ft-meta{color:#64748b;font-size:.8rem;margin-top:4px}.flag-toast .ft-actions{display:flex;gap:8px;margin-top:10px}.flag-toast .ft-actions .btn{flex:1;text-align:center}.flag-toast.again{animation:flagshake .5s}@keyframes flagshake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.decide-panel{border:2px solid #dc2626;background:#fef2f2;border-radius:10px;padding:12px 14px;margin:10px 0}.decide-panel.done{border-color:#cbd5e1;background:#f8fafc}.decide-panel h3{margin:0 0 6px;color:#b91c1c;font-size:1rem}.decide-panel.done h3{color:#334155}.decide-choices{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.decide-choices .btn{flex:1 1 150px;text-align:center}.decide-choices .btn.pick{outline:3px solid #0f172a}.decide-panel textarea{width:100%;padding:8px;font:inherit}.decide-help{font-size:.85rem;color:#475569;margin:4px 0}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--brand: #559642;--brand-ink: #467A35;--brand-mid: #53853C;--forest: #3F4F29;--sage: #B6C4A4;--sage-2: #D8DECE;--navy: var(--forest);--navy-2: #4d5f33;--ink: #333333;--muted: #5B6352;--line: #D8DECE;--paper: #F3F5EF;--card: #ffffff;--teal: #0e7490;--teal-ink: #ecfeff;--amber: #b45309;--blue: #1d4ed8;--green: #166534;--rose: #be123c;--violet: #6d28d9;--shadow: 0 10px 30px rgba(16, 35, 63, .08);--serif: "Fraunces", "Iowan Old Style", Georgia, serif;--sans: "Outfit", "Avenir Next", "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper)}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--serif);font-weight:560;letter-spacing:-.02em;margin:0}.shell{min-height:100vh;display:grid;grid-template-columns:232px 1fr}.side{background:var(--forest);color:#f1f4ec;padding:22px 16px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:10px;align-items:center}.brand img{width:36px;height:36px}.brand strong{display:block;font-family:var(--serif);font-size:1.15rem}.brand span{color:var(--sage-2);font-size:.78rem}.nav{display:flex;flex-direction:column;gap:4px}.nav a,.side button.linkish{color:#f1f4ec;text-decoration:none;padding:8px 10px;border-radius:8px;background:transparent;border:0;text-align:left}.nav a.active,.nav a:hover{background:#ffffff1f}.nav a.active{box-shadow:inset 3px 0 0 var(--sage);font-weight:600}.side .who{margin-top:auto;font-size:.85rem;color:var(--sage-2)}.side .who strong{color:#fff;display:block}.main{min-width:0;padding:18px 20px 40px}.topbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}.topbar h1{font-size:1.7rem}.clock{color:var(--muted);font-size:.92rem}.badge-demo{background:#fde68a;color:#713f12;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:4px 8px;border-radius:999px}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;overflow:hidden}.seg button,.seg a{border:0;background:transparent;padding:7px 12px;color:inherit;text-decoration:none}.seg button.on,.seg a.on{background:var(--navy);color:#fff}.sig{width:min(100%,420px);height:120px;border:1px dashed var(--line);border-radius:12px;background:#fff;touch-action:none}.btn,button.btn{background:var(--navy);color:#fff;border:0;border-radius:10px;padding:8px 14px;text-decoration:none;display:inline-flex;align-items:center;gap:6px}@media(hover:hover){.btn:hover:not(:disabled),button.btn:hover:not(:disabled){background:var(--brand-ink)}.btn.secondary:hover:not(:disabled){background:#eef3e8;border-color:var(--sage)}.btn.ghost:hover:not(:disabled){background:#eef3e8}.btn.warn:hover:not(:disabled){background:#9f1239}}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--navy);border:1px solid transparent}.btn.warn{background:var(--rose)}.btn:disabled{opacity:.55;cursor:not-allowed}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.panel{padding:14px}.banner{background:#eef3e8;border:1px solid var(--sage);border-left:4px solid var(--brand);color:var(--forest);border-radius:14px;padding:12px 14px;display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:12px}.offline-banner{background:#451a03;color:#ffedd5;padding:10px 14px;border-radius:12px;margin-bottom:12px}.error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3;padding:10px 12px;border-radius:12px}.muted{color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}.chip{font-size:.78rem;padding:4px 8px;border-radius:999px;background:#fff;border:1px solid var(--line)}.chip b{font-weight:650}.board{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}.tech-row{display:grid;grid-template-columns:168px minmax(0,1fr);gap:10px;margin-bottom:12px}.tech-meta{padding:8px 4px}.tech-meta .code{font-weight:700;letter-spacing:.04em}.swatch{width:10px;height:10px;border-radius:99px;display:inline-block;margin-right:6px}.stops{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;min-height:92px}.job-card{width:210px;flex:0 0 auto;background:#fff;border:1px solid var(--line);border-left:5px solid var(--amber);border-radius:12px;padding:8px 10px;text-decoration:none;display:block}.job-card.wide{width:auto}.tone-queue{border-left-color:var(--amber)}.tone-scheduled{border-left-color:var(--blue)}.tone-dispatched{border-left-color:var(--teal)}.tone-notdone{border-left-color:#ea580c}.tone-parts{border-left-color:var(--violet)}.tone-auth{border-left-color:var(--rose)}.tone-done{border-left-color:var(--green)}.job-card .num{font-size:.75rem;color:var(--muted)}.job-card strong{display:block;font-size:.95rem}.job-card p{margin:2px 0;font-size:.82rem;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tag{font-size:.68rem;padding:2px 6px;border-radius:999px;background:#f1f5f9}.tag.warranty{background:#dbeafe;color:#1e3a8a}.tag.repeat{background:#ffedd5;color:#9a3412}.tag.payer{white-space:nowrap;font-weight:600}.tag.payer-oem{background:#dbeafe;color:#1e3a8a}.tag.payer-ext{background:#e0e7ff;color:#3730a3;box-shadow:inset 0 0 0 1px #a5b4fc}.tag.payer-cod{background:#e5e7eb;color:#374151}.tag.rework{background:#dc2626;color:#fff;font-weight:800;letter-spacing:.03em}.rework-banner{background:#dc2626;color:#fff;border-radius:10px;padding:14px 16px;margin:0 0 14px;box-shadow:0 2px #991b1b}.rework-banner a{color:#fff;font-weight:700;text-decoration:underline}.rework-title{font-size:1.6rem;font-weight:900;letter-spacing:.02em;line-height:1.15}.rework-body{margin-top:6px;font-size:.95rem;display:grid;gap:4px}.rework-what{background:#ffffff24;border-radius:6px;padding:6px 8px}.rework-src,.rework-basis{opacity:.85;font-size:.8rem}.history-notice{background:#fef3c7;color:#78350f;border:1px solid #f59e0b;border-radius:8px;padding:8px 12px;margin:0 0 12px;font-size:.9rem;display:grid;gap:3px}.history-notice a{color:#92400e;font-weight:600}.history-notice .muted{color:#92400e;opacity:.8;font-size:.8rem}.rework-line{background:#dc2626;color:#fff;border-radius:6px;padding:6px 8px}@media(max-width:640px){.rework-title{font-size:1.3rem}}.tag.part{background:#ede9fe;color:#5b21b6}.tag.partsin{background:#dcfce7;color:#166534;border:1px solid #16a34a;font-weight:700}.tag.partbad{background:#fee2e2;color:#991b1b;border:1px solid #dc2626;font-weight:700}.parts-in-banner{background:#f0fdf4;border:2px solid #16a34a;border-radius:10px;padding:10px 14px;margin:8px 0}.parts-in-banner.partial{background:#fffbeb;border-color:#f59e0b}.parts-in-banner.partial.bad{background:#fef2f2;border-color:#dc2626}.queue h3{font-size:1rem;margin:12px 0 8px}.drop{outline:2px dashed transparent;border-radius:12px}.drop.over{outline-color:var(--teal);background:#f0fdfa}.week-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:8px}.day-col{min-width:0}.day-col h3{font-size:.85rem;margin-bottom:6px}.map-wrap{height:calc(100vh - 110px);min-height:600px;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.map-wrap .leaflet-container{height:100%;width:100%;background:#e7eef2}.ticket{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:14px}.stepper{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}.stepper span{font-size:.78rem;padding:4px 8px;border-radius:999px;background:#fff;border:1px solid var(--line)}.stepper span.on{background:var(--navy);color:#fff;border-color:var(--navy)}.kv{display:grid;grid-template-columns:120px 1fr;gap:4px 10px;font-size:.92rem}.kv span{color:var(--muted)}.log{list-style:none;padding:0;margin:0}.log li{padding:8px 0;border-bottom:1px solid var(--line);font-size:.88rem}.suggest{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff}.field textarea{min-height:90px;resize:vertical}.columns{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:10px;align-items:start}.col-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.sla{font-size:.75rem;color:var(--rose)}.search-box{width:min(640px,100%);font-size:1.05rem;padding:12px 14px;border-radius:12px;border:1px solid var(--line)}.book{max-width:720px;margin:0 auto;padding:18px 14px 40px}.book header.pub{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:12px}.book h1{font-size:2rem}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice{text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.choice.on{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}.slots{display:flex;flex-direction:column;gap:10px}.slot-day{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.slot-day strong{width:110px}.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.frames button{min-width:92px}.tech-list{display:flex;flex-direction:column;gap:8px}.stop-link{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;text-decoration:none}.seq{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th,.table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}.cap input{width:64px}.empty{padding:18px;color:var(--muted)}.call-card,.phone-block{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:12px}.call-card{display:block;text-decoration:none}.call-top{display:flex;gap:10px;align-items:flex-start}.call-top .grow{flex:1;min-width:0}.hint{background:#ecfeff;border-radius:12px;padding:8px 10px;margin:8px 0 0}.onsite{font-family:var(--serif);font-size:1.35rem;margin:8px 0}.btn.big{min-height:52px;justify-content:center;font-size:1.05rem;flex:1}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.photo-row{display:flex;gap:8px;overflow-x:auto;margin-top:8px}.photo-row img{width:132px;height:96px;object-fit:cover;border-radius:12px;background:#d6d3d1;flex:none}.part-list{list-style:none;padding:0;margin:6px 0 0}.part-list li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.shell-tech .side{height:auto;min-height:0;flex-direction:row;align-items:center;padding:8px 12px;gap:10px;position:sticky;top:0}.shell-tech .nav{display:none}.shell-tech .who{display:flex;align-items:center;gap:8px;margin:0 0 0 auto}@media(max-width:980px){.shell{grid-template-columns:1fr;align-content:start}.side{position:sticky;top:0;height:auto;z-index:5;flex-direction:row;align-items:center;overflow-x:auto;padding:10px;gap:10px}.nav{flex-direction:row}.side .who{display:none}.board,.ticket,.columns,.choices,.tech-row,.week-grid{grid-template-columns:1fr}.map-wrap{height:80vh;min-height:460px}.kv{grid-template-columns:1fr}.shell-tech .who{display:flex}}.shell:has(.board-compact){grid-template-columns:188px minmax(0,1fr)}.shell:has(.board-compact) .side{padding:16px 12px;gap:14px}.shell:has(.board-compact) .main{padding:10px 14px 14px}.board-compact .topbar{margin-bottom:6px;gap:6px 10px}.board-compact .topbar h1{font-size:1.3rem}.board-compact .topbar .row{gap:6px}.board-compact .clock{font-size:.78rem}.board-compact .topbar .btn,.board-compact .topbar .seg button,.board-compact .topbar select{padding:3px 9px;font-size:.82rem}.board-compact .banner{padding:4px 10px;margin-bottom:6px;border-radius:10px;font-size:.8rem;line-height:1.3;gap:8px}.board-compact .banner-text{display:flex;gap:8px;min-width:0;flex:1 1 auto;white-space:nowrap}.board-compact .banner-text strong{flex:0 0 auto}.board-compact .banner-text div{overflow:hidden;text-overflow:ellipsis;min-width:0}.board-compact .banner .row{flex-wrap:nowrap;flex:0 0 auto}.board-compact .banner .btn{padding:3px 10px;font-size:.8rem}.board-compact .legend{margin:2px 0 6px;gap:5px}.board-compact .legend .chip{font-size:.68rem;padding:1px 7px}.board-compact .board{grid-template-columns:minmax(0,1fr) 220px;gap:10px}.board-compact .tech-row{grid-template-columns:118px minmax(0,1fr);gap:5px;margin-bottom:3px;border-radius:8px}.board-compact .stops{display:grid;grid-template-columns:repeat(var(--cols, 6),minmax(0,1fr));gap:4px;overflow:visible;min-height:0;padding-bottom:0}.board-compact .stops .empty{grid-column:1 / -1;padding:3px 8px;font-size:.78rem;border:1px dashed var(--line);border-radius:6px}.board-compact .queue{position:sticky;top:8px;max-height:calc(100vh - 16px);overflow-y:auto;padding:6px 8px 8px;border-radius:10px}.board-compact .queue h3{font-size:.85rem;margin:6px 0 4px}.board-compact .queue .stops{display:flex;gap:4px}.board-compact .queue .empty{padding:4px 6px}.board-compact .day-col .job-card{margin-bottom:4px}.job-card.compact{width:auto;min-width:0;border-radius:6px;border-left-width:4px;padding:2px 5px 3px;font-size:11.5px;line-height:1.3;overflow:hidden}.job-card.compact:hover{border-color:#c9bfae;background:#fff}.job-card.compact .jc-line{display:flex;align-items:center;gap:3px;min-width:0;white-space:nowrap;overflow:hidden}.job-card.compact .jc-text{overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.job-card.compact .num{font-size:10px}.job-card.compact strong{display:block;font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-card.compact .jc-sub{font-size:10.5px;color:var(--muted)}.job-card.compact .tag{font-size:9px;line-height:13px;padding:0 4px;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-card.compact .num .tag{flex:0 0 auto;max-width:62%}.job-card.compact .jc-sub .tag{flex:0 0 auto;max-width:72px}.tech-meta.compact{padding:3px 2px;min-width:0;font-size:11px;line-height:1.3}.tech-meta.compact .tm-head{display:flex;align-items:center;gap:3px;min-width:0;white-space:nowrap}.tech-meta.compact .swatch{width:8px;height:8px;margin-right:1px;flex:0 0 auto}.tech-meta.compact .code{font-size:12px;font-weight:700;flex:0 0 auto}.tech-meta.compact .tm-name{overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.tech-meta.compact .tm-sub{color:var(--muted);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-meta.compact .tm-sub .tag{font-size:9.5px;padding:0 5px}.icon-btn{flex:0 0 auto;width:22px;height:20px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);padding:0}.icon-btn:hover{background:var(--navy);color:#fff}@media(max-width:1440px){.shell:has(.board-compact){grid-template-columns:164px minmax(0,1fr)}.shell:has(.board-compact) .side{padding:14px 10px}.shell:has(.board-compact) .brand strong{font-size:1rem}.board-compact .board{grid-template-columns:minmax(0,1fr) 204px;gap:8px}.board-compact .tech-row{grid-template-columns:110px minmax(0,1fr)}}@media(max-width:980px){.shell:has(.board-compact){grid-template-columns:1fr}.shell:has(.board-compact) .side{padding:10px;gap:10px}.board-compact .board,.board-compact .tech-row{grid-template-columns:1fr}.board-compact .stops{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.board-compact .queue{position:static;max-height:none}}.brand{flex-direction:column;align-items:flex-start;gap:6px}.brand-logo{display:block;background:#fff;border-radius:10px;padding:6px 10px;line-height:0}.brand-logo img{width:128px;height:auto;display:block}.brand strong{font-size:1rem}.shell:has(.board-compact) .brand-logo img{width:116px}.shell-tech .brand{flex-direction:row;align-items:center}.shell-tech .brand-logo{padding:3px 6px;border-radius:8px}.shell-tech .brand-logo img{width:60px}.login-logo{display:block;width:200px;height:auto;margin-bottom:10px}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.drop.over{outline-color:var(--brand);background:#eef3e8}.seg button:hover:not(.on){background:#eef3e8}@media(max-width:980px){.brand{flex-direction:row;align-items:center}.brand-logo{padding:3px 6px;border-radius:8px}.brand-logo img,.shell:has(.board-compact) .brand-logo img{width:64px}}@media(min-width:981px)and (max-height:760px){.side{overflow-y:auto;gap:10px}.shell:has(.board-compact) .side{gap:10px;padding-top:10px;padding-bottom:10px}.nav{gap:1px}.nav a{padding:5px 10px}}.book header.pub .badge-demo{display:inline-block}.shell-tech .brand strong{display:none}.shell-tech .brand span{font-size:.72rem}@media(min-width:1600px){.board-compact .tech-row{grid-template-columns:170px minmax(0,1fr)}.board-compact .board{grid-template-columns:minmax(0,1fr) 250px}}.wo-sub{margin:2px 0 0;font-size:.9rem}.wo-status{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;margin-bottom:6px;scrollbar-width:thin}.wo-chip{flex:0 0 auto;border:1px solid var(--line);border-left:4px solid var(--sage);background:#fff;border-radius:999px;padding:6px 12px;font-size:.88rem;white-space:nowrap}.wo-chip b{margin-left:4px;font-weight:700}.wo-chip.on{background:var(--forest);color:#fff;border-color:var(--forest)}.wo-filters{margin-bottom:10px;padding:10px 14px}.wo-filters summary{cursor:pointer;font-weight:600}.wo-filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0 12px;margin-top:10px}.wo-filter-grid .field{margin-bottom:6px;font-size:.85rem}.wo-toggles{gap:6px 16px}.wo-check{display:inline-flex;gap:6px;align-items:center;font-size:.9rem;min-height:32px}.wo-check input{width:18px;height:18px;accent-color:var(--brand-ink)}.wo-flash{background:#eef3e8;border:1px solid var(--sage);color:var(--forest);border-radius:10px;padding:6px 12px;margin:0 0 8px}.wo-nav{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center;margin-bottom:10px;padding:10px 14px}.wo-pos{font-size:1.05rem}.wo-buttons{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.wo-slider{grid-column:1 / -1;width:100%;accent-color:var(--brand-ink);height:28px}.wo-keys{grid-column:1 / -1;margin:0;font-size:.78rem}.wo-card{border-left:6px solid var(--sage)}.wo-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.wo-card-head h2{font-size:1.35rem}.wo-tags{margin-top:6px;gap:6px}.wo-status-tag{font-size:.78rem;padding:3px 8px;border-radius:999px;background:#f1f5f9;border-left:4px solid var(--sage)}.wo-age{display:inline-block;font-size:.78rem;font-weight:650;padding:2px 8px;border-radius:999px}.wo-age.age-0{background:#dcfce7;color:#14532d}.wo-age.age-1{background:#e2e8f0;color:#1e293b}.wo-age.age-2{background:#fef3c7;color:#78350f}.wo-age.age-3{background:#ffedd5;color:#7c2d12}.wo-age.age-4{background:#fee2e2;color:#7f1d1d}.wo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 18px}.wo-grid h3,.wo-history h3{font-size:1rem;margin:8px 0 4px;color:var(--forest)}.wo-grid p{margin:4px 0}.wo-phones{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-top:6px}.wo-tel{padding:8px 12px;font-size:1rem}.wo-dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:.92rem}.wo-dl dt{color:var(--muted)}.wo-dl dd{margin:0}.wo-history{margin-top:10px;border-top:1px solid var(--line);padding-top:6px}.wo-note{display:flex;gap:8px;margin:6px 0 8px}.wo-note input{flex:1;min-width:0;padding:9px 12px;border-radius:10px;border:1px solid var(--line)}.wo-events{list-style:none;margin:0;padding:0;max-height:340px;overflow-y:auto}.wo-events li{display:grid;grid-template-columns:170px 1fr;gap:8px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:.9rem}.wo-events li.wo-ev-office span:last-child{font-weight:600}.wo-actions{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.wo-actions select{padding:7px 8px;border-radius:10px;border:1px solid var(--line);background:#fff}.wo-list{padding:0;overflow:hidden}.wo-table{width:100%;border-collapse:collapse;font-size:.9rem}.wo-table th{text-align:left;background:#eef3e8;color:var(--forest);padding:7px 10px;font-weight:650;position:sticky;top:0}.wo-table td{padding:7px 10px;border-top:1px solid var(--line);vertical-align:top}.wo-table tbody tr{cursor:pointer;border-left:4px solid transparent}.wo-table tbody tr td:first-child{border-left:4px solid var(--sage)}.wo-table tbody tr.tone-queue td:first-child{border-left-color:var(--amber)}.wo-table tbody tr.tone-scheduled td:first-child{border-left-color:var(--blue)}.wo-table tbody tr.tone-dispatched td:first-child{border-left-color:var(--teal)}.wo-table tbody tr.tone-notdone td:first-child{border-left-color:#ea580c}.wo-table tbody tr.tone-parts td:first-child{border-left-color:var(--violet)}.wo-table tbody tr.tone-auth td:first-child{border-left-color:var(--rose)}.wo-table tbody tr.tone-done td:first-child{border-left-color:var(--green)}.wo-table tbody tr:hover,.wo-table tbody tr.current{background:#f3f7ee}.wo-table .tag{margin-left:6px}.print-only{display:none}@media(max-width:980px){.wo-top h1{font-size:1.4rem}.wo-sub{display:none}.wo-tools{width:100%}.wo-tools .btn{padding:6px 10px;font-size:.85rem}.wo-nav{position:sticky;bottom:0;z-index:4;grid-template-columns:1fr;box-shadow:0 -6px 18px #10233f1f;order:2}.wo-step{display:flex;flex-direction:column}.wo-buttons{justify-content:space-between}.wo-buttons .btn{flex:1;justify-content:center;padding:10px 6px}.wo-keys{display:none}.wo-card{padding:12px}.wo-card-head h2{font-size:1.15rem}.wo-events li{grid-template-columns:1fr;gap:0}.wo-table thead{display:none}.wo-table,.wo-table tbody,.wo-table tr,.wo-table td{display:block;width:100%}.wo-table tbody tr{padding:8px 10px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:2px 10px}.wo-table tbody tr td{border:0;padding:0}.wo-table tbody tr td:first-child{border-left:0}.wo-table tbody tr.tone-queue{box-shadow:inset 4px 0 0 var(--amber)}.wo-table tbody tr.tone-scheduled{box-shadow:inset 4px 0 0 var(--blue)}.wo-table tbody tr.tone-dispatched{box-shadow:inset 4px 0 0 var(--teal)}.wo-table tbody tr.tone-notdone{box-shadow:inset 4px 0 #ea580c}.wo-table tbody tr.tone-parts{box-shadow:inset 4px 0 0 var(--violet)}.wo-table tbody tr.tone-auth{box-shadow:inset 4px 0 0 var(--rose)}.wo-table tbody tr.tone-done{box-shadow:inset 4px 0 0 var(--green)}.wo-table td[data-label=Customer]{grid-column:1 / -1;font-weight:600}.wo-table td[data-label=City],.wo-table td[data-label=Status],.wo-table td[data-label=Payer],.wo-table td[data-label="Next appt"],.wo-table td[data-label=Tech]{font-size:.82rem;color:var(--muted)}.wo-table td[data-label="Days old"]{grid-row:1;grid-column:2;text-align:right}.wo-table td[data-label=Tech]:before{content:"Tech "}.wo-table td[data-label="Next appt"]:before{content:"Next: "}}@media print{.side,.wo-top .wo-tools,.wo-status,.wo-filters,.wo-step,.wo-flash,.badge-demo{display:none!important}.shell{display:block}.main{padding:0}.print-only{display:block}.wo-list{box-shadow:none;border:0}.wo-list-head{margin-bottom:6px}.wo-table{font-size:9pt}.wo-table th{position:static}.wo-table tbody tr{break-inside:avoid}}.wo-card.tone-queue,.wo-chip.tone-queue,.wo-status-tag.tone-queue{border-left-color:var(--amber)}.wo-card.tone-scheduled,.wo-chip.tone-scheduled,.wo-status-tag.tone-scheduled{border-left-color:var(--blue)}.wo-card.tone-dispatched,.wo-chip.tone-dispatched,.wo-status-tag.tone-dispatched{border-left-color:var(--teal)}.wo-card.tone-notdone,.wo-chip.tone-notdone,.wo-status-tag.tone-notdone{border-left-color:#ea580c}.wo-card.tone-parts,.wo-chip.tone-parts,.wo-status-tag.tone-parts{border-left-color:var(--violet)}.wo-card.tone-auth,.wo-chip.tone-auth,.wo-status-tag.tone-auth{border-left-color:var(--rose)}.wo-card.tone-done,.wo-chip.tone-done,.wo-status-tag.tone-done{border-left-color:var(--green)}.wo-chip.on{border-left-color:var(--sage)}@media(min-width:981px){.wo-status{flex-wrap:wrap;overflow:visible}}@media(max-width:980px){.shell:has(.wo) .brand div{display:none}.shell:has(.wo) .side{padding:6px 10px}.shell:has(.wo) .nav a{white-space:nowrap;padding:6px 8px}.shell:has(.wo) .main{padding:10px 10px 24px}.wo-top{margin-bottom:8px}.wo-tools{gap:6px}.wo-tools .seg button{padding:5px 10px;font-size:.85rem}.wo-nav{padding:6px 8px 4px;gap:4px;margin-bottom:0}.wo-pos{font-size:.92rem}.wo-buttons{gap:4px}.wo-buttons .btn{padding:8px 4px;font-size:.9rem}.wo-slider{height:22px}}@media(max-width:980px){.wo-filter-grid{grid-template-columns:1fr 1fr;gap:0 8px}.wo-filter-grid .field select{padding:6px 8px;font-size:.88rem}}.tech-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--ink, #1b2a24);color:#fff;position:sticky;top:0;z-index:5}.tech-top strong{font-size:.95rem}.tech-top .linkish{color:var(--sage-2, #c5d5c0);background:none;border:0;text-decoration:underline;cursor:pointer;padding:0}.shell-tech{grid-template-columns:1fr;align-content:start;min-height:0}.shell-tech .main{padding:10px 12px 24px}.zones-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:14px;align-items:start;margin-bottom:12px}.zones-map-col{position:sticky;top:14px}.zones-map.map-wrap{height:calc(100vh - 260px);min-height:420px}.zones-list{min-width:0}.zones-legend{margin:8px 0 6px}.zones-legend .chip{cursor:pointer;display:inline-flex;align-items:center;font:inherit;font-size:.78rem}.zones-legend .chip.on{border-color:var(--brand-ink);box-shadow:0 0 0 1px var(--brand-ink);font-weight:650}.zones-layers{gap:14px;font-size:.85rem}.zones-map-note{font-size:.8rem;margin-top:6px}.zone-card{scroll-margin-top:14px}.zone-card.selected{border-width:2px}.zone-card .zone-show{margin-left:auto;font-size:.78rem;padding:4px 10px}.leaflet-tooltip.zone-fsa-label{background:#ffffffd9;border:0;box-shadow:none;padding:0 4px;font-size:11px;font-weight:700;color:#1f2937}.leaflet-tooltip.zone-fsa-label:before{display:none}@media(max-width:1100px){.zones-layout{grid-template-columns:1fr}.zones-map-col{position:static}.zones-map.map-wrap{height:60vh}}.intake .panel{padding:10px}.intake .col-head{margin-bottom:2px}.intake .col-head h2{font-size:.95rem}.intake-cards{display:flex;flex-direction:column;gap:4px;margin-top:4px}.intake .job-card.compact.wide{width:auto;margin:0}.intake .job-card.compact.over-sla .num{color:var(--rose)}.intake .job-card.compact.missing-info{border-color:#fecdd3;border-left-color:var(--rose);background:#fff1f2}.intake .job-card.compact.missing-info:hover{border-color:#fda4af;background:#ffe4e6}.tag.missing{background:#ffe4e6;color:var(--rose);font-weight:650}.create-job-panel{margin-bottom:14px;padding:14px 16px}.create-job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.create-job-grid .create-span-2{grid-column:1 / -1}.create-job-panel .field{margin-bottom:8px}.create-job-panel .field textarea{min-height:72px}@media(max-width:720px){.create-job-grid{grid-template-columns:1fr}.create-job-grid .create-span-2{grid-column:auto}}.board-routes{margin-top:18px;scroll-margin-top:12px}.board-routes h2{font-size:1rem;margin:0 8px 8px 0}.board-routes .map-wrap.board-map{height:max(700px,calc(100vh - 130px));min-height:420px}@media(max-width:900px){.board-routes .map-wrap.board-map{height:78vh}}.job-card.fresh-auto,.intake .job-card.compact.fresh-auto,.wo-card.fresh-auto{border-color:#86efac;border-left-color:#16a34a;background:#ecfdf3}.job-card.fresh-auto:hover,.intake .job-card.compact.fresh-auto:hover{border-color:#4ade80;background:#dcfce7}.wo-list tr.fresh-auto td{background:#ecfdf3}.tag.fresh{background:#16a34a;color:#fff;font-weight:700;letter-spacing:.03em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.intake-page .intake-check{margin-bottom:14px;font-size:1.05rem}.intake-check .ic-title{font-size:1.15rem;margin:0 0 4px}.intake-check .ic-summary{margin:0 0 10px;color:var(--ink)}.intake-check .ic-left{color:var(--rose);font-weight:650}.intake-check .ic-done{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:12px 14px;border-radius:12px;background:#ecfdf3;border:1px solid #86efac;border-left:5px solid #16a34a;color:#14532d;font-weight:650}.intake-check .ic-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.intake-check h3{font-size:.95rem;margin:0 0 6px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.intake-check .ic-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.intake-check .ic-empty{margin:6px 0}.intake-check .ic-item{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;font:inherit;color:var(--ink);text-align:left;line-height:1.25}.intake-check button.ic-item{cursor:pointer}.intake-check .ic-item.ok{background:#ecfdf3;border-color:#86efac}.intake-check .ic-item.need{background:#fff1f2;border-color:#fecdd3;border-left:4px solid var(--rose);color:#881337;font-weight:600}.intake-check .ic-item.need:hover,.intake-check .ic-item.need:focus-visible{background:#ffe4e6;border-color:#fda4af}.intake-check .ic-item.maybe{background:#fffbeb;border-color:#fde68a;color:var(--muted)}.intake-check .ic-item.maybe:hover,.intake-check .ic-item.maybe:focus-visible{background:#fef3c7}.intake-check .ic-opt{color:var(--amber);font-weight:500}.intake-check .ic-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;font-size:.95rem;font-weight:700;color:#fff;background:#9ca3af}.intake-check .ic-icon.ok{background:#16a34a}.intake-check .ic-item.need .ic-icon{background:var(--rose)}.intake-check .ic-item.maybe .ic-icon{background:#d97706}.intake-page .intake-form .field input,.intake-page .intake-form .field textarea{font-size:1rem;min-height:44px}.intake-page .intake-form button.btn[type=submit]{min-height:48px;padding:12px 20px;font-size:1.05rem}@media(max-width:600px){.intake-page.book h1{font-size:1.5rem}.intake-check .ic-cols{grid-template-columns:1fr}.intake-page .intake-form button.btn[type=submit]{width:100%;justify-content:center}}.triage-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.triage-head h2{margin:0}.triage-head .btn[disabled]{opacity:.6;cursor:progress}.triage-runs{margin:6px 0 4px;display:grid;gap:2px}@media(max-width:640px){.triage-head .btn{width:100%;padding:10px 12px;font-size:15px}}@media(max-width:980px){.ticket{grid-template-columns:minmax(0,1fr)}.ticket>*{min-width:0}.ticket .panel{overflow-wrap:anywhere}}.who-sum{display:grid;gap:2px;margin-top:6px;font-size:.92rem;overflow-wrap:anywhere}.who-sum .geo-note{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who-warn{font-size:.8rem;color:#9a3412;background:#fff7ed;border-radius:4px;padding:2px 6px;margin-top:2px}.dispatch-notes{font-size:.8rem;color:var(--muted);margin-top:4px}.dispatch-notes summary{cursor:pointer;list-style:none}.dispatch-notes summary::-webkit-details-marker{display:none}.dispatch-notes summary:after{content:" ▸"}.dispatch-notes[open] summary:after{content:" ▾"}.dispatch-notes>div{margin-top:2px}.tight-h3{margin:10px 0 0}.details-form .field{margin-bottom:6px}.details-form .field textarea{min-height:70px}.email-link-row{font-size:.8rem;margin-top:2px}.linkish{background:none;border:0;padding:0;color:#1d4ed8;text-decoration:underline;cursor:pointer;font:inherit}.email-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:24px 12px;overflow-y:auto}.email-sheet{background:#fff;border-radius:10px;width:min(820px,100%);padding:12px 14px;box-shadow:0 10px 30px #00000040;display:flex;flex-direction:column;max-height:calc(100vh - 48px)}.email-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.email-head{font-size:.88rem;display:grid;gap:2px;padding-bottom:8px;border-bottom:1px solid #e5e7eb;margin-bottom:8px;overflow-wrap:anywhere}.email-text{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;margin:0;overflow-y:auto;flex:1;min-height:0}.email-html{width:100%;border:1px solid #e5e7eb;border-radius:6px;flex:1;min-height:50vh;background:#fff}@media(max-width:640px){.email-modal{padding:0}.email-sheet{border-radius:0;min-height:100vh;max-height:none;width:100%}.email-text{font-size:12.5px}}.who-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:0}.who-row{min-width:0}.who-row dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0}.who-row dd{margin:0;font-size:.92rem;overflow-wrap:anywhere}.who-row dd a{color:#1d4ed8}.kv-list{display:flex;flex-wrap:wrap;gap:2px 10px}.missing-val{color:#b91c1c;opacity:.75;font-size:.85rem}.who-sum .geo-note{margin-top:4px}@media(max-width:640px){.who-grid{grid-template-columns:minmax(0,1fr);gap:6px}}.wo .grow{flex:1 1 160px}.wo .field.qty{width:84px;flex:0 0 84px}.wo-form section{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;scroll-margin-top:70px}.wo-form section:first-child{border-top:0;margin-top:0;padding-top:0}.wo-form h2{font-size:1.05rem;margin:0 0 8px}.wo-form .field input,.wo-form .field select,.wo-form .field textarea{font-size:16px;min-height:44px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}.chip{min-height:44px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:.95rem;cursor:pointer}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.subform{background:#f8fafc;border-radius:12px;padding:10px;margin:8px 0}.check{display:flex;align-items:center;gap:8px;min-height:44px}.check input{width:22px;height:22px}.photo-btn{display:flex;align-items:center;cursor:pointer}.wo-summary{display:block;width:100%;text-align:left;border:0;border-radius:12px;padding:12px 14px;margin:10px 0;font-size:1rem;font-weight:600;cursor:pointer}.wo-summary.red{background:#fee2e2;color:#7f1d1d}.wo-summary.green{background:#dcfce7;color:#14532d}.wo-checklist ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.check-row{width:100%;text-align:left;display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 12px;border-radius:10px;border:0;font-size:.98rem;cursor:pointer}.check-row .mark{font-weight:700;width:1.2em;text-align:center}.check-row.green{background:#dcfce7;color:#14532d}.check-row.red{background:#fee2e2;color:#7f1d1d}.check-row.grey{background:#f1f5f9;color:#475569}.wo-actions{display:flex;gap:8px;align-items:stretch;margin-top:14px;position:sticky;bottom:0;background:var(--bg, #fff);padding:10px 0 calc(10px + env(safe-area-inset-bottom));z-index:5}.wo-actions .btn{min-height:52px}.not-done{margin-top:16px}.not-done summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#9f1239}.tag.ok{background:#dcfce7;color:#14532d;display:inline-block;font-size:.85rem;padding:4px 10px}.tag.review{background:#fee2e2;color:#7f1d1d}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:9000;display:flex;align-items:flex-end;justify-content:center}.sheet{background:#fff;width:min(100%,560px);max-height:88vh;overflow:auto;border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.sheet .wo-actions{position:static}.missing-list{list-style:none;padding:0;margin:0 0 8px}.missing-list li{padding:4px 0;color:#7f1d1d}.wo-office .check-row{cursor:default}.rate-table{width:100%;border-collapse:collapse;font-size:.9rem}.rate-table th,.rate-table td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}.rate-table tr.to-confirm td:first-child{border-left:4px solid var(--amber, #f59e0b)}.rate-table tr.selected td{background:#eef3e8}.rate-edit textarea{min-height:160px;font-family:ui-monospace,monospace;font-size:.85rem}.pill{display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:999px;background:#f1f5f9}.pill.amber{background:#fef3c7;color:#92400e}.pill.green{background:#dcfce7;color:#14532d}.pill.red{background:#fee2e2;color:#7f1d1d}.claims-columns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:10px;align-items:start;overflow-x:auto;padding-bottom:8px}.claims .lane-group{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);min-height:1em}.claims .lane-review{border-top:3px solid var(--rose, #e11d48)}.claims .lane-warranty{border-top:3px solid var(--navy, #1e3a5f)}.claims .lane-customer{border-top:3px solid #16a34a}.claim-card{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.claim-actions select,.claim-actions .btn{width:100%;min-height:36px;font-size:.82rem;padding:4px 6px}@media(max-width:760px){.claims-columns{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr;overflow-x:visible}.claim-actions select,.claim-actions .btn{min-height:44px;font-size:1rem}}.table-scroll{overflow-x:auto;max-width:100%}.claims-columns>section{min-width:0}@media(max-width:760px){.claims-columns{grid-template-columns:minmax(0,1fr)}}.intake .columns{grid-template-columns:repeat(6,minmax(160px,1fr));overflow-x:auto}.intake .columns>section{min-width:0}.jc-parts{margin-top:2px}.parts-actions{display:flex;flex-direction:column;gap:4px}@media(max-width:900px){.intake .columns{grid-template-columns:minmax(0,1fr);overflow-x:visible}}.access-note{display:inline-block;font-size:.72rem;font-weight:600;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;padding:0 5px;line-height:1.5;white-space:nowrap}.loc-q{border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px 4px;margin:4px 0;display:grid;gap:6px}.loc-q legend{font-weight:600;font-size:.85rem;padding:0 4px}.loc-q-row{display:grid;grid-template-columns:1fr minmax(150px,210px);align-items:center;gap:8px;margin:0}.loc-q-row.need select{border-color:#fca5a5}.loc-q-req{color:#b91c1c;font-weight:600;font-size:.8rem}.loc-q-pre{font-size:.78rem}.loc-q-read{display:grid;gap:2px;margin:4px 0;font-size:.86rem}.loc-q-read>div{display:flex;gap:6px}.loc-q-read dt{color:#6b7280;min-width:170px}.loc-q-read dd{margin:0;font-weight:600}.loc-q-read .loc-q-missing dd{color:#b91c1c;font-weight:500}.intake-form .loc-q-intake select{width:100%}.qet-hints{font-size:.8rem;margin-top:4px;display:grid;gap:2px}.qet-hint{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.qet-hint code{background:#f8fafc;border:1px solid #e5e7eb;border-radius:4px;padding:0 4px}.rate-table td.nowrap{white-space:nowrap}.session-expired{background:#fff7e0;border:1px solid #e8c25a;color:#5b4300;border-radius:8px;padding:10px 12px;margin:8px 0}.session-expired .btn{margin-left:6px}.photo-queue{margin-top:10px;display:grid;gap:8px}.photo-queue>p{margin:0;font-weight:600}.queued-photo{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #d8dde6;border-radius:8px;background:#f8fafc}.queued-photo img{object-fit:cover;border-radius:6px;flex:none}.queued-photo.failed{border-color:#e2a3a3;background:#fdf2f2}.queued-photo .btn{padding:6px 10px;font-size:13px}.wo{padding-bottom:calc(var(--wo-bar-h, 76px) + env(safe-area-inset-bottom))}.wo .sig,.wo-form section{scroll-margin-bottom:calc(var(--wo-bar-h, 76px) + 16px);scroll-margin-top:72px}.job-card.movable{cursor:grab;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.job-card.movable:active{cursor:grabbing}.job-card.locked{cursor:not-allowed}.job-card.dragging{opacity:.35}.job-card.drop-before{box-shadow:-4px 0 0 0 var(--brand, #2f5d27)}.board-compact .job-card.drop-before{box-shadow:-3px 0 0 0 var(--brand, #2f5d27)}.drop-slot{border:2px dashed var(--brand, #2f5d27);border-radius:6px;color:var(--brand, #2f5d27);font-size:10.5px;padding:3px 6px;display:flex;align-items:center;min-height:28px;background:#fff}.drag-ghost{position:fixed;z-index:1000;transform:translate(-50%,-120%);pointer-events:none;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand, #2f5d27);border-radius:6px;padding:4px 8px;font-size:12px;box-shadow:0 6px 18px #0000002e;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:900;display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:min(760px,calc(100vw - 24px));background:#1f2a1c;color:#fff;padding:8px 10px 8px 14px;border-radius:10px;box-shadow:0 8px 24px #00000040;font-size:.88rem}.board-toast.error{background:#991b1b}.board-toast .bt-text{flex:1 1 260px}.board-toast .bt-windows{display:inline-flex;gap:3px}.board-toast .bt-windows button{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:6px;padding:2px 7px;font-size:.8rem;cursor:pointer}.board-toast .bt-windows button.on{background:#fff;color:#1f2a1c;font-weight:700}.board-toast .btn.secondary{padding:3px 10px;font-size:.8rem}.board-toast .bt-close{background:transparent;border:0;color:#fff;font-size:1.2rem;line-height:1;cursor:pointer;padding:0 4px}.day-col.drop{border-radius:8px;min-height:56px;padding:2px}.day-col .job-card.drop-before,.board-compact .day-col .job-card.drop-before{box-shadow:0 -3px 0 0 var(--brand, #2f5d27)}.week-grid.week-7{grid-template-columns:repeat(7,minmax(96px,1fr));gap:4px;overflow-x:auto;padding-bottom:2px}.day-col.weekend{background:#f6f4ef}.day-col.weekend h3{color:var(--muted)}@media(max-width:980px){.week-grid.week-7{grid-template-columns:repeat(7,minmax(120px,1fr))}}.ordered-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}.ordered-row{border:1px solid var(--line);border-left:5px solid #B45309;border-radius:12px;padding:10px 12px;background:#fff}.ordered-row.used{border-left-color:var(--green);background:#f2f8ee}.ordered-row.not_used{border-left-color:#6b7280;background:#f6f6f4}.ordered-row .pn{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.02rem;letter-spacing:.02em}.ordered-row .small{font-size:.82rem}.ordered-status{margin:6px 0 8px;font-weight:600;font-size:.9rem}.ordered-row.unmarked .ordered-status{color:#b45309}.ordered-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ordered-buttons .btn.big{min-height:52px;font-size:1.05rem;background:#fff;color:var(--navy);border:2px solid var(--line)}.ordered-buttons .btn.big:not(.on),.ordered-buttons .btn.big:not(.on):hover,.ordered-buttons .btn.big:not(.on):focus,.ordered-buttons .btn.big:not(.on):active{background:#fff;color:var(--navy);border-color:var(--line)}@media(hover:hover){.ordered-buttons .btn.big:not(.on):hover{border-color:var(--sage)}}.ordered-buttons .btn.big.used.on{background:var(--green);border-color:var(--green);color:#fff}.ordered-buttons .btn.big.not-used.on{background:#4b5563;border-color:#4b5563;color:#fff}.qty-chips,.reason-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.qty-chips .chip,.reason-chips .chip{font-size:.95rem;padding:10px 14px;min-height:44px;cursor:pointer}.qty-chips .chip.on,.reason-chips .chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.not-used-form{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);display:grid;gap:8px}.ticket-parts .chip.tone-ok{background:#e7f3e3;border-color:#a7cf9b;color:var(--green)}.ticket-parts .chip.tone-warn{background:#fff4e0;border-color:#f0c77a;color:#8a5300}.ticket-parts .small{font-size:.8rem}.ticket-parts .panel-note{margin:8px 0;padding:8px 10px;border:1px solid #F0C77A;background:#fffaf0;border-radius:10px;display:grid;gap:6px}.btn.big.enter-part{width:100%;min-height:54px;font-size:1.08rem;margin:4px 0 10px}.part-list.compact li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.part-list.compact .grow{flex:1 1 60%}.part-list .line-actions{display:flex;gap:4px;margin-left:auto}.btn.small{min-height:40px;padding:6px 12px;font-size:.9rem}.btn.ghost.danger{color:#b91c1c;border-color:#fca5a5;background:#fef2f2}.part-sheet{display:grid;gap:10px}.part-sheet h2{margin:0}.sheet-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.sheet-buttons .btn.big{min-height:52px}.check-mark{display:inline-flex;align-items:center;gap:3px;font-size:.74rem;font-weight:700;line-height:1;padding:3px 7px;border-radius:999px;white-space:nowrap;vertical-align:middle;font-family:inherit;letter-spacing:0}.check-mark.green{background:#dcfce7;color:#14532d}.check-mark.red{background:#fee2e2;color:#991b1b}.check-mark.grey{background:#f1f5f9;color:#475569}.check-mark.flash{animation:check-flash .5s ease-in-out 3}@keyframes check-flash{50%{box-shadow:0 0 0 4px #dc262659}}h2.with-mark{display:flex;align-items:center;gap:8px;flex-wrap:wrap}h2.with-mark .mark-for{font-size:.8rem;font-weight:500;color:var(--muted);font-family:inherit}.label-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#wo-arrived{display:flex;align-items:center;gap:8px}.wo-actions{flex-wrap:wrap}.wo-actions .items-left{flex:1 0 100%;display:flex;align-items:center;gap:6px;min-width:0;font-size:.88rem}.wo-actions .items-left.red strong{color:#991b1b;white-space:nowrap}.wo-actions .items-left.green strong{color:#14532d}.wo-actions .left-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0}.wo-actions .left-chips::-webkit-scrollbar{display:none}.wo-actions .left-chip{flex:0 0 auto;border:1px solid #fca5a5;background:#fee2e2;color:#991b1b;border-radius:999px;padding:6px 10px;min-height:34px;font-size:.82rem;font-weight:600;cursor:pointer}.sheet .wo-actions .items-left{display:none}.ref-nums{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:2px}.ref-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;font-size:1.05rem;letter-spacing:.01em;color:var(--navy)}.ref-mfr{font-size:.8rem;color:var(--muted);white-space:nowrap}.ref-mfr b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;color:#1f2937;font-weight:700;letter-spacing:.01em}.ref-nums.detail{margin:-4px 0 4px}.ref-nums.detail .ref-mfr{font-size:.9rem}.ref-nums.detail .ref-mfr b{font-size:1.05rem}.ref-nums.on-card{margin:0 0 6px;flex-wrap:nowrap;overflow:hidden}.ref-nums.on-card .ref-mfr{overflow:hidden;text-overflow:ellipsis}.upload-area{border:2px dashed var(--line);border-radius:12px;padding:10px 12px;background:#fbfcf9}.upload-area.over{border-color:var(--navy);background:#eef3e8}.upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.upload-area .small,.file-meta{font-size:.78rem}.file-tiles{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.file-tile{position:relative;width:112px;border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff}.file-tile img{width:100%;height:84px;object-fit:cover;border-radius:6px;display:block}.file-icon{height:84px;border-radius:6px;background:#fdecea;color:#b42318;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.06em}.file-name{font-size:.78rem;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-open{color:inherit;text-decoration:none;display:block}.file-remove{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:.8rem;line-height:1}.file-remove:hover{background:#fee2e2;color:#991b1b}.create-files .field-label{font-size:.86rem;font-weight:600;margin-bottom:4px}.text-count{display:block;margin-top:4px;font-size:.8rem;color:#b91c1c;font-variant-numeric:tabular-nums;text-align:right}.plate-photo{display:grid;gap:6px;margin-top:8px}.wo-form .outcome-field,.wo-form .outcome-field h2{margin:0}.wo-form .outcome-field select{width:100%;min-height:52px;font-size:1.05rem;padding:10px 12px;border-radius:12px;border:2px solid var(--line);background:#fff}.wo-form .outcome-field select:invalid,.wo-form .outcome-field select.empty{color:#6b7280}.ordered-row.kept{border-left-color:#2563eb;background:#eff4ff}.ordered-row.kept.unmarked{background:#fff}.chip.tone-info{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}.estimate-box{margin-top:10px}.estimate-box .provide-estimate{min-height:52px;font-size:1.05rem}.estimate-summary{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-left:5px solid #2563EB;border-radius:12px;padding:10px 12px;background:#eff4ff}.estimate-sheet h2{margin-top:0}.estimate-sheet{max-height:92vh;overflow-y:auto}.est-group{border:1px solid var(--line);border-radius:12px;padding:8px 10px 10px;margin:0 0 10px}.est-group legend{font-weight:650;padding:0 4px}.est-line{display:grid;gap:6px;padding:8px 0;border-bottom:1px dashed var(--line)}.est-line:last-of-type{border-bottom:0}.est-line input{width:100%;min-height:44px;font-size:1rem;box-sizing:border-box}.est-nums{display:flex;gap:8px;align-items:flex-end}.est-nums label{display:grid;font-size:.8rem;color:var(--muted, #64748b)}.est-qty{width:70px}.est-price{flex:1}.est-line-total{min-width:84px;text-align:right;font-weight:650;padding-bottom:12px}.est-drop{min-width:44px;min-height:44px;padding:0}.est-add{width:100%;margin-top:6px}.est-totals{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:#f8fafc}.est-totals>div{display:flex;justify-content:space-between;gap:8px;padding:2px 0}.est-totals .est-total{font-size:1.15rem;border-top:1px solid var(--line);margin-top:4px;padding-top:6px}.est-decision .btn.on{background:#15803d;color:#fff;border-color:#15803d}.est-decision .btn.on.warn{background:#b91c1c;border-color:#b91c1c}.estimate-office{border:1px solid var(--line);border-left:5px solid #2563EB;border-radius:12px;padding:10px 12px;margin-top:10px;background:#fff}.est-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.92rem}.est-table th,.est-table td{padding:5px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.est-table .num{text-align:right}.est-table tfoot td{border-bottom:0}.est-table .est-total td{font-weight:700;font-size:1.05rem}.est-price-input{width:100px;text-align:right}.est-qty-input{width:60px;text-align:right}.estimate-print{max-width:780px;margin:0 auto;padding:24px;background:#fff;color:#0f172a}.ep-head{display:flex;justify-content:space-between;border-bottom:2px solid #0f172a;padding-bottom:10px}.ep-head h1{margin:0}.ep-ids{display:grid;grid-template-columns:auto auto;gap:2px 10px;margin:0}.ep-ids dt{font-weight:650}.ep-ids dd{margin:0}.ep-parties,.ep-sign{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}.ep-parties h3,.ep-sign h3{margin:0 0 4px;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#475569}.ep-lines{width:100%;border-collapse:collapse}.ep-lines th,.ep-lines td{border-bottom:1px solid #cbd5e1;padding:6px;text-align:left}.ep-lines .num{text-align:right}.ep-lines tfoot td{border-bottom:0}.ep-lines .ep-total td{font-weight:700;font-size:1.1rem;border-top:2px solid #0f172a}.ep-sign img{max-width:260px;width:100%;border-bottom:1px solid #0f172a}.ep-sigline{height:60px;border-bottom:1px solid #0f172a}@media print{.no-print{display:none!important}.estimate-print{padding:0}}.est-scroll{overflow-x:auto}.est-kind{display:block;font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.est-table .est-price-input{width:84px}.est-table .est-qty-input{width:52px}.est-office-price{display:inline-block;margin-left:6px;font-size:.72rem}.est-table th,.est-table td{padding:5px 4px}.est-table input{min-height:0;padding:4px 6px;box-sizing:border-box}.est-table .est-price-input{width:76px}.est-table .est-qty-input{width:44px}.est-table td.num{white-space:nowrap}.plate-photo .hint{margin:0;font-size:.9em}.plate-photo .hint.plate-required{background:#fee2e2;color:#991b1b;font-weight:600}.entered-box{display:grid;gap:6px;margin-top:10px}.iq{max-width:560px;margin:0 auto;padding:12px}.iq-progress{position:sticky;top:0;z-index:5;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;margin:8px 0 12px;display:grid;gap:6px;box-shadow:0 2px 6px #0000000f}.iq-bar{display:block;height:8px;background:#fee2e2;border-radius:4px;overflow:hidden}.iq-bar>span{display:block;height:100%;background:#16a34a;transition:width .2s}.iq-left{color:#b91c1c;font-size:.9rem}.iq-ok{color:#166534;font-size:.9rem;font-weight:600}.iq-form{display:grid;gap:14px}.iq-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px;display:grid;gap:12px}.iq-section h2{margin:0;font-size:1.15rem}.iq-field{display:grid;gap:6px;border-left:4px solid #d1d5db;padding-left:10px}.iq-field.is-need{border-left-color:#dc2626}.iq-field.is-ok{border-left-color:#16a34a}.iq-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.iq-label{font-weight:600;font-size:1rem}.iq-mark{flex:none;font-size:.78rem;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}.iq-mark.need{background:#fee2e2;color:#b91c1c}.iq-mark.ok{background:#dcfce7;color:#166534}.iq-mark.opt{background:#f3f4f6;color:#6b7280}.iq input:not([type=radio]):not([type=file]),.iq select,.iq textarea{width:100%;min-height:48px;font-size:16px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box}.iq input[type=file]{font-size:16px;min-height:44px}.iq-choices{display:grid;gap:8px}.iq-choice{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem}.iq-choice.on{border-color:#16a34a;background:#f0fdf4}.iq-choice input{width:22px;height:22px}.iq-onfile{margin:0;font-weight:600}.iq-sub{display:grid;gap:8px}.iq-sublabel{display:grid;gap:4px;font-size:.9rem}.iq-help{margin:0;color:#6b7280;font-size:.88rem}.iq-hint{margin:0;color:#b91c1c;font-size:.88rem}.iq-submit{width:100%;min-height:52px;font-size:1.1rem}.iq{box-sizing:border-box;width:100%;overflow-x:hidden}.iq-form,.iq-section,.iq-field,.iq-head,.iq-sub{min-width:0}.iq-section>*,.iq-form>*{min-width:0;max-width:100%}.iq input,.iq select,.iq textarea{max-width:100%}.iq input[type=file]{width:100%;box-sizing:border-box}.iq-thanks{text-align:left;display:grid;gap:14px}.iq-logo{height:56px;width:auto}.iq-thanks h1{font-size:1.7rem;margin:0}.iq-job{margin:0;color:#374151;font-weight:600}.iq-steps{margin:0;padding-left:20px;display:grid;gap:6px}.iq-photo-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.iq-photo-btn{position:relative;display:flex;align-items:center;justify-content:center;min-height:52px;font-size:1rem;text-align:center;cursor:pointer}.iq .iq-hidden-file{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.iq-thumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.iq-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:6px;border:1px solid #cbd5e1}.tag.age{background:#fff;color:#1f2a1f;border:1px solid #9aa59a;font-weight:700;font-variant-numeric:tabular-nums}.job-card.urgent-booking{background:#dbeafe;border-color:#2563eb;border-left:4px solid #2563eb}.iq-hint.need{color:#b91c1c}.iq-hint.ok{color:#166534}.iq-hint{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin-top:6px}.iq-count{margin-left:auto;font-size:.8rem;font-weight:700;padding:1px 8px;border-radius:999px}.iq-hint.need .iq-count{background:#fee2e2;color:#b91c1c}.iq-hint.ok .iq-count{background:#dcfce7;color:#166534}.iq-field.is-flagged{outline:3px solid #dc2626;outline-offset:2px;background:#fef2f2}.book-welcome{margin:12px 0 16px;text-align:center}.book-welcome h2{margin:0 0 12px;font-size:1.4rem}.book-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.book-tab{padding:16px 10px;font-weight:700;font-size:.95rem;border:2px solid #3F4F29;border-radius:10px;background:#fff;color:#3f4f29;cursor:pointer}.book-tab.on{background:#3f4f29;color:#fff}@media(max-width:480px){.book-tabs{grid-template-columns:1fr}}.warranty-help p{line-height:1.45}.wh-list{list-style:none;padding:0;margin:4px 0 12px;display:grid;gap:6px}.wh-list .btn{width:100%;text-align:left}.wh-card{border:2px solid #3F4F29;border-radius:10px;padding:12px;margin-top:8px}.wh-card h3{margin:0 0 8px}.wh-next{font-size:1.05rem;background:#eef3e6;border-left:4px solid #3F4F29;padding:10px 12px;border-radius:6px}.dup-block{padding:12px 14px;border-radius:8px;margin:10px 0}.book-summary{margin-top:14px;padding:10px 12px;background:#eef3e6;border-radius:8px}.book-summary p{margin:0 0 4px}.jc-dup{background:#dc2626;color:#fff;font-weight:700;font-size:.8rem;border-radius:6px;padding:3px 6px;margin:3px 0}.nav-group-head{display:flex;align-items:center}.nav-group-head>a{flex:1}.nav-caret{background:none;border:0;color:inherit;padding:4px 10px;cursor:pointer;font-size:.9rem}.nav-sub{display:flex;flex-direction:column;margin-left:14px;border-left:2px solid rgba(255,255,255,.25)}.nav-sub a{font-size:.92em}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.settings-card{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit}.settings-card:hover{outline:2px solid #4d6b2f}.tag-fromtech{display:inline-block;margin:0 4px;padding:1px 6px;border-radius:8px;background:#dbeafe;color:#1e40af;font-size:.78em;font-weight:600}.fromtech{background:#eff6ff}.tech-photos{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.tech-photos img{width:72px;height:72px;object-fit:cover;border-radius:6px}.adjust-zones{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;align-items:start}.adjust-map{height:72vh;min-height:560px}.adjust-side{display:flex;flex-direction:column;gap:10px}.adjust-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}.adjust-list .chip{width:100%;justify-content:flex-start;text-align:left}@media(max-width:900px){.adjust-zones{grid-template-columns:1fr}.adjust-map{height:55vh;min-height:360px}}.brand span.badge-sandbox{display:inline-block;background:#f4d35e;color:#3a3a1a;border-radius:999px;padding:1px 8px;font-size:.68rem;font-weight:600;letter-spacing:.03em}.view-menu{position:relative}.view-menu>summary{list-style:none;cursor:pointer}.view-menu>summary::-webkit-details-marker{display:none}.view-menu-body{position:absolute;right:0;top:110%;z-index:30;background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px;display:flex;gap:8px;align-items:center;box-shadow:0 6px 18px #0000001f;white-space:nowrap}.linklike{background:none;border:0;padding:0;margin:0;font:inherit;color:var(--forest);text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#1f402859}.linklike:hover{text-decoration-color:currentColor}.wo-customers td{padding:7px 10px}.wo-customers .small{font-size:.8rem}.print-parts-menu .view-menu-body{flex-direction:column;align-items:stretch;min-width:260px;max-height:70vh;overflow:auto}.print-parts-menu .view-menu-body .btn{text-align:left}.who-sum.cd{font-size:1.05rem;gap:12px;margin-top:8px}.cd-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.cd-name{font-size:1.3rem;font-weight:700;line-height:1.2;color:var(--navy, #1e3a5f)}.cd-payer{font-size:.8rem;font-weight:600;padding:2px 10px;border-radius:999px;background:#f1f5f9;color:#334155}.cd-payer.warranty{background:#e0ecff;color:#1e3a8a}.cd-group{border-top:1px solid var(--line, #e5e7eb);padding-top:8px;display:grid;gap:4px;min-width:0}.cd-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.cd-phones{display:flex;flex-wrap:wrap;gap:6px 10px}.cd-phone{display:inline-flex;flex-direction:column;min-width:150px;padding:6px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#1d4ed8;text-decoration:none;min-height:44px;justify-content:center}.cd-phone.best{border-color:#16a34a;background:#f0fdf4}.cd-num{font-size:1.1rem;font-weight:600}.cd-kind{font-size:.75rem;color:var(--muted)}.cd-kind:empty{display:none}.cd-email{font-size:1.05rem;color:#1d4ed8;overflow-wrap:anywhere}.cd-addr{font-size:1.1rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.cd-map{font-size:.9rem;font-weight:600;color:#1d4ed8;white-space:nowrap}.cd-text{font-size:1.05rem}.cd-none{font-size:.95rem}.cd .who-grid{gap:10px 16px}.cd .who-row dt{font-size:.7rem;letter-spacing:.05em}.cd .who-row dd{font-size:1.05rem}.cd .loc-q-read{font-size:1rem}@media(max-width:640px){.who-sum.cd{font-size:1.1rem}.cd-phone{flex:1 1 100%}.cd .who-row dd{font-size:1.1rem}}.tag.wts-tag{font-weight:700;white-space:nowrap;border:1px solid transparent}.tag.wts-on_the_way{background:#dbeafe;color:#1e3a8a;border-color:#60a5fa}.tag.wts-in{background:#dcfce7;color:#166534;border-color:#16a34a}.tag.wts-none{background:#f1f5f9;color:#334155;border-color:#94a3b8}.tag.wts-backordered{background:#fee2e2;color:#991b1b;border-color:#dc2626}.tag.wts-ordered{background:#fef3c7;color:#78350f;border-color:#f59e0b}.wts-head{font-size:.95rem;padding:4px 12px;margin-left:0;align-self:center}.job-card.compact .jc-sub .tag.wts-tag{max-width:none;font-size:9.5px}.wts-stock{display:inline-flex;gap:6px;align-items:center}.ordered-parts{margin-top:12px}.ordered-parts h3{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.ordered-parts h3 .muted{font-weight:500}.op-list{list-style:none;margin:8px 0 0;padding:0}.op-list li{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}.op-list li:first-child{border-top:0;padding-top:2px}.op-main{min-width:0;overflow-wrap:anywhere}.op-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}.op-side .chip{min-height:0;padding:4px 10px;font-size:.8rem;white-space:nowrap;cursor:default}.op-side .chip.tone-ok{background:#e7f3e3;border-color:#a7cf9b;color:var(--green)}.op-side .chip.tone-warn{background:#fff4e0;border-color:#f0c77a;color:#8a5300}.op-side .chip.tone-bad{background:#fee2e2;border-color:#fca5a5;color:#991b1b;font-weight:650}.op-side .chip.tone-info{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}.op-side .btn.small{padding:4px 10px;font-size:.8rem;min-height:0}.ordered-parts .small{font-size:.82rem}.ordered-parts .op-main .muted{color:var(--muted, #5b6470)}.sched-note{margin:2px 0 8px;font-size:.85rem;line-height:1.3}.est-part .est-line{background:#fafbf7;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:6px 0}.est-part .est-line:last-of-type{border-bottom:1px solid var(--line)}.est-field{display:grid;gap:2px;font-size:.8rem;color:var(--muted, #64748b)}.est-part-no{font-weight:650;font-size:.8rem;color:var(--muted, #64748b)}.est-part .est-nums{display:grid;grid-template-columns:64px 1fr auto 44px;gap:8px;align-items:end}.est-part .est-nums label{font-size:.8rem;font-weight:600;color:var(--navy, #1f3a2a)}.est-part .est-price input{text-align:right}.est-part .est-line-total{min-width:72px;padding-bottom:12px}.est-covered{grid-column:2 / 4;text-align:left;font-weight:500;font-size:.85rem}.est-part .est-qty{width:auto}.est-field>span:first-child{font-weight:600;color:var(--navy, #1f3a2a)}.offline-banner.sync-problem{background:#fee2e2;color:#991b1b;font-weight:600}.done-toast{position:sticky;top:8px;z-index:30;margin:8px 0;padding:12px 14px;border-radius:12px;background:#15803d;color:#fff;font-weight:650;box-shadow:0 4px 14px #0003}.inv-view{min-height:100vh;background:#f1f5f9;display:flex;flex-direction:column}.inv-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#fff;border-bottom:1px solid #cbd5e1;position:sticky;top:0;z-index:5}.inv-title{font-weight:700;font-size:1.05rem;flex:1 1 260px;min-width:0;overflow-wrap:anywhere}.inv-actions{display:flex;flex-wrap:wrap;gap:8px}.inv-actions .btn{min-height:44px;display:inline-flex;align-items:center}.inv-print{font-size:1.05rem;padding-left:22px;padding-right:22px}.inv-sheet{flex:1;padding:12px;display:flex;justify-content:center;align-items:flex-start}.inv-sheet img{max-width:100%;height:auto;background:#fff;border:1px solid #cbd5e1;box-shadow:0 2px 10px #0f172a26}.inv-pdf{width:min(1000px,100%);height:85vh;border:0;background:#fff}.inv-err{color:#b91c1c;font-weight:600;padding:20px}@media print{.inv-bar{display:none!important}.inv-view,.inv-sheet{background:#fff!important;padding:0!important;min-height:0!important;display:block!important}.inv-sheet img{width:auto!important;max-width:100%!important;max-height:100vh!important;object-fit:contain;border:0!important;box-shadow:none!important;display:block;margin:0 auto;page-break-inside:avoid}}@media(max-width:980px){.nav .nav-group{display:flex;flex-direction:row;align-items:center;flex:none}.nav .nav-sub{flex-direction:row;margin-left:0;border-left:2px solid rgba(255,255,255,.25)}.nav .nav-group-head,.nav .nav-sub a{flex:none;white-space:nowrap}}.route-map-row{position:relative;display:flex;gap:12px;align-items:stretch}.route-map-row>.map-wrap{flex:1 1 auto;min-width:0}.call-dock{flex:0 0 360px;width:360px;contain:size;overflow-y:auto;border:1px solid var(--line);border-radius:16px;background:#fff;align-self:stretch}.call-dock .call-card{margin:0;border:0;border-radius:0;box-shadow:none;padding:0;background:#fff;font-size:.92rem;line-height:1.35;color:var(--ink, #1c2a20);cursor:default;display:block}.call-dock:not(.open){background:#f6f7f4;border-style:dashed}.call-dock-hint{padding:18px 16px;color:var(--muted, #667);font-size:.9rem}@media(max-width:900px){.route-map-row{display:block}.call-dock{position:absolute;left:6px;right:6px;bottom:6px;width:auto;z-index:1200;contain:none;max-height:62%;box-shadow:0 10px 30px #00000059}.call-dock:not(.open){display:none}}.call-card-body{padding:14px 16px;position:relative}.call-card-head{font-size:1.02rem;padding-right:26px;margin-bottom:8px}.call-card-x{position:absolute;top:6px;right:8px;border:0;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--muted, #667);padding:4px 8px}.call-card dl{display:grid;grid-template-columns:82px minmax(0,1fr);gap:7px 10px;margin:0 0 12px}.call-card dt{color:var(--muted, #667);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;padding-top:2px}.call-card dd{margin:0;overflow-wrap:anywhere}.call-mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}.call-part{margin-bottom:3px}.call-pill{display:inline-block;padding:0 8px;border-radius:999px;font-size:.72rem;font-weight:650;background:#fff4e0;color:#8a5300;border:1px solid #f0c77a;vertical-align:1px}.call-pill.got{background:#e7f3e3;color:#2f6b2f;border-color:#a7cf9b}.call-card-open{display:block;text-align:center;padding:10px 12px;border-radius:10px;background:var(--brand-ink, #3f4f2c);color:#fff!important;font-weight:650;text-decoration:none}@media(max-width:560px){.call-dock .call-card{font-size:.95rem}}.iq-req-word{color:#b91c1c}.iq-onfile-tag{font-style:normal;color:#6b7280;font-size:.85em}.return-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:3000;background:#2f6b2f;color:#fff;padding:10px 18px;border-radius:999px;box-shadow:0 6px 20px #00000040;font-weight:600;max-width:calc(100vw - 24px)}.iq-notice{background:#fff7ed;border:1px solid #fdba74;color:#7c2d12;border-radius:8px;padding:10px 12px;margin:8px 0;font-size:.95rem;line-height:1.4}.time-requests{margin-bottom:12px;border-left:4px solid #f59e0b}.time-requests h2{display:flex;gap:8px;align-items:center}.tr-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:8px 0;border-top:1px solid #e5e7eb;flex-wrap:wrap}.tr-info{flex:1 1 260px;min-width:0}.tr-actions,.tr-propose{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.slot-day.next-day{border-left:3px solid #f59e0b;padding-left:8px;margin-bottom:8px}.slot-day.next-day .iq-notice{margin:6px 0 0}.fsa-coverage{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:14px;align-items:start}.fsa-map.map-wrap{height:calc(100vh - 220px);min-height:480px;border-radius:10px;overflow:hidden;border:1px solid #e5e7eb}.fsa-side{display:flex;flex-direction:column;gap:0}.fsa-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;max-height:42vh;overflow:auto}.fsa-list .chip{cursor:pointer}@media(max-width:900px){.fsa-coverage{grid-template-columns:1fr}.fsa-map.map-wrap{height:55vh;min-height:360px}}.fsa-map{position:relative}.fsa-draw-btn{font-size:1.05rem;padding:10px 18px}.fsa-draw-bar{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:1000;display:flex;gap:8px;align-items:center;background:#fffffff5;border:1px solid #d1d5db;border-radius:10px;padding:8px 12px;box-shadow:0 4px 16px #00000026}.fsa-draw-count{font-weight:600;font-size:.9rem;min-width:5.5rem}.fsa-map .leaflet-container.fsa-drawing{cursor:crosshair}.fsa-map .leaflet-container.fsa-drawing .leaflet-tooltip.zone-fsa-label{pointer-events:none}.owner-gate{display:flex;flex-direction:column;gap:8px;margin:8px 0;padding:12px;width:min(28rem,100%);box-sizing:border-box;background:#fff;border:1px solid #94a3b8;border-radius:10px;text-align:left}.owner-gate-title{margin:0;font-size:1rem;font-weight:700}.owner-gate .muted{margin:0;font-size:.9rem}.owner-gate label{display:flex;flex-direction:column;gap:4px;font-size:1rem;font-weight:600}.owner-gate input,.owner-gate textarea{width:100%;box-sizing:border-box;min-height:44px;font:inherit;font-size:1rem;font-weight:400;padding:8px;border:1px solid var(--line, #cbd5e1);border-radius:8px}.owner-gate textarea{min-height:88px}.owner-gate .row{display:flex;flex-wrap:wrap;gap:8px}.owner-gate .btn{min-height:44px}.fsa-vertex-icon,.fsa-mid-icon{background:transparent!important;border:0!important}.fsa-vertex-icon div,.fsa-mid-icon div{box-sizing:border-box}
